From 2655d5c2ae67adeaf3afadf31c634eec9d3c625b Mon Sep 17 00:00:00 2001 From: glowredman <35727266+glowredman@users.noreply.github.com> Date: Wed, 27 Mar 2024 22:17:01 +0100 Subject: [PATCH] [1.7.10] Fix incompatibility with unofficial NEI (#823) * Update buildscript Gradle update done via `gradlew wrapper --gradle-version=4.4.1` * Move NEI around GUI --- build.gradle | 53 +++----- gradle/wrapper/gradle-wrapper.jar | Bin 51017 -> 54333 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 110 ++++++++------- gradlew.bat | 14 +- .../wizardry/client/GuiArcaneWorkbench.java | 127 +++++++++++++----- src/main/resources/mcmod.info | 4 +- 7 files changed, 178 insertions(+), 133 deletions(-) diff --git a/build.gradle b/build.gradle index 2a5bae82..b4178055 100644 --- a/build.gradle +++ b/build.gradle @@ -1,41 +1,30 @@ buildscript { repositories { - - // [HTTPS FIX] Replace mavenCentral() with the code block below - maven { - url = "https://maven.minecraftforge.net/" - } - + mavenCentral() maven { name = "forge" - url = "https://files.minecraftforge.net/maven" - } - maven { - name = "forge2" url = "https://maven.minecraftforge.net/" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } - - flatDir { - dirs 'libs' - } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' } } +apply plugin: 'java' +apply plugin: 'idea' apply plugin: 'forge' -version = " 1.1.4 - MC 1.7.10" -group= "electroblob.wizardry"// http://maven.apache.org/guides/mini/guide-naming-conventions.html +version = " 1.1.5 - MC 1.7.10" +group = "electroblob.wizardry"// http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "Electroblob's Wizardry " minecraft { - version = "1.7.10-10.13.4.1558-1.7.10" + version = "1.7.10-10.13.4.1614-1.7.10" runDir = "eclipse" } @@ -54,24 +43,18 @@ artifacts { archives jar } -dependencies { - // you may put jars on which you depend on in ./libs - // or you may define them like so.. - //compile "some.group:artifact:version:classifier" - //compile "some.group:artifact:version" - - // real examples - //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env - //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env - - // for more info... - // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html - // http://www.gradle.org/docs/current/userguide/dependency_management.html - +repositories { + maven { + name 'ChickenBones maven' + url 'https://chickenbones.net/maven/' + } } -processResources -{ +dependencies { + compileOnly 'codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev' +} + +processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version @@ -79,11 +62,11 @@ processResources // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' - + // replace version and mcversion expand 'version':project.version, 'mcversion':project.minecraft.version } - + // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index b7612167031001b7b84baf2a959e8ea8ad03c011..99340b4ad18d3c7e764794d300ffd35017036793 100644 GIT binary patch delta 45280 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 z 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�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

f%Rv3s0;6?)BcYD{a>(d#ZC7 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 +cd "`dirname \"$PRG\"`/" >/dev/null APP_HOME="`pwd -P`" -cd "$SAVED" >&- +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -90,7 +89,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -114,6 +113,7 @@ fi if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` @@ -154,11 +154,19 @@ if $cygwin ; then esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +APP_ARGS=$(save "$@") -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 8a0b282a..f9553162 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -8,14 +8,14 @@ @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 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= + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -46,10 +46,9 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windowz variants +@rem Get command-line arguments, handling Windows 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. @@ -60,11 +59,6 @@ set _SKIP=2 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 diff --git a/src/main/java/electroblob/wizardry/client/GuiArcaneWorkbench.java b/src/main/java/electroblob/wizardry/client/GuiArcaneWorkbench.java index 3c2ba523..05cebbe4 100644 --- a/src/main/java/electroblob/wizardry/client/GuiArcaneWorkbench.java +++ b/src/main/java/electroblob/wizardry/client/GuiArcaneWorkbench.java @@ -1,21 +1,15 @@ package electroblob.wizardry.client; -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.util.Iterator; -import java.util.List; -import java.util.Map.Entry; - -import org.lwjgl.input.Keyboard; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - +import codechicken.nei.VisiblityData; +import codechicken.nei.api.INEIGuiHandler; +import codechicken.nei.api.TaggedInventoryArea; +import cpw.mods.fml.common.Optional.Interface; +import cpw.mods.fml.common.Optional.Method; import cpw.mods.fml.common.network.simpleimpl.IMessage; import electroblob.wizardry.ExtendedPlayer; import electroblob.wizardry.SpellGlyphData; import electroblob.wizardry.WandHelper; import electroblob.wizardry.Wizardry; -import electroblob.wizardry.WizardryGuiHandler; import electroblob.wizardry.item.ItemWand; import electroblob.wizardry.packet.PacketControlInput; import electroblob.wizardry.packet.WizardryPacketHandler; @@ -23,32 +17,39 @@ import electroblob.wizardry.spell.Spell; import electroblob.wizardry.tileentity.ContainerArcaneWorkbench; import electroblob.wizardry.tileentity.SlotWizardry; import electroblob.wizardry.tileentity.TileEntityArcaneWorkbench; +import java.awt.Rectangle; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; +import org.lwjgl.input.Keyboard; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; -public class GuiArcaneWorkbench extends GuiContainer { +@Interface(iface = "codechicken.nei.api.INEIGuiHandler", modid = "NotEnoughItems") +public class GuiArcaneWorkbench extends GuiContainer implements INEIGuiHandler { private GuiButton applyBtn; private static final ResourceLocation texture = new ResourceLocation(Wizardry.MODID, "textures/gui/arcane_workbench.png"); private IInventory playerInventory; private IInventory arcaneWorkbenchInventory; - - private final int tooltipWidth = 164; + + private static final int tooltipWidth = 164; + private static final int tooltipHeight = 155; public GuiArcaneWorkbench(InventoryPlayer invPlayer, TileEntityArcaneWorkbench entity) { super(new ContainerArcaneWorkbench(invPlayer, entity)); @@ -61,16 +62,7 @@ public class GuiArcaneWorkbench extends GuiContainer { @Override public void drawScreen(int p_73863_1_, int p_73863_2_, float p_73863_3_){ - // Tests if there is a wand in the workbench and edits the positioning accordingly - if(this.inventorySlots.getSlot(ContainerArcaneWorkbench.WAND_SLOT).getHasStack() && this.inventorySlots.getSlot(ContainerArcaneWorkbench.WAND_SLOT).getStack().getItem() instanceof ItemWand){ - guiLeft = (this.width - this.xSize - tooltipWidth)/2; - this.applyBtn.xPosition = (this.width - tooltipWidth)/2 + 48; - }else{ - guiLeft = (this.width - this.xSize)/2; - this.applyBtn.xPosition = this.width/2 + 48; - } - - if(this.inventorySlots.getSlot(ContainerArcaneWorkbench.WAND_SLOT).getHasStack()){ + if(this.hasWand()){ this.applyBtn.enabled = true; }else{ this.applyBtn.enabled = false; @@ -87,7 +79,7 @@ public class GuiArcaneWorkbench extends GuiContainer { this.fontRendererObj.drawString(this.arcaneWorkbenchInventory.hasCustomInventoryName() ? this.arcaneWorkbenchInventory.getInventoryName() : I18n.format(this.arcaneWorkbenchInventory.getInventoryName()), 8, 6, 4210752); this.fontRendererObj.drawString(this.playerInventory.hasCustomInventoryName() ? this.playerInventory.getInventoryName() : I18n.format(this.playerInventory.getInventoryName()), 8, this.ySize - 96 + 2, 4210752); - if(this.inventorySlots.getSlot(ContainerArcaneWorkbench.WAND_SLOT).getHasStack() && this.inventorySlots.getSlot(ContainerArcaneWorkbench.WAND_SLOT).getStack().getItem() instanceof ItemWand){ + if(this.hasWand()){ ItemStack wand = this.inventorySlots.getSlot(ContainerArcaneWorkbench.WAND_SLOT).getStack(); @@ -156,7 +148,7 @@ public class GuiArcaneWorkbench extends GuiContainer { } // Tooltip only drawn if there is a wand - if(this.inventorySlots.getSlot(ContainerArcaneWorkbench.WAND_SLOT).getHasStack() && this.inventorySlots.getSlot(ContainerArcaneWorkbench.WAND_SLOT).getStack().getItem() instanceof ItemWand){ + if(this.hasWand()){ // Tooltip box drawTexturedModalRect(guiLeft + xSize, guiTop, xSize, 0, 256 - xSize - 4, ySize); @@ -191,8 +183,8 @@ public class GuiArcaneWorkbench extends GuiContainer { if(level > 0){ ItemStack stack = new ItemStack(item, level); - this.itemRender.renderItemAndEffectIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), stack, guiLeft + xSize + 6 + x, y); - this.itemRender.renderItemOverlayIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), stack, guiLeft + xSize + 6 + x, y); + itemRender.renderItemAndEffectIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), stack, guiLeft + xSize + 6 + x, y); + itemRender.renderItemOverlayIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), stack, guiLeft + xSize + 6 + x, y); x += 18; } } @@ -222,7 +214,8 @@ public class GuiArcaneWorkbench extends GuiContainer { } } - public void initGui() + @SuppressWarnings("unchecked") + public void initGui() { this.mc.thePlayer.openContainer = this.inventorySlots; this.guiLeft = (this.width - this.xSize) / 2; @@ -263,7 +256,8 @@ public class GuiArcaneWorkbench extends GuiContainer { return par5 >= par1 - 1 && par5 < par1 + par3 + 1 && par6 >= par2 - 1 && par6 < par2 + par4 + 1; } - protected void drawItemStackTooltip(ItemStack par1ItemStack, int par2, int par3) + @SuppressWarnings({ "rawtypes", "unchecked" }) + protected void drawItemStackTooltip(ItemStack par1ItemStack, int par2, int par3) { List list = par1ItemStack.getTooltip(this.mc.thePlayer, this.mc.gameSettings.advancedItemTooltips); @@ -283,7 +277,8 @@ public class GuiArcaneWorkbench extends GuiContainer { drawHoveringText(list, par2, par3, (font == null ? fontRendererObj : font)); } - protected void drawHoveringText(List par1List, int par2, int par3, FontRenderer font) + @SuppressWarnings("rawtypes") + protected void drawHoveringText(List par1List, int par2, int par3, FontRenderer font) { if (!par1List.isEmpty()) { @@ -360,5 +355,71 @@ public class GuiArcaneWorkbench extends GuiContainer { } } + /** + * @return A list of TaggedInventoryAreas that will be used with the savestates. + */ + @Method(modid = "NotEnoughItems") + @Override + public List getInventoryAreas(GuiContainer gui) { + return Collections.emptyList(); + } + + /** + * NEI will give the specified item to the InventoryRange returned if the player's inventory is full. + * Should not return null, just an empty list + */ + @Method(modid = "NotEnoughItems") + @Override + public Iterable getItemSpawnSlots(GuiContainer gui, ItemStack item) { + return Collections.emptyList(); + } + + /** + * Handles clicks while an itemstack has been dragged from the item panel. Use this to set configurable slots and the like. + * Changes made to the stackSize of the dragged stack will be kept + * @param gui The current gui instance + * @param mousex The x position of the mouse + * @param mousey The y position of the mouse + * @param draggedStack The stack being dragged from the item panel + * @param button The button presed + * @return True if the drag n drop was handled. False to resume processing through other routes. The held stack will be deleted if draggedStack.stackSize == 0 + */ + @Method(modid = "NotEnoughItems") + @Override + public boolean handleDragNDrop(GuiContainer gui, int mousex, int mousey, ItemStack draggedStack, int button) { + return false; + } + + /** + * Used to prevent the item panel from drawing on top of other gui elements. + * This function will also be called with a 1x1 size rectangle on the mouse position for determining if the given coordinate should override item panel functions such as scrolling + * @param x The x coordinate of the rectangle bounding the slot + * @param y The y coordinate of the rectangle bounding the slot + * @param w The w coordinate of the rectangle bounding the slot + * @param h The h coordinate of the rectangle bounding the slot + * @return true if the item panel slot within the specified rectangle should not be rendered. + */ + @Method(modid = "NotEnoughItems") + @Override + public boolean hideItemPanelSlot(GuiContainer gui, int x, int y, int w, int h) { + if(this.hasWand()) { + Rectangle itemPanel = new Rectangle(x, y, w, h); + Rectangle tooltip = new Rectangle(this.guiLeft + this.xSize, this.guiTop, tooltipWidth, tooltipHeight); + return itemPanel.intersects(tooltip); + } + return false; + } + + @Method(modid = "NotEnoughItems") + @Override + public VisiblityData modifyVisiblity(GuiContainer gui, VisiblityData currentVisibility) { + return currentVisibility; + } + + private boolean hasWand() { + return this.inventorySlots.getSlot(ContainerArcaneWorkbench.WAND_SLOT).getHasStack() + && this.inventorySlots.getSlot(ContainerArcaneWorkbench.WAND_SLOT).getStack().getItem() instanceof ItemWand; + } + } diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index b11683b0..621b6c83 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -2,8 +2,8 @@ { "modid" : "wizardry", "name" : "Electroblob's Wizardry", - "version" : "1.1.5", - "url" : "https://minecraft.curseforge.com/projects/electroblobs-wizardry", + "version" : "${version}", + "url" : "https://www.curseforge.com/minecraft/mc-mods/electroblobs-wizardry/", "credits" : "Made by Electroblob", "authors" : [ "Electroblob"