Add rotation key bindings

This commit is contained in:
johni0702
2016-09-02 22:40:03 +02:00
parent 26f2e76b9d
commit 31eed8801a
3 changed files with 29 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.network.NetworkPlayerInfo;
import net.minecraft.client.resources.DefaultPlayerSkin;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.input.Keyboard;
import org.lwjgl.util.Dimension;
import org.lwjgl.util.ReadableDimension;
@@ -71,4 +72,8 @@ public class Utils {
}
return skinLocation;
}
public static boolean isCtrlDown() {
return Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) || Keyboard.isKeyDown(Keyboard.KEY_RCONTROL);
}
}

View File

@@ -23,6 +23,7 @@ import javax.annotation.Nullable;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Optional;
@Mod(modid = ReplayModReplay.MOD_ID, useMetadata = true)
public class ReplayModReplay {
@@ -106,6 +107,18 @@ public class ReplayModReplay {
}
});
core.getKeyBindingRegistry().registerKeyBinding("replaymod.input.rollclockwise", Keyboard.KEY_L, () -> {
// Noop, actual handling logic in CameraEntity#update
});
core.getKeyBindingRegistry().registerKeyBinding("replaymod.input.rollcounterclockwise", Keyboard.KEY_J, () -> {
// Noop, actual handling logic in CameraEntity#update
});
core.getKeyBindingRegistry().registerKeyBinding("replaymod.input.resettilt", Keyboard.KEY_K, () -> {
Optional.ofNullable(replayHandler).map(ReplayHandler::getCameraEntity).ifPresent(c -> c.roll = 0);
});
cameraControllerRegistry.register("replaymod.camera.classic", new Function<CameraEntity, CameraController>() {
@Nullable
@Override

View File

@@ -1,5 +1,6 @@
package com.replaymod.replay.camera;
import com.replaymod.core.ReplayMod;
import com.replaymod.core.events.SettingsChangedEvent;
import com.replaymod.core.utils.Utils;
import com.replaymod.replay.ReplayModReplay;
@@ -11,6 +12,7 @@ import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.network.NetHandlerPlayClient;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.item.EntityItemFrame;
@@ -29,6 +31,7 @@ import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import java.util.Map;
import java.util.UUID;
import java.util.function.Function;
@@ -284,6 +287,14 @@ public class CameraEntity extends EntityPlayerSP {
mc.gameSettings.keyBindSneak.pressTime = 0;
}
}
Map<String, KeyBinding> keyBindings = ReplayMod.instance.getKeyBindingRegistry().getKeyBindings();
if (keyBindings.get("replaymod.input.rollclockwise").isKeyDown()) {
roll += Utils.isCtrlDown() ? 0.2 : 1;
}
if (keyBindings.get("replaymod.input.rollcounterclockwise").isKeyDown()) {
roll -= Utils.isCtrlDown() ? 0.2 : 1;
}
}
private void updateArmYawAndPitch() {