Jump to content

[1.11.2] GUI Not Appearing In Game


ModMCdl

Recommended Posts

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!

 

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

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.

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

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.

Link to comment
Share on other sites

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:?]

 

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

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. 

Link to comment
Share on other sites

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.

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

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.

Link to comment
Share on other sites

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).

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

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.

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

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.

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

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. 

Link to comment
Share on other sites

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?

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

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 ));

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

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.

Link to comment
Share on other sites

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.

  • Like 1

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

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:?]

 

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

new Slot((IInventory) player, ...

 

The fuck are you casting an EntityPlayer to an IInventory for?

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

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. 

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

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 by Draco18s

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

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?

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

Don't cast the player to IInventory, use its inventory (EntityPlayer#inventory) instead.

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

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.

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

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.