
LemonLake
Members-
Posts
30 -
Joined
-
Last visited
Everything posted by LemonLake
-
So far, it works like a charm! Thanks!
-
public int getSpellId(ItemStack stack){ return stack.getTagCompound().getInteger("spell"); } Correct?
-
How would I store NBT in an item?
-
Spell should be an int, right? I only really need the object instance for the variables, nothing is stored in it really. Edit: How would I go about storing NBT in an item?
-
It's not too much of a problem, I can simply use onBlockActivated on the Spell Table block. Unfortunately, I cannot use these functions for other spells
-
After adding castAir=true; to the constructor of NullItem, and adding your code to castAirEvent, then finally right clicking towards the sky, I just got 2013-08-09 15:25:29 [iNFO] [sTDOUT] client side thinks: true. No mention of serverside.
-
Re-read, please.
-
Description Resource Path Location Type getEffectiveSide cannot be resolved or is not a field Spell.java /Minecraft/src/lemmy/eldercraft line 49 Java Problem Edit: Added parenthasis to the end of getEffectiveSide, testing now. 2013-08-09 15:19:19 [iNFO] [sTDOUT] client side thinks: true
-
public void castSpellBlockFirst(ItemStack stack,EntityPlayer player,World world,int x,int y,int z,int side,float hitX,float hitY,float hitZ) { System.out.println("1"); if(!world.isRemote&&world.getBlockId(x,y,z)==Items.block_spelltable.blockID&&side==1){ System.out.println("2"); if(player.inventory.getStackInSlot(0)!=null){ System.out.println("3"); if(player.inventory.getStackInSlot(0).itemID!=Items.item_apprenticewand.itemID){ /* Here's the items that can turn into spells */ System.out.println("4"); switch(player.inventory.getStackInSlot(0).itemID){ case 370: System.out.println("5"); player.inventory.consumeInventoryItem(Items.item_apprenticewand.itemID); player.inventory.consumeInventoryItem(Item.ghastTear.itemID); player.inventory.addItemStackToInventory(new ItemStack(Items.item_apprenticewand_soul, 1, 0)); break; default: System.out.println("6"); player.addChatMessage("§cNo available items found in first slot"); break; } System.out.println("7"); }else{ System.out.println("8"); player.addChatMessage("§cWands cannot be transmuted"); } }else{ System.out.println("9"); player.addChatMessage("§cNo available items found in first slot"); } System.out.println("10"); } System.out.println("11"); } 2013-08-09 15:10:12 [iNFO] [sTDOUT] 1 2013-08-09 15:10:12 [iNFO] [sTDOUT] 11
-
Here's four classes: ItemWand, Spell, NullSpell (the one I'm referencing in my first post) and SoulSpell: ItemWand.java: Spell.java: NullSpell.ava: SoulSpell.java Summary: There are events in ItemWand. In spell, there are functions such as castSpellBlockFirstEvent. These do a few checks, then call castSpellBlockFirst. The event functions are called in ItemWand, and the non-event functions are overriden in the new spell.
-
I thought that was the problem, but ignored it because in another spell I used it and thought I used it in my base function. Thanks! EDIT: Now nothing happens when I right click, and I have a similar problem with my Soul Spell. public void castSpellBlockFirst(ItemStack stack,EntityPlayer player,World world,int x,int y,int z,int side,float hitX,float hitY,float hitZ) { if(!world.isRemote&&world.getBlockId(x,y,z)==Items.block_spelltable.blockID&&side==1){ if(player.inventory.getStackInSlot(0)!=null){ if(player.inventory.getStackInSlot(0).itemID!=Items.item_apprenticewand.itemID){ /* Here's the items that can turn into spells */ switch(player.inventory.getStackInSlot(0).itemID){ case 370: player.inventory.consumeInventoryItem(Items.item_apprenticewand.itemID); player.inventory.consumeInventoryItem(Item.ghastTear.itemID); player.inventory.addItemStackToInventory(new ItemStack(Items.item_apprenticewand_soul, 1, 0)); break; default: player.addChatMessage("§cNo available items found in first slot"); break; } }else{ player.addChatMessage("§cWands cannot be transmuted"); } }else{ player.addChatMessage("§cNo available items found in first slot"); } } }
-
Just press the F3 key.
-
I am having a problem with items in Forge 9.10.0.804. When I create my new item using two old items, I recieve the new one fine, however as soon as I click it my inventory resets to it's previous state. The video explains it better: [flash=640,360]https://youtube.googleapis.com/v/NXLulVE8x8k Here is my code for swapping the items: public void castSpellBlockFirst(ItemStack stack,EntityPlayer player,World world,int x,int y,int z,int side,float hitX,float hitY,float hitZ) { if(world.getBlockId(x,y,z)==Items.block_spelltable.blockID&&side==1){ if(player.inventory.getStackInSlot(0)!=null){ if(player.inventory.getStackInSlot(0).itemID!=Items.item_apprenticewand.itemID){ /* Here's the items that can turn into spells */ switch(player.inventory.getStackInSlot(0).itemID){ case 370: player.inventory.consumeInventoryItem(Items.item_apprenticewand.itemID); player.inventory.consumeInventoryItem(Item.ghastTear.itemID); player.inventory.addItemStackToInventory(new ItemStack(Items.item_apprenticewand_soul, 1, 0)); break; default: player.addChatMessage("§cNo available items found in first slot"); break; } }else{ player.addChatMessage("§cWands cannot be transmuted"); } }else{ player.addChatMessage("§cNo available items found in first slot"); } } } Any help would be appreciated. If you need any information, just post or PM.
-
How to write a message to myself
LemonLake replied to ILuvYouCompanionCube's topic in Modder Support
You beat me to it, but then my post disappeared -
Custom death message when killed with custom sword.
LemonLake replied to dude22072's topic in Modder Support
If you're using Eclipse on Windows, use this key combo: CTRL + SHIFT + O It should sort your imports. -
LWJGL has a Sphere class for it's OpenGL rendering. You could try that for now.
-
I've already re-installed at least four times, so it has to be a problem in the code somewhere. I've checked many tutorials and I don't understand what I've done wrong here. Thanks, though.
-
This is a problem I've had in 1.5.2 and 1.6.1. I'm creating a tile entity, however whenever I render my model I get this error: 2013-07-03 16:56:38 [iNFO] [sTDOUT] ---- Minecraft Crash Report ---- 2013-07-03 16:56:38 [iNFO] [sTDOUT] // Ouch. That hurt 2013-07-03 16:56:38 [iNFO] [sTDOUT] 2013-07-03 16:56:38 [iNFO] [sTDOUT] Time: 03/07/13 16:56 2013-07-03 16:56:38 [iNFO] [sTDOUT] Description: Unexpected error 2013-07-03 16:56:38 [iNFO] [sTDOUT] 2013-07-03 16:56:38 [iNFO] [sTDOUT] java.lang.IllegalStateException: Already tesselating! 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.renderer.Tessellator.startDrawing(Tessellator.java:343) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.renderer.Tessellator.startDrawingQuads(Tessellator.java:333) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.model.TexturedQuad.draw(TexturedQuad.java:48) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.model.ModelBox.render(ModelBox.java:103) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.model.ModelRenderer.compileDisplayList(ModelRenderer.java:296) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.model.ModelRenderer.render(ModelRenderer.java:129) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.lemonlake.dontstarvemod.ModelFirePit.render(ModelFirePit.java:176) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.lemonlake.dontstarvemod.TileEntityFirePitRenderer.renderWorldBlock(TileEntityFirePitRenderer.java:33) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at cpw.mods.fml.client.registry.RenderingRegistry.renderWorldBlock(RenderingRegistry.java:152) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.src.FMLRenderAccessLibrary.renderWorldBlock(FMLRenderAccessLibrary.java:57) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:485) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:224) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1538) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1129) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1006) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:930) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:822) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.client.main.Main.main(Main.java:93) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Method.java:601) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:57) 2013-07-03 16:56:38 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:18) 2013-07-03 16:56:38 [iNFO] [sTDOUT] Here are all my classes: DontStarveMod.java http://pastebin.com/XPXfNb4i BlockFirePit.java http://pastebin.com/Weuc5VFG ModelFirePit.java http://pastebin.com/h81v02RZ TileEntityFirePit.java http://pastebin.com/xAVqCrzJ TileEntityFirePitRenderer.java http://pastebin.com/Tbcnf5Pn As well as this, I can't find the new method to bind a texture. Anyone know of it?
-
Textures and LanguageRegistry in preInit instead of Init
LemonLake replied to sorash67's topic in Modder Support
Who is this directed to? -
Textures and LanguageRegistry in preInit instead of Init
LemonLake replied to sorash67's topic in Modder Support
The lack of documentation on this is a shame. Hopefully someone will get round to doing it. Edit: @PreInit and @Init are now deprecated. Not sure what to do now. -
If above does not work, you'll have to do it the non-revenuous way. P.S. I'm really sorry about this, staff. Please remove my post if you wish, but I am trying to be helpful to us all here:
-
Please define 'not working'. Do you have any logs? What version of Minecraft are you using? Forge Version? Mods and versions?
-
I'm trying to make a custom block renderer, preferably a tile entity. I've followed a tutorial on the wiki, and here's my code: DontStarveMod.java: package net.lemonlake.dontstarvemod; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.src.ModLoader; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; @Mod(modid = DontStarveMod.modid, name = "DontStarve", version = "0.1") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class DontStarveMod { public static final String modid = "DrewLemmy_DontStarveMod"; public static Block firepit = new BlockFirePit(1551).setHardness(2.0F).setResistance(10.0F).setUnlocalizedName("firepit").setCreativeTab(CreativeTabs.tabMisc); @Init public void load(FMLInitializationEvent event) { // block 1551-1620 // item 22601-22701 GameRegistry.registerTileEntity(net.lemonlake.dontstarvemod.TileEntityFirePit.class, "FirePit"); ClientRegistry.bindTileEntitySpecialRenderer(net.lemonlake.dontstarvemod.TileEntityFirePit.class, new TileEntityFirePitRenderer()); GameRegistry.registerBlock(firepit, "firepit"); LanguageRegistry.addName(firepit, "Fire Pit"); } } ModelFirePit.java: http://pastebin.com/H7AQAcFB (too big for a forum post) TileEntityFirePit.java: package net.lemonlake.dontstarvemod; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.INetworkManager; import net.minecraft.network.packet.Packet; import net.minecraft.network.packet.Packet132TileEntityData; import net.minecraft.tileentity.TileEntity; public class TileEntityFirePit extends TileEntity { public int fireTime = 300; public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); } public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); } public Packet getDescriptionPacket() { NBTTagCompound nbtTag = new NBTTagCompound(); this.writeToNBT(nbtTag); return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 1, nbtTag); } public void onDataPacket(INetworkManager net, Packet132TileEntityData packet) { readFromNBT(packet.customParam1); } } BlockFirePit.java: package net.lemonlake.dontstarvemod; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.INetworkManager; import net.minecraft.network.packet.Packet; import net.minecraft.network.packet.Packet132TileEntityData; import net.minecraft.tileentity.TileEntity; public class TileEntityFirePit extends TileEntity { public int fireTime = 300; public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); } public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); } public Packet getDescriptionPacket() { NBTTagCompound nbtTag = new NBTTagCompound(); this.writeToNBT(nbtTag); return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 1, nbtTag); } public void onDataPacket(INetworkManager net, Packet132TileEntityData packet) { readFromNBT(packet.customParam1); } } TileEntityFirePitRenderer.java: package net.lemonlake.dontstarvemod; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import org.lwjgl.opengl.GL11; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class TileEntityFirePitRenderer extends TileEntitySpecialRenderer{ ModelFirePit model = new ModelFirePit(); public void renderAModelAt(TileEntityFirePit tileentity, double d, double d1, double d2, float f) { GL11.glPushMatrix(); GL11.glTranslatef((float)d + 0.5F, (float)d1 + 0.5F, (float)d2 + 0.5F); GL11.glPushMatrix(); model.render(0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); } public void renderTileEntityAt(TileEntity tileentity, double d, double d1, double d2, float f) { renderAModelAt((TileEntityFirePit)tileentity, d, d1, d2, f); } } I simply get an empty block from this, I have tried lots of different things. Including binding textures, and not binding them. https://dl.dropboxusercontent.com/u/21596039/2013-06-02_16.05.29.png[/img] Does anyone know a solution to this? What am I doing wrong? How is it resolved?
-
installing forge-src for 1.5.2 decompiles wrong
LemonLake replied to 7Roses's topic in Support & Bug Reports
The SCALAC error is normal Try refreshing the eclipse project with F5 in the navigator or project explorer.