- Use code tags [ code][ /code] (without the space)
- Post the class file(s) that the error is pointing to
New Furnace
This is my first tutorial, hope it goes well :smile.gif:!
Like the title suggest, in this tutorial I will teach you how to make a new furnace (just a basic one, you can add the fancy stuff yourself). If you are using this tutorial I assume that you already know how to make a block and make it have different textures on the sides!
What you will need:
1.Your mod_XXX file
2.A BlockYOURFURNACE file
3.A GuiYOURFURNACE file
4.A SlotYOURFURNACE file
5.A ContainerYOURFURNACE file
6.A TileEntityYOURFURNACE file
7.A YOURFURNACERecipies file
(For all these files reference the furnace equivalent)
In this tutorial I will be showing you how to make a freezer, but you can modify any of the code to fit your needs. In all of the finished codes I renamed all fields and methods from burn/cook/smelt to freeze/cool/solidify you can use whatever fits your furnace-block, but remember to stay consistent.
BlockFreezer:
What you don't need from the furnace version is the randomDisplayTick method(keep this if you want smoke and flames to appear when the block is activated) and the updateFurnaceBlockState method (keep this if you want the block to look different when activated). Otherwise just change furnace to freezer wherever it occurs. In Eclipse an easy way to do this is to click the variable you want to change and press Alt-Shift-R to rename all instances of those variables. For the freezer I am only useing 2 textures, 1 from the front, and 1 for the other sides, if you want to add more then look at the chest block or some other to see how to add the other textures. Another thing you have to be aware of is in the onBlockActivated method instead of saying
entityPlayer.displayGuiFreezer(tileentityfreezer)
(because this would mean modifying some source code) use
ModLoader.OpenGui(entityplayer, new GuiFreezer(entityplayer.inventory, tileentityfreezer));
Finished Code
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) braces deadcode
package net.minecraft.src;
import java.util.Random;
// Referenced classes of package net.minecraft.src:
// BlockContainer, Material, Block, World,
// IBlockAccess, TileEntityFurnace, EntityPlayer, TileEntity,
// EntityLiving, MathHelper, IInventory, ItemStack,
// EntityItem
public class BlockFreezer extends BlockContainer
{
protected BlockFreezer(int i, boolean flag)
{
super(i, Material.ground);
freezerRand = new Random();
isActive = flag;
}
public int idDropped(int i, Random random)
{
return mod_IronBars.freezer.blockID;
}
public void onBlockAdded(World world, int i, int j, int k)
{
super.onBlockAdded(world, i, j, k);
setDefaultDirection(world, i, j, k);
}
private void setDefaultDirection(World world, int i, int j, int k)
{
if(world.multiplayerWorld)
{
return;
}
int l = world.getBlockId(i, j, k - 1);
int i1 = world.getBlockId(i, j, k + 1);
int j1 = world.getBlockId(i - 1, j, k);
int k1 = world.getBlockId(i + 1, j, k);
byte byte0 = 3;
if(Block.opaqueCubeLookup[l] && !Block.opaqueCubeLookup[i1])
{
byte0 = 3;
}
if(Block.opaqueCubeLookup[i1] && !Block.opaqueCubeLookup[l])
{
byte0 = 2;
}
if(Block.opaqueCubeLookup[j1] && !Block.opaqueCubeLookup[k1])
{
byte0 = 5;
}
if(Block.opaqueCubeLookup[k1] && !Block.opaqueCubeLookup[j1])
{
byte0 = 4;
}
world.setBlockMetadataWithNotify(i, j, k, byte0);
}
public int getBlockTexture(IBlockAccess iblockaccess, int i, int j, int k, int l)
{
if(l == 1)
{
return mod_XXX.freezSide;
}
if(l == 0)
{
return mod_XXX.freezSide;
}
int i1 = iblockaccess.getBlockMetadata(i, j, k);
if(l != i1)
{
return mod_XXX.freezSide;
}
else
{
return mod_XXX.freezFront;
}
}
public int getBlockTextureFromSide(int side)
{
if (side == 3)
{
return mod_XXX.freezFront;
}
else
{
return mod_XXX.freezSide;
}
}
public boolean blockActivated(World world, int i, int j, int k, EntityPlayer entityplayer)
{
if(world.multiplayerWorld)
{
return true;
} else
{
TileEntityFreezer tileentityfreezer = (TileEntityFreezer)world.getBlockTileEntity(i, j, k);
ModLoader.OpenGUI(entityplayer, new GuiFreezer(entityplayer.inventory, tileentityfreezer));
return true;
}
}
public TileEntity getBlockEntity()
{
return new TileEntityFreezer();
}
public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving)
{
int l = MathHelper.floor_double((double)((entityliving.rotationYaw * 4F) / 360F) + 0.5D) & 3;
if(l == 0)
{
world.setBlockMetadataWithNotify(i, j, k, 2);
}
if(l == 1)
{
world.setBlockMetadataWithNotify(i, j, k, 5);
}
if(l == 2)
{
world.setBlockMetadataWithNotify(i, j, k, 3);
}
if(l == 3)
{
world.setBlockMetadataWithNotify(i, j, k, 4);
}
}
public void onBlockRemoval(World world, int i, int j, int k)
{
if(!keepFreezerInventory)
{
TileEntityFreezer tileentityfreezer = (TileEntityFreezer)world.getBlockTileEntity(i, j, k);
label0:
for(int l = 0; l < tileentityfreezer.getSizeInventory(); l++)
{
ItemStack itemstack = tileentityfreezer.getStackInSlot(l);
if(itemstack == null)
{
continue;
}
float f = freezerRand.nextFloat() * 0.8F + 0.1F;
float f1 = freezerRand.nextFloat() * 0.8F + 0.1F;
float f2 = freezerRand.nextFloat() * 0.8F + 0.1F;
do
{
if(itemstack.stackSize <= 0)
{
continue label0;
}
int i1 = freezerRand.nextInt(21) + 10;
if(i1 > itemstack.stackSize)
{
i1 = itemstack.stackSize;
}
itemstack.stackSize -= i1;
EntityItem entityitem = new EntityItem(world, (float)i + f, (float)j + f1, (float)k + f2, new ItemStack(itemstack.itemID, i1, itemstack.getItemDamage()));
float f3 = 0.05F;
entityitem.motionX = (float)freezerRand.nextGaussian() * f3;
entityitem.motionY = (float)freezerRand.nextGaussian() * f3 + 0.2F;
entityitem.motionZ = (float)freezerRand.nextGaussian() * f3;
world.entityJoinedWorld(entityitem);
} while(true);
}
}
super.onBlockRemoval(world, i, j, k);
}
private Random freezerRand;
private final boolean isActive;
private static boolean keepFreezerInventory = false;
}
GuiFreezer:
Do the same as for the BlockFreezer, rename all instances of Furnace to Freezer. In this file all you need to be aware of is this line:
int i = mc.renderEngine.getTexture("/gui/furnace.png");
This is the location of the gui image. Change it if you want, but keep the slots in the same place because in this tutorial I will not be showing how to make new slots and stuff. If you want the fire to be a different color then copy the current furnace gui and recolor the flame, then save it with a different name(should resemble your furnace block) in the gui folder or your own folder (the same rules apply as for ModLoader.addOverride) then just change the argument in the mc.renderEngine.getTexture method to match your image location.
Finished Code:
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) braces deadcode
package net.minecraft.src;
import net.minecraft.client.Minecraft;
import org.lwjgl.opengl.GL11;
// Referenced classes of package net.minecraft.src:
// GuiContainer, ContainerFurnace, FontRenderer, RenderEngine,
// TileEntityFurnace, InventoryPlayer
public class GuiFreezer extends GuiContainer
{
public GuiFreezer(InventoryPlayer inventoryplayer, TileEntityFreezer tileentityfreezer)
{
super(new ContainerFreezer(inventoryplayer, tileentityfreezer));
freezerInventory = tileentityfreezer;
}
protected void drawGuiContainerForegroundLayer()
{
fontRenderer.drawString("Freezer", 60, 6, 0x404040);
fontRenderer.drawString("Inventory", 8, (ySize - 96) + 2, 0x404040);
}
protected void drawGuiContainerBackgroundLayer(float f)
{
int i = mc.renderEngine.getTexture("/gui/furnace.png");
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
mc.renderEngine.bindTexture(i);
int j = (width - xSize) / 2;
int k = (height - ySize) / 2;
drawTexturedModalRect(j, k, 0, 0, xSize, ySize);
if(freezerInventory.isFreezing())
{
int l = freezerInventory.getFreezeTimeRemainingScaled(12);
drawTexturedModalRect(j + 56, (k + 36 + 12) - l, 176, 12 - l, 14, l + 2);
}
int i1 = freezerInventory.getCoolProgressScaled(24);
drawTexturedModalRect(j + 79, k + 34, 176, 14, i1 + 1, 16);
}
private TileEntityFreezer freezerInventory;
}
SlotFreezer:
This is probably the smallest file that you will have. If you copied the furnace one then you can just delete the stuff about achievements because you probably wouldn't be able to get those things from your furnace anyway. Don't forget to rename everything.
Finished code:
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) braces deadcode
package net.minecraft.src;
// Referenced classes of package net.minecraft.src:
// Slot, EntityPlayer, ItemStack, Item,
// AchievementList, ModLoader, IInventory
public class SlotFreezer extends Slot
{
public SlotFreezer(EntityPlayer entityplayer, IInventory iinventory, int i, int j, int k)
{
super(iinventory, i, j, k);
}
public boolean isItemValid(ItemStack itemstack)
{
return false;
}
public void onPickupFromSlot(ItemStack itemstack)
{
super.onPickupFromSlot(itemstack);
}
}
ContainerFreezer:
This is where you, if you know how, add more slots. Again, I won't be going over this in this tutorial. There isn't much else important here so just rename everything and then will move on to the next file.
This is one of the more important files because this is where you define the items that power your furnace and how long they last. This is also where you decide how long things take to smelt, but I'm not sure what value you have to change (I will probably cover that in a later tutorial). In the method getItemBurnTime is where you specify the items that do the burning remove all the current items that are there now (unless you want to use some of them for fuel in your furnace) and change the statement in the else block from
return ModLoader.AddAllFuel(i);
to
return 0
so that you don't have the furnace have constant fuel without anything in the fuel slot. For your fuel just copy an if block from TileEntityFurnace and change the item to your own item. The value it returns is how long the fuel lasts, coal lasts 1600 and wood lasts 300. I used redstone because, how do you power your freezer? Electricity, and redstone is the closest thing to electricity in Minecraft. Another thing you should remove is in the updateEntity method. In the second last if block where it says
This is another important file because this is the one where you have all the recipes. First rename everything. Then remove the furnace recipes except one which you will modify for your furnace and use it to model your other recipes (so that you don't have to check back to the furnace file all the time). For the freezer I could only think of 2 recipes, a bucket of water to a block of ice and a bucket of lava to a block of obsidian.
Finished code:
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) braces deadcode
package net.minecraft.src;
import java.util.HashMap;
import java.util.Map;
// Referenced classes of package net.minecraft.src:
// Block, ItemStack, Item
public class FreezerRecipes
{
public static final FreezerRecipes solidifying()
{
return solidifyingBase;
}
private FreezerRecipes()
{
solidifyingList = new HashMap();
addSolidifying(Item.bucketLava.shiftedIndex, new ItemStack(Block.obsidian));
addSolidifying(Item.bucketWater.shiftedIndex, new ItemStack(Block.ice));
}
public void addSolidifying(int i, ItemStack itemstack)
{
solidifyingList.put(Integer.valueOf(i), itemstack);
}
public ItemStack getSolidifyingResult(int i)
{
return (ItemStack)solidifyingList.get(Integer.valueOf(i));
}
public Map getSolidifyingList()
{
return solidifyingList;
}
private static final FreezerRecipes solidifyingBase = new FreezerRecipes();
private Map solidifyingList;
}
mod_XXX
Your almost done, the last thing you have to do is add this line to your mod file
inside the public mod_XXX constructor. If you forget to add this then if you leave any items inside the furnace and you leave the game, they will be gone. In the finished code I left out the recipe because I'm not sure what the recipe should be like myself!
Finished code:
package net.minecraft.src;
public class mod_XXX extends BaseMod{
public mod_XXX()
{
ModLoader.RegisterBlock(freezer);
ModLoader.AddName(freezer, "Freezer");
ModLoader.RegisterTileEntity(net.minecraft.src.TileEntityFreezer.class, "Freezer");
}
public static final Block freezer;
public static int freezSide = ModLoader.addOverride("/terrain.png", "/StrongJoshua/Freezer.png");
public static int freezFront = ModLoader.addOverride("/terrain.png", "/StrongJoshua/FreezerFront.png");
static
{
freezer = new BlockFreezer(165, false).setHardness(0F).setResistance(0F).setStepSound(Block.soundMetalFootstep).setBlockName("freezer");
}
}
I hope this tutorial helped you! Seeing as this is my first tutorial, if you have any suggestions on what I could have done differently, feel free to post them!
If any of my tutorials helped you and you want to thank/support me then please either donate
or copy a banner code into your signature!
If you want me to write a tutorial for making your furnace block spawn random particles when on the please post that you want it and, if enough people do, I will try to figure it out and write a tutorial about it!
I know I'll probably get told to go away or something like that, but could you explain ModLoader for me? I have absolutely no clue how to do it/get it. When I search it, it just gives me a list of mods, not how to use ModLoader, or what it is :/
I know I'll probably get told to go away or something like that, but could you explain ModLoader for me? I have absolutely no clue how to do it/get it. When I search it, it just gives me a list of mods, not how to use ModLoader, or what it is :/
Search for it on the forums, there's a thread for it. Risugami's Mods or something along those lines. Instructions on how to install modloader are in that thread too.
And here's a suggestion for a future tutorial I'd like to see. Saplings! I've seen a handful of tutorials on trees, but I haven't come across one that ties in saplings yet.
Minecraft has stopped running because it encountered a problem.
If you wish to report this, please copy this entire text and email it to [email protected].
Please include a description of what you did when the error occured.
--- BEGIN ERROR REPORT e9df3db --------
Generated 06.09.11 09:16
Minecraft: Minecraft Beta 1.7.3
OS: Windows XP (x86) version 5.1
Java: 1.6.0_26, Sun Microsystems Inc.
VM: Java HotSpot(TM) Client VM (mixed mode), Sun Microsystems Inc.
LWJGL: 2.4.2
OpenGL: GeForce 7600 GS/PCI/SSE2/3DNOW! version 2.1.2, NVIDIA Corporation
java.lang.Error: Unresolved compilation problem:
The constructor McModObsidianFurnace(int, int) is undefined
at net.minecraft.src.mod_McMod.<init>(mod_McMod.java:56)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.minecraft.src.ModLoader.addMod(ModLoader.java:224)
at net.minecraft.src.ModLoader.readFromClassPath(ModLoader.java:1022)
at net.minecraft.src.ModLoader.init(ModLoader.java:687)
at net.minecraft.src.ModLoader.AddAllRenderers(ModLoader.java:121)
at net.minecraft.src.RenderManager.<init>(RenderManager.java:65)
at net.minecraft.src.RenderManager.<clinit>(RenderManager.java:158)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:138)
at net.minecraft.client.Minecraft.run(Minecraft.java:435)
at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT 6c27af0b ----------
Problem is in file mod_XXX:
public static final Block furnaceX = new ModXXXFurnaceX(120, 0).setBlockName("furnaceX").setHardness(10F).setResistance(2000F).setLightValue(0F);
Problem:
"The constructor ModXXXFurnaceX(int,int) is undefined."
public class ModXXXFurnaceX extends BlockContainer
{
protected ModXXXFurnaceX(int i, boolean flag)
{
super(i, Material.iron);
FurnaceXRand = new Random();
isActive = flag;
I know I'll probably get told to go away or something like that, but could you explain ModLoader for me? I have absolutely no clue how to do it/get it. When I search it, it just gives me a list of mods, not how to use ModLoader, or what it is :/
Google search "risugamis modloader". Then once you have it put it into the minecraft.jar that you decompile in MCP then decompile and you might get one error that says "2 out of 2 hunks failed" that's normal. Then just follow any one of the many modloader tutuorials.
could you make a tutorial on how to make a mob evolve into another over time?
and how to make a new dungeon generation
I'm not sure about the over time part. It would be easier if you had to give it something and then it would evolve. I don't know how good I am at generation, but I could try it.
When I mouse over onInventoryChanged(); Eclipse says: The method onInventoryChanged(); is undefined for the type TileEntityFreezerBlock
hope this helped with helping me :smile.gif:
Have you finished the tutorial? Do you have all the other files without errors? If not, try finishing it and see if it works then. If that doesn't help, although this probably won't do anything, try putting this. in front of onInventoryChanged() so it looks like this
Have you finished the tutorial? Do you have all the other files without errors? If not, try finishing it and see if it works then. If that doesn't help, although this probably won't do anything, try putting this. in front of onInventoryChanged() so it looks like this
this.onInventoryChanged();
I had completed the tutorial without any other errors and when I put this in front of it co it looked like this
this.onInventoryChanged();
I still had the same error but when I put this
y_();
(I found it in the same spot but in the furnace tileEntity) all of the errors went away... by the way what does
I had completed the tutorial without any other errors and when I put this in front of it co it looked like this
this.onInventoryChanged();
I still had the same error but when I put this
y_();
(I found it in the same spot but in the furnace tileEntity) all of the errors went away... by the way what does
y_();
or
onInventoryChanged();
do?
So you replaced onInventoryChanged() with y_()? Maybe you should use updateNames.bat that might fix it. What I think onInventoryChanged() does, is that it saves the inventory of your furnace, when it changes (and you don't have the gui open), to the chunk so that it loads the correct contents when you reload the chunk.
-Mob Evolve On Item Use
-Spawn Entity Block
-Multiple Output Furnace
-Custom Block Rendering (by MC_DucksAreBest)
Post any suggestions for future tutorials!
- Use code tags [ code][ /code] (without the space)
- Post the class file(s) that the error is pointing to
This is my first tutorial, hope it goes well :smile.gif:!
Like the title suggest, in this tutorial I will teach you how to make a new furnace (just a basic one, you can add the fancy stuff yourself). If you are using this tutorial I assume that you already know how to make a block and make it have different textures on the sides!
What you will need:
1.Your mod_XXX file
2.A BlockYOURFURNACE file
3.A GuiYOURFURNACE file
4.A SlotYOURFURNACE file
5.A ContainerYOURFURNACE file
6.A TileEntityYOURFURNACE file
7.A YOURFURNACERecipies file
(For all these files reference the furnace equivalent)
In this tutorial I will be showing you how to make a freezer, but you can modify any of the code to fit your needs. In all of the finished codes I renamed all fields and methods from burn/cook/smelt to freeze/cool/solidify you can use whatever fits your furnace-block, but remember to stay consistent.
BlockFreezer:
What you don't need from the furnace version is the randomDisplayTick method(keep this if you want smoke and flames to appear when the block is activated) and the updateFurnaceBlockState method (keep this if you want the block to look different when activated). Otherwise just change furnace to freezer wherever it occurs. In Eclipse an easy way to do this is to click the variable you want to change and press Alt-Shift-R to rename all instances of those variables. For the freezer I am only useing 2 textures, 1 from the front, and 1 for the other sides, if you want to add more then look at the chest block or some other to see how to add the other textures. Another thing you have to be aware of is in the onBlockActivated method instead of saying (because this would mean modifying some source code) use
Finished Code
GuiFreezer:
Do the same as for the BlockFreezer, rename all instances of Furnace to Freezer. In this file all you need to be aware of is this line: This is the location of the gui image. Change it if you want, but keep the slots in the same place because in this tutorial I will not be showing how to make new slots and stuff. If you want the fire to be a different color then copy the current furnace gui and recolor the flame, then save it with a different name(should resemble your furnace block) in the gui folder or your own folder (the same rules apply as for ModLoader.addOverride) then just change the argument in the mc.renderEngine.getTexture method to match your image location.
Finished Code:
SlotFreezer:
This is probably the smallest file that you will have. If you copied the furnace one then you can just delete the stuff about achievements because you probably wouldn't be able to get those things from your furnace anyway. Don't forget to rename everything.
Finished code:
ContainerFreezer:
This is where you, if you know how, add more slots. Again, I won't be going over this in this tutorial. There isn't much else important here so just rename everything and then will move on to the next file.
Finished Code:
TileEntityFreezer:
This is one of the more important files because this is where you define the items that power your furnace and how long they last. This is also where you decide how long things take to smelt, but I'm not sure what value you have to change (I will probably cover that in a later tutorial). In the method getItemBurnTime is where you specify the items that do the burning remove all the current items that are there now (unless you want to use some of them for fuel in your furnace) and change the statement in the else block from to so that you don't have the furnace have constant fuel without anything in the fuel slot. For your fuel just copy an if block from TileEntityFurnace and change the item to your own item. The value it returns is how long the fuel lasts, coal lasts 1600 and wood lasts 300. I used redstone because, how do you power your freezer? Electricity, and redstone is the closest thing to electricity in Minecraft. Another thing you should remove is in the updateEntity method. In the second last if block where it says remove that one line of code (unless you want your furnace to change states when activated).
Finished code:
FreezerRecipes:
This is another important file because this is the one where you have all the recipes. First rename everything. Then remove the furnace recipes except one which you will modify for your furnace and use it to model your other recipes (so that you don't have to check back to the furnace file all the time). For the freezer I could only think of 2 recipes, a bucket of water to a block of ice and a bucket of lava to a block of obsidian.
Finished code:
mod_XXX
Your almost done, the last thing you have to do is add this line to your mod file inside the public mod_XXX constructor. If you forget to add this then if you leave any items inside the furnace and you leave the game, they will be gone. In the finished code I left out the recipe because I'm not sure what the recipe should be like myself!
Finished code:
I hope this tutorial helped you! Seeing as this is my first tutorial, if you have any suggestions on what I could have done differently, feel free to post them!
or copy a banner code into your signature!
If you want me to write a tutorial for making your furnace block spawn random particles when on the please post that you want it and, if enough people do, I will try to figure it out and write a tutorial about it!
Banner Codes:
By me:
By Blakeonacoaster:
By Blakeoncoaster (with some editing by me):
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua
+1
Thank you! I hope it works for everyone!
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua
One for the front and one for the sides.
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua
Search for it on the forums, there's a thread for it. Risugami's Mods or something along those lines. Instructions on how to install modloader are in that thread too.
And here's a suggestion for a future tutorial I'd like to see. Saplings! I've seen a handful of tutorials on trees, but I haven't come across one that ties in saplings yet.
and how to make a new dungeon generation
Change the zero in new BlockYourFurnace to false.
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua
Google search "risugamis modloader". Then once you have it put it into the minecraft.jar that you decompile in MCP then decompile and you might get one error that says "2 out of 2 hunks failed" that's normal. Then just follow any one of the many modloader tutuorials.
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua
I'm not sure about the over time part. It would be easier if you had to give it something and then it would evolve. I don't know how good I am at generation, but I could try it.
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua
Does your TileEntityXXX extend TileEntity? If it does, can you post your code, hopefully then I can find the error.
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua
yes it does extend tileentity here is my code:
EDIT my next post is on the other page
Can you post the full error again (no X's, I need the full names).
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua
When I mouse over onInventoryChanged(); Eclipse says: The method onInventoryChanged(); is undefined for the type TileEntityFreezerBlock
hope this helped with helping me :smile.gif:
Have you finished the tutorial? Do you have all the other files without errors? If not, try finishing it and see if it works then. If that doesn't help, although this probably won't do anything, try putting this. in front of onInventoryChanged() so it looks like this
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua
I had completed the tutorial without any other errors and when I put this in front of it co it looked like this I still had the same error but when I put this (I found it in the same spot but in the furnace tileEntity) all of the errors went away... by the way what does or do?
So you replaced onInventoryChanged() with y_()? Maybe you should use updateNames.bat that might fix it. What I think onInventoryChanged() does, is that it saves the inventory of your furnace, when it changes (and you don't have the gui open), to the chunk so that it loads the correct contents when you reload the chunk.
Also, check out my YouTube channel: www.YouTube.com/StrongJoshua