public void processRightClickBlock(CPacketPlayerTryUseItemOnBlock packetIn)
{
PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.playerEntity.getServerWorld());
WorldServer worldserver = this.serverController.worldServerForDimension(this.playerEntity.dimension);
EnumHand enumhand = packetIn.getHand();
ItemStack itemstack = this.playerEntity.getHeldItem(enumhand);
BlockPos blockpos = packetIn.getPos();
EnumFacing enumfacing = packetIn.getDirection();
this.playerEntity.markPlayerActive();
if (blockpos.getY() < this.serverController.getBuildLimit() - 1 || enumfacing != EnumFacing.UP && blockpos.getY() < this.serverController.getBuildLimit())
{
if (this.targetPos == null && this.playerEntity.getDistanceSq((double)blockpos.getX() + 0.5D, (double)blockpos.getY() + 0.5D, (double)blockpos.getZ() + 0.5D) < 64.0D && !this.serverController.isBlockProtected(worldserver, blockpos, this.playerEntity) && worldserver.getWorldBorder().contains(blockpos))
{
this.playerEntity.interactionManager.processRightClickBlock(this.playerEntity, worldserver, itemstack, enumhand, blockpos, enumfacing, packetIn.getFacingX(), packetIn.getFacingY(), packetIn.getFacingZ());
}
}
else
{
TextComponentTranslation textcomponenttranslation = new TextComponentTranslation("build.tooHigh", new Object[] {Integer.valueOf(this.serverController.getBuildLimit())});
textcomponenttranslation.getStyle().setColor(TextFormatting.RED);
this.playerEntity.connection.sendPacket(new SPacketChat(textcomponenttranslation, (byte)2));
}
this.playerEntity.connection.sendPacket(new SPacketBlockChange(worldserver, blockpos));
this.playerEntity.connection.sendPacket(new SPacketBlockChange(worldserver, blockpos.offset(enumfacing)));
}
NetHandlerPlayServer.java 文件源码
java
阅读 24
收藏 0
点赞 0
评论 0
项目:Backmemed
作者:
评论列表
文章目录