Add spectating

This commit is contained in:
johni0702
2015-11-08 12:38:42 +01:00
parent 14941c15bb
commit b490531511
4 changed files with 61 additions and 16 deletions

View File

@@ -11,6 +11,9 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.network.NetHandlerPlayClient;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.item.EntityItemFrame;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.stats.StatFileWriter;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.MovingObjectPosition;
@@ -214,9 +217,22 @@ public class CameraEntity extends EntityPlayerSP {
long timePassed = now - lastControllerUpdate;
cameraController.update(timePassed / 50f);
lastControllerUpdate = now;
if (mc.gameSettings.keyBindAttack.isPressed() || mc.gameSettings.keyBindUseItem.isPressed()) {
if (canSpectate(mc.pointedEntity)) {
ReplayModReplay.instance.getReplayHandler().spectateEntity(mc.pointedEntity);
// Make sure we don't exit right away
mc.gameSettings.keyBindSneak.pressTime = 0;
}
}
}
}
public boolean canSpectate(Entity e) {
return e != null && !e.isInvisible()
&& (e instanceof EntityPlayer || e instanceof EntityLiving || e instanceof EntityItemFrame);
}
@SubscribeEvent
public void onSettingsChanged(SettingsChangedEvent event) {
if (event.getKey() == Setting.CAMERA) {