Skip 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. This is how I register ItemBlocks (that have no variants) private void _registerBlockResources(Block block) { Item item = Item.getItemFromBlock(block); ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(block.getRegistryName(),"normal")); }
  2. Mojang. The Forge team supplied the Forege blockstate system that lets you break up the cardinality map. "facing": { ... }, "type": { ... }
  3. Given that Minecraft needs to open and read the resource, yes, there is a InputStream involved. It is not passing that exact string though. You should use lower case for your file names and registry names (don't just change one, change them both!)
  4. No, you need packets. The client and the server are not guaranteed to be on the same physical machine.
  5. Your block class doesn't have a property "half" for some reason.
  6. FileNotFoundException: examplemod:models/item/noobItem.json
  7. You need to do several things. 1) The client listens for the keys and then informs the server "do action X" 2) The server then decides if the player can perform action X (checks for having the right weapon equipped, etc) 3) The server performs the desired effect. You will probably want animations for these things, but that part is purely visual (the server would inform all clients in range of what animation to play) A lunge is more than just an animation, it's a combination of forward movement and damage volume. The server would be responsible for moving the player over time, calculating what entities the damage area hits, and applying that damage.
  8. I have no idea. I've only figured out how to manipulate it from the LootTableLoadEvent.
  9. You need to write a function conditional that sets the item metadata. Having poked at the code-side of these things I only know how to set it up via code, I'm not sure what the JSON equivalent is, but functions can have a random probability applied to them and only if it returns true is the function executed.
  10. You have two entires named "minecraft:golden_apple"
  11. You should really use getRegistryName() for registering models. It contains your mod ID and registration name already.
  12. "facing=west, type=clean" != "facing=west,type=clean"
  13. Table "mw:pagoda_chest" Missing `name` entry for pool #0 You need to add a "name" entry to each pool (insert it on line 4 for pool #0, for instance).
  14. Which of course, is the same thing as working out the trig yourself, except it requires an additional entity. Like seriously. Sine and Cosine are amazing.
  15. Do you have a world object to spawn the entity into? Yes. Do you have the ability to call new ? Yes. Can you do this? Yes.
  16. Has been for a while. The only time it used metadata was when it was first added, until Mojang realized there were more than 15 plants and stored the extra in a TE, IIRC.
  17. Or like how I have things: https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/EasyRegistry.java https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/client/ClientEasyRegistry.java (Those classes are proxys for a library mod). I give the methods different names so that I know what's going to happen. It's a verification that I'm typing out the method that does what I'm thinking I want to happen. But yes, they could be renamed to all have the same name and just be overloaded.
  18. No, that's handled by the AI logic. The Entity tracking range is how close the client needs to be in order to be informed by the server about what it's doing.
  19. No no no, don't do that at all! When the block is broken save the TE's data to the dropped item! Then when the block is placed again, do the reverse.
  20. http://www.learnjavaonline.org/
  21. Use your IDE's refactor tools. Eclipse and IntelliJ should both be smart enough to update all of those references at once.
  22. Solution: Not being a fucking idiot. Step 1: get the TE Step 2: check for null Step 3: do your stuff And bonus step: Not doing your stuff by manipulating NBT data. Use Capabilities.
  23. Try checking out this blockstate file: https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/resources/assets/harderores/blockstates/ore_limonite.json

Important Information

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

Account

Navigation

Search

Search

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.