I've found another bug involving other mods, I wanted to test how the invisibility field would work with a Remain in Motion carriage, so I set up a simple one attached the invisibility blocks to each corner and activated them, the craft turned invisible, then I set up a remote activator so I could see what it looked like from the outside when it moved, I then activated it and it moved perfectly fine, it even stayed invisible but when it had finished moving the invisibility blocks vanished, the blocks inside where the field should have been were still invisible and everything still behaved like the field was there just the blocks were gone, I could even place other blocks there no problem, moving it again i could see the craft moving out of the field and about a second later I crashed but only to the main menu, it gave me this error.
I logged back in with no troubles and the invisibility field was completely gone with no sign of it.
Wait! After thinking a bit i know exactly why this is happenning!
It's happenning because performance-security mecanism:
If you don't know yet, if you break linked invisi zoner, it will also destroy one that it's linked with. To remove linkage, performance and other issues.
While frames try to move things, hey "destroy" blocks after saving them. And when invisi zoner gets destroyed, it safe destroys itself and one that is paired with it...
So, probably, because of this, i can't do anything about it...
Wait! After thinking a bit i know exactly why this is happenning!
It's happenning because performance-security mecanism:
If you don't know yet, if you break linked invisi zoner, it will also destroy one that it's linked with. To remove linkage, performance and other issues.
While frames try to move things, hey "destroy" blocks after saving them. And when invisi zoner gets destroyed, it safe destroys itself and one that is paired with it...
So, probably, because of this, i can't do anything about it...
Ahh okay, interesting.
Rollback Post to RevisionRollBack
"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former."
Wait! After thinking a bit i know exactly why this is happenning!
It's happenning because performance-security mecanism:
If you don't know yet, if you break linked invisi zoner, it will also destroy one that it's linked with. To remove linkage, performance and other issues.
While frames try to move things, hey "destroy" blocks after saving them. And when invisi zoner gets destroyed, it safe destroys itself and one that is paired with it...
So, probably, because of this, i can't do anything about it...
I don't know why you don't just have the zone change the texture of the blocks to transparent and get rid of the hitboxes. It seems much easier.
Oh this one... It's quite a big hackery actually... If haven't understood that this is coremod yet, and you don't like those, don't open spoiler...
First of all, when 2 zoners are linked, an InvisiZone object is created using AxisAlignedBB (territory), UUID params (owner).
It's stored in each zoner and in InvisiZonesManager in list of invisi zones.
Also, both invisi zoners store data about their partner.
So now, all i have to do is cancel the rendering of specified object on specified client if specified conditions...
So basically, i have to modify 3 classes:
-One for entity rendering (net.minecraft.client.renderer.entity.RenderManager)...
-One for particles rendering (net.minecraft.client.particle.EffectRenderer)...
-One for blocks (net.minecraft.world.chunk.Chunk)...
First 2, being easy as, insert if check in the begining of rendering method invoking iz hooks rendering method and proceeding if true was returned.
But the last one, required more hackery than i thought: Simply patching class where blocks are rendered, causes blokcs to not be rendered (good), but also cuases ajacent blocks to not be rendered (bed). Because for rendering machine those blocks still exist and why should i draw face of block, if it is not visible? Patching that engine would take too much effort, so i went down the road to the "roots" to replacing chunk cache that engine gets to read blocks was already better (returning air blocks when not to render), but that still had lighting issues (this was in v1.0). Because of this, i continued going down the roots up to Chunk. Here i hook into getBlock method, where in begining i put if isClient and IZ hooks do not render block, return air, otherwise proceed. Which returns air blocks for client when zone should be invisible and blocks that are actually there, when zone should be visible...
So now, just update the renderer each time player intersects zone border / wears/unwears googles...
Well it sorta works now. Unloading the chunk where the zone where all the carpenter stuff is will remove all properties you set to them but you can bring them back by right clicking with the hammer. As for davincing stuff, it can be brought back as well by updating it. For the canvas you need to draw on it again, for the blocks, they won't show at all at first but will block your movement. To update them you need to right click the spot with a sculpture piece which will add it to the sculpture block.
Well it sorta works now. Unloading the chunk where the zone where all the carpenter stuff is will remove all properties you set to them but you can bring them back by right clicking with the hammer. As for davincing stuff, it can be brought back as well by updating it. For the canvas you need to draw on it again, for the blocks, they won't show at all at first but will block your movement. To update them you need to right click the spot with a sculpture piece which will add it to the sculpture block.
Ok. Is it better though? I will better ask @dgrb123...
I did the same tests as before and nothing seems to have changed, the only time it works is when I enter the world inside the zone, which it did before.
Rollback Post to RevisionRollBack
"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former."
I did the same tests as before and nothing seems to have changed, the only time it works is when I enter the world inside the zone, which it did before.
So... Nothing changed? You are sure, you tested it on 1.1.4?
Wait! After thinking a bit i know exactly why this is happenning!
It's happenning because performance-security mecanism:
If you don't know yet, if you break linked invisi zoner, it will also destroy one that it's linked with. To remove linkage, performance and other issues.
While frames try to move things, hey "destroy" blocks after saving them. And when invisi zoner gets destroyed, it safe destroys itself and one that is paired with it...
So, probably, because of this, i can't do anything about it...
Check out all my mods here: Link Removed!
Ahh okay, interesting.
"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former."
I don't know why you don't just have the zone change the texture of the blocks to transparent and get rid of the hitboxes. It seems much easier.
Much easier than what?
Check out all my mods here: Link Removed!
Oh wait nvm I misunderstood what you were saying. How do you do it then?
Do what? Performance-security system?
Check out all my mods here: Link Removed!
No, how you make the zones invisible.
Oh this one... It's quite a big hackery actually... If haven't understood that this is coremod yet, and you don't like those, don't open spoiler...
First of all, when 2 zoners are linked, an InvisiZone object is created using AxisAlignedBB (territory), UUID params (owner).
It's stored in each zoner and in InvisiZonesManager in list of invisi zones.
Also, both invisi zoners store data about their partner.
So now, all i have to do is cancel the rendering of specified object on specified client if specified conditions...
So basically, i have to modify 3 classes:
-One for entity rendering (net.minecraft.client.renderer.entity.RenderManager)...
-One for particles rendering (net.minecraft.client.particle.EffectRenderer)...
-One for blocks (net.minecraft.world.chunk.Chunk)...
First 2, being easy as, insert if check in the begining of rendering method invoking iz hooks rendering method and proceeding if true was returned.
But the last one, required more hackery than i thought: Simply patching class where blocks are rendered, causes blokcs to not be rendered (good), but also cuases ajacent blocks to not be rendered (bed). Because for rendering machine those blocks still exist and why should i draw face of block, if it is not visible? Patching that engine would take too much effort, so i went down the road to the "roots" to replacing chunk cache that engine gets to read blocks was already better (returning air blocks when not to render), but that still had lighting issues (this was in v1.0). Because of this, i continued going down the roots up to Chunk. Here i hook into getBlock method, where in begining i put if isClient and IZ hooks do not render block, return air, otherwise proceed. Which returns air blocks for client when zone should be invisible and blocks that are actually there, when zone should be visible...
So now, just update the renderer each time player intersects zone border / wears/unwears googles...
Check out all my mods here: Link Removed!
So i figured out exactly what is going on with this bug, but update is going to take a while... Because it's not as easy as it may seem to fix it...
Check out all my mods here: Link Removed!
@ckatm397
1.1.4 is up.
Hopefully it's fixed. Try to reproduce this bug and give back results (PS: i could not reproduce it even in previous versions).
Check out all my mods here: Link Removed!
Which bug? The jitterbug?
The one with carpenters blocks, unloading and reloading... Also, 1.1.4 on curse is currently under review...
Check out all my mods here: Link Removed!
I'm not the one who reported the bug but I'll try to test it.
Well it sorta works now. Unloading the chunk where the zone where all the carpenter stuff is will remove all properties you set to them but you can bring them back by right clicking with the hammer. As for davincing stuff, it can be brought back as well by updating it. For the canvas you need to draw on it again, for the blocks, they won't show at all at first but will block your movement. To update them you need to right click the spot with a sculpture piece which will add it to the sculpture block.
Oh. Ok. Fail. then it's @dgrb123...
Check out all my mods here: Link Removed!
Ok. Is it better though? I will better ask @dgrb123...
@dgrb123
1.1.4 is up.
Hopefully it's fixed. Try to reproduce this bug and give back results (PS: i could not reproduce it even in previous versions).
Check out all my mods here: Link Removed!
Did you test it outside of spawn? Spawn chunks are always loaded so it wouldn't affect the zones there.
Yes, i know that they are always loaded. And yes, id did test it outside spawn chunks...
Check out all my mods here: Link Removed!
I did the same tests as before and nothing seems to have changed, the only time it works is when I enter the world inside the zone, which it did before.
"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former."
So... Nothing changed? You are sure, you tested it on 1.1.4?
Check out all my mods here: Link Removed!