Added theoretical support for deactivation at runtime and moved keybinding operations to UtilKeyBinding

This commit is contained in:
Marcel Konrad
2018-06-22 00:51:48 +02:00
parent 8ccebd66f0
commit 5716966c51
2 changed files with 61 additions and 23 deletions

View File

@@ -0,0 +1,39 @@
package exopandora.worldhandler.util;
import org.apache.commons.lang3.ArrayUtils;
import exopandora.worldhandler.WorldHandler;
import exopandora.worldhandler.config.ConfigSettings;
import net.minecraft.client.Minecraft;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class UtilKeyBinding
{
public static void updatePosKeys()
{
boolean isRegistered = arePosKeysRegistered();
if(ConfigSettings.arePosShortcutsEnabled() && !isRegistered)
{
ClientRegistry.registerKeyBinding(WorldHandler.KEY_WORLD_HANDLER_POS1);
ClientRegistry.registerKeyBinding(WorldHandler.KEY_WORLD_HANDLER_POS2);
}
else if(!ConfigSettings.arePosShortcutsEnabled() && isRegistered)
{
removePosKeys();
}
}
public static boolean arePosKeysRegistered()
{
return ArrayUtils.contains(Minecraft.getMinecraft().gameSettings.keyBindings, WorldHandler.KEY_WORLD_HANDLER_POS1) || ArrayUtils.contains(Minecraft.getMinecraft().gameSettings.keyBindings, WorldHandler.KEY_WORLD_HANDLER_POS2);
}
public static void removePosKeys()
{
Minecraft.getMinecraft().gameSettings.keyBindings = ArrayUtils.removeElements(Minecraft.getMinecraft().gameSettings.keyBindings, WorldHandler.KEY_WORLD_HANDLER_POS1, WorldHandler.KEY_WORLD_HANDLER_POS2);
}
}