This commit is contained in:
parent
cf7b5ad238
commit
695cf46146
1 changed files with 5 additions and 0 deletions
|
@ -4,6 +4,7 @@ import com.llamalad7.mixinextras.sugar.Local;
|
||||||
import finalforeach.cosmicreach.accounts.Account;
|
import finalforeach.cosmicreach.accounts.Account;
|
||||||
import finalforeach.cosmicreach.blocks.BlockPosition;
|
import finalforeach.cosmicreach.blocks.BlockPosition;
|
||||||
import finalforeach.cosmicreach.blocks.BlockState;
|
import finalforeach.cosmicreach.blocks.BlockState;
|
||||||
|
import finalforeach.cosmicreach.blocks.BlockStateMissing;
|
||||||
import finalforeach.cosmicreach.networking.NetworkIdentity;
|
import finalforeach.cosmicreach.networking.NetworkIdentity;
|
||||||
import finalforeach.cosmicreach.networking.NetworkSide;
|
import finalforeach.cosmicreach.networking.NetworkSide;
|
||||||
import finalforeach.cosmicreach.networking.packets.MessagePacket;
|
import finalforeach.cosmicreach.networking.packets.MessagePacket;
|
||||||
|
@ -33,6 +34,10 @@ public class BlockPlaceMixin {
|
||||||
@Inject(method = "handle", at = @At("HEAD"), cancellable = true)
|
@Inject(method = "handle", at = @At("HEAD"), cancellable = true)
|
||||||
private void event_block_place(CallbackInfo ci, @Local NetworkIdentity identity, @Local ChannelHandlerContext ctx){
|
private void event_block_place(CallbackInfo ci, @Local NetworkIdentity identity, @Local ChannelHandlerContext ctx){
|
||||||
if (identity.getSide() != NetworkSide.CLIENT) {
|
if (identity.getSide() != NetworkSide.CLIENT) {
|
||||||
|
if (targetBlockState instanceof BlockStateMissing)
|
||||||
|
ci.cancel();
|
||||||
|
}
|
||||||
|
if (identity.getSide() != NetworkSide.CLIENT && ci.isCancelled()) {
|
||||||
Account account = ServerSingletons.getAccount(identity);
|
Account account = ServerSingletons.getAccount(identity);
|
||||||
if (!Permissions.has_user_special_perm(account.getUniqueId()) && !can_edit_block(blockPos,"place",account.getUniqueId())) {
|
if (!Permissions.has_user_special_perm(account.getUniqueId()) && !can_edit_block(blockPos,"place",account.getUniqueId())) {
|
||||||
ci.cancel();
|
ci.cancel();
|
||||||
|
|
Loading…
Reference in a new issue