Create key codes object and replace body-parser (#20)

* Add codes object to key listener

* use express.json instead of body-parser

* run fix script

* fix tab indentation to spaces
This commit is contained in:
ElCholoGamer 2021-03-01 03:41:12 -05:00 committed by GitHub
parent 0b2a3e7950
commit 6cc708775e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 89 additions and 102 deletions

View file

@ -94,39 +94,28 @@ async function main () {
})
document.addEventListener('contextmenu', (e) => e.preventDefault(), false)
const codes = {
KeyW: 'forward',
KeyS: 'back',
KeyA: 'right',
KeyD: 'left',
Space: 'jump',
ShiftLeft: 'sneak',
ControlLeft: 'sprint'
}
document.addEventListener('keydown', (e) => {
console.log(e.code)
if (e.code === 'KeyW') {
bot.setControlState('forward', true)
} else if (e.code === 'KeyS') {
bot.setControlState('back', true)
} else if (e.code === 'KeyA') {
bot.setControlState('right', true)
} else if (e.code === 'KeyD') {
bot.setControlState('left', true)
} else if (e.code === 'Space') {
bot.setControlState('jump', true)
} else if (e.code === 'ShiftLeft') {
bot.setControlState('sneak', true)
} else if (e.code === 'ControlLeft') {
bot.setControlState('sprint', true)
if (e.code in codes) {
bot.setControlState(codes[e.code], true)
}
}, false)
document.addEventListener('keyup', (e) => {
if (e.code === 'KeyW') {
bot.setControlState('forward', false)
} else if (e.code === 'KeyS') {
bot.setControlState('back', false)
} else if (e.code === 'KeyA') {
bot.setControlState('right', false)
} else if (e.code === 'KeyD') {
bot.setControlState('left', false)
} else if (e.code === 'Space') {
bot.setControlState('jump', false)
} else if (e.code === 'ShiftLeft') {
bot.setControlState('sneak', false)
} else if (e.code === 'ControlLeft') {
bot.setControlState('sprint', false)
if (e.code in codes) {
bot.setControlState(codes[e.code], false)
}
}, false)
document.addEventListener('mousedown', (e) => {

View file

@ -1,76 +1,75 @@
{
"name": "prismarine-web-client",
"version": "1.1.0",
"description": "A minecraft client running in a browser",
"main": "index.js",
"scripts": {
"prepare": "webpack",
"start": "webpack serve",
"prod-start": "node server.js",
"build-start": "npm run prepare && npm run prod-start",
"lint": "standard",
"fix": "standard --fix",
"test": "npm run lint && mocha"
"name": "prismarine-web-client",
"version": "1.1.0",
"description": "A minecraft client running in a browser",
"main": "index.js",
"scripts": {
"prepare": "webpack",
"start": "webpack serve",
"prod-start": "node server.js",
"build-start": "npm run prepare && npm run prod-start",
"lint": "standard",
"fix": "standard --fix",
"test": "npm run lint && mocha"
},
"repository": {
"type": "git",
"url": "git+https://github.com/PrismarineJS/prismarine-web-client.git"
},
"keywords": [
"prismarine",
"web",
"client"
],
"author": "Romain Beaumont",
"contributors": [
{
"name": "AwesomestCode"
},
"repository": {
"type": "git",
"url": "git+https://github.com/PrismarineJS/prismarine-web-client.git"
},
"keywords": [
"prismarine",
"web",
"client"
],
"author": "Romain Beaumont",
"contributors": [
{
"name": "AwesomestCode"
},
{
"name": "circuit10"
}
],
"license": "MIT",
"bin": {
"prismarine-web-client": "./server.js"
},
"bugs": {
"url": "https://github.com/PrismarineJS/prismarine-web-client/issues"
},
"homepage": "https://github.com/PrismarineJS/prismarine-web-client#readme",
"dependencies": {
"body-parser": "^1.19.0",
"compression": "^1.7.4",
"express": "^4.17.1",
"net-browserify": "^0.2.4",
"request": "^2.88.2"
},
"devDependencies": {
"assert": "^2.0.0",
"browserify-zlib": "^0.2.0",
"buffer": "^6.0.3",
"clean-webpack-plugin": "^3.0.0",
"constants-browserify": "^1.0.0",
"copy-webpack-plugin": "^7.0.0",
"crypto-browserify": "^3.12.0",
"events": "^3.2.0",
"http-browserify": "^1.7.0",
"http-server": "^0.12.3",
"https-browserify": "^1.0.0",
"lodash-webpack-plugin": "^0.11.6",
"memfs": "^3.2.0",
"mineflayer": "^2.39.2",
"mocha": "^8.3.0",
"os-browserify": "^0.3.0",
"path-browserify": "^1.0.1",
"prismarine-viewer": "^1.14.0",
"process": "^0.11.10",
"standard": "^16.0.3",
"stream-browserify": "^3.0.0",
"three": "^0.124.0",
"timers-browserify": "^2.0.12",
"webpack": "^5.11.0",
"webpack-cli": "^4.2.0",
"webpack-dev-server": "^3.11.0"
{
"name": "circuit10"
}
],
"license": "MIT",
"bin": {
"prismarine-web-client": "./server.js"
},
"bugs": {
"url": "https://github.com/PrismarineJS/prismarine-web-client/issues"
},
"homepage": "https://github.com/PrismarineJS/prismarine-web-client#readme",
"dependencies": {
"compression": "^1.7.4",
"express": "^4.17.1",
"net-browserify": "^0.2.4",
"request": "^2.88.2"
},
"devDependencies": {
"assert": "^2.0.0",
"browserify-zlib": "^0.2.0",
"buffer": "^6.0.3",
"clean-webpack-plugin": "^3.0.0",
"constants-browserify": "^1.0.0",
"copy-webpack-plugin": "^7.0.0",
"crypto-browserify": "^3.12.0",
"events": "^3.2.0",
"http-browserify": "^1.7.0",
"http-server": "^0.12.3",
"https-browserify": "^1.0.0",
"lodash-webpack-plugin": "^0.11.6",
"memfs": "^3.2.0",
"mineflayer": "^2.39.2",
"mocha": "^8.3.0",
"os-browserify": "^0.3.0",
"path-browserify": "^1.0.1",
"prismarine-viewer": "^1.14.0",
"process": "^0.11.10",
"standard": "^16.0.3",
"stream-browserify": "^3.0.0",
"three": "^0.124.0",
"timers-browserify": "^2.0.12",
"webpack": "^5.11.0",
"webpack-cli": "^4.2.0",
"webpack-dev-server": "^3.11.0"
}
}

View file

@ -2,7 +2,6 @@
const express = require('express')
const netApi = require('net-browserify')
const bodyParser = require('body-parser')
const request = require('request')
const compression = require('compression')
const path = require('path')
@ -30,7 +29,7 @@ app.use(compression())
app.use(netApi())
app.use(express.static(path.join(__dirname, './public')))
app.use(bodyParser.json({ limit: '100kb' }))
app.use(express.json({ limit: '100kb' }))
app.all('*', function (req, res, next) {
// Set CORS headers: allow all origins, methods, and headers: you may want to lock this down in a production environment