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.

Draco18s

Members
  • Joined

  • Last visited

Everything posted by Draco18s

  1. https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/java/com/draco18s/ores/OreEventHandler.java#L39 If you remove the recipe, the advancement fails to deserialize, you don't get a chance to remove it.
  2. You have to cast the registry during the Register<IRecipe> event to IForgeRegistryModifiable. Note that straight removing the recipe will cause an error during advancement loading, as the advancement that unlocks the removed recipe will fail to deserialize.
  3. Converting from one form of storage to another* is generally pretty easy. The thing is, you need to essentially uncompress the data from the one format and recompress it into the other format. This doesn't mean that you need to read the data into the world (afterall, the world is just a runtime representation of the data) you just need to put it somewhere. *Assuming that both formats represent the same runtime information, which in this case, they do. You can't convert from mp4 to epub because the information represented by each is completely different.
  4. You have 4 bits of information to work with. You have an ore type enum that contains two values (and inexplicably starts at 1 instead of 0) and a dimension enum that contains 3 values (again, starting with 1 instead of 0). Two times three is six, which means there's enough bits to store the data in metadata. Your type enum can be contained within 1 bit (0 / 1) and the dimension needs two (00 / 01 / 10). Now you just need some bitwise math.
  5. public void onEntityWalk(World worldIn, BlockPos pos, Entity entityIn) { this.modelBlock.onEntityWalk(worldIn, pos, entityIn); } The method just forwards the interaction to the base block (e.g. if you were to make Redstone Ore stairs, this would cause the block to switch from not-glowing to glowing...assuming of course that the Redstone Ore class knows how to handle the block at the given pos not being redstone ore).
  6. No its not. Stairs work by having two collision volumes and the player's step-height. I suggest looking at Redstone Ore
  7. { "model": "asphodelplant_bottom" } Unable to load model asphodelplant_bottom in domain minecraft. You're missing your mod ID.
  8. Your client proxy class and your common proxy interface aren't...related to each other. If I did this: interface Cat { } class Banana { } It would be the same: you can't assign an object of type Banana to a field of type Cat
  9. You can absolutely use the IProperties already defined in another class. In fact, it increases inter-mod compatibility! As any mod that looks at a block and wants to fiddle around with the HALF property only needs to know about the vanilla HALF property and it can fiddle with your plant the same way it fiddles with a vanilla plant.
  10. Fucking hell, I hate some of the tutorials out there. I also need your Reference class, and while you're at it, the common and client proxy classes.
  11. Show your main mod class.
  12. Minecraft.getMinecraft() is client side only. You can't use it on the server.
  13. Yes. The root one. https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/resources/assets/expindustry/advancements/root.json#L12
  14. You don't call the event, you subscribe to it. https://mcforge.readthedocs.io/en/latest/events/intro/
  15. Why doubles? Why not integers or longs?
  16. Right click, open type hierarchy.
  17. Literally the first reply in this thread.
  18. In the class itself.
  19. The casting is there for the compiler. Null is still null, but because null can "be" anything, you have to cast it to a type.
  20. This is probably your main problem: Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'justanotherenergy:cable' from: 'justanotherenergy:blockstates/cable.json' in resourcepack: 'FMLFileResourcePack:JustAnotherEnergy' ... Caused by: com.google.gson.JsonParseException: transform: unknown default string: cable_side But you've also got this: Caused by: java.io.FileNotFoundException: justanotherenergy:models/item/plate_tin.json And this: Caused by: java.io.FileNotFoundException: justanotherenergy:models/item/cable.json
  21. Please don't embed the results as an HTML iframe, it shows up empty. There's a perfectly good "attach files" function that allows you to upload images.
  22. Caused by: java.io.FileNotFoundException: baubles:models/item/Ring.json Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'mcmultipart:multipart' from: 'mcmultipart:blockstates/multipart.json' in resourcepack: 'FMLFileResourcePack:MCMultiPart' Caused by: java.util.NoSuchElementException [22:07:25] [Client thread/ERROR]: The missing resources for domain minecraft are: [22:07:25] [Client thread/ERROR]: textures/#side.png [22:07:25] [Client thread/ERROR]: textures/#side_opaque.png [22:07:25] [Client thread/ERROR]: textures/#center_opaque.png [22:07:25] [Client thread/ERROR]: textures/#center.png java.lang.NullPointerException: Rendering item -- Item being rendered -- Details: Item Type: com.bxzmod.energyconversion.blocks.itemblock.PowerBlockItemBlock@1ede3958 Got a bit more than just a NPE (which might be caused by the bad model, depending on what JEI is doing). Also I don't know why one of your models is looking for textures that don't exist in the Minecraft domain.
  23. You're right, I assumed it was the tile's own hasCap function.
  24. You aren't telling the game about the model. You need to call ModelLoader.setCustomModelResourceLocation during the ModelRegistryEvent event. Also, stop using builtin/generated as your model's parent. item/generated and item/handheld both exist and means you don't need to supply display tags.
  25. Post all of the errors. There's likely more than one.

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.