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. No, you don't understand. Cauldron is so dead, it is not being developed any more, not even for 1.7.10.
  2. You become invincible at 25 points of armor, because each point of armor is an additive 4% damage reduction. Do the math.
  3. Hmm. If only Forge had a way to view the original Minecraft source code.... OH WAIT IT DOES /** * Holds the maximum damage factor (each piece multiply this by it's own value) of the material, this is the * item damage (how much can absorb before breaks) */ private final int maxDamageFactor; /** * Holds the damage reduction (each 1 points is half a shield on gui) of each piece of armor (helmet, plate, * legs and boots) */ private final int[] damageReductionAmountArray; /** Return the enchantability factor of the material */ private final int enchantability; private ArmorMaterial(String p_i47117_3_, int p_i47117_4_, int[] p_i47117_5_, int p_i47117_6_, SoundEvent p_i47117_7_, float p_i47117_8_) { this.name = p_i47117_3_; this.maxDamageFactor = p_i47117_4_; this.damageReductionAmountArray = p_i47117_5_; this.enchantability = p_i47117_6_; this.soundEvent = p_i47117_7_; this.toughness = p_i47117_8_; } /** * Return the damage reduction (each 1 point is a half a shield on gui) of the piece index passed (0 = helmet, 1 * = plate, 2 = legs and 3 = boots) */ public int getDamageReductionAmount(EntityEquipmentSlot armorType) { return this.damageReductionAmountArray[armorType.getIndex()]; }
  4. You know there is a PlayerContainerEvent that is fired whenever the player opens (or closes) a gui related to a container (of which the GuiMerchant is) as well as the GuiOpenEvent when ever the player....opens a gui (which the GuiMerchant is).
  5. Your blockstate file does not have a "normal" variant.
  6. Post your code.
  7. Draco18s replied to Flight's topic in Modder Support
    Makes your post hard to read.
  8. Cool beans. I was just providing an alternative and the "stuck point" I had when doing it that way (I had almost create a thread because I was pulling my hair out when I found the solution).
  9. Draco18s replied to Flight's topic in Modder Support
    Oh, I don't know. Maybe it was the [ move] tag, or the [ glow] and the multiple colors....
  10. You need to run: gradle.bat build in the command line
  11. waaait really!? awww man that ruined so much of my plans! man this is really confusing stuff... i think il just register blocks for each type and then, how can i use the orientable blocks? like a furnace for example... i want 1 block to have 4 possible directions and to be able to place them within code... You can have more than 16 possible states, they just can't be stored in metadata. It's either taken from the world or taken from the tile entity (using getActualState() )
  12. Why would he want to use capabilities, he is using a TileEntity, not saving data to the player. Note to self capabilities can be tied to TileEntities. Yes, Caps can be on TileEntities. ItemStacks too. The hard part about doing the GUI was this line: https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/ores/GuiHandler.java#L37 Because Capabilities aren't inherently IInventory, so it's a little wonky getting the GuiContainer set up correctly.
  13. Alternatively you can override the getAttackSpeed method.
  14. 1) Download forge 2) Set up forge 3) Copy code and make changes to build.gradle You've done #3 before doing #2
  15. Has it occurred to anyone in this thread to use Capabilities instead?
  16. registry name is used as a lookup for the blockstate file. If the registry name is set as "asdfqwer123" then it will look in assets/yourmodid/blockstates/ for a file named "asdfqwer1234.json"
  17. The slot bounds problem is in the transferStackInSlot method.
  18. Jesus... Why you do this? ;_;
  19. Only override a method if you plan on DOING something with it.
  20. Running in Eclipse is fine. Building a jar you must use gradle.
  21. Probably will still render the mob being on fire, it will just give no shits. (ZombiePigs and Blazes still render being on fire--say, by being in lava--they just don't take damage)
  22. You need to create the variant: public static final PropertyEnum<BlockPlanks.EnumType> VARIANT = PropertyEnum.<BlockPlanks.EnumType>create("variant", BlockPlanks.EnumType.class); Register it by overriding protected BlockStateContainer createBlockState() And finally translate between the states and meta by overriding public IBlockState getStateFromMeta(int meta) and public int getMetaFromState(IBlockState state) Do note that you're still limited to 16 possible values for metadata. Blockstates aren't magic.
  23. Good luck covering every possible way it can leave your inventory. (Hint: itemframes)

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.