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