Weirdest bug ever (Client/server side important errors)

Published by aidanete on
Status
Works as designed
Issue description

In Additional Stuff, there are a few items that have a strange bug when affecting the server-side. These bugs are from the start of these items and these bugs keep to the current versions. The latest release I posted yesterday has 3 items that have this bug I will explain then. I tried to fix it multiple times.

"Laser Drill, Sandpaper, and Toggling Wand" (I don't know if any other)

The bug is that these items change or modify blocks on the environment, but specifically, these items and others if I forgot, the changes are only applied and seen by the user that used them, but something very interesting, helpful and strange with sandpaper item happened in one of the tests with a friend. My friend created a LAN server with hamachi, using this mod and about 58 other mods. I tried the laser drill, it should break bedrock on rightclick but I was the only one that saw it broken (Just like if no extra mods were installed). The server had a mod called Howling Moon, that mod allows the player to transform into a werewolf. One of its skills is to climb some blocks such as cobblestone, but not stone. The sandpaper transforms cobblestone into stone by right-clicking. I did a tower of cobblestone and transformed it into stone with the sandpaper. He saw it as cobblestone, I saw it as stone, but Howling Moon detected it as stone even if he saw it as cobblestone, so he couldn't climb it.

I don't know why is this happening, but I want to fix it. I want a completely bug-free mod.

I don't know because seems that other items that also modify the environment worked fine.

I tried using (if is provided world remote), I tried not using it. I tried changing which things it modifies. Nothing.

I don't know if this is a "Bug Report" or "Support Request".

Thank you very much for reading :)

Issue comments

Laser drill yes but sandpaper and toggling wand doesn't have

There are some other causes for this than random too, but generally this happens because the procedure is called on both server and client-side and say if chance on the client-side makes trigger happen, it will, but if the chance on the server side does no happen, the procedure will only execute locally for the given client.

This is how Minecraft works by design.

To prevent this, use is a world remote procedure block from World data category. Wrap your procedures with if not is a remote world.

The remote world is the client world, so by checking if it is not, you make sure that procedure only happens on the server-side and is then propagated from there to all clients.

I used the client side things before with this items but they still dont work

Just wrap all procedures that are problematic with a check that makes sure the world is server-side (not remote).

I used the client side things before with this items but they still dont work

You need to make actions server-side, not client-side.