-
Posts
5161 -
Joined
-
Last visited
-
Days Won
76
Everything posted by Choonster
-
I suspect that either Content.kingdom_key or Content.heart are null at the time of this method being called. Use the debugger to step through this method and figure out what's null . Make sure you initialise all of your items in preInit, then add recipes in init.
-
You should probably call the super methods in your overrides of Entity#readEntityFromNBT and Entity#writeEntityToNBT , but I don't think that's the cause of the issue here. I suspect the issue is that the server has a reference to the original entity when the spectral entity is first spawned and when it's read from NBT, but the client doesn't know anything about it. If you want to sync data from the server to the client when an entity is spawned in the world, you can implement IEntityAdditionalSpawnData in your Entity class. I suggest you use this to send the NBT serialised entity from the server to the client, then deserialise it back into an entity on the client side.
-
The crash report is the same as before, so it probably wasn't OptiFine screwing things up. I'm not too sure what's causing the error, you should probably report it to the author of ISM.
-
You should be able to use EntityList#createEntityFromNBT to create an Entity from a compound tag that was previously written to by Entity#writeToNBT . The Entity#isDead field isn't persisted. It's also public, so you can just set it to false when the entity is first reanimated.
-
The config directory will be in whatever directory Minecraft runs in, the same directory containing the mods directory. This may not be .minecraft. I don't fully understand what you're saying. What's not possible and why is it not possible?
-
Try removing OptiFine. It may or may not fix the issue.
-
Call the dead entity Render 's methods from the corresponding methods of your Render , e.g. override Render#doRender to fetch the dead entity's Render and call doRender on it, passing the dead entity as an argument. It may be difficult to create a "spectral" effect works with any entity, since you can't know how that entity will be rendered. I don't know anything about OpenGL, so I can't help you there.
-
[1.8.9] Adding Additional Mods to Dev Environment
Choonster replied to Powerman913717's topic in Modder Support
If you want to compile against them, either add them as dependencies in build.gradle (the easiest way to do things if the mod has a Maven/Ivy repository hosted somewhere) or create a libs directory next to build.gradle and put them in there. If you don't need to compile against them (e.g. you only need to do stuff via IMC), you can just put them in the mods directory like you would for normal Minecraft. Recent versions of Forge (1.8.9-11.15.0.1696 and newer) can load SRG named mods in the development environment, so you don't have to use dev/deobf versions. -
On the client there's only one World : Minecraft#theWorld .
-
Crash reason: Initializing game...?
Choonster replied to Dark Fury45's topic in Support & Bug Reports
This is still the same error. You haven't disabled every Thaumcraft addon. Automagy, Thaumic Tinkerer, Magical Decorations and Tainted Magic are still enabled. If you disable these mods and the error persists, try looking for other mods that add crops. -
Crash reason: Initializing game...?
Choonster replied to Dark Fury45's topic in Support & Bug Reports
Some mod is sending Thaumcraft an IMC message with an ItemStack that has a null Item (i.e. the mod created an item stack, but didn't specify what it's a stack of). This is message is either telling Thaumcraft to allow golems to harvest a crop or to prevent the Lamp of Growth from growing a crop. Unfortunately the crash report doesn't say which mod sent the message, so you'll have to narrow down the cause yourself based on the information I provided above and report it to the mod's author. First try removing any Thaumcraft addon that adds crops. -
[1.8.9] How to use the substitution alias system?
Choonster replied to Choonster's topic in Modder Support
I still can't get this working properly. Lex/cpw (or anyone else), would you be able to provide a basic example of this system to demonstrate how it should be used? My latest code is here (using Forge 1.8.9-11.15.0.1718). Manually adding blockstate IDs to GameData.BLOCKSTATE_TO_ID (which I know shouldn't be done) using the vanilla block's ID correctly replaces existing blocks in the world with the new one, but breaks /setblock . When the block is first placed from its item, the block model isn't rendered at all until the block receives an update from a neighbour. If I don't add a substitution for the ItemBlock , the item uses the vanilla model. If I do, it adds a new item and both items have the missing model. I decided to try replacing a basic Item (the stick). The substitution mostly works (the item can be taken out of the creative menu and adds a chat message when right clicked), but the model is broken (it's displaying as the missing model) and crafting it crashes the game with an ArrayIndexOutOfBoundsException from ItemStack#onCrafting because the item doesn't have an ID. -
Forge 1.6.4-9.11.1.1345 should work. If you want support for old versions, you can try asking for help in Minecraft Forum's Modded Client Support section.
-
The same way Minecraft saves your entity to NBT: call Entity#writeToNBT and store the compound tag in your own entity's compound tag.
-
[1.7.10] Changing texture based on item in Gui slot
Choonster replied to shmcrae's topic in Modder Support
You really need to read up on the basics of Java, including how arrays work. What you posted won't even compile. You need two fields here: a String array containing the names of both icons (set in the field initialiser) and an IIcon array containing the icons (not set in the field initialiser). In your override of Item#registerIcons , do the following: Set the icon array field to a new array of the same length as the icon name array Iterate through the icon name array, calling IIconRegister#registerIcon for each icon name and storing the returned IIcon in the same index of the icon array In your override of Item#getIconIndex , return the appropriate IIcon from the icon array (i.e. the one at index 0 or 1). Since you only have two icons, you could also use two separate IIcon fields instead of an array. -
[1.7.10] Changing texture based on item in Gui slot
Choonster replied to shmcrae's topic in Modder Support
Slot numbers are 0-based, like most things in Minecraft/Java. 0 is the first slot, 1 is the second. Why are you using the lengths of two unrelated arrays as indexes to your icon array? Are you ever actually initialising the icon array? -
If you store an instance of the dead Entity in your Entity , you can use RenderManager#getEntityRenderObject to get its Render .
-
[1.7.10] Changing texture based on item in Gui slot
Choonster replied to shmcrae's topic in Modder Support
IInventory#getStackInSlot returns an ItemStack , MItems.FireCrystal is an Item ; so the two will never be equal. You need to check that the ItemStack in the slot isn't null , then call ItemStack#getItem to get its Item . Item s are singletons (only one instance exists per item type), so they should be compared with == rather than the equals method. -
[SOLVED][1.7.10][CoFHLib] Custom Fluid is not rendering in gui
Choonster replied to Emonadeo's topic in Modder Support
Fluid defines the properties of a fluid, including its textures. An IFluidBlock (e.g. BlockFluidClassic ) is a Block in the world that behaves like a fluid, using the properties defined by the corresponding Fluid to control its behaviour (e.g. flow rate and direction, light level). A FluidStack represents a stack of Fluid in a tank or container of some sort (like an ItemStack represents a stack of an Item in an inventory). A fluid tank in a machine contains a FluidStack and a GUI will usually display this using the textures of the Fluid . The fluid isn't in the world, so the IFluidBlock isn't involved. -
[1.7.10] Changing texture based on item in Gui slot
Choonster replied to shmcrae's topic in Modder Support
Create a StaffInventory instance from the ItemStack 's NBT, then use the methods of StaffInventory to check the item in the slot. -
Resource domains are always lowercase, but you've named your directory assets/TestMod instead of assets/testmod.
-
[1.7.10] Changing texture based on item in Gui slot
Choonster replied to shmcrae's topic in Modder Support
You have an ItemStack argument, get the data from it. -
[SOLVED][1.7.10][CoFHLib] Custom Fluid is not rendering in gui
Choonster replied to Emonadeo's topic in Modder Support
You need to call Fluid#setIcons to set the still and flowing icons of the Fluid . You should be able to do this from Block_Fluid_Oil#registerBlockIcons . -
Have you actually selected a Forge version for your profile rather than a vanilla one? Is Forge loaded when you run the game? Upload a screenshot of the Profile Editor with your profile selected to an image hosting site like Imgur, upload the launcher log and the FML log to Gist and link them here.
-
Block#canRenderInPass determines whether a Block can render in the specified pass. If you look at the usages of it, you'll see it's called from a loop in WorldRenderer#updateRenderer ; this loop only iterates from 0 to 1, so there are only two render passes for blocks. Item#getRenderPasses determines how many render passes are used to render an Item (only called if Item#requiresMultipleRenderPasses returns true ). I assume you can use as many render passes as you want, up to Integer.MAX_VALUE .