ModMCdl Posted January 14, 2018 Share Posted January 14, 2018 Hello, been trying to push a problem I've been having for a while. I've created a tile entity, gui, and container for two of my blocks BlockForge and BlockPestle, but when trying to implement them, I cannot get them to appear in game. The purpose of these blocks is for custom crafting, recipes, which I have also created. (But seem to be unable to implement). Not sure where I am going wrong here. GUI Folder (easier than linking each file specifically, as I do not know where the problem is): https://github.com/ModMCdl/Magitech/tree/master/src/main/java/com/modmcdl/magitech/gui BlockPestle: https://github.com/ModMCdl/Magitech/blob/master/src/main/java/com/modmcdl/magitech/blocks/BlockPestle.java BlockForge: https://github.com/ModMCdl/Magitech/blob/master/src/main/java/com/modmcdl/magitech/blocks/BlockForge.java TileEntity Folder: https://github.com/ModMCdl/Magitech/tree/master/src/main/java/com/modmcdl/magitech/tileenitity Slot Folder (idk if this is specifically needed, but I'll include it anyways): https://github.com/ModMCdl/Magitech/tree/master/src/main/java/com/modmcdl/magitech/slot Thanks in advance! Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
oldcheese Posted January 14, 2018 Share Posted January 14, 2018 Do you get any specific errors in the console when rightclicking your block? Quote Link to comment Share on other sites More sharing options...
ModMCdl Posted January 14, 2018 Author Share Posted January 14, 2018 4 minutes ago, oldcheese said: Do you get any specific errors in the console when rightclicking your block? Both fail to cast to IITemHandler. But I cannot see where that fails. Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
oldcheese Posted January 14, 2018 Share Posted January 14, 2018 1 minute ago, ModMCdl said: Both fail to cast to IITemHandler. But I cannot see where that fails. It'd be helpfull if you paste the entire error here. Or at least the first block of errors after something happens. From your post it's also not very clear if the game crashes when you try to open the GUI, or if there's simply an error and nothing happens. Quote Link to comment Share on other sites More sharing options...
ModMCdl Posted January 14, 2018 Author Share Posted January 14, 2018 Just now, oldcheese said: It'd be helpfull if you paste the entire error here. Or at least the first block of errors after something happens. From your post it's also not very clear if the game crashes when you try to open the GUI, or if there's simply an error and nothing happens. Simply an error and nothing happens. java.util.concurrent.ExecutionException: java.lang.ClassCastException: com.modmcdl.magitech.tileenitity.TileEntityPestle cannot be cast to net.minecraftforge.items.IItemHandler at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_131] at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_131] at net.minecraft.util.Util.runTask(Util.java:30) [Util.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:754) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:699) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:548) [MinecraftServer.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_131] Caused by: java.lang.ClassCastException: com.modmcdl.magitech.tileenitity.TileEntityPestle cannot be cast to net.minecraftforge.items.IItemHandler at com.modmcdl.magitech.slot.SlotPestleOutput.<init>(SlotPestleOutput.java:22) ~[SlotPestleOutput.class:?] at com.modmcdl.magitech.gui.ContainerPestle.<init>(ContainerPestle.java:26) ~[ContainerPestle.class:?] at com.modmcdl.magitech.gui.GuiHandler.getServerGuiElement(GuiHandler.java:19) ~[GuiHandler.class:?] at net.minecraftforge.fml.common.network.NetworkRegistry.getRemoteGuiContainer(NetworkRegistry.java:254) ~[NetworkRegistry.class:?] at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:89) ~[FMLNetworkHandler.class:?] at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2741) ~[EntityPlayer.class:?] at com.modmcdl.magitech.blocks.BlockPestle.onBlockActivated(BlockPestle.java:92) ~[BlockPestle.class:?] at net.minecraft.server.management.PlayerInteractionManager.processRightClickBlock(PlayerInteractionManager.java:474) ~[PlayerInteractionManager.class:?] at net.minecraft.network.NetHandlerPlayServer.processTryUseItemOnBlock(NetHandlerPlayServer.java:712) ~[NetHandlerPlayServer.class:?] at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:68) ~[CPacketPlayerTryUseItemOnBlock.class:?] at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:13) ~[CPacketPlayerTryUseItemOnBlock.class:?] at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:21) ~[PacketThreadUtil$1.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_131] at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_131] at net.minecraft.util.Util.runTask(Util.java:29) ~[Util.class:?] Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
oldcheese Posted January 14, 2018 Share Posted January 14, 2018 4 minutes ago, ModMCdl said: Simply an error and nothing happens. java.util.concurrent.ExecutionException: java.lang.ClassCastException: com.modmcdl.magitech.tileenitity.TileEntityPestle cannot be cast to net.minecraftforge.items.IItemHandler at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_131] at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_131] at net.minecraft.util.Util.runTask(Util.java:30) [Util.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:754) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:699) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:548) [MinecraftServer.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_131] Caused by: java.lang.ClassCastException: com.modmcdl.magitech.tileenitity.TileEntityPestle cannot be cast to net.minecraftforge.items.IItemHandler at com.modmcdl.magitech.slot.SlotPestleOutput.<init>(SlotPestleOutput.java:22) ~[SlotPestleOutput.class:?] at com.modmcdl.magitech.gui.ContainerPestle.<init>(ContainerPestle.java:26) ~[ContainerPestle.class:?] at com.modmcdl.magitech.gui.GuiHandler.getServerGuiElement(GuiHandler.java:19) ~[GuiHandler.class:?] at net.minecraftforge.fml.common.network.NetworkRegistry.getRemoteGuiContainer(NetworkRegistry.java:254) ~[NetworkRegistry.class:?] at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:89) ~[FMLNetworkHandler.class:?] at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2741) ~[EntityPlayer.class:?] at com.modmcdl.magitech.blocks.BlockPestle.onBlockActivated(BlockPestle.java:92) ~[BlockPestle.class:?] at net.minecraft.server.management.PlayerInteractionManager.processRightClickBlock(PlayerInteractionManager.java:474) ~[PlayerInteractionManager.class:?] at net.minecraft.network.NetHandlerPlayServer.processTryUseItemOnBlock(NetHandlerPlayServer.java:712) ~[NetHandlerPlayServer.class:?] at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:68) ~[CPacketPlayerTryUseItemOnBlock.class:?] at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:13) ~[CPacketPlayerTryUseItemOnBlock.class:?] at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:21) ~[PacketThreadUtil$1.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_131] at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_131] at net.minecraft.util.Util.runTask(Util.java:29) ~[Util.class:?] at line 22 of your SlotPestleOutput you're for some reason trying to cast an IItemhandler to an TileEntity. IItemhandlers are the default implementation for the inventory capability while the TileEntity is your Pestle block's entity. I'm not sure why you've tried to do it, but I imagine that once you fix that everything might work better. Since the GUI can't render if the slots are bugged. Quote Link to comment Share on other sites More sharing options...
ModMCdl Posted January 14, 2018 Author Share Posted January 14, 2018 3 minutes ago, oldcheese said: at line 22 of your SlotPestleOutput you're for some reason trying to cast an IItemhandler to an TileEntity. IItemhandlers are the default implementation for the inventory capability while the TileEntity is your Pestle block's entity. I'm not sure why you've tried to do it, but I imagine that once you fix that everything might work better. Since the GUI can't render if the slots are bugged. Can you explain in a little bit more detail please? Omitting the TileEntity produces errors, along with any other solution Eclipse suggests. While I am familiar with java and a little bit of modding, some of these concepts are still a bit fuzzy to me. Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
oldcheese Posted January 14, 2018 Share Posted January 14, 2018 You have the following code: public SlotPestleOutput(EntityPlayer player, TileEntityPestle tileentity, int index, int xPosition, int yPosition) { super((IItemHandler) tileentity, index, xPosition, yPosition); this.player = player; } Where you're trying to cast a Tileentity to IItemHandler. Now you can usually cast for example an int to a double. Because they both essentially can contain very similar information. Or you can cast a class that implements another class to the original class. IItemHandler has nothing to do with tileentities. It's an interface that assists with the Capability you use to add itemslots to something. Now your super takes an IItemhandler, because it's trying to read the item from the slot. But you're trying to give it an TileEntity. That doesn't make sense. Instead you should just pass it the CAPABILITY attached to your tileentity so it can retrieve the information. Right now I'm browsing through your classes to see exactly why you feel the need to make a custom slot. I'm guessing what you're trying to do is get 1 item from the player's capability and 2 slots for the actual item? You could solve this by just passing the player's capability onto the slot and doing something like such: ContainerPestle(TileEntityPestle tileentity, EntityPlayer player) { /*note how I required a player to be passed along. This keeps us from having to get player from Inventoryplayer. Because it's more convenient to get the inventory from the player than it is getting the player from the inventory. */ this.tileentity = tileentity; this.addSlotToContainer(new SlotItemHandler(tileentity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null), 0, 32, 25)); this.addSlotToContainer(new SlotItemHandler(tileentity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null), 1, 67, 44)); this.addSlotToContainer(new SlotPestleOutput(player, player.getCapability(ITEM_HANDLER_CAPABILITY, null), 2, 124, 35)); //I've changed your slot to take an IItemhandler instead of an tileentity. for(int y = 0; y < 3; ++y) { //Player Inv for(int x = 0; x < 9; ++x) { this.addSlotToContainer(new Slot(player, x + y * 9 + 9, 8 + x * 18, 84 + y * 18)); } } for(int x = 0; x < 9; ++x) //Hotbar this.addSlotToContainer(new Slot(player, x, 8 + x * 18, 142 )); } Then your custom slot can be as such: public SlotPestleOutput(EntityPlayer player, IItemhandler itemhandler, int index, int xPosition, int yPosition) { super(itemhandler, index, xPosition, yPosition); //note how we can now properly pass along the capability Itemhandler, since we got it from the original GUI. this.player = player; } By changing the container to give us a player we also need to change a few things in our GuiHandler. Obviously it should now read player instead of player.inventory where applicable. I hope that helps. What is your goal for making a new type of slot ? I see why you'd make one, but I'm not sure what your slot class here has that you wouldn't get from a regular IItemhandler slot. regardless. you ALWAYS have to hand an IItemhandler to the item if you want to extend SlotItemHandler for your custom slot. Quote Link to comment Share on other sites More sharing options...
ModMCdl Posted January 14, 2018 Author Share Posted January 14, 2018 57 minutes ago, oldcheese said: What is your goal for making a new type of slot ? I see why you'd make one, but I'm not sure what your slot class here has that you wouldn't get from a regular IItemhandler slot. Not quite sure. I was looking somewhere, and the code there made it seem like it was necessary for my output. I'm trying to make a custom crafting utility that combines two items. Sort of the equivalent of an equals sign. 58 minutes ago, oldcheese said: By changing the container to give us a player we also need to change a few things in our GuiHandler. Obviously it should now read player instead of player.inventory where applicable. My GuiHander did error, and I've fixed that along with other corresponding errors. Everything checks out, and the game launches, but the GUI still does not show up. (I've uploaded the changed files to the git). Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
oldcheese Posted January 14, 2018 Share Posted January 14, 2018 So there's no error in the log right now but the UI still doesn't show anything? Does a 'blank' GUI open that has nothing in it? I'm gonna be gone for a few hours but I'll try to look at it more closely once I get back. Quote Link to comment Share on other sites More sharing options...
ModMCdl Posted January 14, 2018 Author Share Posted January 14, 2018 Just now, oldcheese said: So there's no error in the log right now but the UI still doesn't show anything? Does a 'blank' GUI open that has nothing in it? I'm gonna be gone for a few hours but I'll try to look at it more closely once I get back. I can't find any errors when trying to open the GUI. It just doesn't open. Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
KittenKoder Posted January 14, 2018 Share Posted January 14, 2018 1 hour ago, ModMCdl said: I can't find any errors when trying to open the GUI. It just doesn't open. Do you have the correct resource location for it's background? Just a random thought on the subject that might help. Quote Link to comment Share on other sites More sharing options...
ModMCdl Posted January 14, 2018 Author Share Posted January 14, 2018 14 minutes ago, KittenKoder said: Do you have the correct resource location for it's background? Just a random thought on the subject that might help. Yea. I managed to get the forge to work, hence why I haven't been citing it. But I can't figure out the problem, because I can't tell any differences. Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
oldcheese Posted January 14, 2018 Share Posted January 14, 2018 2 minutes ago, ModMCdl said: Yea. I managed to get the forge to work, hence why I haven't been citing it. But I can't figure out the problem, because I can't tell any differences. Your best sollution could be to just debug Start adding System out messages throughout your code. Add one in the switch you use to call the GUI, add one in the initialization for the GUI. That way you can tell if the GUI is opened at all or if it's just not rendering. It's really hard for us to figure out what's going on. Since you have about 15 classes here and all of them could have mistakes. It's very rare for something to not work without giving you even an error. I'm not used to interpreting code that doesn't use brackets for if statements. It's rather untidy to look at. Anyway, considering it gave an error when you right clicked the GUI about the slots. We can probably assume that the GuiContainer is at least trying to load. Quote Link to comment Share on other sites More sharing options...
ModMCdl Posted January 14, 2018 Author Share Posted January 14, 2018 Added system outs, and it really didn't help at all. Everything is loading fine, its just "not working". As I don't understand the problem, I can't get much more descriptive than that. Digging down deeper tho, I do get an error, its just blocked by console "skipping lines" so I had to open that remotely. I'll try to work this out later, as I have to leave now as well. 41 minutes ago, oldcheese said: I'm not used to interpreting code that doesn't use brackets for if statements. It's rather untidy to look at. Where do you see missing brackets? Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
Draco18s Posted January 14, 2018 Share Posted January 14, 2018 15 minutes ago, ModMCdl said: Where do you see missing brackets? I think he means things like this: for(int x = 0; x < 9; ++x) //Hotbar this.addSlotToContainer(new Slot(player, x, 8 + x * 18, 142 )); Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given. Link to comment Share on other sites More sharing options...
KittenKoder Posted January 14, 2018 Share Posted January 14, 2018 12 minutes ago, Draco18s said: I think he means things like this: for(int x = 0; x < 9; ++x) //Hotbar this.addSlotToContainer(new Slot(player, x, 8 + x * 18, 142 )); That is actually cleaner and easier for many of us old coders to read. More brackets makes it harder to line up what is part of what with the eye, while the lack of brackets make it all look like single statements. Not accusing you of anything here, but those who don't like this style probably don't recall the 80s for software development when monitors had little space. Quote Link to comment Share on other sites More sharing options...
ModMCdl Posted January 15, 2018 Author Share Posted January 15, 2018 16 hours ago, KittenKoder said: That is actually cleaner and easier for many of us old coders to read. More brackets makes it harder to line up what is part of what with the eye, while the lack of brackets make it all look like single statements. Not accusing you of anything here, but those who don't like this style probably don't recall the 80s for software development when monitors had little space. Oh there. I had one professor who did that, and another who didn't. My dept. head nowadays doesn't like it, so I just don't do it. I thought he was referring to an actual error in my scripting. 1 Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
ModMCdl Posted January 15, 2018 Author Share Posted January 15, 2018 So now that I have time again, I've torn apart the console logs, and found this error whenever I try to open up the pestle GUI: [11:05:36] [Server thread/FATAL]: Error executing task java.util.concurrent.ExecutionException: java.lang.ClassCastException: net.minecraft.entity.player.EntityPlayerMP cannot be cast to net.minecraft.inventory.IInventory at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_131] at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_131] at net.minecraft.util.Util.runTask(Util.java:30) [Util.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:754) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:699) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:548) [MinecraftServer.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_131] Caused by: java.lang.ClassCastException: net.minecraft.entity.player.EntityPlayerMP cannot be cast to net.minecraft.inventory.IInventory at com.modmcdl.magitech.gui.ContainerPestle.<init>(ContainerPestle.java:30) ~[ContainerPestle.class:?] at com.modmcdl.magitech.gui.GuiHandler.getServerGuiElement(GuiHandler.java:19) ~[GuiHandler.class:?] at net.minecraftforge.fml.common.network.NetworkRegistry.getRemoteGuiContainer(NetworkRegistry.java:254) ~[NetworkRegistry.class:?] at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:89) ~[FMLNetworkHandler.class:?] at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2741) ~[EntityPlayer.class:?] at com.modmcdl.magitech.blocks.BlockPestle.onBlockActivated(BlockPestle.java:92) ~[BlockPestle.class:?] at net.minecraft.server.management.PlayerInteractionManager.processRightClickBlock(PlayerInteractionManager.java:474) ~[PlayerInteractionManager.class:?] at net.minecraft.network.NetHandlerPlayServer.processTryUseItemOnBlock(NetHandlerPlayServer.java:712) ~[NetHandlerPlayServer.class:?] at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:68) ~[CPacketPlayerTryUseItemOnBlock.class:?] at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:13) ~[CPacketPlayerTryUseItemOnBlock.class:?] at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:21) ~[PacketThreadUtil$1.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_131] at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_131] at net.minecraft.util.Util.runTask(Util.java:29) ~[Util.class:?] Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
Draco18s Posted January 15, 2018 Share Posted January 15, 2018 new Slot((IInventory) player, ... The fuck are you casting an EntityPlayer to an IInventory for? Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given. Link to comment Share on other sites More sharing options...
ModMCdl Posted January 15, 2018 Author Share Posted January 15, 2018 52 minutes ago, Draco18s said: new Slot((IInventory) player, ... The fuck are you casting an EntityPlayer to an IInventory for? If you're referring to the Player Inventory and Hotbar sections of my ContainerPestle, then isn't that needed because you're calling it from the Player's inventory? I was under the impression from previous advice this is what you needed to do. Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
Draco18s Posted January 15, 2018 Share Posted January 15, 2018 (edited) 2 hours ago, ModMCdl said: Caused by: java.lang.ClassCastException: net.minecraft.entity.player.EntityPlayerMP cannot be cast to net.minecraft.inventory.IInventory at com.modmcdl.magitech.gui.ContainerPestle.<init>(ContainerPestle.java:30) ~[ContainerPestle.class:?] Line 30: this.addSlotToContainer(new Slot((IInventory) player, x + y * 9 + 9, 8 + x * 18, 84 + y * 18)); Player is defined as an EntityPlayer on line 22: ContainerPestle(TileEntityPestle tileentity, EntityPlayer player) { //CustomSlots This cast makes no sense and that is why it crashes. Edited January 15, 2018 by Draco18s Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given. Link to comment Share on other sites More sharing options...
ModMCdl Posted January 15, 2018 Author Share Posted January 15, 2018 48 minutes ago, Draco18s said: Line 30: this.addSlotToContainer(new Slot((IInventory) player, x + y * 9 + 9, 8 + x * 18, 84 + y * 18)); Player is defined as an EntityPlayer on line 22: ContainerPestle(TileEntityPestle tileentity, EntityPlayer player) { //CustomSlots This cast makes no sense and that is why it crashes. So then what would the solution be? Is this cast just not needed at all, and can I do without it? What would you suggest replacing this with? Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
larsgerrits Posted January 15, 2018 Share Posted January 15, 2018 Don't cast the player to IInventory, use its inventory (EntityPlayer#inventory) instead. Quote Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/ Link to comment Share on other sites More sharing options...
ModMCdl Posted January 15, 2018 Author Share Posted January 15, 2018 4 minutes ago, larsgerrits said: Don't cast the player to IInventory, use its inventory (EntityPlayer#inventory) instead. If I do that, Eclipse wants me to change it to IInventory. Should I implement it elsewhere in the code, or could you provide and example. It's totally possible I just don't understand where you want me to change it. Quote Follow these rules when talking to me, and we'll get along fine. 1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them. 2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't? 3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum. ModMCdl - Co-Founder and Director of Design for Artemis Game Studios Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.