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. If a recipe is an ore recipe, it will accept any item from any mod registered under the ore name(s) used as ingredients. If a recipe is a non-ore recipe, it will only accept the specific items used as ingredients. For most vanilla items it adds to the ore dictionary, Forge will replace vanilla recipes that use the item with the corresponding ore recipes. Mods can choose to add ore recipes or non-ore recipes (this also applies to machine recipes, not just crafting) and choose which ingredients of their ore recipes are ore names and which are specific items. This hasn't changed since 1.7.10.
  2. You left out the actual exception. Next time post the whole crash report.
  3. The second argument is a seed for the Random object used to select the loot. Subscribe to LootTableLoadEvent to modify a LootTable as it's loaded. To add an item to a LootTable , get the appropriate LootPool from the LootTable , create a LootEntryItem and then add it to the LootPool . You can also create a new LootPool containing the appropriate LootEntries and add it to the LootTable . Forge names vanilla LootPool s "poolN" (where N is the 0-based pool index).
  4. It looks like your world is corrupted. Restore from a backup. You posted this in the wrong section, though it should be moved soon. Modder Support is for mod developers, Support is for mod users.
  5. You probably accidentally auto-imported it when trying to use java.util.Arrays .
  6. Rendering is client-only, why are you trying to register models from ServerProxy ?
  7. ClientProxy never calls InitBlocks.Render . Side note: I recommend following Java naming conventions ( lowercase for packages; PascalCase for classes, interfaces and enums; camelCase for methods, fields, parameters and local variables; UPPER_CASE for constants) and annotating override methods with @Override .
  8. Post your proxies as well.
  9. Just the first idea that came to mind when thinking of a way to use the capability system.
  10. StatCollector was renamed to net.minecraft.util.text.translation.I18n in 1.9. This issue tracker documents most renames in 1.9+. net.minecraft.util.text.translation.I18n was deprecated in 1.9.4 since servers should avoid translating where possible. Use TexComponentTranslation or the client-only net.minecraft.client.resources.I18n .
  11. You can see another 1.8.9 example of a capability in my mod: API, implementation There are more examples in the 1.9.4 version: API, implementation
  12. You need to use the build Gradle task to build and reobfuscate your mod before it will work in the release (obfuscated) environment.
  13. That is exactly the issue. Capability#getDefaultInstance creates a new instance of the default implementation. Your getCapability method is creating and returning a new instance every time it's called instead of using the instance you stored in the instance field.
  14. In 1.7.10 and earlier, you need to use deobfuscated/dev builds of mods in the development environment or install the deobfuscated build of CodeChickenCore to deobfuscate mods at runtime. In more recent versions (probably as early as 1.8.9), Forge will automatically deobfuscate mods in the development environment at runtime; eliminating the need for deobfuscated builds. ForgeGradle can also deobfuscate dependencies on disk if you add them as deobCompile / deobfProvided , see the MDK's build.gradle for more information.
  15. In that case, use the TileEntity#x / y / zCoord fields to get the position and ForgeDirection to get the coordinate offsets for each direction. I'd recommend updating to 1.9.4, though. 1.7.10 is quite outdated and you may not be able to get as much help for it.
  16. Always include the Minecraft version you're using in the title of your thread. Assuming you're using 1.8+ (which you should be), TileEntity#getPos returns the BlockPos of the TileEntity . BlockPos has methods to offset it in every direction by various amounts. World#getBlockState returns the IBlockState at the specified BlockPos .
  17. When you attach a capability using AttachCapabilitiesEvent or Item#initCapabilities , it will only be saved to NBT if the ICapabilityProvider also implements INBTSerializable . Forge provides the ICapabilitySerializable interface, which simply extends ICapabilityProvider and INBTSerializable .
  18. The doc comments of the deprecated GameRegistry methods tell you what to use instead. In this case, use GameRegistry.register . This registers any IForgeRegistryEntry implementation, including Block and Item . You should use IForgeRegistryEntry#setRegistryName (or the overloads from IForgeRegistryEntry.Impl ) to set the registry name of the object (usually in the constructor) and then use the single-argument overload of GameRegistry.register to register it.
  19. It supposed to be RenderTest.class instead of RenderTest::new That's not the case in 1.8.9+. The registerEntityRenderingHandler overload with a Class argument has been deprecated in favour of the overload with an IRenderFactory argument. Bektor is using a method reference of the RenderTest constructor as the IRenderFactory argument.
  20. Item s, Block s and every other IForgeRegistryEntry implementation should be registered in preInit, not init. ModelLoader methods only work in preInit.
  21. They have an API that allows mods to register handlers for their custom recipe types, there's no way to automatically handle every recipe type.
  22. IExtendedEntityProperties was deprecated in 1.8.9 with the introduction of the capability system and then removed in 1.9.
  23. latest.log is not fml-client-latest.log. The FML log usually contains a lot more useful information than the vanilla log. The log tells you where it's searching for mods: It also says that it loaded 12 mods, though this includes the mods provided by Forge itself (MCP, Forge and FML): Are there mods it's not loading?
  24. OBJ and B3D models are part of the baked model system, so you can use them anywhere you'd use a JSON model. On the client in preInit, call OBJLoader#addDomain / B3DLoader#addDomain to tell the appropriate loader that it's allowed to load models from your resource domain (mod ID). Then specify the path to the model like you would for a JSON model, but include the .obj/.b3d extension. Forge's blockstates format may be useful (despite the name, it can be used for items as well as blocks). Forge has a test mod for OBJ/B3D models here (assets are here).
  25. logs/fml-client-latest.log in your Minecraft game directory.

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.