Jump to content

Animefan8888

Forge Modder
  • Posts

    6157
  • Joined

  • Last visited

  • Days Won

    59

Everything posted by Animefan8888

  1. No he makes the arm invisible in the Pre event so it doesnt render via PlayerRenderer but instead renders in the Post event. Therefore the item has already be rendered at the normal arm position. Not sure you'll have to look at the code where it renders the item(s) being held.
  2. Oddly enough I dont see an error. Try moving the file and letting forge generate another one.
  3. I did not. I was thinking it operated like all of the other datapack jsons. Completely overriding the previous entry like loot tables. Or is that a misconception on my end as well?
  4. What does it say in the console? My guess is that your blockstate is missing the inventory variant.
  5. This needs to be textures/block/iron_block
  6. No because a TileEntity can be placed at any position at any block. It just has to be created a new if that Block doesnt say it had a TileEntity. IE you can use the vanilla TileEntities on your blocks if you wanted to. The registry name is specific to the TileEntity. If you want you could use your Block field for the block in question and call Block#getRegistryName.
  7. Correct and there won't ever be one, and there also isnt a position that TileEntity is at in the world either. Ok then I dont know what your problem is.
  8. Well as I said have you looked to see where it is initialized? When does it get its value. My bet is when it is placed into the World. Hint use the new keyword.
  9. Excellent it still wont connect to other mods fences. Also that line literally uses the method I'm telling you to override. And block is definitely a Block. So the method exists.
  10. I think it does. They just limit it a bit. You can turn off viewing them, turn yours off, or if you are on mobile they dont appear unless you have your browser running in desktop mode.
  11. Probably a bug of some sorts. They might not serialized if its null. You have to make one your self. Have you looked for where it is set to a value? That's because getBlockType is a method that wraps to World#getBlockState at the tile entities position. You get to make it up your self it's an id. Please don't spam your own thread.
  12. The command should be gradlew setupDecompWorkspace
  13. No I dont believe anyone has approached with this particular question before. Basically everything you've said is true. Minecraft singleplayer has many threads. The two you should concern yourself with the most is the logic threads. Denoted as server and client. You must do everything logic based that you dont want the client to lie about on the server thread. There is a third thread you might end up encountering, but less often. It is the network thread. You must only decode encode and receive on the network thread, processing must be deferred to the server/client thread. You'll see an example on the forge docs website. However in 1.13+ world gen is handled on it's own thread(keep world generation thread safe). Typically you figure this out by World#isRemote being false. And vice versa for client thread. Any client only code cannot run on the server at all. This is known as reaching across logical sides. Any attempt to do this will cause seemingly random hard to reproduce bugs in singleplayer and will crash the dedicated server. Speaking of the dedicated server this is the jar file you launch when host a public server. The dedicated server has all client only code stripped of it and has no client thread. Thus the crashing. Yes Minecraft also runs a tick and frame system instead of just a frame system. As such there are supposed to be 20 ticks in a second. You can use this to determine a change in time by implementing a variable every tick. This also creates a need for a partialTick float when rendering. Because while we update at a constant 20 ticks/second we can render as many frames/second as we want. Partial ticks represents the fractional(0.0-1.0) time between the next tick. If I missed anything important anyone is welcome to add on. If you have a more specific question about the internal runnings please ask. Might need a new thread for it depending on its relation to this one.
  14. Is there anything in the console about an error? And why not show us the actual version of the json.
  15. Is there an item with the registry name "mymod:myitem" and "mymod:myfirstitem" in your mod? No? Then of course it doesnt work.
  16. Yes but you'll have to either cancel the players default rendering in the RenderPlayerEvent.Pre and then render everything your self the way you want it. Or you can use reflection to change the players model specifically for the layer the item is rendered in.
  17. Click the down arrow next to it and then click run configurations then select runClient then click run/apply.
  18. His point was that your count wasnt inside your result json object.
  19. Not without rendering it every frame with a TESR. Changing its state is the only way to force the chunk to recreate its mesh and push it to the GPU.
  20. Have you run through your code with your IDE's debugger? What about using the f3 menu/gui to look at the blocks state?
  21. World#getBlockState(abovePos).getBlock() some condition to check fire.
×
×
  • Create New...

Important Information

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