End signs remake
This commit is contained in:
parent
ee6dd6f7a8
commit
c8378435bd
6 changed files with 25 additions and 278 deletions
|
@ -11,12 +11,9 @@ import net.minecraft.client.MinecraftClient;
|
|||
import net.minecraft.client.network.ClientPlayNetworkHandler;
|
||||
import net.minecraft.client.world.ClientWorld;
|
||||
import net.minecraft.network.NetworkThreadUtils;
|
||||
import net.minecraft.network.packet.s2c.play.BlockEntityUpdateS2CPacket;
|
||||
import net.minecraft.network.packet.s2c.play.SignEditorOpenS2CPacket;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.thread.ThreadExecutor;
|
||||
import ru.betterend.blocks.entities.ESignBlockEntity;
|
||||
import ru.betterend.blocks.entities.PedestalBlockEntity;
|
||||
import ru.betterend.client.gui.BlockSignEditScreen;
|
||||
|
||||
@Mixin(ClientPlayNetworkHandler.class)
|
||||
|
@ -30,8 +27,7 @@ public class ClientPlayNetworkHandlerMixin
|
|||
|
||||
@Inject(method = "onSignEditorOpen", at = @At(value = "HEAD"), cancellable = true)
|
||||
public void be_openSignEditor(SignEditorOpenS2CPacket packet, CallbackInfo info) {
|
||||
NetworkThreadUtils.forceMainThread(packet, (ClientPlayNetworkHandler) (Object) this,
|
||||
(ThreadExecutor<?>) client);
|
||||
NetworkThreadUtils.forceMainThread(packet, (ClientPlayNetworkHandler) (Object) this, (ThreadExecutor<?>) client);
|
||||
BlockEntity blockEntity = this.world.getBlockEntity(packet.getPos());
|
||||
if (blockEntity instanceof ESignBlockEntity) {
|
||||
ESignBlockEntity sign = (ESignBlockEntity) blockEntity;
|
||||
|
@ -39,16 +35,4 @@ public class ClientPlayNetworkHandlerMixin
|
|||
info.cancel();
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "onBlockEntityUpdate", at = @At(value = "HEAD"), cancellable = true)
|
||||
public void be_onEntityUpdate(BlockEntityUpdateS2CPacket packet, CallbackInfo info) {
|
||||
NetworkThreadUtils.forceMainThread(packet, (ClientPlayNetworkHandler) (Object) this,
|
||||
(ThreadExecutor<?>) client);
|
||||
BlockPos blockPos = packet.getPos();
|
||||
BlockEntity blockEntity = this.client.world.getBlockEntity(blockPos);
|
||||
if (blockEntity instanceof ESignBlockEntity || blockEntity instanceof PedestalBlockEntity) {
|
||||
blockEntity.fromTag(this.client.world.getBlockState(blockPos), packet.getCompoundTag());
|
||||
info.cancel();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue