Skip 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. Move this line outside the loop, otherwise you're creating new objects every time the loop iterates, leading to more garbage collection.
  2. 1) Some method signatures changed, this is probably the cause of any "The method [func]() is undefined for the type [class]" errors. 2) You really need to know Java 3) See prior posts.
  3. Ok, so the problem is caused by this (your original json files): (Just because you get "Exception loading model" or "Exception loading blockstate" does not mean that that is the only error. It's a wrapper error around another error farther down) Something is seriously wrong with your json. Have you tried running them through http://jsonlint.com/?
  4. Ah! I know what it is. Your TE changes your blockstate when it gets an output item. Changing the block state results in the TE itself being deleted and recreated. You need to override...shouldRefresh in your TileEntity like so.
  5. Try this format instead: https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/resources/assets/harderfarming/blockstates/saltore.json You may also want to make your ModID longer. Two letters really isn't that good, you've got like 30 to work with, there's no reason to abbreviate.
  6. Boot up the debugger and step-through it.
  7. You need to clone the recipe's result stack.
  8. Essentially what's happened is that Minecraft 1.11 requires that the ItemStack variable type can no longer be null. Instead it uses the static constant, ItemStack.AIR (if I remember the location correctly). Similarly all ArrayLists<ItemStack> must be replaced with NonNullList<ItemStack>. But yes, you're going to need some Java knowledge to be able to mod, even updating, because you need to understand the sentences above.
  9. Uh? https://github.com/hnsdieter/FluxedThings2/blob/master/src/main/java/pingubro/fluxedthings/tileentity/TileCrystalCauldron.java#L46 https://github.com/hnsdieter/FluxedThings2/blob/master/src/main/java/pingubro/fluxedthings/tileentity/TileCrystalCauldron.java#L51
  10. If you want, you can take a look at how I accomplished this. https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/util/RecipesUtils.java#L85
  11. Then you're doing it wrong. And I don't even know why I keep replying to your threads. Some sort of masochism, I suppose.
  12. You don't. You only need to register the states that will exist as an item. I'm not sure I wrote a helper function that falls between "all states exist as an item" and "completely custom statemapper" but adding it shouldn't be too difficult. Just don't do it as you had, where the strings are specified next to the item registration. You want a generic way of handling it so that the item/block can specify.
  13. You would need to write that code yourself. There is no way to tell vanilla to highlight a block, even if vanilla has code that does it. You need to recreate it yourself, in your own code, and invoke your own code. That, however, still leaves you the problem of displaying it as debug output which you can't, because your code will say "draw these blocks" then "delete all these blocks" and both of those will execute before any render code gets done to actually draw the highlight. The blocks are already gone.
  14. Events don't do that. Events are fired when the vanilla does something and you want to change that behavior. Events are not to make vanilla do something.
  15. That is the event that deals with drawing the wireframe around the block the player is looking at. That doesn't do what you want, not in the way you think.
  16. http://bfy.tw/AuGd
  17. That's because onBlockDestroyed is called before the block gets set to air. So yes, the item is, in fact, inside a solid block.
  18. You mean? for(IBlockState state : values) { String str = mapper.getPropertyString(state.getProperties()); _registerBlockItemModelForMeta(block, block.getMetaFromState(state), str); } There's a reason I wrote registerBlockWithCustomItem(...)
  19. Inherited methods must match signature, so yes. (I originally misparsed your question, but I was able to supply more detailed information.)
  20. I am 100% sure no. How do I know? The MCP mappings. SRG Name MCP Name func_175625_s getTileEntity func_176442_d getTileEntity func_177424_a getTileEntity func_177507_b getTileEntity func_180611_e getTileEntity func_190300_a getTileEntity For methods that override, the answer is yes. But just because a method has the same name doesn't mean anything.
  21. That's precisely what it is. A top half and a bottom half.
  22. Surprise. http://minecraft.gamepedia.com/Flower#Data_values There's three.

Important Information

By using this site, you agree to our Terms of Use.

Account

Navigation

Search

Search

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.