Finally fixed Eternal Teleportation

This commit is contained in:
Aleksey 2021-01-17 17:46:23 +03:00
parent 337dd60d18
commit 5e6763d619
5 changed files with 150 additions and 61 deletions

View file

@ -1,13 +1,5 @@
package ru.betterend.mixin.common;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
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 net.minecraft.block.BlockState;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.network.NetworkThreadUtils;
@ -18,6 +10,13 @@ import net.minecraft.server.world.ServerWorld;
import net.minecraft.text.LiteralText;
import net.minecraft.util.Formatting;
import net.minecraft.util.math.BlockPos;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
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 ru.betterend.blocks.entities.ESignBlockEntity;
@Mixin(ServerPlayNetworkHandler.class)
@ -30,7 +29,7 @@ public class ServerPlayNetworkHandlerMixin {
@Inject(method = "onSignUpdate", at = @At(value = "HEAD"), cancellable = true)
private void be_signUpdate(UpdateSignC2SPacket packet, CallbackInfo info) {
NetworkThreadUtils.forceMainThread(packet, (ServerPlayNetworkHandler) (Object) this, (ServerWorld) this.player.getServerWorld());
NetworkThreadUtils.forceMainThread(packet, ServerPlayNetworkHandler.class.cast(this), player.getServerWorld());
this.player.updateLastActionTime();
ServerWorld serverWorld = this.player.getServerWorld();
BlockPos blockPos = packet.getPos();