diff --git a/src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java b/src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java index 85bb7520..dc5e353c 100755 --- a/src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java +++ b/src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java @@ -12,6 +12,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import org.lwjgl.Sys; @@ -53,6 +54,7 @@ public class CameraEntity extends EntityPlayer { public CameraEntity(World worldIn) { super(worldIn, Minecraft.getMinecraft().getSession().getProfile()); + FMLCommonHandler.instance().bus().register(this); } @SubscribeEvent diff --git a/src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java b/src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java index 4c0487ad..859f5bce 100755 --- a/src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java +++ b/src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java @@ -204,16 +204,13 @@ public class ReplayHandler { } public static CameraEntity getCameraEntity() { + if(cameraEntity == null && mc.theWorld != null) cameraEntity = new CameraEntity(mc.theWorld); return cameraEntity; } public static void setCameraEntity(CameraEntity entity) { if(entity == null) return; - if (cameraEntity != null) { - FMLCommonHandler.instance().bus().unregister(cameraEntity); - } cameraEntity = entity; - FMLCommonHandler.instance().bus().register(cameraEntity); spectateCamera(); }