Start of implementing player abilities

This commit is contained in:
DemiPixel 2015-12-10 14:16:58 -08:00
parent f8c5eac2fb
commit 0092af247e
3 changed files with 14 additions and 0 deletions

View file

@ -7,6 +7,7 @@ module.exports.entity = function(entity, serv) {
entity.sendEffect = (effectId, {amplifier=0,duration=30*20,particles=true,whitelist,blacklist=[]}={}) => {
if (!whitelist) whitelist = serv.getNearby(entity);
if (entity.type == 'player' && [1].indexOf(effectId) != -1) entity.sendAbilities();
var sendTo = whitelist.filter(p => blacklist.indexOf(p) == -1);
var data = {
entityId: entity.id,

View file

@ -173,5 +173,6 @@ module.exports.player=function(player,serv)
await player.waitPlayerLogin();
player.sendRestMap();
sendChunkWhenMove();
player.sendAbilities();
};
};

View file

@ -67,6 +67,18 @@ module.exports.player=function(player)
var notCancelled = await player.sendPosition(position.scaled(32).floored(), false, true);
if (notCancelled) player.sendSelfPosition();
}
player.sendAbilities = () => {
var f = (+(player.gameMode == 1)*1) + (+(player.gameMode == 1 || player.gameMode == 3)*2) + (+(player.gameMode == 1 || player.gamemode == 3)*4);
var walkingSpeed = 1.0 + ((player.effects[1] != null ? (player.effects[1].amplifier + 1) : 0) * 0.2)
var flyingSpeed = 0.2;
console.log(walkingSpeed, flyingSpeed);
player._client.write('abilities', {
flags: f,
walkingSpeed: walkingSpeed,
flyingSpeed: flyingSpeed
});
}
};
module.exports.entity=function(entity,serv){