aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/enums/MaterialsBotania.java2
-rw-r--r--src/main/java/gregtech/api/enums/TextureSet.java26
2 files changed, 27 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/enums/MaterialsBotania.java b/src/main/java/gregtech/api/enums/MaterialsBotania.java
index 334940d47a..ef07ec4297 100644
--- a/src/main/java/gregtech/api/enums/MaterialsBotania.java
+++ b/src/main/java/gregtech/api/enums/MaterialsBotania.java
@@ -76,7 +76,7 @@ public class MaterialsBotania {
.constructMaterial();
public static Materials GaiaSpirit = new Materials(
205,
- TextureSet.SET_METALLIC,
+ TextureSet.SET_METALLIC.withBlockTextures("GaiaSpirit"),
32.0F,
850000,
12,
diff --git a/src/main/java/gregtech/api/enums/TextureSet.java b/src/main/java/gregtech/api/enums/TextureSet.java
index 78864e1ca5..52bb081bd3 100644
--- a/src/main/java/gregtech/api/enums/TextureSet.java
+++ b/src/main/java/gregtech/api/enums/TextureSet.java
@@ -187,4 +187,30 @@ public class TextureSet {
this("CUSTOM/" + aSetName);
this.is_custom = is_custom;
}
+
+ /**
+ * Construct a TextureSet that will delegate some of its textures to the origin TextureSet.
+ *
+ * This assumes you want to construct a custom texture set.
+ */
+ private TextureSet(String aSetName, TextureSet origin, boolean overrideBlock, boolean overrideItem) {
+ this("CUSTOM/" + aSetName);
+ this.is_custom = true;
+
+ for (int i = 0; i < mTextures.length; i++) {
+ if (mTextures[i] instanceof Textures.ItemIcons.CustomIcon) {
+ if (!overrideItem) {
+ mTextures[i] = origin.mTextures[i];
+ }
+ } else if (mTextures[i] instanceof Textures.BlockIcons.CustomIcon) {
+ if (!overrideBlock) {
+ mTextures[i] = origin.mTextures[i];
+ }
+ }
+ }
+ }
+
+ public TextureSet withBlockTextures(String aNewSetName) {
+ return new TextureSet(aNewSetName, this, true, false);
+ }
}