diff options
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r-- | src/main/java/gregtech/api/enums/MaterialsBotania.java | 2 | ||||
-rw-r--r-- | src/main/java/gregtech/api/enums/TextureSet.java | 26 |
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); + } } |