Fixed crash when opening Crafter Manager with FTB Quests installed. Fixes #2226
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
- Fixed Portable Grids not keeping their enchantments when placed (Darkere)
|
||||
- Shortened crafting text for the Russion translation to fix Grid overlays (yaroslav4167)
|
||||
- Fixed JEI hotkeys not working on fluid filter slots (raoulvdberge)
|
||||
- Fixed crash when opening Crafter Manager with FTB Quests installed (raoulvdberge)
|
||||
|
||||
### 1.6.14
|
||||
- Fixed server crash (raoulvdberge)
|
||||
|
@@ -31,15 +31,15 @@ import java.util.function.Predicate;
|
||||
|
||||
public class ContainerCrafterManager extends ContainerBase {
|
||||
public class CrafterManagerListener implements IContainerListener {
|
||||
private IContainerListener base;
|
||||
private EntityPlayerMP base;
|
||||
private boolean receivedContainerData;
|
||||
|
||||
public CrafterManagerListener(IContainerListener base) {
|
||||
public CrafterManagerListener(EntityPlayerMP base) {
|
||||
this.base = base;
|
||||
}
|
||||
|
||||
public EntityPlayerMP getPlayer() {
|
||||
return (EntityPlayerMP) base;
|
||||
return base;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -80,7 +80,11 @@ public class ContainerCrafterManager extends ContainerBase {
|
||||
|
||||
@Override
|
||||
public void addListener(IContainerListener listener) {
|
||||
super.addListener(new CrafterManagerListener(listener));
|
||||
if (listener instanceof EntityPlayerMP) {
|
||||
listener = new CrafterManagerListener((EntityPlayerMP) listener);
|
||||
}
|
||||
|
||||
super.addListener(listener);
|
||||
}
|
||||
|
||||
public List<IContainerListener> getListeners() {
|
||||
|
@@ -19,11 +19,13 @@ public class MessageCrafterManagerRequestSlotData extends MessageHandlerPlayerTo
|
||||
protected void handle(MessageCrafterManagerRequestSlotData message, EntityPlayerMP player) {
|
||||
if (player.openContainer instanceof ContainerCrafterManager) {
|
||||
for (IContainerListener listener : ((ContainerCrafterManager) player.openContainer).getListeners()) {
|
||||
ContainerCrafterManager.CrafterManagerListener crafterCrafterManagerListener = (ContainerCrafterManager.CrafterManagerListener) listener;
|
||||
if (listener instanceof ContainerCrafterManager.CrafterManagerListener) {
|
||||
ContainerCrafterManager.CrafterManagerListener cmListener = (ContainerCrafterManager.CrafterManagerListener) listener;
|
||||
|
||||
if (crafterCrafterManagerListener.getPlayer() == player) {
|
||||
crafterCrafterManagerListener.setReceivedContainerData();
|
||||
crafterCrafterManagerListener.sendAllContents(player.openContainer, player.openContainer.getInventory());
|
||||
if (cmListener.getPlayer() == player) {
|
||||
cmListener.setReceivedContainerData();
|
||||
cmListener.sendAllContents(player.openContainer, player.openContainer.getInventory());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user