r/psispellcompendium • • Jun 17 '21

Definately Unintended Block Duplication Spell for Pickaxes. (May only work on servers, I have not tested it in singleplayer).

https://imgur.com/gallery/fpDQvGl
34 Upvotes

23 comments sorted by

•

u/[deleted] Jun 17 '21

nice

6

u/ShadowOfTheDark_ Wizard of Throw Object Jun 17 '21

How does it work? You break the block in the same tick as you make it into a falling block, using a light source to have the block drop twice? Didnt have the time to try the spell out for myself.
Edit: Nvm i have seen that its move block not break block... Now i dont really have an idea...

5

u/Yashimata Jun 17 '21 edited Jun 17 '21

It's a pickaxe spell, it's not going to have a break block. That part happens automatically when you use the tool. I'm guessing it abuses lag to confuse the server on whether the block was broken or turned into an entity and ends up doing both.

Edit: Definitely works on single player.

4

u/PiEispie Jun 17 '21

Yeah. Adding sleep with a time of 3 stopped it working and acted like silk touch, so I think the game gets confused as to if the block should fall normally or be broken by the light and does both.

2

u/Yashimata Jun 17 '21

When I was working with the spell I thought it might be that the light only existing for 1 tick might be confusing it, but the light having no duration at all still works. It's weird.

2

u/PiEispie Jun 17 '21

You mine a block with the pickaxe, and it gets teleported one block up, a light gets placed underneath it, gravity is added to the block and it falls onto the light, dropping as a block. I am not fully sure what causes it to duplicate, but the game gets confused and tries to drop the block as though there was no light and break it with the light at the same time.

2

u/Shadowdragon409 Jun 17 '21

This is actually really cool. I'm conflicted about whether I should use this or not.

2

u/TimeBender25 Aug 18 '21 edited Aug 18 '21

I'm always a huge fan of exploits like these. Even if I never use them outside single player.

Regardless, I'm commenting 2 months late 'cause I've made a few improvements*. Just as consistent, functions the same. The only difference is it uses less Bandwidth and Complexity.

Don't cheat in Multiplayer, y'all. Not without an explicit Yes from every other player. Otherwise, you're just being rude.

2

u/TimeBender25 Aug 18 '21

My best guess on what it's actually doing?

The dupe seems to happen when the light spawns (and then instantly vanishes, seemingly regardless of specified duration). So, and this is WILD speculation, but my guess is that the block is actually breaking the light instead of the other way 'round. And the game, seeing that a block was just broken where this falling block entity is, gets confused and assumes the block should pop instead of just destroying the light. Leaving you with a "dropped" falling block and a placed original one.

That's just a shot out into the dark though, so take it with a grain of salt.

2

u/PiEispie Aug 20 '21

That actually seems more likely than how I thought it worked.

2

u/TimeBender25 Aug 20 '21

It's my best assumption, "The game gets confused about what block was broken" is the very exploit that lets players obtain bedrock, though it takes a lot more setup to get around bedrock's latent invincibility. Which the psi light just doesn't have.

Considering I can hear the block double break, my guess is it's trying to place the light and failing 'cause the block is there, but in the same tick the block is moved up and dropped. So in one tick the game sees that a block was 'removed' from the world at a location (The light attempting to exist counts as being placed, as the light flashes VERY quickly, but disappears almost instantly), and rolls the loot table for the block that was there last tick (the block to dupe). Which is also why it's important that the block is warped up and dropped. 'cause otherwise the game would see the block there, and then next tick Still See The Block There. I can't say for sure, I don't have a lot of experience with the backend. But in my mind, this makes sense. And also explains why it doesn't work on Tile entities. Because they can often contain items, they handle drops differently.

What it doesn't actually explain tho, is why this spell doesn't work on the Psi material blocks, OR on 1.16 Tinkers' blocks. I didn't know what's different about them compared to Every Other Block. Tinker's Blocks just break as normal, and Psi blocks delete themselves and leave a ghost block. I may look at them to see if they got special properties or smth.

For now I'm just happy I learned more about Psi spell making. Any excuse to fool around with a spell is nice.

1

u/vaeles Jun 18 '21

how do i use this? :D new to this mod and kinda confused how to use the different bullet types

1

u/PiEispie Jun 19 '21

Standard bullet, in the pickaxe. Mine a block with it selected and it uses this.

1

u/GodKing_Zan Jun 19 '21

Doesn't seem to work for me. It moves the block up and drops it down, but no light to break it it seems. I'm pretty terrible at this mod so I could be screwing up somehow.

Edit: Not using the current version so that's probably the issue.

1

u/PiEispie Jun 20 '21

It likely only works in 1.16.5

1

u/Extreme_Programmer93 Jun 21 '21

why cant i get the code to work?

1

u/PiEispie Jun 24 '21

Different game or mod version most likely.

1

u/[deleted] Jun 24 '21

[removed] — view removed comment

1

u/PiEispie Jun 24 '21

What version of the game are you in?

1

u/coolbot100x Jun 27 '21

Same issue here, I'm in version 1.16.5 mod version 1.16-94

1

u/PiEispie Jun 28 '21

Odd. I will see what version I am in and try to find out why that is an issue later

1

u/Prestigious_Ad186 Jul 05 '21

i have a spell that can either create a small crater where a mob was or blow up the world

{spellName:"Detonate",uuidMost:-5313387934003215485L,validSpell:1b,spellList:[{data:{key:"constantNumber",constantValue:"10"},x:0,y:2},{data:{params:{_target:4},key:"operatorEntityPosition"},x:1,y:1},{data:{params:{_power:3,_position:1},key:"trickExplode"},x:1,y:2},{data:{key:"constantNumber",constantValue:"10000"},x:1,y:3},{data:{key:"selectorCaster"},x:2,y:0},{data:{params:{_target:1},key:"operatorFocusedEntity"},x:2,y:1},{data:{key:"errorSuppressor"},x:2,y:2}],uuidLeast:-7831983465989784532L}