diff --git a/.github/scripts/test_no_error_reports b/.github/scripts/test_no_error_reports old mode 100644 new mode 100755 diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/src/main/java/com/gtnewhorizon/structurelib/ClientProxy.java b/src/main/java/com/gtnewhorizon/structurelib/ClientProxy.java index 21dc68b4..3fceb0fa 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/ClientProxy.java +++ b/src/main/java/com/gtnewhorizon/structurelib/ClientProxy.java @@ -20,7 +20,6 @@ import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.culling.Frustrum; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.resources.I18n; -import net.minecraft.client.settings.KeyBinding; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -43,23 +42,18 @@ import org.lwjgl.opengl.GL11; import com.gtnewhorizon.structurelib.entity.fx.WeightlessParticleFX; import com.gtnewhorizon.structurelib.net.RegistryOrderSyncMessage; import com.gtnewhorizon.structurelib.net.SetChannelDataMessage; -import com.gtnewhorizon.structurelib.net.StructureProjectorCycleModeMessage; import cpw.mods.fml.client.config.GuiConfig; import cpw.mods.fml.client.event.ConfigChangedEvent; -import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLLoadCompleteEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.InputEvent; import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; import cpw.mods.fml.common.gameevent.TickEvent.Phase; import cpw.mods.fml.common.network.FMLNetworkEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; public class ClientProxy extends CommonProxy { @@ -269,8 +263,6 @@ public class ClientProxy extends CommonProxy { @Override public void init(FMLInitializationEvent e) { super.init(e); - - MinecraftForge.EVENT_BUS.register(new KeybindHandler()); } static void markTextureUsed(IIcon icon) { @@ -668,30 +660,4 @@ public class ClientProxy extends CommonProxy { p.endSection(); } } - - public static class KeybindHandler { - - private static final KeyBinding CYCLE_PROJECTOR_MODE = new KeyBinding( - "item.structurelib.constructableTrigger.keys.cycleMode", - 0, - "item.structurelib.constructableTrigger.keyCategory"); - - public KeybindHandler() { - FMLCommonHandler.instance().bus().register(this); - // If somebody wants to make a UI element for this, be my guest - ClientRegistry.registerKeyBinding(CYCLE_PROJECTOR_MODE); - } - - @SideOnly(Side.CLIENT) - @SubscribeEvent - public void key(InputEvent.KeyInputEvent event) { - if (CYCLE_PROJECTOR_MODE.isPressed()) { - cycleProjectorMode(); - } - } - - private static void cycleProjectorMode() { - StructureLib.net.sendToServer(new StructureProjectorCycleModeMessage()); - } - } } diff --git a/src/main/java/com/gtnewhorizon/structurelib/CommonProxy.java b/src/main/java/com/gtnewhorizon/structurelib/CommonProxy.java index 8660c8fe..f8d3bbea 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/CommonProxy.java +++ b/src/main/java/com/gtnewhorizon/structurelib/CommonProxy.java @@ -14,6 +14,8 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; +import com.gtnewhorizon.gtnhlib.keybind.SyncedKeybind; +import com.gtnewhorizon.structurelib.item.ItemConstructableTrigger; import com.gtnewhorizon.structurelib.net.ErrorHintParticleMessage; import com.gtnewhorizon.structurelib.net.UpdateHintParticleMessage; @@ -111,6 +113,16 @@ public class CommonProxy { } } + private static final SyncedKeybind MODE_SWAP_KEY = SyncedKeybind.createConfigurable( + "item.structurelib.constructableTrigger.keys.cycleMode", + "item.structurelib.constructableTrigger.keyCategory", + 0).registerGlobalListener((entityPlayerMP, syncedKeybind) -> { + final ItemStack held = entityPlayerMP.getHeldItem(); + if (held != null && held.getItem() instanceof ItemConstructableTrigger) { + ItemConstructableTrigger.cycleMode(held); + } + }); + public void displayConfigGUI(String category) {} public static class ForgeEventHandler { diff --git a/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java b/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java index 6b7f5bf2..4a491d86 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java +++ b/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java @@ -27,7 +27,6 @@ import com.gtnewhorizon.structurelib.net.AlignmentMessage; import com.gtnewhorizon.structurelib.net.ErrorHintParticleMessage; import com.gtnewhorizon.structurelib.net.RegistryOrderSyncMessage; import com.gtnewhorizon.structurelib.net.SetChannelDataMessage; -import com.gtnewhorizon.structurelib.net.StructureProjectorCycleModeMessage; import com.gtnewhorizon.structurelib.net.UpdateHintParticleMessage; import com.gtnewhorizon.structurelib.util.InventoryUtility; import com.gtnewhorizon.structurelib.util.XSTR; @@ -79,11 +78,6 @@ public class StructureLib { net.registerMessage(SetChannelDataMessage.Handler.class, SetChannelDataMessage.class, 3, Side.SERVER); net.registerMessage(ErrorHintParticleMessage.Handler.class, ErrorHintParticleMessage.class, 4, Side.CLIENT); net.registerMessage(RegistryOrderSyncMessage.Handler.class, RegistryOrderSyncMessage.class, 5, Side.SERVER); - net.registerMessage( - StructureProjectorCycleModeMessage.Handler.class, - StructureProjectorCycleModeMessage.class, - 6, - Side.SERVER); try { DEBUG_MODE = Boolean.parseBoolean(System.getProperty("structurelib.debug")); diff --git a/src/main/java/com/gtnewhorizon/structurelib/net/StructureProjectorCycleModeMessage.java b/src/main/java/com/gtnewhorizon/structurelib/net/StructureProjectorCycleModeMessage.java deleted file mode 100644 index 80858eac..00000000 --- a/src/main/java/com/gtnewhorizon/structurelib/net/StructureProjectorCycleModeMessage.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.gtnewhorizon.structurelib.net; - -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; - -import com.gtnewhorizon.structurelib.item.ItemConstructableTrigger; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import io.netty.buffer.ByteBuf; - -public class StructureProjectorCycleModeMessage implements IMessage { - - @Override - public void fromBytes(ByteBuf buf) { - // no op - } - - @Override - public void toBytes(ByteBuf buf) { - // no op - } - - public static class Handler implements IMessageHandler { - - @Override - public IMessage onMessage(StructureProjectorCycleModeMessage message, MessageContext ctx) { - EntityPlayerMP player = ctx.getServerHandler().playerEntity; - final ItemStack held = player.getHeldItem(); - if (held != null && held.getItem() instanceof ItemConstructableTrigger) { - ItemConstructableTrigger.cycleMode(held); - } - return null; - } - } -} diff --git a/src/main/resources/assets/structurelib/textures/items/constructableTrigger/BUILDING.png b/src/main/resources/assets/structurelib/textures/items/constructableTrigger/BUILDING.png index dd2b6911..3a5943d6 100644 Binary files a/src/main/resources/assets/structurelib/textures/items/constructableTrigger/BUILDING.png and b/src/main/resources/assets/structurelib/textures/items/constructableTrigger/BUILDING.png differ diff --git a/src/main/resources/assets/structurelib/textures/items/constructableTrigger/REMOVING.png b/src/main/resources/assets/structurelib/textures/items/constructableTrigger/REMOVING.png index adcb90de..5c00b30c 100644 Binary files a/src/main/resources/assets/structurelib/textures/items/constructableTrigger/REMOVING.png and b/src/main/resources/assets/structurelib/textures/items/constructableTrigger/REMOVING.png differ diff --git a/src/main/resources/assets/structurelib/textures/items/constructableTrigger/UPDATING.png b/src/main/resources/assets/structurelib/textures/items/constructableTrigger/UPDATING.png index c9ed6178..28a34c43 100644 Binary files a/src/main/resources/assets/structurelib/textures/items/constructableTrigger/UPDATING.png and b/src/main/resources/assets/structurelib/textures/items/constructableTrigger/UPDATING.png differ