本文整理汇总了Java中cn.nukkit.network.protocol.BlockEntityDataPacket类的典型用法代码示例。如果您正苦于以下问题:Java BlockEntityDataPacket类的具体用法?Java BlockEntityDataPacket怎么用?Java BlockEntityDataPacket使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BlockEntityDataPacket类属于cn.nukkit.network.protocol包,在下文中一共展示了BlockEntityDataPacket类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: spawnTo
import cn.nukkit.network.protocol.BlockEntityDataPacket; //导入依赖的package包/类
public void spawnTo(Player player) {
if (this.closed) {
return;
}
CompoundTag tag = this.getSpawnCompound();
BlockEntityDataPacket pk = new BlockEntityDataPacket();
pk.x = (int) this.x;
pk.y = (int) this.y;
pk.z = (int) this.z;
try {
pk.namedTag = NBTIO.write(tag, ByteOrder.LITTLE_ENDIAN, true);
} catch (IOException e) {
throw new RuntimeException(e);
}
player.dataPacket(pk);
}
示例2: spawnTo
import cn.nukkit.network.protocol.BlockEntityDataPacket; //导入依赖的package包/类
public void spawnTo(Player player) {
if (this.closed) {
return;
}
CompoundTag tag = this.getSpawnCompound();
BlockEntityDataPacket pk = new BlockEntityDataPacket();
pk.x = (int) this.x;
pk.y = (int) this.y;
pk.z = (int) this.z;
try {
pk.namedTag = NBTIO.write(tag, ByteOrder.LITTLE_ENDIAN);
} catch (IOException e) {
throw new RuntimeException(e);
}
player.dataPacket(pk);
}
示例3: onOpen
import cn.nukkit.network.protocol.BlockEntityDataPacket; //导入依赖的package包/类
@Override
public void onOpen(Player who){
this.holder = new WindowHolder(who.getFloorX(), who.getFloorY() - 3, who.getFloorZ(), this);
WindowHolder holder = (WindowHolder) this.holder;
UpdateBlockPacket pk = new UpdateBlockPacket();
pk.records = new UpdateBlockPacket.Entry[]{new UpdateBlockPacket.Entry((int)holder.x, (int)holder.y, (int)holder.z, this.block, 0, UpdateBlockPacket.FLAG_ALL)};
who.dataPacket(pk);
CompoundTag c = new CompoundTag("")
.putList(new ListTag<>("Items"))
.putString("id", this.tile)
.putInt("x", (int) holder.x)
.putInt("y", (int) holder.y)
.putInt("z", (int) holder.z);
if(this.customName != ""){
c.putString("CustomName", this.customName);
}
try{
BlockEntityDataPacket pk1 = new BlockEntityDataPacket();
pk1.x = (int) holder.x;
pk1.y = (int) holder.y;
pk1.z = (int) holder.z;
pk1.namedTag = NBTIO.write(c);
who.dataPacket(pk1);
} catch(Exception e){
who.getServer().getLogger().logException(e);
}
super.onOpen(who);
this.sendContents(who);
}
示例4: onOpen
import cn.nukkit.network.protocol.BlockEntityDataPacket; //导入依赖的package包/类
@Override
public void onOpen(Player who) {
super.onOpen(who);
UpdateBlockPacket updateBlockPacket = new UpdateBlockPacket();
// Place a chest block
Vector3 v = new Vector3(who.getFloorX(), who.getFloorY() + 5, who.getFloorZ());
spawnedFakeChestBlocks.put(who.getName().toLowerCase(), v.clone());
updateBlockPacket.x = (int) v.x;
updateBlockPacket.y = (int) v.y;
updateBlockPacket.z = (int) v.z;
updateBlockPacket.blockId = Item.CHEST;
updateBlockPacket.blockData = 0;
updateBlockPacket.flags = UpdateBlockPacket.FLAG_ALL_PRIORITY;
who.dataPacket(updateBlockPacket);
// Place chest data packet
BlockEntityDataPacket blockEntityDataPacket = new BlockEntityDataPacket();
blockEntityDataPacket.x = (int) v.x;
blockEntityDataPacket.y = (int) v.y;
blockEntityDataPacket.z = (int) v.z;
try {
blockEntityDataPacket.namedTag = NBTIO.write(getSpawnCompound(v), ByteOrder.LITTLE_ENDIAN);
} catch (IOException e) {
throw new RuntimeException(e);
}
who.dataPacket(blockEntityDataPacket);
// Open the chest
ContainerOpenPacket containerOpenPacket = new ContainerOpenPacket();
containerOpenPacket.windowid = (byte) who.getWindowId(this);
containerOpenPacket.type = (byte) this.getType().getNetworkType();
containerOpenPacket.x = (int) v.x;
containerOpenPacket.y = (int) v.y;
containerOpenPacket.z = (int) v.z;
who.dataPacket(containerOpenPacket);
this.sendContents(who);
}