public virtual void HandlePlace(net.minecraft.src.Packet15Place packet15place) { RegisterPacket(packet15place); }
public override void HandlePlace(net.minecraft.src.Packet15Place packet15place) { net.minecraft.src.WorldServer worldserver = mcServer.GetWorldServer(playerEntity .dimension); net.minecraft.src.ItemStack itemstack = playerEntity.inventory.GetCurrentItem(); bool flag = worldserver.weirdIsOpCache = worldserver.worldProvider.worldType != 0 || mcServer.serverConfigurationManager.IsOp(playerEntity.username); if (packet15place.direction == 255) { if (itemstack == null) { return; } playerEntity.itemInWorldManager.Func_6154_a(playerEntity, worldserver, itemstack); } else { int i = packet15place.xPosition; int j = packet15place.yPosition; int k = packet15place.zPosition; int l = packet15place.direction; net.minecraft.src.ChunkCoordinates chunkcoordinates = worldserver.GetSpawnPoint(); int i1 = (int)net.minecraft.src.MathHelper.Abs(i - chunkcoordinates.posX); int j1 = (int)net.minecraft.src.MathHelper.Abs(k - chunkcoordinates.posZ); if (i1 > j1) { j1 = i1; } if (hasMoved && playerEntity.GetDistanceSq((double)i + 0.5D, (double)j + 0.5D, (double )k + 0.5D) < 64D && (j1 > 16 || flag)) { playerEntity.itemInWorldManager.ActiveBlockOrUseItem(playerEntity, worldserver, itemstack , i, j, k, l); } playerEntity.netServerHandler.SendPacket(new net.minecraft.src.Packet53BlockChange (i, j, k, worldserver)); if (l == 0) { j--; } if (l == 1) { j++; } if (l == 2) { k--; } if (l == 3) { k++; } if (l == 4) { i--; } if (l == 5) { i++; } playerEntity.netServerHandler.SendPacket(new net.minecraft.src.Packet53BlockChange (i, j, k, worldserver)); } itemstack = playerEntity.inventory.GetCurrentItem(); if (itemstack != null && itemstack.stackSize == 0) { playerEntity.inventory.mainInventory[playerEntity.inventory.currentItem] = null; } playerEntity.isChangingQuantityOnly = true; playerEntity.inventory.mainInventory[playerEntity.inventory.currentItem] = net.minecraft.src.ItemStack .CloneStack(playerEntity.inventory.mainInventory[playerEntity.inventory.currentItem ]); net.minecraft.src.Slot slot = playerEntity.currentCraftingInventory.Func_20127_a( playerEntity.inventory, playerEntity.inventory.currentItem); playerEntity.currentCraftingInventory.UpdateCraftingMatrix(); playerEntity.isChangingQuantityOnly = false; if (!net.minecraft.src.ItemStack.AreItemStacksEqual(playerEntity.inventory.GetCurrentItem (), packet15place.itemStack)) { SendPacket(new net.minecraft.src.Packet103SetSlot(playerEntity.currentCraftingInventory .windowId, slot.id, playerEntity.inventory.GetCurrentItem())); } worldserver.weirdIsOpCache = false; }