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. @diesieben07 This thread is over a year old, ApplePie bumped it.
  2. What are you doing and why? What affect do you want to achieve (that is: tell me what the player sees, not how you intend to code it).
  3. It's huge and constantly changing and some events have sub events (e.g. CropGrowEvent.Pre vs. CropGrowEvent.Post) while others have a Phase (most TickEvents). So no, there isn't a comprehensive list. You can also do: Right click an event -> Open type hierarchy Double click Event Right click Event -> Open type hierarchy Note that in Eclipse ctrl-clicking on a class, method, or field name will jump to its declaration.
  4. entry = isn't needed, you asked what went inside {entry} and I said "entry = " meaning "replace that bit that isn't code with this bit that is code.
  5. Open your IDE Find any event you know Open its parent class Goto 2 until at the Event class Right click -> open type hierarchy
  6. entry = new LootEntryItem(item, weight, 1, <functions>, <conditions>, name);
  7. addCollisionBoxToList doesn't require that the boxes be contiguous. getBoundingBox is specifically a single cuboid. Think about the outline around Stairs vs. its actual collision hull. For your block you wouldn't need 16 AABBs for your bounding box...you'd need sixty four.
  8. You mean this declaration, right? protected static final AxisAlignedBB[] BOUNDING_BOXES = new AxisAlignedBB[] {new AxisAlignedBB(0.375D, 0.0D, 0.375D, 0.625D, 1.0D, 0.625D), new AxisAlignedBB(0.375D, 0.0D, 0.375D, 0.625D, 1.0D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.375D, 0.625D, 1.0D, 0.625D), new AxisAlignedBB(0.0D, 0.0D, 0.375D, 0.625D, 1.0D, 1.0D), new AxisAlignedBB(0.375D, 0.0D, 0.0D, 0.625D, 1.0D, 0.625D), new AxisAlignedBB(0.375D, 0.0D, 0.0D, 0.625D, 1.0D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 0.625D, 1.0D, 0.625D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 0.625D, 1.0D, 1.0D), new AxisAlignedBB(0.375D, 0.0D, 0.375D, 1.0D, 1.0D, 0.625D), new AxisAlignedBB(0.375D, 0.0D, 0.375D, 1.0D, 1.0D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.375D, 1.0D, 1.0D, 0.625D), new AxisAlignedBB(0.0D, 0.0D, 0.375D, 1.0D, 1.0D, 1.0D), new AxisAlignedBB(0.375D, 0.0D, 0.0D, 1.0D, 1.0D, 0.625D), new AxisAlignedBB(0.375D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.625D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D)}; Because that's a lot more than 6. Specifically, 16: 4 directions. 2^4. 16.
  9. You can also create your own loot conditions. e.g. I have this one in my code (registered here) which prevents loot drops when an entity is killed by Wither damage (which I use to kill animals that are dying of old age; the odds of wither damage from another source is low, but remains thematically appropriate). There's also loot functions. Handles things like metadata, stack count, enchantments (e.g. the Looting Enchantment Bonus). Creating the "add this to the loot pool" function in my LootUtils class was a pain in the arse.
  10. Then why the devil are you doing what you're doing?
  11. You're bitshifting the results. 0 and 1 are both false, so they aren't doing anything. 2 is true, so it bitshifts 1 << 2 (or 4) 3 and 4 are both false, so nothing 5 is then true, so it adds to the 4 the value 1 << 5 (or 32). However, you need to look at where this value is passed back to: an array. Of size 6. (You haven't shown us the declaration/definition of BB)
  12. Top of the workspace. GenPatches does a comparison between Clean and Forge.
  13. Those commands are for creating a default workspace for that editor. You can do those bits manually from within Eclipse or IntelliJ. They're convenience functions.
  14. If your variables are untyped, it's going to assume you're passing a Render<? extends Entity> This one is not deprecated:
  15. There are two methods with the same name, use the not-deprecated one.
  16. Every block handles this differently. Beds and doors use a HALF property, but there's no indication of which direction the other half is (doors know it's down, beds have a FACING). Mod blocks may not even have that information available. I know that my windmill involves 3 different blocks. The millstone has an ORIENTATION property, the Axel knows which direction to look in (away from the millstone) and the windvanes know that the core of the axel (the hub joint, farthest from the millstone, where all the winevanes connect) is in one of six locations. It just checks all six. It gains a property afterwards, but it's assigned by the hub for looks.
  17. No you didn't, you said, "i created a sphere for my block." You can use OBJ models as well as JSON. But how would I have known you hadn't seen it?
  18. Not really. You'd have to replace the classes involved with new ones that implement IBlockColor.
  19. Given that you didn't say how you were drawing the block...because you supplied no code... How was I supposed to know that you were using a TESR for this?
  20. Your problem is that you're running a task that takes time to complete on the main thread. This is why Minecraft has a network thread.
  21. It's a vanilla bug https://bugs.mojang.com/browse/MC-9553

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.