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 am pretty sure that the answer to that for any post involving "thread.sleep" is "no."
  2. BlockID isn't useful information. You need to look at the blockstate object, that will tell you the block's registry name.
  3. Because that is not how you get the i'th element of a List. This is basic java. We are not here to help you learn basic java.
  4. You need to figure out how to save where you left off.
  5. You're pretty much on your own there. If you can't get it to happen in dev, then I can't help you. My guess is that worldedit is fucking something up.
  6. Are you, or are you not, running in a development environment?
  7. Debugging tools. Use 'em.
  8. That was a guess, but if not you're going to have to trace the stack yourself to figure out why BlockStairs are being passed a non-stair block yourself. There is no way vanilla code would enter that method if it wasn't stairs, so its got to be something you are doing.
  9. Oh, I see what's going on. Did you create some custom stairs? The important thing is here: at net.minecraft.block.BlockStairs.func_185706_d(BlockStairs.java:338) That method is called getStairsShape (in my version of Forge) and when passed a blockstate it attempts to figure out what direction the stairs are facing. Somehow you are passing the BlockStairs class a block that is not stairs.
  10. basic_sluice.json { "forge_marker": 1, "defaults": { "textures": { "particle": "blocks/planks_oak" }, "model": "forge:fluid", "uvlock": false }, "variants": { "normal": [{ }], "inventory": [{ }], "facing": { "north": { }, "sorth": { }, "east": { }, "west": { } }, "level": { "0": { }, "1": { }, "2": { }, "3": { } } } } log: Still though, is there a way to render some other block elements as well? It's not very obvious, but the oak planks here on the bottom under the water are also part of my block's rendering and are 1/16th of a block thick, not an oak plank block under my block. If you look at the left edge you can see that the edge is slightly raised.
  11. Basically like this: https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/client/ClientEasyRegistry.java#L79-L88 IMetaLookup is just a helper interface on an the enum used to supply the variant items (also blocks) to make it easier to determine things about the variants.
  12. Example code cannot cause the example crash. You also don't need to do state.getBlock() : the IBlockState interface supplies an accessor isSideSolid()
  13. The default implementation of isFullBlock checks this.blockMaterial.isPassable() , so yes, that would have an effect.
  14. What properties/elements does it have? I cannot find this model in the assets so I am unsure what I need to supply in terms of textures. The model loader also does not like the variants I tried to specify in my blockstate json. (see edit) I also wish to render a bottom piece, like carpet, under the water (textured like planks). Can I add an elements object? Edit: I had malformed json (somehow the json plugin did not detect this). However upon fixing, it still throws "missing variants" exceptions but does load up a model in-game.
  15. You're going to need to use the debugger.
  16. My guess here is that you're using a client-side method in a server-side tick event.
  17. Show your updated command class.
  18. No no no no no no NO. The command's only purpose is to go "oh the user told the server to do something." The tick handler is where your file read code needs to go.
  19. The command needs to tell the tick handler what to do.
  20. A while loop happens between ticks. It will never exit because it is a while loop that never exits. If you want a condition that is checked each tick, you need to remember that onServerTick is your loop.
  21. Or creating a TickEventHandler and counting ticks. If you want something to happen across time, wait for the game loop to tell you how long its been. Thread.Sleep() is the equivalent of turning off your car's engine in order to make the turn signal blink.
  22. First off: Why are you waiting at all between reading these lines? Second: Of course Minecraft is going to freeze if you put its thread to sleep. What did you think was going to happen? The game can't run if you told it not to run.
  23. No. collidingBoxes.add(BOUNDING_BOX)

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.