Mods can use custom textures for Slot background overlay, instead of only items.png PR #245 and #246
This commit is contained in:
parent
9803c9e83e
commit
5b82c5c20e
2 changed files with 72 additions and 0 deletions
61
patches/common/net/minecraft/src/Slot.java.patch
Normal file
61
patches/common/net/minecraft/src/Slot.java.patch
Normal file
|
@ -0,0 +1,61 @@
|
|||
--- ../src_base/common/net/minecraft/src/Slot.java
|
||||
+++ ../src_work/common/net/minecraft/src/Slot.java
|
||||
@@ -19,6 +19,12 @@
|
||||
|
||||
/** display position of the inventory slot on the screen y axis */
|
||||
public int yDisplayPosition;
|
||||
+
|
||||
+ /** Position within background texture file, normally -1 which causes no background to be drawn. */
|
||||
+ protected int backgroundIconIndex = -1;
|
||||
+
|
||||
+ /** Background texture file assigned to this slot, if any. Vanilla "/gui/items.png" is used if this is null. */
|
||||
+ protected String texture = "/gui/items.png";
|
||||
|
||||
public Slot(IInventory par1IInventory, int par2, int par3, int par4)
|
||||
{
|
||||
@@ -145,6 +151,44 @@
|
||||
*/
|
||||
public int getBackgroundIconIndex()
|
||||
{
|
||||
- return -1;
|
||||
+ return backgroundIconIndex;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Gets the path of the texture file to use for the background image of this slot when drawing the GUI.
|
||||
+ * @return String: The texture file that will be used in GuiContainer.drawSlotInventory for the slot background.
|
||||
+ */
|
||||
+ public String getBackgroundIconTexture()
|
||||
+ {
|
||||
+ return (texture == null ? "/gui/items.png" : texture);
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Sets which icon index to use as the background image of the slot when it's empty.
|
||||
+ * @param iconIndex int: The index into the texture file, 0-255, or -1 for no background.
|
||||
+ */
|
||||
+ public void setBackgroundIconIndex(int iconIndex)
|
||||
+ {
|
||||
+ backgroundIconIndex = iconIndex;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Sets the texture file to use for the background image of the slot when it's empty.
|
||||
+ * @param textureFilename String: Path of texture file to use, or null to use "/gui/items.png"
|
||||
+ */
|
||||
+ public void setBackgroundIconTexture(String textureFilename)
|
||||
+ {
|
||||
+ texture = textureFilename;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Retrieves the index in the inventory for this slot, this value should typically not
|
||||
+ * be used, but can be useful for some occasions.
|
||||
+ *
|
||||
+ * @return Index in associated inventory for this slot.
|
||||
+ */
|
||||
+ public int getSlotIndex()
|
||||
+ {
|
||||
+ return slotIndex;
|
||||
}
|
||||
}
|
11
patches/minecraft/net/minecraft/src/GuiContainer.java.patch
Normal file
11
patches/minecraft/net/minecraft/src/GuiContainer.java.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- ../src_base/minecraft/net/minecraft/src/GuiContainer.java
|
||||
+++ ../src_work/minecraft/net/minecraft/src/GuiContainer.java
|
||||
@@ -309,7 +309,7 @@
|
||||
if (var6 >= 0)
|
||||
{
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
- this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture("/gui/items.png"));
|
||||
+ this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(par1Slot.getBackgroundIconTexture()));
|
||||
this.drawTexturedModalRect(var2, var3, var6 % 16 * 16, var6 / 16 * 16, 16, 16);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
var5 = true;
|
Loading…
Reference in a new issue