Fix player being invisible after respawn
Remove unused PlayerRespawnEvent handler
This commit is contained in:
@@ -19,7 +19,6 @@ import net.minecraftforge.event.entity.player.PlayerSleepInBedEvent;
|
|||||||
import net.minecraftforge.event.entity.player.PlayerUseItemEvent;
|
import net.minecraftforge.event.entity.player.PlayerUseItemEvent;
|
||||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.gameevent.PlayerEvent.ItemPickupEvent;
|
import net.minecraftforge.fml.common.gameevent.PlayerEvent.ItemPickupEvent;
|
||||||
import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerRespawnEvent;
|
|
||||||
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
||||||
import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent;
|
import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent;
|
||||||
|
|
||||||
@@ -43,6 +42,15 @@ public class RecordingHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onPlayerRespawn() {
|
||||||
|
if(!ConnectionEventHandler.isRecording()) return;
|
||||||
|
try {
|
||||||
|
ConnectionEventHandler.insertPacket(spawnPlayer(mc.thePlayer));
|
||||||
|
} catch(Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private S0CPacketSpawnPlayer spawnPlayer(EntityPlayer player) {
|
private S0CPacketSpawnPlayer spawnPlayer(EntityPlayer player) {
|
||||||
try {
|
try {
|
||||||
S0CPacketSpawnPlayer packet = new S0CPacketSpawnPlayer();
|
S0CPacketSpawnPlayer packet = new S0CPacketSpawnPlayer();
|
||||||
@@ -271,18 +279,6 @@ public class RecordingHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
|
||||||
public void onRespawn(PlayerRespawnEvent event) {
|
|
||||||
if(!ConnectionEventHandler.isRecording()) return;
|
|
||||||
try {
|
|
||||||
//destroy entity, then respawn
|
|
||||||
ConnectionEventHandler.insertPacket(new S13PacketDestroyEntities(mc.thePlayer.getEntityId()));
|
|
||||||
ConnectionEventHandler.insertPacket(spawnPlayer(mc.thePlayer));
|
|
||||||
} catch(Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onStartEating(PlayerUseItemEvent.Start event) {
|
public void onStartEating(PlayerUseItemEvent.Start event) {
|
||||||
if(!ConnectionEventHandler.isRecording()) return;
|
if(!ConnectionEventHandler.isRecording()) return;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import eu.crushedpixel.replaymod.ReplayMod;
|
|||||||
import eu.crushedpixel.replaymod.recording.ConnectionEventHandler;
|
import eu.crushedpixel.replaymod.recording.ConnectionEventHandler;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.network.NetHandlerPlayClient;
|
import net.minecraft.client.network.NetHandlerPlayClient;
|
||||||
|
import net.minecraft.network.play.server.S07PacketRespawn;
|
||||||
import net.minecraft.network.play.server.S38PacketPlayerListItem;
|
import net.minecraft.network.play.server.S38PacketPlayerListItem;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
@@ -34,4 +35,18 @@ public abstract class MixinNetHandlerPlayClient {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Record the own player entity respawning.
|
||||||
|
* We cannot use the {@link net.minecraftforge.event.entity.EntityJoinWorldEvent} because that would also include
|
||||||
|
* the first spawn which is already handled by {@link #recordOwnJoin(S38PacketPlayerListItem, CallbackInfo)}.
|
||||||
|
* @param packet The packet
|
||||||
|
* @param ci Callback info
|
||||||
|
*/
|
||||||
|
@Inject(method = "handleRespawn", at=@At("RETURN"))
|
||||||
|
public void recordOwnRespawn(S07PacketRespawn packet, CallbackInfo ci) {
|
||||||
|
if (ConnectionEventHandler.isRecording()) {
|
||||||
|
ReplayMod.recordingHandler.onPlayerRespawn();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user