From 3f41aafefd7d882e1225767532bcc11dfa867410 Mon Sep 17 00:00:00 2001 From: "MoreThanHidden (John816)" Date: Tue, 6 Dec 2016 23:11:50 +0800 Subject: [PATCH 1/4] Added Manaul Morph and Network --- build.gradle | 2 +- build.properties | 15 ++- gradlew.bat | 90 +++++++++++++++++ .../java/vazkii/morphtool/ClientHandler.java | 97 +++++++++++++++++++ .../java/vazkii/morphtool/ItemMorphTool.java | 7 +- src/main/java/vazkii/morphtool/MorphTool.java | 11 +-- .../vazkii/morphtool/MorphingHandler.java | 34 +------ .../morphtool/network/MessageMorphTool.java | 35 +++++++ .../vazkii/morphtool/proxy/ClientProxy.java | 11 ++- 9 files changed, 249 insertions(+), 53 deletions(-) create mode 100644 gradlew.bat create mode 100644 src/main/java/vazkii/morphtool/ClientHandler.java create mode 100644 src/main/java/vazkii/morphtool/network/MessageMorphTool.java diff --git a/build.gradle b/build.gradle index 65b3d3c..fc4fff6 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,7 @@ group = "vazkii.morphtool" // http://maven.apache.org/guides/mini/guide-naming-c archivesBaseName = config.mod_name minecraft { - version = "${config.mc_version}-${config.forge_version}-${config.mc_version_suffix}" + version = "${config.mc_version}-${config.forge_version}" runDir = "eclipse/assets" mappings = config.mc_mappings diff --git a/build.properties b/build.properties index c04c262..87c4016 100644 --- a/build.properties +++ b/build.properties @@ -1,11 +1,10 @@ # -#Fri Sep 02 02:12:17 BST 2016 -mod_name=Morph-o-Tool -forge_version=12.18.0.1986 -mc_version_suffix=1.10.0 -dir_repo=./ -mc_mappings=snapshot_20160518 +#Tue Dec 06 23:07:11 AWST 2016 version=1.0 +mc_mappings=snapshot_20160518 dir_output=../Build Output/Morphtool/ -mc_version=1.10 -build_number=12 +mc_version=1.10.2 +dir_repo=./ +forge_version=12.18.3.2185 +build_number=19 +mod_name=Morph-o-Tool diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/src/main/java/vazkii/morphtool/ClientHandler.java b/src/main/java/vazkii/morphtool/ClientHandler.java new file mode 100644 index 0000000..222f8a7 --- /dev/null +++ b/src/main/java/vazkii/morphtool/ClientHandler.java @@ -0,0 +1,97 @@ +package vazkii.morphtool; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumHand; +import net.minecraft.util.math.RayTraceResult; +import net.minecraftforge.client.event.MouseEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import vazkii.arl.network.NetworkHandler; +import vazkii.morphtool.network.MessageMorphTool; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@SideOnly(Side.CLIENT) +public class ClientHandler { + + public static final ClientHandler INSTANCE = new ClientHandler(); + protected static boolean autoMode = true; + + @SubscribeEvent + public void onMouseEvent(MouseEvent event) { + EntityPlayerSP player = Minecraft.getMinecraft().thePlayer; + ItemStack mainHandItem = player.getHeldItem(ConfigHandler.invertHandShift ? EnumHand.OFF_HAND : EnumHand.MAIN_HAND); + if(MorphingHandler.isMorphTool(mainHandItem)) { + ItemStack newStack = mainHandItem; + RayTraceResult res = MorphingHandler.raycast(player, 4.5); + String mod = MorphingHandler.getModFromStack(mainHandItem); + String modlook = ""; + + //Get looked at Mod + if (res != null) { + IBlockState state = player.worldObj.getBlockState(res.getBlockPos()); + modlook = MorphingHandler.getModFromState(state); + //Morph tool to looked at Mod + if(autoMode && event.getDwheel() == 0){ + newStack = MorphingHandler.getShiftStackForMod(mainHandItem, modlook); + } + } + //Manual Scroll for Morph (exluding looked at a mod block incase it also needs scrolling) + if (event.getDwheel() != 0 && player.isSneaking() && !modlook.equals(mod)) { + if(mainHandItem.getTagCompound() != null){ + NBTTagCompound morphData = mainHandItem.getTagCompound().getCompoundTag(MorphingHandler.TAG_MORPH_TOOL_DATA); + mod = event.getDwheel() < 0 ? nextMod(morphData, mod) : previousMod(morphData, mod); + newStack = MorphingHandler.getShiftStackForMod(mainHandItem, mod); + autoMode = mod.equals("morphtool"); + event.setCanceled(true); + } + } + + if(newStack != mainHandItem && !ItemStack.areItemsEqual(newStack, mainHandItem)) { + player.inventory.setInventorySlotContents(ConfigHandler.invertHandShift ? player.inventory.getSizeInventory() - 1 : player.inventory.currentItem, newStack); + NetworkHandler.INSTANCE.sendToServer(new MessageMorphTool(newStack, player.inventory.currentItem)); + MorphTool.proxy.updateEquippedItem(); + } + } + } + + public static String nextMod(NBTTagCompound morphData, String mod) { + List mods = new ArrayList<>(morphData.getKeySet()); + mods.add("morphtool"); + if (!mod.equals("morphtool")){ + mods.add(mod); + } + Collections.sort(mods); + int id = mods.indexOf(mod); + int retid = 0; + //Move up the Array + if(mods.size() > (id + 1)){ + retid = id + 1; + } + return mods.get(retid); + } + + public static String previousMod(NBTTagCompound morphData, String mod) { + List mods = new ArrayList<>(morphData.getKeySet()); + mods.add("morphtool"); + if (!mod.equals("morphtool")){ + mods.add(mod); + } + Collections.sort(mods); + int id = mods.indexOf(mod); + int retid = mods.size() - 1; + //Move down the Array + if(0 <= (id - 1)){ + retid = (id - 1); + } + return mods.get(retid); + } + +} diff --git a/src/main/java/vazkii/morphtool/ItemMorphTool.java b/src/main/java/vazkii/morphtool/ItemMorphTool.java index 0287f91..db31edb 100644 --- a/src/main/java/vazkii/morphtool/ItemMorphTool.java +++ b/src/main/java/vazkii/morphtool/ItemMorphTool.java @@ -1,10 +1,6 @@ package vazkii.morphtool; -import java.util.List; - import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.resources.I18n; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -12,7 +8,6 @@ import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; -import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.common.registry.GameRegistry; @@ -20,6 +15,8 @@ import net.minecraftforge.oredict.RecipeSorter.Category; import vazkii.arl.item.ItemMod; +import java.util.List; + public class ItemMorphTool extends ItemMod { public ItemMorphTool() { diff --git a/src/main/java/vazkii/morphtool/MorphTool.java b/src/main/java/vazkii/morphtool/MorphTool.java index 6e77b65..1f083a2 100644 --- a/src/main/java/vazkii/morphtool/MorphTool.java +++ b/src/main/java/vazkii/morphtool/MorphTool.java @@ -1,15 +1,12 @@ package vazkii.morphtool; -import net.minecraft.init.Items; -import net.minecraft.item.EnumDyeColor; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import vazkii.arl.network.NetworkHandler; +import vazkii.morphtool.network.MessageMorphTool; import vazkii.morphtool.proxy.CommonProxy; @Mod(modid = MorphTool.MOD_ID, name = MorphTool.MOD_NAME, version = MorphTool.VERSION, dependencies = MorphTool.DEPENDENCIES, guiFactory = MorphTool.GUI_FACTORY) @@ -28,7 +25,7 @@ public class MorphTool { @EventHandler public void preInit(FMLPreInitializationEvent event) { ConfigHandler.init(event.getSuggestedConfigurationFile()); - + NetworkHandler.register(MessageMorphTool.class, Side.SERVER); proxy.preInit(); } diff --git a/src/main/java/vazkii/morphtool/MorphingHandler.java b/src/main/java/vazkii/morphtool/MorphingHandler.java index c8e0e69..7dd4481 100644 --- a/src/main/java/vazkii/morphtool/MorphingHandler.java +++ b/src/main/java/vazkii/morphtool/MorphingHandler.java @@ -1,29 +1,27 @@ package vazkii.morphtool; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; -import java.util.function.Consumer; - import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumHand; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.Vec3d; import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.translation.I18n; import net.minecraft.world.World; import net.minecraftforge.event.entity.item.ItemTossEvent; -import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent; import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.ModContainer; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; +import java.util.function.Consumer; + public final class MorphingHandler { public static final MorphingHandler INSTANCE = new MorphingHandler(); @@ -34,28 +32,6 @@ public final class MorphingHandler { public static final String TAG_MORPH_TOOL_DATA = "morphtool:data"; public static final String TAG_MORPH_TOOL_DISPLAY_NAME = "morphtool:displayName"; - @SubscribeEvent - public void onPlayerTick(LivingUpdateEvent event) { - if(event.getEntity() instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) event.getEntity(); - ItemStack mainHandItem = player.getHeldItem(ConfigHandler.invertHandShift ? EnumHand.OFF_HAND : EnumHand.MAIN_HAND); - - if(isMorphTool(mainHandItem)) { - RayTraceResult res = raycast(player, 4.5); - if(res != null) { - IBlockState state = player.worldObj.getBlockState(res.getBlockPos()); - String mod = getModFromState(state); - - ItemStack newStack = getShiftStackForMod(mainHandItem, mod); - if(newStack != mainHandItem && !ItemStack.areItemsEqual(newStack, mainHandItem)) { - player.inventory.setInventorySlotContents(ConfigHandler.invertHandShift ? player.inventory.getSizeInventory() - 1 : player.inventory.currentItem, newStack); - MorphTool.proxy.updateEquippedItem(); - } - } - } - } - } - @SubscribeEvent public void onItemDropped(ItemTossEvent event) { if(!event.getPlayer().isSneaking()) diff --git a/src/main/java/vazkii/morphtool/network/MessageMorphTool.java b/src/main/java/vazkii/morphtool/network/MessageMorphTool.java new file mode 100644 index 0000000..24daaff --- /dev/null +++ b/src/main/java/vazkii/morphtool/network/MessageMorphTool.java @@ -0,0 +1,35 @@ +package vazkii.morphtool.network; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumHand; +import net.minecraftforge.fml.common.network.simpleimpl.IMessage; +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; +import vazkii.arl.network.NetworkMessage; +import vazkii.morphtool.ConfigHandler; +import vazkii.morphtool.MorphingHandler; + +public class MessageMorphTool extends NetworkMessage{ + + public ItemStack stack; + public int slot; + + public MessageMorphTool() {} + + public MessageMorphTool(ItemStack stack, int slot) { + this.stack = stack; + this.slot = slot; + } + + @Override + public IMessage handleMessage(MessageContext context) { + EntityPlayer player = context.getServerHandler().playerEntity; + ItemStack mainHandItem = player.getHeldItem(ConfigHandler.invertHandShift ? EnumHand.OFF_HAND : EnumHand.MAIN_HAND); + if(MorphingHandler.isMorphTool(mainHandItem) && stack != mainHandItem && !ItemStack.areItemsEqual(stack, mainHandItem) ) { + player.inventory.setInventorySlotContents(ConfigHandler.invertHandShift ? player.inventory.getSizeInventory() - 1 : slot, stack); + } + return null; + } + + +} diff --git a/src/main/java/vazkii/morphtool/proxy/ClientProxy.java b/src/main/java/vazkii/morphtool/proxy/ClientProxy.java index 728b996..1bb8312 100644 --- a/src/main/java/vazkii/morphtool/proxy/ClientProxy.java +++ b/src/main/java/vazkii/morphtool/proxy/ClientProxy.java @@ -1,14 +1,19 @@ package vazkii.morphtool.proxy; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.util.EnumHand; -import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.common.MinecraftForge; +import vazkii.morphtool.ClientHandler; import vazkii.morphtool.ConfigHandler; -import vazkii.morphtool.MorphTool; public class ClientProxy extends CommonProxy { + @Override + public void preInit() { + super.preInit(); + MinecraftForge.EVENT_BUS.register(ClientHandler.INSTANCE); + } + @Override public void updateEquippedItem() { Minecraft.getMinecraft().entityRenderer.itemRenderer.resetEquippedProgress(ConfigHandler.invertHandShift ? EnumHand.OFF_HAND : EnumHand.MAIN_HAND); From 51dc95d7046e9f5cd8f97aab5609ae8a68b4965d Mon Sep 17 00:00:00 2001 From: John Hannan Date: Mon, 31 Jul 2017 23:16:13 +0800 Subject: [PATCH 2/4] 1.12 Fixes Modified to actually compile and work with latest AutoRegLib and Forge --- build.gradle | 2 +- build.properties | 10 +++++----- src/main/java/vazkii/morphtool/AttachementRecipe.java | 9 +++++---- src/main/java/vazkii/morphtool/GuiFactory.java | 10 ---------- src/main/java/vazkii/morphtool/MorphingHandler.java | 4 ++-- .../vazkii/morphtool/network/MessageMorphTool.java | 2 +- 6 files changed, 14 insertions(+), 23 deletions(-) diff --git a/build.gradle b/build.gradle index fc4fff6..5ff4b7f 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ buildscript { } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' + classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' } } diff --git a/build.properties b/build.properties index 2a952db..7d3379b 100644 --- a/build.properties +++ b/build.properties @@ -1,10 +1,10 @@ # -#Sun Jun 18 17:15:33 BST 2017 +#Mon Jul 31 22:47:29 AWST 2017 version=1.2 -mc_mappings=snapshot_20161220 +mc_mappings=snapshot_20170730 dir_output=../Build Output/Morphtool/ -mc_version=1.12 -forge_version=14.21.0.2331 dir_repo=./ -build_number=15 +forge_version=14.21.1.2387 +mc_version=1.12 +build_number=16 mod_name=Morph-o-Tool diff --git a/src/main/java/vazkii/morphtool/AttachementRecipe.java b/src/main/java/vazkii/morphtool/AttachementRecipe.java index c1b23c0..43474a6 100644 --- a/src/main/java/vazkii/morphtool/AttachementRecipe.java +++ b/src/main/java/vazkii/morphtool/AttachementRecipe.java @@ -74,6 +74,11 @@ public ItemStack getCraftingResult(InventoryCrafting var1) { return copy; } + @Override + public boolean canFit(int width, int height) { + return false; + } + public boolean isTarget(ItemStack stack) { if(stack.isEmpty() || MorphingHandler.isMorphTool(stack)) return false; @@ -111,9 +116,5 @@ public NonNullList getRemainingItems(InventoryCrafting inv) { return NonNullList.withSize(inv.getSizeInventory(), ItemStack.EMPTY); } - @Override - public boolean func_194133_a(int p_194133_1_, int p_194133_2_) { - return false; - } } diff --git a/src/main/java/vazkii/morphtool/GuiFactory.java b/src/main/java/vazkii/morphtool/GuiFactory.java index 74b8a52..e709461 100644 --- a/src/main/java/vazkii/morphtool/GuiFactory.java +++ b/src/main/java/vazkii/morphtool/GuiFactory.java @@ -16,21 +16,11 @@ public void initialize(Minecraft minecraftInstance) { // NO-OP } - @Override - public Class mainConfigGuiClass() { - return ConfigGui.class; - } - @Override public Set runtimeGuiCategories() { return null; } - @Override - public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element) { - return null; - } - @Override public boolean hasConfigGui() { return true; diff --git a/src/main/java/vazkii/morphtool/MorphingHandler.java b/src/main/java/vazkii/morphtool/MorphingHandler.java index e32f420..e54d244 100644 --- a/src/main/java/vazkii/morphtool/MorphingHandler.java +++ b/src/main/java/vazkii/morphtool/MorphingHandler.java @@ -38,8 +38,8 @@ public void onItemDropped(ItemTossEvent event) { return; EntityItem e = event.getEntityItem(); - ItemStack stack = e.getEntityItem(); - removeItemFromTool(e, stack, false, (ItemStack copy) -> e.setEntityItemStack(copy)); + ItemStack stack = e.getItem(); + removeItemFromTool(e, stack, false, (ItemStack copy) -> e.setItem(copy)); } @SubscribeEvent diff --git a/src/main/java/vazkii/morphtool/network/MessageMorphTool.java b/src/main/java/vazkii/morphtool/network/MessageMorphTool.java index 24daaff..8021981 100644 --- a/src/main/java/vazkii/morphtool/network/MessageMorphTool.java +++ b/src/main/java/vazkii/morphtool/network/MessageMorphTool.java @@ -23,7 +23,7 @@ public MessageMorphTool(ItemStack stack, int slot) { @Override public IMessage handleMessage(MessageContext context) { - EntityPlayer player = context.getServerHandler().playerEntity; + EntityPlayer player = context.getServerHandler().player; ItemStack mainHandItem = player.getHeldItem(ConfigHandler.invertHandShift ? EnumHand.OFF_HAND : EnumHand.MAIN_HAND); if(MorphingHandler.isMorphTool(mainHandItem) && stack != mainHandItem && !ItemStack.areItemsEqual(stack, mainHandItem) ) { player.inventory.setInventorySlotContents(ConfigHandler.invertHandShift ? player.inventory.getSizeInventory() - 1 : slot, stack); From 9f87405d0ad534f30ecdc4532028c12414809eb4 Mon Sep 17 00:00:00 2001 From: MoreThanHidden Date: Wed, 9 Jan 2019 18:27:01 +0800 Subject: [PATCH 3/4] Increase Priority of Client Event Increase Priority so Yeta or other sneak+scroll wrenches arn't preferred unless looking at the block. --- build.properties | 4 ++-- src/main/java/vazkii/morphtool/ClientHandler.java | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build.properties b/build.properties index 250bd8b..9e5cc00 100644 --- a/build.properties +++ b/build.properties @@ -1,5 +1,5 @@ # -#Wed Jan 09 17:31:20 AWST 2019 +#Wed Jan 09 18:10:16 AWST 2019 mod_name=Morph-o-Tool forge_version=14.23.2.2613 dir_repo=./ @@ -7,5 +7,5 @@ mc_mappings=snapshot_20171003 arl_version=1.3-27.10 version=1.2 dir_output=../Build Output/Morphtool/ +build_number=21 mc_version=1.12.2 -build_number=20 diff --git a/src/main/java/vazkii/morphtool/ClientHandler.java b/src/main/java/vazkii/morphtool/ClientHandler.java index 6aa5edd..607afa9 100644 --- a/src/main/java/vazkii/morphtool/ClientHandler.java +++ b/src/main/java/vazkii/morphtool/ClientHandler.java @@ -8,6 +8,7 @@ import net.minecraft.util.EnumHand; import net.minecraft.util.math.RayTraceResult; import net.minecraftforge.client.event.MouseEvent; +import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -24,7 +25,8 @@ public class ClientHandler { public static final ClientHandler INSTANCE = new ClientHandler(); protected static boolean autoMode = true; - @SubscribeEvent + //Priority Highest so that it happens before the other mods + @SubscribeEvent(priority = EventPriority.HIGHEST) public void onMouseEvent(MouseEvent event) { EntityPlayerSP player = Minecraft.getMinecraft().player; ItemStack mainHandItem = player.getHeldItem(ConfigHandler.invertHandShift ? EnumHand.OFF_HAND : EnumHand.MAIN_HAND); From a5e036cbd55ac33b7d8ea584f7c126ac26e573b5 Mon Sep 17 00:00:00 2001 From: MoreThanHidden Date: Wed, 9 Jan 2019 19:46:44 +0800 Subject: [PATCH 4/4] Update default bloodmagic tool name --- src/main/java/vazkii/morphtool/ConfigHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/vazkii/morphtool/ConfigHandler.java b/src/main/java/vazkii/morphtool/ConfigHandler.java index c1ec79c..2b86f96 100644 --- a/src/main/java/vazkii/morphtool/ConfigHandler.java +++ b/src/main/java/vazkii/morphtool/ConfigHandler.java @@ -41,7 +41,7 @@ public static void load() { "immersiveengineering:tool", "buildersguides:mallet", "environmentaltech:tool_multiblock_assembler", - "bloodmagic:itemritualreader", + "bloodmagic:ritual_reader", "draconicevolution:crystal_binder", "crossroads:omnimeter");