Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Choonster

Moderators
  • Joined

  • Last visited

Everything posted by Choonster

  1. Have some bloody patience and stop bumping your threads every five minutes. Answers are rarely instant on any forum. Line 617 is the following: registerRender(leadpaxel); ModItems.leadpaxel is null because you never assign a value to it. Instead, you assign the ModPaxel with the LEAD ToolMaterial and "leadpaxel" as its registry name to the ModItems.titaniumpaxel field. "AL lib: (EE) alc_cleanup: 1 device not closed" is always logged when the client crashes for any reason, it's got nothing to do with what caused the crash.
  2. That looks like a pretty dodgy site, it seems to be showing its own ads with links to the original downloads; eating up the real host site's bandwidth and depriving it of its own ad revenue. I would advise against using it, you should only download mods (and Forge) from their official sources. Most mods have a thread on Minecraft Forum with links to the official downloads, which are often hosted on Curse/CurseForge.
  3. If one of the items is your own, create a class that extends EntityItem and overrides Entity#onStruckByLightning to attempt the transformation and then call the super method. Override Item#hasCustomEntity to return true and override Item#createEntity to create an instance of your custom EntityItem class at the same location as the location argument. If none of the items are your own, subscribe to EntityStruckByLightningEvent and check if the entity is an EntityItem containing your item before attempting the transformation. I explained how to do something similar (items transforming when near each other in the world) here, you can see my implementation here.
  4. The second argument of NBTTagCompound#getTagList is the tag type that the list contains. You should use the constants from the Constants.NBT class instead of an integer literal. I'd also recommend removing the TileEntityChemicalMixer.ID field, there's no reason for it to exist. As I said before, you should be using IItemHandler instead of IInventory .
  5. The tileentity argument of the ContainerChemicalMixer constructor is null . This is because you override the wrong overload of Block#hasTileEntity . You need to override the one that takes an IBlockState argument instead of the one that takes no arguments. Setting the Block#isBlockContainer field is pointless, it's never used anywhere.
  6. You accessed a field/method of a null value on line 18 of ContainerChemicalMixer .
  7. I don't think there's any existing method to do this. I created a class to do this, but I don't think it works 100% of the time.
  8. Again, you're not instantiating it there (and you shouldn't be), you're simply declaring a field and constructor parameter and assigning the constructor parameter to the field. Instantiating means "creating an instance of", i.e. the new operator.
  9. Despite being placed by an Item in a block-like manner, the vanilla armor stand is an Entity rather than a Block . I suspect the OP's is the same.
  10. No you don't. You instantiate the Gui and the Container using the TileEntity you get from the World (which will be null ). Side note: Store each GUI ID in its own field, don't calculate them in the method. Consider using a switch statement instead of an if - else chain.
  11. "Nothing works" is extremely vague. We're not psychic, we need to know what's wrong before we can tell you how to fix it. In future, describe exactly what happens and post the FML log (logs/fml-client-latest.log in the game directory) in a spoiler.
  12. You never instantiate your TileEntity anywhere. Override Block#hasTileEntity(IBlockState) to return true and Block#createTileEntity to create and return an instance of your TileEntity .
  13. What Ernio posted was pseudocode, you need to find the appropriate methods in the Queue interface yourself.
  14. Post your Block class. Side note: I'd recommend using IItemHandler instead of IInventory and exposing it as a Capability if you want to allow automated access to the inventory by things like hoppers. You can see my implementation of a vanilla-style chest using IItemHandler here. All referenced classes are in the linked repository.
  15. You should have a class called something like ModEntities (the name doesn't really matter) that registers all of your entity classes, add the spawn from this class.
  16. That doc comment is outdated, the logging.properties file is never used by any part of Forge. Minecraft and Forge now use log4j, its configuration format is documented here. I'm not sure if there's any way to configure your mod's messages without completely overwriting Forge's configurations.
  17. The blockstates file determines which model is used for each state of a block. Forge has an introduction to blockstates files here. Forge's format is documented here, the vanilla format is documented here. Assuming you're using Forge's blockstates format: Set the model to the connected model in the defaults section For each value of the facing property except "no connection", set the rotation of the model around the x and y axes (in increments of 90 degrees) using the x and y properties For the "no connection" value, set the model to the "no connection" model. Item models (including ItemBlock s) are set with ModelLoader.setCustomModelResourceLocation / setCustomMeshDefinition . The ModelResourceLocation s specified here can either point to item models or blockstates variants.
  18. The log text tells you exactly what you've done wrong:
  19. Use Loader#getLoaderState or Loader#isInState . Why do you need to know this, though?
  20. I'd recommend using EntityRegistry.addSpawn instead of the event handler, this adds an entry for your mob to the appropriate spawn list of each Biome you specified.
  21. You set up a development environment and run the server from your IDE. You don't run the normal server. This page explains how to set up your development environment. If you're using IntelliJ IDEA, follow to set up the IDE project. Breakpoints are a feature of your IDE, use your IDE's help files or your search engine of choice to find more information on them.
  22. You should post your solution so other people can find it.
  23. Post the full stack trace.
  24. I don't have any examples of this specific case, but I do have some examples of IBlockColor / IItemColor implementation and registration here. This class gets called in init. For the block models, use StateMap.Builder to create an IStateMapper implementation that ignores the IBlockState and maps to a single blockstates file and variant and register it with ModelLoader.setCustomStateMapper . For the item models, create an ItemMeshDefinition that ignores the metadata and maps to a single ModelResourceLocation and register it with ModelLoader.setCustomMeshDefinition .
  25. You installed a 1.8.9 version of OptiFine on 1.7.10.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.