Jump to content

Choonster

Moderators
  • Posts

    5160
  • Joined

  • Last visited

  • Days Won

    76

Everything posted by Choonster

  1. Your blockstates file has two properties (game and facing), but the ModelResourceLocation you return from the ItemMeshDefinition only includes one of them. It needs to include both, in alphabetical order. You should also call ModelBakery.registerItemVariants with every possible ModelResourceLocation that can be returned by the ItemMeshDefinition to ensure that they're loaded by Minecraft.
  2. No, you don't need to register JSON recipes yourself; Forge automatically loads and registers them. Is the recipe in the correct directory? It should be in assets/<modid>/recipes. Are there any errors in the log?
  3. This is in the Support & Bug Reports section, which is for mod users rather than mod developers. Issues with a specific mod are best reported directly to the author, though.
  4. The Forge installer you downloaded is for Minecraft 1.8. You need to download one for 1.12, e.g. 1.12-14.21.1.2387 (the current Recommended version).
  5. You need to run Vanilla 1.8 at least once from the launcher before Forge for 1.8 can be installed. 1.8 is very outdated and won't be supported here much longer, you should update to 1.12. If you must use 1.8.x, use 1.8.9.
  6. If the block is adjacent to the door, make it emit a redstone signal. If it's not, you'll probably need to toggle the door periodically if it's not open. If you want more help with this, create a new thread.
  7. Did you find the exception being thrown as I explained in my previous post? When posting code, either include it in your post in a code block (the <> icon) or upload it to a site like Gist/Pastebin and link it here.
  8. Don't use <mc_version>-latest as the Forge version (the minecraft.version property), specify a concrete version (e.g. 1.12-14.21.1.2426) so your mod can always be built without being affected by changes in newer versions of Forge. 14.21.1.2426 is a Forge version, not an MCP mappings version. The MCPBot website has a list of mappings versions here. Get rid of the sourceCompatibility/targetCompatibility lines, ForgeGradle 2.3 automatically targets Java 8 now that Minecraft 1.12 targets it. Don't post code in screenshots, either include it in your post in a code block (the <> icon) or upload it to a site like Gist/Pastebin and link it here.
  9. Follow the instructions in the Getting Started guide to set up your IDE project correctly. If you follow these instructions, you'll have the forgeSrc-<version>.jar library referenced in your IDE project with the source code attached to it.
  10. The Crafting Table is implemented in the BlockWorkbench,ContainerWorkbench and GuiCrafting classes. Recipes are managed by CraftingManager, mod recipes are loaded by CraftingHelper. Vanilla recipe files are located in the assets/minecraft/recipes directory. The Furnace is implemented in the BlockFurnace, TileEntityFurnace, ContainerFurnace and GuiFurnace classes. Recipes are managed by FurnaceRecipes. The Anvil is implemented in the BlockAnvil, ContainerRepair and GuiRepair classes. There are no anvil recipes, the output is managed by ContainerRepair#updateRepairOutput (which fires AnvilUpdateEvent to allow mods to add custom item combinations). To open a class by name, use Navigate > Class (Ctrl-N) in IDEA or Navigate > Go To > Type... in Eclipse.
  11. It looks like several exceptions occurred, but due to where they were thrown the name and message were logged without the stacktrace or cause. This makes it very difficult to see what the problem is by looking at the log. The "Could not dispatch event" message is logged by the anonymous SubscriberExceptionHandler class created in the LoadController constructor. Set a breakpoint in the handleException method of the anonymous class and look at the Throwable argument and its cause in the debugger when the breakpoint is hit. This should explain what the problem is.
  12. I don't think there's many tutorials on this, since each machine is different. All I can suggest is to look at the examples in Vanilla/Forge and in open source mods.
  13. You can still add smelting recipes with GameRegistry#addSmelting, since smelting recipes weren't changed in 1.12. By "custom recipe", I thought you were talking about creating you own recipe class with custom logic, which isn't possible for smelting recipes. Yes, you can create your own machines with their own set of recipes.
  14. FurnaceRecipes still uses a Map of input ItemStacks to output ItemStacks, you can't create your own smelting recipes with custom logic.
  15. Use PlayerList#getPlayers to get a list of players on the server or PlayerList#getPlayerByUUID to find a player by their UUID. Use MinecraftServer#getPlayerList to get the server's PlayerList instance.
  16. Look at the DefaultStateMapper#getModelResourceLocation method to see how it returns a ModelResourceLocation with the Block's registry name as the domain/path and a property string of the IBlockState's property and values as the variant. You need to extend StateMapperBase and implement StateMapperBase#getModelResourceLocation to return a ModelResourceLocation with your blockstates file's domain (your mod ID) and name as the domain/path and the property string as the variant. If your mod ID is jwa and your blockstates file is called withered_debris.json, use "jwa:withered_debris" as the first argument of the ModelResourceLocation constructor. Once you've created this class, register an instance of it for your Block by calling ModelLoader.setCustomStateMapper. Do this in ModelRegistryEvent.
  17. 32767 is the value of OreDictionary.WILDCARD_VALUE, which tells the Ingredient to accept any metadata value of the item. This allow an Iron Helmet with any amount of damage to be used in the recipe. Minecraft uses the metadata as the amount of damage the item has taken, so 0 is no damage and X (where X is the maximum damage) is just about to break. ShapedArmourUpgradeRecipe clamps the output item's damage between 0 and its max damage, so if the Iron Helmet has more than 77 damage (the max damage of a Gold Helmet), the damage on the Gold Helmet will be clamped to 77. This means that an Iron Helmet with anywhere from 0 to 88 durability will be converted to a Gold Helmet with 0 durability.
  18. Weather & Tornadoes was discontinued and replaced by Weather, Storms & Tornadoes, a.k.a Weather2 and Localized Weather & Stormfronts. It hasn't been updated to 1.12 yet.
  19. Your replacement Block doesn't have the BlockGrass.SNOWY property, so Minecraft tries to load the model from the minecraft:grass#normal variant, which doesn't exist. You should include this property in your Block. You should also register an IStateMapper for your replacement Block so that its models are loaded from a different blockstates file. This will prevent resource packs that replace the minecraft:grass blockstates file from replacing your Block's models (though resource packs that replace your blockstates file will still work, this is intended). Your IStateMapper can extend StateMapperBase and implement StateMapperBase#getModelResourceLocation to do something similar to DefaultStateMapper#getModelResourceLocation, but use the location of your blockstates file as the domain and path of the ModelResourceLocation instead of using the registry name. Your replacement Block needs to extend BlockGrass.
  20. First update your workspace to 1.12 by editing build.gradle. Change the ForgeGradle version from 2.2 to 2.3, change the Forge version to a 1.12 version and change the MCP mappings version to a 1.12 version. After doing this, re-run setupDecompWorkspace and refresh your IDE project. Then start fixing any compilation errors in your code. The main changes from 1.11.2 to 1.12 are overhauls of the registry and crafting recipe systems: GameRegistry.register is now private, use the registry events instead. Recipes are now loaded from JSON files and managed by a Forge registry. There have been several threads about both of these changes, I suggest searching for them if you have any questions. If you can't find the answers, ask here.
  21. Then it's probably an issue with your code rather than the Forge issue I linked. Please post your code, the relevant JSON files and the FML log (logs/fml-client-latest.log in the game directory) using Gist or Pastebin.
  22. Please answer these questions:
  23. Does the model work in single player?
  24. That could be related to this issue. Are you using the latest version of Forge?
  25. There is no registered Item with the name wllcsam:genevirus. Have you spelled the name correctly? Do you register an Item with this name anywhere?
×
×
  • Create New...

Important Information

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