mirror of
https://github.com/danbulant/flying-squid
synced 2026-07-07 12:10:46 +00:00
send equipment during spawn and fix some code style issues
This commit is contained in:
parent
c8ce897013
commit
e7952f386f
3 changed files with 38 additions and 26 deletions
|
|
@ -1,21 +1,21 @@
|
||||||
var Version = require("../version");
|
var version = require("../version");
|
||||||
var Windows = require("prismarine-windows")(Version).windows;
|
var windows = require("prismarine-windows")(version).windows;
|
||||||
var ItemStack = require("prismarine-item")(Version);
|
var Item = require("prismarine-item")(version);
|
||||||
|
|
||||||
module.exports.player = function(player,serv)
|
module.exports.player = function(player,serv)
|
||||||
{
|
{
|
||||||
player.heldItemSlot = 0;
|
player.heldItemSlot = 0;
|
||||||
player.heldItem = new ItemStack(256, 1);
|
player.heldItem = new Item(256, 1);
|
||||||
player.inventory = new Windows.InventoryWindow(0, "Inventory", 44);
|
player.inventory = new windows.InventoryWindow(0, "Inventory", 44);
|
||||||
|
|
||||||
player._client.on("held_item_slot", ({slotId} = {}) => {
|
player._client.on("held_item_slot", ({slotId} = {}) => {
|
||||||
player.heldItemSlot = slotId;
|
player.heldItemSlot = slotId;
|
||||||
player.heldItem = player.inventory.slots[36 + player.heldItemSlot];
|
player.setEquipment(0,player.inventory.slots[36 + player.heldItemSlot]);
|
||||||
|
|
||||||
player._writeOthersNearby("entity_equipment",{
|
player._writeOthersNearby("entity_equipment",{
|
||||||
entityId: player.id,
|
entityId: player.id,
|
||||||
slot: 0,
|
slot: 0,
|
||||||
item: ItemStack.toNotch(player.heldItem)
|
item: Item.toNotch(player.heldItem)
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -139,7 +139,7 @@ module.exports.player = function(player,serv)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var newItem = ItemStack.fromNotch(item);
|
var newItem = Item.fromNotch(item);
|
||||||
player.inventory.updateSlot(slot, newItem);
|
player.inventory.updateSlot(slot, newItem);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -153,17 +153,18 @@ module.exports.player = function(player,serv)
|
||||||
};
|
};
|
||||||
equipments[player.heldItemSlot]=0;
|
equipments[player.heldItemSlot]=0;
|
||||||
if(equipments[slot]!==undefined) {
|
if(equipments[slot]!==undefined) {
|
||||||
|
player.setEquipment(equipments[slot],newItem);
|
||||||
player._writeOthersNearby("entity_equipment", {
|
player._writeOthersNearby("entity_equipment", {
|
||||||
entityId: player.id,
|
entityId: player.id,
|
||||||
slot: equipments[slot],
|
slot: equipments[slot],
|
||||||
item: ItemStack.toNotch(newItem)
|
item: Item.toNotch(newItem)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
player._client.write("set_slot", {
|
player._client.write("set_slot", {
|
||||||
windowId: 0,
|
windowId: 0,
|
||||||
slot: slot,
|
slot: slot,
|
||||||
item: ItemStack.toNotch(newItem)
|
item: Item.toNotch(newItem)
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -197,7 +198,7 @@ module.exports.player = function(player,serv)
|
||||||
});
|
});
|
||||||
player.playSoundAtSelf('random.pop');
|
player.playSoundAtSelf('random.pop');
|
||||||
|
|
||||||
var newItem = new ItemStack(collectEntity.itemId, 1, collectEntity.damage);
|
var newItem = new Item(collectEntity.itemId, 1, collectEntity.damage);
|
||||||
player.inventory.updateSlot(emptySlot, newItem);
|
player.inventory.updateSlot(emptySlot, newItem);
|
||||||
collectEntity.destroy()
|
collectEntity.destroy()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ var Entity = require("../entity");
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var requireIndex = require('requireindex');
|
var requireIndex = require('requireindex');
|
||||||
var plugins = requireIndex(path.join(__dirname,'..', 'plugins'));
|
var plugins = requireIndex(path.join(__dirname,'..', 'plugins'));
|
||||||
|
var Item = require("prismarine-item")(version);
|
||||||
|
|
||||||
var Vec3 = require("vec3").Vec3;
|
var Vec3 = require("vec3").Vec3;
|
||||||
|
|
||||||
|
|
@ -118,6 +119,31 @@ module.exports.player=function(player,serv){
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
player.spawnEntity = entity => {
|
||||||
|
player._client.write(entity.spawnPacketName, entity.getSpawnPacket());
|
||||||
|
if (typeof entity.itemId != 'undefined') {
|
||||||
|
entity.sendMetadata([{
|
||||||
|
"key": 10,
|
||||||
|
"type": 5,
|
||||||
|
"value": {
|
||||||
|
blockId: entity.itemId,
|
||||||
|
itemDamage: entity.itemDamage,
|
||||||
|
itemCount:1
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
}
|
||||||
|
entity.equipment.forEach((equipment,slot) => {
|
||||||
|
console.log(equipment+" "+slot);
|
||||||
|
if (equipment != undefined) player._client.write("entity_equipment", {
|
||||||
|
entityId: entity.id,
|
||||||
|
slot: slot,
|
||||||
|
item: Item.toNotch(equipment)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
)
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports.entity=function(entity,serv) {
|
module.exports.entity=function(entity,serv) {
|
||||||
|
|
|
||||||
|
|
@ -53,21 +53,6 @@ module.exports.server=function(serv,{regionFolder,generation={"name":"diamond_sq
|
||||||
|
|
||||||
module.exports.player=function(player,serv,settings) {
|
module.exports.player=function(player,serv,settings) {
|
||||||
|
|
||||||
player.spawnEntity = entity => {
|
|
||||||
player._client.write(entity.spawnPacketName, entity.getSpawnPacket());
|
|
||||||
if (typeof entity.itemId != 'undefined') {
|
|
||||||
entity.sendMetadata([{
|
|
||||||
"key": 10,
|
|
||||||
"type": 5,
|
|
||||||
"value": {
|
|
||||||
blockId: entity.itemId,
|
|
||||||
itemDamage: entity.itemDamage,
|
|
||||||
itemCount:1
|
|
||||||
}
|
|
||||||
}]);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
player.unloadChunk = (chunkX,chunkZ) =>
|
player.unloadChunk = (chunkX,chunkZ) =>
|
||||||
{
|
{
|
||||||
delete player.loadedChunks[chunkX+","+chunkZ];
|
delete player.loadedChunks[chunkX+","+chunkZ];
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue