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. I have this vague recollection that Forge would vomit errors if you tried to have a mod ID less than 3 characters long. Am I making that up? Might that be a good idea for Forge to start doing? (I'd suggest a minimum 4 characters, personally).
  2. That is the correct registration method, I just didn't see it.
  3. And then fire another World.Load event, upon joining the new dimension. And then fire another World.Load event, upon joining the new dimension. And then fire another World.Load event, upon joining the new dimension. And then fire another World.Load event, upon joining the new dimension. And then fire another World.Load event, upon joining the new dimension. And then fire another World.Load event, upon joining the new dimension. And then fire another World.Load event, upon joining the new dimension.
  4. Not actually relevant here: You can create two singleton instances, one with isOn set to true and one set to isOn set to false and switch between these blocks and be Just Fine. Some vanilla blocks do things this way (furnace, redstone ore...) The problem is that we don't have an instance with isOn set to true.
  5. @Nullable public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) { return this.isOn ? NULL_AABB : FULL_AABB; } Seriously. You have an "is on" variable, which is completely and utterly unused (it's always false). When I did this, I did it with one freaking class and one freaking instance. I didn't need two blocks, I used the fact that it was being powered AS the conditional. http://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-mods/1288280-1-4-7-1-6-x-1-7-10-phase-stone-updated-to-v4-1 The redstone phase stone acted like redstone, and could only be powered out to a certain distance (because that redstone information was what triggered the difference).
  6. Did you register the renderer?
  7. 1.10 and 1.12 after that? Hopefully in time for 1.13?
  8. The real question is, why you have this second class at all. Your first class (BlockSoulGlass) already does everything you need. The only problem is that it replaces itself with an entirely different class that doesn't know how to transform itself back.
  9. "I want to make a block that works like the log works..." Normal person: "Let me go look at the log class, oh hey, BlockLogNew extends BlockLogBase!"
  10. Why are you not using BlockLogBase or BlockCollumn as a super class?
  11. Your SoulGlassOn class has precisely ZERO code related to changing states or determining if it has power.
  12. AFAIK there aren't any logs regarding recipes. There's nothing, you as a modder, have to do to get your recipes loaded provided that they are in the correct location. Is your mod ID only "wi"? You should make that longer.
  13. Good point. Related, such crashes are why I stopped supporting Reika's mods. He used reflection in his API to handle taking the machine recipe and putting it into his data structures. And he didn't do it correctly (wasn't reflecting the right fields). Took almost a month of back and forth with him in PMs to get it working. Then he updated from v9 to v10 of his API and removed/moved/renamed methods entirely, causing my code to crash (listing my mod at fault).
  14. When the player dies, they drop exp. If the player dies from any damage source that was not caused by another player...event.getAttackingPlayer() is null. I mean, honestly. NPEs are trivial.
  15. You need to set the item's custom mesh definition. I do that here (this code being client side, super being the common code part of just registering the item as normal): https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/java/com/draco18s/hardlib/client/ClientEasyRegistry.java#L124-L130 IItemWithMeshDefinition is just an interface that allows my items to define their own mesh definitions, which is done here: https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/java/com/draco18s/industry/item/ItemCastingMold.java#L87-L118 In this case, it allows me to select any one of these models: https://github.com/Draco18s/ReasonableRealism/tree/1.12.1/src/main/resources/assets/expindustry/models/item
  16. You also need to show your Container and GuiContainer classes.
  17. You do not need a custom class for textures. Sticks (ingots, nuggets...) are just Items.
  18. It's called "make a pull request on the Minecraft Forge github. Coremods are also very easy to do Wrong and cause the mod to be incompatible with other mods. It's not a class replacement issue, but the fact that it is VERY easy for a coremod to do naughty things that make it break when other mods are present, because those mods expect vanilla/Forge behavior and the coremod altered things.
  19. It's YOUR mod id. @Mod(modid="this_string_here" ... )
  20. I don't think that's something that can be controlled by automatic code formatting. :\
  21. Which, coincidentally enough, is what the (string, string) method does.
  22. item.setRegistryName("the name of the item"); How is this so difficult?
  23. This. There might be something else you need, I've forgotten. But I've done precisely this idea before. Here's my code from 1.7: https://www.dropbox.com/home/minecraft/170/phasestone/java/com/draco18s/micromods/phaseblocks/blocks?preview=PhaseStone.java
  24. Dead simple solution: give no fucks. Tank "is there a tank below me with available space?" insert liquid.
  25. You put your code in there.

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.