aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/djtheredstoner/perspectivemod/PerspectiveMod.java
diff options
context:
space:
mode:
authorDJtheRedstoner <52044242+DJtheRedstoner@users.noreply.github.com>2020-10-21 21:15:01 -0400
committerDJtheRedstoner <52044242+DJtheRedstoner@users.noreply.github.com>2020-10-21 21:15:01 -0400
commitab4eb74fb5af37b7eaf5e9faa95debb75721d269 (patch)
treef68910a45549b5c3636228a016824a5b3e965dbe /src/main/java/me/djtheredstoner/perspectivemod/PerspectiveMod.java
parent3cd0d242a9a631ab7a255c81a761b9a91c6d23b5 (diff)
downloadPerspectiveModv4-ab4eb74fb5af37b7eaf5e9faa95debb75721d269.tar.gz
PerspectiveModv4-ab4eb74fb5af37b7eaf5e9faa95debb75721d269.tar.bz2
PerspectiveModv4-ab4eb74fb5af37b7eaf5e9faa95debb75721d269.zip
Bug Fixes:
- Fix spazing in and out - Now with 100% less static abuse
Diffstat (limited to 'src/main/java/me/djtheredstoner/perspectivemod/PerspectiveMod.java')
-rw-r--r--src/main/java/me/djtheredstoner/perspectivemod/PerspectiveMod.java77
1 files changed, 37 insertions, 40 deletions
diff --git a/src/main/java/me/djtheredstoner/perspectivemod/PerspectiveMod.java b/src/main/java/me/djtheredstoner/perspectivemod/PerspectiveMod.java
index 6d71bf0..34e3b13 100644
--- a/src/main/java/me/djtheredstoner/perspectivemod/PerspectiveMod.java
+++ b/src/main/java/me/djtheredstoner/perspectivemod/PerspectiveMod.java
@@ -3,6 +3,7 @@ package me.djtheredstoner.perspectivemod;
import me.djtheredstoner.perspectivemod.commands.PerspectiveModCommand;
import me.djtheredstoner.perspectivemod.config.PerspectiveModConfig;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.settings.GameSettings;
import net.minecraft.client.settings.KeyBinding;
import net.minecraftforge.client.ClientCommandHandler;
import net.minecraftforge.client.event.GuiOpenEvent;
@@ -12,32 +13,35 @@ import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
-import net.minecraftforge.fml.common.gameevent.InputEvent;
+import net.minecraftforge.fml.common.gameevent.TickEvent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.lwjgl.input.Keyboard;
-import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.Display;
@Mod(modid = "djperspectivemod", name = "Perspective Mod v4", version = "4.2", acceptedMinecraftVersions = "[1.8.9]", clientSideOnly = true)
public class PerspectiveMod {
- private static final Minecraft mc = Minecraft.getMinecraft();
- private static final KeyBinding perspectiveKey = new KeyBinding("Perspective", Keyboard.KEY_LMENU, "Perspective Mod");
- private static final Logger logger = LogManager.getLogger("Perspective Mod v4");
+ @Mod.Instance
+ public static PerspectiveMod instance;
- public static PerspectiveModConfig config;
+ public final PerspectiveModConfig config = new PerspectiveModConfig();
- public static boolean perspectiveToggled = false;
- public static float cameraYaw = 0F;
- public static float cameraPitch = 0F;
- private static int previousPerspective = 0;
+ public boolean perspectiveToggled = false;
+ public float cameraYaw = 0F;
+ public float cameraPitch = 0F;
+
+ private int previousPerspective = 0;
+ private boolean prevState = false;
+
+ private final Minecraft mc = Minecraft.getMinecraft();
+ private final KeyBinding perspectiveKey = new KeyBinding("Perspective", Keyboard.KEY_LMENU, "Perspective Mod");
+ private final Logger logger = LogManager.getLogger("Perspective Mod v4");
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
ModCoreInstaller.initializeModCore(Minecraft.getMinecraft().mcDataDir);
- config = new PerspectiveModConfig();
config.preload();
ClientRegistry.registerKeyBinding(perspectiveKey);
@@ -46,16 +50,11 @@ public class PerspectiveMod {
}
@SubscribeEvent
- public void onKeyEvent(InputEvent.KeyInputEvent event) {
- if (perspectiveKey.getKeyCode() > 0) {
- onPressed(Keyboard.getEventKey(), Keyboard.getEventKeyState());
- }
- }
-
- @SubscribeEvent
- public void onMouseEvent(InputEvent.MouseInputEvent event) {
- if (perspectiveKey.getKeyCode() < 0) {
- onPressed(Mouse.getEventButton() - 100, Mouse.getEventButtonState());
+ public void tick(TickEvent.RenderTickEvent event) {
+ boolean down = GameSettings.isKeyDown(perspectiveKey);
+ if(down != prevState && mc.currentScreen == null) {
+ prevState = down;
+ onPressed(0, down);
}
}
@@ -73,30 +72,28 @@ public class PerspectiveMod {
}
}
- public static void onPressed(int eventKey, boolean state) {
- if (eventKey == perspectiveKey.getKeyCode()) {
- if (config.modEnabled) {
- if (state) {
- perspectiveToggled = !perspectiveToggled;
- cameraYaw = mc.thePlayer.rotationYaw;
- cameraPitch = mc.thePlayer.rotationPitch;
-
- if (perspectiveToggled) {
- previousPerspective = mc.gameSettings.thirdPersonView;
- mc.gameSettings.thirdPersonView = 1;
- } else {
- mc.gameSettings.thirdPersonView = previousPerspective;
- }
- } else if (config.holdMode) {
- resetPerspective();
+ public void onPressed(int eventKey, boolean state) {
+ if (config.modEnabled) {
+ if (state) {
+ perspectiveToggled = !perspectiveToggled;
+ cameraYaw = mc.thePlayer.rotationYaw;
+ cameraPitch = mc.thePlayer.rotationPitch;
+
+ if (perspectiveToggled) {
+ previousPerspective = mc.gameSettings.thirdPersonView;
+ mc.gameSettings.thirdPersonView = 1;
+ } else {
+ mc.gameSettings.thirdPersonView = previousPerspective;
}
- } else if (perspectiveToggled) {
+ } else if (config.holdMode) {
resetPerspective();
}
+ } else if (perspectiveToggled) {
+ resetPerspective();
}
}
- public static boolean overrideMouse() {
+ public boolean overrideMouse() {
if (mc.inGameHasFocus && Display.isActive()) {
if (!perspectiveToggled) {
return true;
@@ -124,7 +121,7 @@ public class PerspectiveMod {
return false;
}
- public static void resetPerspective() {
+ public void resetPerspective() {
perspectiveToggled = false;
mc.gameSettings.thirdPersonView = previousPerspective;
}