From d1cfcc73676d149092bad21dc5260f61ac296b31 Mon Sep 17 00:00:00 2001 From: mhsjlw Date: Thu, 27 Aug 2015 12:26:53 -0400 Subject: [PATCH] Added PVP --- config/settings.json | 2 +- lib/playerPlugins/login.js | 3 +++ lib/playerPlugins/pvp.js | 22 ++++++++++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 lib/playerPlugins/pvp.js diff --git a/config/settings.json b/config/settings.json index 5c3425b..dacd66b 100644 --- a/config/settings.json +++ b/config/settings.json @@ -4,5 +4,5 @@ "maxPlayers": 10, "onlineMode": true, "logging": false, - "gameMode":1 + "gameMode": 0 } diff --git a/lib/playerPlugins/login.js b/lib/playerPlugins/login.js index a047ce3..8769c2e 100644 --- a/lib/playerPlugins/login.js +++ b/lib/playerPlugins/login.js @@ -22,6 +22,9 @@ function inject(serv,player) serv.entityMaxId++; player.entity=new Entity(serv.entityMaxId); serv.entities[player.entity.id]=player.entity; + player.entity.player=player; + player.entity.health = 20; + player.entity.food = 20; player.username=player._client.username; serv.players.push(player); serv.uuidToPlayer[player._client.uuid] = player; diff --git a/lib/playerPlugins/pvp.js b/lib/playerPlugins/pvp.js new file mode 100644 index 0000000..1b74846 --- /dev/null +++ b/lib/playerPlugins/pvp.js @@ -0,0 +1,22 @@ +module.exports=inject; + +function inject(serv, player) +{ + function attackEntity(entityId) + { + var attackedPlayer = serv.entities[entityId].player; + attackedPlayer.entity.health -= 1; + attackedPlayer._client.write('update_health', { + food: attackedPlayer.entity.food, + foodSaturation: 0.0, + health: attackedPlayer.entity.health + }); + } + + player._client.on("use_entity", function(packet) { + if(packet.mouse == 1) { + attackEntity(packet.target); + } + }); + +} \ No newline at end of file