Fix issue caused by module cleanup while backporting awarding achievement

This commit is contained in:
Jikoo
2016-12-05 19:02:43 -05:00
parent f31356b227
commit 802ce28103
7 changed files with 64 additions and 46 deletions

View File

@@ -28,6 +28,7 @@ import net.minecraft.server.v1_8_R1.Block;
import net.minecraft.server.v1_8_R1.BlockChest;
import net.minecraft.server.v1_8_R1.BlockEnderChest;
import net.minecraft.server.v1_8_R1.BlockPosition;
import net.minecraft.server.v1_8_R1.Container;
import net.minecraft.server.v1_8_R1.EntityOcelot;
import net.minecraft.server.v1_8_R1.EntityPlayer;
import net.minecraft.server.v1_8_R1.EnumDirection;
@@ -145,6 +146,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
Block block = world.getType(blockPosition).getBlock();
Container container = null;
if (block instanceof BlockChest) {
for (EnumDirection localEnumDirection : EnumDirection.values()) {
@@ -176,20 +178,21 @@ public class AnySilentContainer implements IAnySilentContainer {
}
if (silentchest) {
tile = new SilentContainerChest(player.inventory, ((IInventory) tile), player);
container = new SilentContainerChest(player.inventory, ((IInventory) tile), player);
}
}
boolean returnValue = false;
if (!silentchest) {
player.openContainer((IInventory) tile);
final IInventory iInventory = (IInventory) tile;
if (!silentchest || container == null) {
player.openContainer(iInventory);
returnValue = true;
} else {
try {
SilentContainerChest silentContainerChest = new SilentContainerChest(player.inventory, ((IInventory) tile), player);
int windowId = player.nextContainerCounter();
player.playerConnection.sendPacket(new PacketPlayOutOpenWindow(windowId, "minecraft:chest", ((IInventory) tile).getScoreboardDisplayName(), ((IInventory) tile).getSize()));
player.activeContainer = silentContainerChest;
player.playerConnection.sendPacket(new PacketPlayOutOpenWindow(windowId, iInventory.getName(), iInventory.getScoreboardDisplayName(), iInventory.getSize()));
player.activeContainer = container;
player.activeContainer.windowId = windowId;
player.activeContainer.addSlotListener(player);
returnValue = true;