Jump to content

[1.15.2] Getting a block position as soon as block is placed, and storing in NBT for later use


MistaOmega

Recommended Posts

Gwanin fellas, guess who?

itbelikethat.png

 

Right, so I'm making a quarry which you can find the important code for here: https://github.com/MistaOmega/Opes/blob/master/src/main/java/mistaomega/opes/tiles/TerraEngineTile.java

It works fine, pls ignore the mess, I haven't tidied it yet, just got it basically functional

 

So the issue I'm having is storing the block position for where it last mined, so if it's broken, and replaced, it can keep going

I've tried getting the x, y and z coords, storing them in an int array and putting that in NBT and that's all well and good but the problem is that when placed, the constructor won't be able to instantiate a starting position (blockpos comes up as null, because it's being constructed), so I need a boolean flag to get the block pos first tick (runOnFirstTick) (i've got rid of that saving btw, but I pinky promise it was there)

Which then becomes an issue after making the block because whatever I saved just gets replaced, or at worst, comes out as null because "currentMiningBlockPos" is null from beforehand.

 

At this point all I'm wondering is, is there a simpler way to go about this that I'm missing.

 

Thank you all as always ❤️

Link to comment
Share on other sites

You see this method?

https://github.com/MistaOmega/Opes/blob/master/src/main/java/mistaomega/opes/tiles/TerraEngineTile.java#L198

Do you see any code related to the mining position there?
No?

Why not?

  • Thanks 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

3 hours ago, Draco18s said:

You see this method?

https://github.com/MistaOmega/Opes/blob/master/src/main/java/mistaomega/opes/tiles/TerraEngineTile.java#L198

Do you see any code related to the mining position there?
No?

Why not?

So I tried that before, I was storing the blockpos as an int array. but you see in my tick method, where I have the runOnFirstTick, that resets whatever I put as a stored value, and I need it because without it, it breaks as it can't get it's own position I'll try storing the boolean flag aswell, it might help my problem, I'll have another shot at it when I finish work 

 

Thank you

Link to comment
Share on other sites

1) Because you don't save that variable either and

2) You could do without it entirely by storing garbage data in the BlockPos by default (say, a y value of -1) and if the data is garbage after read has been called, do the thing you currently do in first tick.

  • Thanks 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

3 hours ago, diesieben07 said:

Uh, yes it can.

TileEntity#getPos. You already use it...

Doing it on the construction phase returns null because it hasn't been placed yet, apologies, was at work rushed the response. I stated about it in the original post 

3 hours ago, Draco18s said:

1) Because you don't save that variable either and

2) You could do without it entirely by storing garbage data in the BlockPos by default (say, a y value of -1) and if the data is garbage after read has been called, do the thing you currently do in first tick.

See this is why you're the smart people here, thank you for the help, I'll give it a go, see how it ends up 

Edited by MistaOmega
Link to comment
Share on other sites

6 hours ago, Draco18s said:

1) Because you don't save that variable either and

2) You could do without it entirely by storing garbage data in the BlockPos by default (say, a y value of -1) and if the data is garbage after read has been called, do the thing you currently do in first tick.

Turned out not to need the garbage data, kept with using checks for null positions, just ditched the run once flag for a check if the mining pos was null although I might still add it for "cleanliness" made sure I implemented the getUpdatePacket method for reading and writing the NBT value on entity tick and it works a treat, thank you again :D

Edited by MistaOmega
Link to comment
Share on other sites

3 minutes ago, diesieben07 said:

Yes, doing anything in a TE constructor is pretty pointless and leads to confusing things happening.

I'll be sure to avoid it in the future, ended up realising "oh yeah, it won't know where it is, doesn't even exist yet" and felt like an idiot for a solid 10 minutes :D

