revert 99b2235621
Some checks failed
/ Auto-Build-App (push) Has been cancelled

revert protect against BlockReplacePacket
This commit is contained in:
pietru 2024-11-05 19:46:20 +01:00
parent 99b2235621
commit a351fea4f1
2 changed files with 0 additions and 53 deletions

View file

@ -1,52 +0,0 @@
package net.pietru.cookie_utils.mixins;
import com.llamalad7.mixinextras.sugar.Local;
import finalforeach.cosmicreach.accounts.Account;
import finalforeach.cosmicreach.blocks.BlockPosition;
import finalforeach.cosmicreach.blocks.BlockState;
import finalforeach.cosmicreach.blocks.BlockStateMissing;
import finalforeach.cosmicreach.networking.NetworkIdentity;
import finalforeach.cosmicreach.networking.NetworkSide;
import finalforeach.cosmicreach.networking.packets.MessagePacket;
import finalforeach.cosmicreach.networking.packets.blocks.BlockReplacePacket;
import finalforeach.cosmicreach.networking.packets.blocks.PlaceBlockPacket;
import finalforeach.cosmicreach.networking.server.ServerSingletons;
import finalforeach.cosmicreach.world.Zone;
import io.netty.channel.ChannelHandlerContext;
import net.pietru.cookie_utils.permissions.Permissions;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import static net.pietru.cookie_utils.api.Region.can_edit_block;
import static net.pietru.cookie_utils.api.Region.is_not_reloading;
@Mixin(BlockReplacePacket.class)
public class BlockReplaceMixin {
@Shadow
Zone zone;
@Shadow
BlockPosition blockPos;
@Shadow
BlockState targetBlockState;
@Inject(method = "handle", at = @At("HEAD"), cancellable = true)
private void event_block_place(CallbackInfo ci, @Local NetworkIdentity identity, @Local ChannelHandlerContext ctx){
if (identity.getSide() != NetworkSide.CLIENT) {
if (targetBlockState instanceof BlockStateMissing)
ci.cancel();
}
if (identity.getSide() != NetworkSide.CLIENT && ci.isCancelled()) {
Account account = ServerSingletons.getAccount(identity);
if (!Permissions.has_user_special_perm(account.getUniqueId()) && !can_edit_block(blockPos,"place",account.getUniqueId())) {
ci.cancel();
MessagePacket packet = new MessagePacket("[Server] " + (is_not_reloading ? "Sorry, but this area is under protection." : "Sorry but you can't do this action right now. [Config Reload In Progress]"));
packet.playerUniqueId=account.getUniqueId();
packet.setupAndSend(ctx);
}
}
}
}

View file

@ -7,7 +7,6 @@
"BlockActionExplodeMixin", "BlockActionExplodeMixin",
"BlockBreakMixin", "BlockBreakMixin",
"BlockPlaceMixin", "BlockPlaceMixin",
"BlockReplaceMixin",
"InteractBlockMixin", "InteractBlockMixin",
"LoginPacketMixin", "LoginPacketMixin",
"MessagePacketMixin", "MessagePacketMixin",