BG-Software-LLC / SSB-OneBlock

OneBlock Addon for SuperiorSkyblock2
GNU General Public License v3.0
17 stars 10 forks source link

[HUGE DUPE BUG] #55

Closed iSeitan closed 1 year ago

iSeitan commented 1 year ago

Minecraft's Version

paper-1.19.3-379

Plugin's Version

SuperiorSkyblock2-2022.9-b960 SSBOneBlock-1.2.1-b52

Describe the bug

When the end of phases is a chest the player can put stuff in the chest, then break the chest, then the same chest with the same new item respawn with the new stuff inside basically duping the stuff twice

To Reproduce

go at the last phase block, mine it to have the end phase chest, put stuff inside, break it, then you'll have a second end phase chest with the dupe stuff 2023-01-21_09 40 27 2023-01-21_09 40 39 2023-01-21_09 40 43

Additional Information

No response

iSeitan commented 1 year ago

I didnt test if that did the same for all chest while doing the phase, but since its a setblock too it might..

iSeitan commented 1 year ago

Many people did that yesterday on my server, so this might be a known bug in oneblock superiorskyblock2 and random user are trying it on server using this plugin

OmerBenGera commented 1 year ago

For now disable the chests I guess I will only be able to look into it next week. PRs are welcomed.

iSeitan commented 1 year ago

Yeah thats what I did, thanks!

iSeitan commented 1 year ago

So i removed the chest, so player cant dupe item

But i think the bug goes deeper, it seem that the last block of any phase when broke, respawn exactly the same (wich is why we could dupe)

So my question is, probably that with piston or any other minecraft mean, a player could replace the last phase block with any block like a diamond or nethertire block, break it, so the next block would be the same and then dupe the block?

iSeitan commented 1 year ago

Or with itemframe containing rare item

iSeitan commented 1 year ago

We tested it, yes the last block of a phase is also dupplicated when broken so player can move the last block with a piston, place a new block like diamond_block then break it and the block is duped

Idk why but that needs a fix :)

OmerBenGera commented 1 year ago

Take a video of the issue please so when I am back I could fix it straight away

iSeitan commented 1 year ago

https://youtu.be/YuqeIIPVGzc

OmerBenGera commented 1 year ago

I can't seem to replicate the issue I tried moving the oneblock in its last phase upwards as you shown in the video, then broke the other block and it seems to work fine - bedrock is placed.

iSeitan commented 1 year ago

Even with the chests? Maybe I should give you my config?

OmerBenGera commented 1 year ago

Even with the chests? Maybe I should give you my config?

It is not possible to move chests using pistons so I am really not sure how you did it with chests.

iSeitan commented 1 year ago

Oh the chests its not even linked to the piston You could just drop stuff in the chest, then break the chest and the chest respawn with the stuff inside so it duped it

iSeitan commented 1 year ago

But I meant, maybe with my config you would get the same issue? phase coffre.zip

OmerBenGera commented 1 year ago

Oh the chests its not even linked to the piston You could just drop stuff in the chest, then break the chest and the chest respawn with the stuff inside so it duped it

It doesn't seem to occur for me

But I meant, maybe with my config you would get the same issue? phase coffre.zip

Try it with default files, let me know if it works

iSeitan commented 1 year ago

Doesnt happen with the default file, but if you put a setblock in the files it will create the block

OmerBenGera commented 1 year ago

The issue is because your last action does not have a setblock action, making the module being confused and it justs replaces the last block it set. Solution for this would be to combine your last two actions into one as follows:

    {
      "actions": [
        {
          "action": "set_block",
         ...
        },
        {
          "action": "command",
          ...
        }
      ]
    }

That's seem to be the case for all your phases