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. That seems really complicated, is there any simpler way? I've seen stuff about scheduled executor delays? There is no "simpler" way.
  2. And that is why I think passing off the init events to the proxy is stupid.
  3. Metadata is blockstate. It's just the internal representation of the blockstate (for some values). If you want to have a texture change based on an integer, you need an integer blockstate property.
  4. Oh jesus christ. You can't just do this: public static String absolutePath = preevent.getSourceFile().getAbsolutePath(); Also, "preevent" doesn't even exist in your event methods. public static String absolutePath; public void preInit(FMLPreInitializationEvent event) { absolutePath = event.getSourceFile().getAbsolutePath(); } Go learn Java.
  5. And now you know that to Override a method you should always let your IDE do it or find the method you want to override and copy it, and then never touch its signature.
  6. "preevent cannot be resolved" This error without any code is meaningless.
  7. Go to ItemArmor and find the onArmorTick method, copy its signature, paste it over your method.
  8. Or you could count pixels. The 0,0 point is the upper left corner.
  9. Enchantments should works fine, it's the "shear sheep" bit I expect to break. If not that, then harvesting leaves.
  10. That's why you use ItemStack.areStacksEqual. Because it gives no shits about instances. However, it DOES check NBT tags, which if those are different it's going to say the items are different. You're going to have to replicatethe functionality to check what you want it to check and ignore what you want it to ignore.
  11. Unrelated, don't use "§4" use the EnumChatFormatting constants.
  12. You need to use ItemStack.areStackEqual
  13. Yes it does. It goes inside "elements":{}
  14. You can still specify a model. "model": "item/generated"
  15. Your files are safe, the project is a gradle project. All you need to do is change the version of Forge in your gradle file and rerun the gradle commands.
  16. Yes. And it's not:
  17. I'm not sure how much changes, but 1.9.4 is the "definitive" version of 1.9 from Mojang, so there's no reason to develop on an old version. 1.9.4 mods are 99.99% compatible with 1.10.2 as well (and vice versa) so you may even wish to use a more recent Forge version (2011 or 2065 (recommended/latest)).
  18. 1) Update, you should be using 1.9.4 at the very least. 2) http://mcforge.readthedocs.io/en/latest/blockstates/forgeBlockstates/#sub-models
  19. Perhaps JAVA_HOME does not point to the JDK.
  20. Step 1: assume the player is at 0,0,0 Step 2: trigonometry
  21. Look at the model for IronBars
  22. Stuff like this is going away in Java 9. That's probably a good thing, but it still amuses me. This is my most favorite question, I think: http://codegolf.stackexchange.com/questions/61115/make-your-language-unusable The Java solution "redirects stdin and stdout to null streams and replaces args with an empty array. Also uses enormous amounts of reflection hacks to make sure the standard IO is truly hidden. Finally, it sets a security manager to make sure the standard IO can't be recreated and that makes sure programs can't set the exit code."
  23. JSON models cannot have non-cuboid shapes. If you want curved faces (which are a lie anyway) you need to use OBJ.
  24. Don't ever invoke metadata directly. If you want to make a block have the same blockstate at another position... IBlockState thatState = world.getBlockState(thatPos); world.setBlockState(thisPos, thatState, 3); Your problem is that you invoked getBaseState() which overwrote whatever state was already in the world with a default state.
  25. TL;DR: No one is going to provide you with copy/paste code solutions. I will provide my client proxy class that I'm using as it wraps several Forge class down into 1 so that it looks more like the 1.7.10 method (create item, call proxy.register for it) of registering items/blocks rather than four duplicated lines for every single one (create item, set registry name, set unlocalized name, call GameRegistry.register for it, call proxy.registerRenderer). https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/ores/client/ClientProxy.java

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.