Link to comment
Share on other sites

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.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Official Website Link ➲➲➲  https://groups.google.com/a/chromium.org/g/chromium-reviews/c/Zyy6WGX5-gA   Product Name ➲➲➲ Keto Candies ACV Gummies It assists with smothering undesirable food desires and close to home dietary patterns.   Official facebook Link ➲➲➲  https://www.facebook.com/KetoCandiesACVGummiesUS/   Official Blogs ➲➲➲ https://groups.google.com/a/chromium.org/g/chromium-reviews/c/4LZAdq7rQSg https://groups.google.com/g/mozilla.dev.platform/c/Uy2KvvUkCbA https://groups.google.com/g/mozilla.dev.platform/c/L-RBHHTlJm0 https://groups.google.com/g/comp.protocols.time.ntp/c/aqbT3woiM9w https://groups.google.com/g/comp.protocols.time.ntp/c/L3J_LIFnET0 https://groups.google.com/a/chromium.org/g/chromium-reviews/c/Zyy6WGX5-gA https://groups.google.com/a/chromium.org/g/chromium-reviews/c/4LZAdq7rQSg https://keto-candies-acv-gummies-2b37b5.webflow.io/ https://keto-candies-acv-gummies-1.jimdosite.com/ https://groups.google.com/g/getketocandiesacvgummies/c/PaSsvPpQsYw https://groups.google.com/g/getketocandiesacvgummies/c/YLKzSrTdeRI   Blue Vibe CBD Gummies Official Links ➲➲➲  https://www.deccanherald.com/brandspot/sponsored-health/blue-vibe-cbd-gummies-reviews-moneyworth-product-or-not-blue-vibe-cbd-gummies-for-sale-consumer-reports-mega-sale-2673730 https://www.facebook.com/GetBlueVibeCBDGummiesUS/ https://www.facebook.com/BlueVibeCBDGummiesUS/ https://www.facebook.com/BlueVibeCBDGummiesInUS/ https://www.facebook.com/events/334310428943928 https://groups.google.com/a/chromium.org/g/chromium-reviews/c/eq2xmAl5Mm4 https://groups.google.com/a/chromium.org/g/chromium-reviews/c/yb2GhvIIBvI Group Google ➲➲  https://groups.google.com/a/chromium.org/g/chromium-reviews/c/LEwhDmgZLHs Group Google ➲➲  https://groups.google.com/a/chromium.org/g/chromium-reviews/c/gREHzPUfMsw Group Google ➲➲  https://groups.google.com/a/chromium.org/g/chromium-reviews/c/FNtpXHp_r7c Group Google ➲➲  https://groups.google.com/a/chromium.org/g/chromium-reviews/c/KqdhsIEuP8k Group Google ➲➲  https://groups.google.com/a/chromium.org/g/chromium-reviews/c/XfZtZqnG-rM Group Google ➲➲ https://groups.google.com/g/comp.os.vms/c/DGXPLV27qCU Group Google ➲➲ https://groups.google.com/g/comp.os.vms/c/t-W4cjZOFSs Group Google ➲➲ https://groups.google.com/g/comp.os.vms/c/i0Ta7Qy4izw
    • Make a test without practical_plushies_mobs, practical_plushies_animals and dark-waters - looks like it is not working with sinytra connector
    • VIP Call Girlfriend in Abu Dhabi ☮➡+971557861567(㎓) Escorts In Abu Dhabi   VIP Call Girlfriend in Abu Dhabi ☮➡+971557861567(㎓) Escorts In Abu Dhabi   VIP Call Girlfriend in Abu Dhabi ☮➡+971557861567(㎓) Escorts In Abu Dhabi
    • Maybe your file codes are missing. Therefore it is crashing.
    • I've been trying to make a mod pack for the last day or so now and I haven't been able to launch it once even with all mods disabled. It keeps showing up with Exit Code 1. I gave the modpack to a friend to try and it didn't launch on their pc either due to the same exit code, so I'm not entirely certain what the problem is or how to check it in the logs. So far I've attempted: - Changing from forge version 43.3.0 to 43.3.5 - Downloading Java - Disabling mods (both entirely and individually) I have an NVIDIA GeForce GTX 1070 driver, and I haven't tried to uninstall or reinstall it yet because I'm not certain how to and would have to mess anything up further. I have the latest .txt file of the crash report here: [16:24:34] [main/WARN]: Failed to add PDH Counter: \Paging File(_Total)\% Usage, Error code: 0xC0000BB8 [16:24:34] [main/WARN]: Failed to add counter for PDH counter: \Paging File(_Total)\% Usage [16:24:34] [main/WARN]: Disabling further attempts to query Paging File. [16:24:36] [main/WARN]: COM exception: Invalid Query: SELECT PERCENTUSAGE FROM Win32_PerfRawData_PerfOS_PagingFile [16:24:39] [Datafixer Bootstrap/INFO]: 198 Datafixer optimizations took 149 milliseconds [16:24:40] [Render thread/INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD] [16:24:40] [Render thread/INFO]: Setting user: CatDoodlee [16:24:41] [Render thread/INFO]: Backend library: LWJGL version 3.3.2+13 [16:24:42] [Render thread/INFO]: Reloading ResourceManager: vanilla [16:24:42] [Worker-Main-11/INFO]: Found unifont_all_no_pua-15.1.04.hex, loading [16:24:44] [Render thread/WARN]: Missing sound for event: minecraft:item.goat_horn.play [16:24:44] [Render thread/WARN]: Missing sound for event: minecraft:entity.goat.screaming.horn_break [16:24:44] [Render thread/INFO]: OpenAL initialized on device OpenAL Soft on Speakers (Atrix Wired Elite Headset) [16:24:44] [Render thread/INFO]: Sound engine started [16:24:44] [Render thread/INFO]: Created: 1024x512x4 minecraft:textures/atlas/blocks.png-atlas [16:24:44] [Render thread/INFO]: Created: 256x256x4 minecraft:textures/atlas/signs.png-atlas [16:24:44] [Render thread/INFO]: Created: 512x512x4 minecraft:textures/atlas/shield_patterns.png-atlas [16:24:44] [Render thread/INFO]: Created: 512x512x4 minecraft:textures/atlas/banner_patterns.png-atlas [16:24:44] [Render thread/INFO]: Created: 1024x1024x4 minecraft:textures/atlas/armor_trims.png-atlas [16:24:44] [Render thread/INFO]: Created: 128x64x4 minecraft:textures/atlas/decorated_pot.png-atlas [16:24:44] [Render thread/INFO]: Created: 256x256x4 minecraft:textures/atlas/chest.png-atlas [16:24:44] [Render thread/INFO]: Created: 512x256x4 minecraft:textures/atlas/shulker_boxes.png-atlas [16:24:44] [Render thread/INFO]: Created: 512x256x4 minecraft:textures/atlas/beds.png-atlas [16:24:45] [Render thread/WARN]: Shader rendertype_entity_translucent_emissive could not find sampler named Sampler2 in the specified shader program. [16:24:45] [Render thread/INFO]: Created: 512x256x0 minecraft:textures/atlas/particles.png-atlas [16:24:45] [Render thread/INFO]: Created: 256x256x0 minecraft:textures/atlas/paintings.png-atlas [16:24:45] [Render thread/INFO]: Created: 128x128x0 minecraft:textures/atlas/mob_effects.png-atlas [16:24:45] [Render thread/INFO]: Created: 1024x512x0 minecraft:textures/atlas/gui.png-atlas [16:25:41] [Render thread/INFO]: Stopping! any form of help is greatly appreciated ❤️
  • Topics

×
×
  • Create New...

Important Information

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