Jump to content

[SOLVED][1.19.2] Render temporary block client side only.


ChrisKustom

Recommended Posts

Hi all, 

I've been searching this forum for some time trying to find a direction in which to go with this but it seems all the answers I find are for <1.16 which is not bad, but a lot of the code has changed since then and locating any sort of resource that could tell me; "Method x in 1.16 was replaced by Method Y in 1.17" etc, has proven to be quite challenging. 
If you know of such resource, please link it so I can browse at my leisure. 

Onto the matter at hand, I am trying to render a temporary block on the client side when the player is holding a specific item in hand, and is looking at a block. When player uses item, block is placed in the world (obviously server side). 
So far, I have managed to subscribe to the RenderHighlightEvent#Block event, and I can get all positions, directions etc that I need, and using my original idea (world.setBlock(ghostBlock)) worked well when running single player, it doesn't work when running on a server, likely because the Render event is client side, the level is therefor ClientLevel and you cannot set blocks on the client side. 

So, instead of setting the block in the world, I'd like to render them locally, and only set them when the player uses the item. 
I found a handful of people with similar issues, but unfortunately as mentioned above, most of them were old and outdated, and the methods used are no longer available.

Whilst it would be easier to ask "Can someone show me how", I'd very much prefer to be pointed to the appropriate documentation/method so I can have a read to better understand how I might go about achieving this. (If of course, what I am asking is possible?)
I have a background in dev, and I've dabbled in Java a bit, so my lack of understanding comes more from Minecraft underlying mechanics rather than the code. 

Anyway, any help would be fantastic :) 
Please let me know if there is anything else you need!

Cheers, 

Chris.

Edited by ChrisKustom
Solved

Please do not yell at me, I will cry. 

Link to comment
Share on other sites

Recent topic on the subject:

https://forums.minecraftforge.net/topic/118060-1192-rendering-ghost-blocks

Edited by warjort
  • Like 1

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Link to comment
Share on other sites

  • ChrisKustom changed the title to [SOLVED][1.19.2] Render temporary block client side only.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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