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. You need an IRC client. That uri is one that would open an IRC client if you had one. And it isn't hard to find EsperNet's webclient either.
  2. You have two options: 1) If your model does not change over time (animate) then you can use the Baked Model System (the JSON system works into this) 2) Otherwise you need to use a TESR
  3. Wot is this even supposed to mean? You need to write your own recipe system. The IRecipe system is specifically for the crafting table.
  4. If you were using ISBRH before, the JSON model system will work just fine for you.
  5. Jesus christ on a crutch.
  6. Ok look. We're going to play black jack. I have dealt you two cards. They are a five and a three. <ChunkGeneratorEvent fired: five> <ChunkGeneratorEvent fired: three> Do you want a third? Here you go here is a third card. It is new and it is a seven. <ChunkGeneratorEvent fired: seven> Would you like another card? ...
  7. Likely you will have to use fully qualified names
  8. ChunkGeneratorEvent (of which there are 3 sub events, one of which is the PopulateChunkEvent which has its own 3 sub events) DecorateBiomeEvent (of which there are 3 sub events) which is involved in chunk generation OreGenEvent (of which there are 4 sub events) which is involved in chunk generation
  9. If the chunk was just generated* then.... ...it will be a new chunk. *There are, of course, multiple stages of chunk generation and may not occur immediately one after the other...
  10. It depends on what you want to do.
  11. There's an event for it, but actually there's several events for it. That's why we want to know what you're doing, so we can point you at the most appropriate one.
  12. http://www.baeldung.com/gradle-fat-jar
  13. Chunks being generated happens so far away from the player that that behavior doesn't even make sense. What if the player is falling / flying at the time? Teleporting? Riding in a minecart or on a horse? In a boat?
  14. Tell us what you want the player to see happen.
  15. Find the correct string from the CSV file. It's a comma-separated-values file, open it in literally any spreadsheet program, ctrl-F. You're probably going to find more than one field named "rand" and you're just going to have to try each one until you find the right one.
  16. This is horrible practice. Absolutely horrendous.
  17. No. They shouldn't.
  18. Who's ender chest inventory would that give you? Again, your proposal makes no sense. Recipes are simpler because there's exactly 1 copy of the recipe shared across all players. The same is true for blocks and items. Capabilities can have an infinite number of instances. NBT is for saving to disk only, it should never be used in any other circumstance. And "literally takes seconds" is fucking slow. No one would want to wait "seconds" for a hopper to extract an item from a chest or to push power down a wire.
  19. The definition of the capability and its implementation need to be separate objects. Your proposed idea misses the fact that there may be multiple instances of the implementation, e.g. a chest inventory is a Capability<IItemHandler> and there may be hundreds of chests each with their own copy of an IItemHandler implementation. You can't just say CapabilityManager.INSTANCE.get(new ResourceLocation("forge:inventory")); and get anything sensible back. What would it give you? the Capability<T> or the T? It can't give you the T because of the aforementioned issue. Which means it must return the Capability<T> (which is a wholly separate object!), which, surprise, is already available, CapabilityItemHandler.ITEM_HANDLER_CAPABILITY. For other mods' capabilities, there's already the @ObjectHolder annotation.
  20. This is true, I did skip over that possibility.
  21. If you want to create a new capability, then yes, you do. You need an interface that describes your capability, then you need to implement it: https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/java/com/draco18s/hardlib/api/interfaces/IMechanicalPower.java https://github.com/Draco18s/ReasonableRealism/tree/1.12.1/src/main/java/com/draco18s/hardlib/api/capability What you are looking at is a Generic. https://en.wikipedia.org/wiki/Generics_in_Java Capability<T> means "This is an object of type Capability of some subtype." It is not an array, an array is just another type of Generic. In order to provide a return from getCapability you need to cast to Type T: return (T)someObject; All of this is described in the docs: https://mcforge.readthedocs.io/en/latest/datastorage/capabilities/
  22. TileEntity already Implements ICapabilityProvider. You don't need to do anything but override those methods.
  23. No. Does vanilla have a double-slab item? No it does not. You don't need one either.

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.