From c472007bbfa5e319e3e3967fb061875e000bb95e Mon Sep 17 00:00:00 2001 From: Lance5057 Date: Tue, 27 Jan 2015 19:27:30 -0600 Subject: A whole mess of graphic updates --- .../java/modwarriors/notenoughkeys/api/Api.java | 40 ++++++++++++++++++++ .../notenoughkeys/api/KeyBindingPressedEvent.java | 43 ++++++++++++++++++++++ .../notenoughkeys/api/package-info.java | 5 +++ 3 files changed, 88 insertions(+) create mode 100644 src/api/java/modwarriors/notenoughkeys/api/Api.java create mode 100644 src/api/java/modwarriors/notenoughkeys/api/KeyBindingPressedEvent.java create mode 100644 src/api/java/modwarriors/notenoughkeys/api/package-info.java (limited to 'src/api/java/modwarriors') diff --git a/src/api/java/modwarriors/notenoughkeys/api/Api.java b/src/api/java/modwarriors/notenoughkeys/api/Api.java new file mode 100644 index 0000000..390d28a --- /dev/null +++ b/src/api/java/modwarriors/notenoughkeys/api/Api.java @@ -0,0 +1,40 @@ +package modwarriors.notenoughkeys.api; + +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +/** + * Center of the API. Main api methods can be found in this class. + * + * @author TheTemportalist + */ +@SideOnly(Side.CLIENT) +public class Api { + + /** + * Checks if NotEnoughKeys is loaded in the current environment + * + * @return 'true' if loaded + */ + public static boolean isLoaded() { + return Loader.isModLoaded("notenoughkeys"); + } + + /** + * Registers a mod's keys with NEK + * + * @param modname The NAME of the mod registering the key + * @param keyDecriptions A String[] (Array[String]) of the key descriptions. i.e. new String[]{"key.hotbar1"} + */ + public static void registerMod(String modname, String[] keyDecriptions) { + try { + Class.forName("modwarriors.notenoughkeys.keys.KeyHelper").getMethod( + "registerMod", String.class, String[].class + ).invoke(null, modname, keyDecriptions); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/src/api/java/modwarriors/notenoughkeys/api/KeyBindingPressedEvent.java b/src/api/java/modwarriors/notenoughkeys/api/KeyBindingPressedEvent.java new file mode 100644 index 0000000..d17b808 --- /dev/null +++ b/src/api/java/modwarriors/notenoughkeys/api/KeyBindingPressedEvent.java @@ -0,0 +1,43 @@ +package modwarriors.notenoughkeys.api; + +import cpw.mods.fml.common.eventhandler.Cancelable; +import cpw.mods.fml.common.eventhandler.Event; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.settings.KeyBinding; + +/** + * Called when a keybinding is triggered with the passed with valid modifiers + * + * @author TheTemportalist + */ +@SideOnly(Side.CLIENT) +@Cancelable +public class KeyBindingPressedEvent extends Event { + + /** + * The KeyBinding being triggered + */ + public KeyBinding keyBinding = null; + /** + * Tells whether a modifier was required AND was down when triggered + */ + public boolean shiftRequired = false, ctrlRequired = false, altRequired = false; + + /** + * Called with the passed keyBinding and modifiers. + * Subscribe to this event so activate a keybinding when triggered. + * + * @param keyBinding The KeyBinding being triggered. Stores the key's description and keycode + * @param modifiers The modifiers (SHIFT, CTRL, ALT) that determine when a compatible key is pressed + */ + public KeyBindingPressedEvent(KeyBinding keyBinding, boolean[] modifiers) { + super(); + this.keyBinding = keyBinding; + this.shiftRequired = modifiers[0]; + this.ctrlRequired = modifiers[1]; + this.altRequired = modifiers[2]; + + } + +} diff --git a/src/api/java/modwarriors/notenoughkeys/api/package-info.java b/src/api/java/modwarriors/notenoughkeys/api/package-info.java new file mode 100644 index 0000000..d53b000 --- /dev/null +++ b/src/api/java/modwarriors/notenoughkeys/api/package-info.java @@ -0,0 +1,5 @@ + +@API(owner = "Not Enough Keys", provides = "API_NEK", + apiVersion = "1.0.0") package modwarriors.notenoughkeys.api; + +import cpw.mods.fml.common.API; -- cgit v1.2.3