diff options
author | Detrav <witalyezep@gmail.com> | 2016-03-19 13:00:27 +0300 |
---|---|---|
committer | Detrav <witalyezep@gmail.com> | 2016-03-19 13:00:27 +0300 |
commit | d204c1c290b14488bc87767bf99556cad6793d05 (patch) | |
tree | ae9e40233aaeb04db4f4eefdbafc04f40cdb98b9 | |
parent | c0db9cb3ceafd2d7c573ebe07bba1681ac9422b5 (diff) | |
download | GT5-Unofficial-d204c1c290b14488bc87767bf99556cad6793d05.tar.gz GT5-Unofficial-d204c1c290b14488bc87767bf99556cad6793d05.tar.bz2 GT5-Unofficial-d204c1c290b14488bc87767bf99556cad6793d05.zip |
BackUp2
Added PickAxeHead
17 files changed, 442 insertions, 399 deletions
diff --git a/build.gradle b/build.gradle index 0921b5a015..558bb2dbe7 100644 --- a/build.gradle +++ b/build.gradle @@ -18,6 +18,8 @@ buildscript { apply plugin: 'forge' apply plugin: 'idea' +idea.module.inheritOutputDirs = true + file "build.properties" withReader { def prop = new Properties() prop.load(it) @@ -84,7 +86,7 @@ dependencies { provided "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev" provided "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev" provided "net.sengir.forestry:forestry_${config.minecraft.version}:${config.forestry.version}:dev" - //provided "applecore:AppleCore:${config.applecore.version}:api" + provided "applecore:AppleCore:${config.applecore.version}:api" //provided "com.enderio.core:EnderCore:${config.enderiocore.version}:dev" //provided ("com.enderio:EnderIO:${config.enderio.version}:dev") {transitive = false } provided name: 'buildcraft', version: config.buildcraft.version, classifier: "dev", ext: 'jar' @@ -99,16 +101,36 @@ processResources inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { + ext.srcFiles = "$projectDir/src/main/resources" + ext.destDir = "$projectDir/build/classes/main" + + // registering inputs & outputs allow gradle to skip if UP-TO-DATE + inputs.files srcFiles + outputs.dir destDir + + println 'starting processResources' + println 'srcFiles: ' + srcFiles + println 'destDir: ' + destDir + + + copy { + // replace stuff in mcmod.info, nothing else + from(srcFiles) + into(destDir) include 'mcmod.info' - - // replace version and mcversion - expand 'version':project.version, 'mcversion':project.minecraft.version + // 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) { + + + copy { + // copy everything else, thats not the mcmod.info + from(srcFiles) + into(destDir) exclude 'mcmod.info' + } } + + diff --git a/src/main/java/com/detrav/DetravLoader.java b/src/main/java/com/detrav/DetravLoader.java index 2709ad1912..71ebe88336 100644 --- a/src/main/java/com/detrav/DetravLoader.java +++ b/src/main/java/com/detrav/DetravLoader.java @@ -1,10 +1,6 @@ package com.detrav; -import com.detrav.tools.DetravMetaGeneratedItem01; -import com.detrav.tools.DetravToolProPick; -import com.detrav.tools.Detrav_MetaGenerated_Tool_01; -import com.detrav.tools.ProcessingToolHeadProPick; -import gregtech.api.enums.OrePrefixes; +import com.detrav.items.DetravMetaGeneratedItem01; /** * Created by wital_000 on 18.03.2016. @@ -12,6 +8,7 @@ import gregtech.api.enums.OrePrefixes; public class DetravLoader implements Runnable { @Override public void run() { + new DetravMetaGeneratedItem01(); //new Detrav_MetaGenerated_Tool_01(); //new ProcessingToolHeadProPick(); diff --git a/src/main/java/com/detrav/enums/DetravSimpleItems.java b/src/main/java/com/detrav/enums/DetravSimpleItems.java new file mode 100644 index 0000000000..a82173d7ca --- /dev/null +++ b/src/main/java/com/detrav/enums/DetravSimpleItems.java @@ -0,0 +1,50 @@ +package com.detrav.enums; + +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import net.minecraft.item.ItemStack; + +/** + * Created by wital_000 on 19.03.2016. + */ +public enum DetravSimpleItems { + toolProPickHead(OrePrefixes.toolHeadPickaxe,"ProPick Heads",""," ProPick Head",0); + + static { + + + } + + private final String mLocalName; + private final OrePrefixes parent; + private final String mPrefix; + private final String mPostFix; + public ItemStack mContainerItem; + public int mDefaultStackSize = 64; + public boolean mIsUnificatable = false; + public int mTextureIndex; + + + DetravSimpleItems(OrePrefixes orePrefixes, String s,String aPrefix, String aPostfix, int aTextureIndex) { + parent = orePrefixes; + mLocalName = s; + mPrefix = aPrefix; + mPostFix = aPostfix; + mTextureIndex = aTextureIndex; + } + + public OrePrefixes getOrePrefixes() + { + return parent; + } + + public String getDefaultLocalNameForItem(Materials aMaterial) { + String result = mPrefix + aMaterial.toString() + mPostFix; + return result; + } + + public Object get(Materials tMaterial) { + Object result = toString()+tMaterial.toString(); + return result; + } +} diff --git a/src/main/java/com/detrav/enums/Textures01.java b/src/main/java/com/detrav/enums/Textures01.java new file mode 100644 index 0000000000..1280109826 --- /dev/null +++ b/src/main/java/com/detrav/enums/Textures01.java @@ -0,0 +1,18 @@ +package com.detrav.enums; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IIconContainer; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; + +/** + * Created by wital_000 on 19.03.2016. + */ +public class Textures01 { + public static final IIconContainer[] mTextures = new IIconContainer[] + { + new Textures.ItemIcons.CustomIcon("iconsets/PRO_PICK_HEAD") + }; +} diff --git a/src/main/java/com/detrav/items/DetravMetaGeneratedItem.java b/src/main/java/com/detrav/items/DetravMetaGeneratedItem.java new file mode 100644 index 0000000000..90c00fb8d7 --- /dev/null +++ b/src/main/java/com/detrav/items/DetravMetaGeneratedItem.java @@ -0,0 +1,175 @@ +package com.detrav.items; + +/** + * Created by wital_000 on 19.03.2016. + */ +import com.detrav.enums.DetravSimpleItems; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +//import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.IIconContainer; +import gregtech.api.items.GT_MetaGenerated_Item; +import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import java.util.Arrays; +import java.util.List; + +import static gregtech.api.enums.GT_Values.M; + +/** + * @author Gregorius Techneticies + * <p/> + * One Item for everything! + * <p/> + * This brilliant Item Class is used for automatically generating all possible variations of Material Items, like Dusts, Ingots, Gems, Plates and similar. + * It saves me a ton of work, when adding Items, because I always have to make a new Item SubType for each OreDict Prefix, when adding a new Material. + * <p/> + * As you can see, up to 32766 Items can be generated using this Class. And the last 766 Items can be custom defined, just to save space and MetaData. + * <p/> + * These Items can also have special RightClick abilities, electric Charge or even be set to become a Food alike Item. + */ +public abstract class DetravMetaGeneratedItem extends GT_MetaGenerated_Item { + + protected final DetravSimpleItems[] mGeneratedItemList; + + + public DetravMetaGeneratedItem(String aUnlocalized, DetravSimpleItems... aGeneratedItemList) { + super(aUnlocalized, (short) 32000, (short) 766); + mGeneratedItemList = Arrays.copyOf(aGeneratedItemList, 32); + + for (int i = 0; i < 32000; i++) { + DetravSimpleItems tPrefix = mGeneratedItemList[i / 1000]; + if (tPrefix == null) continue; + Materials tMaterial = GregTech_API.sGeneratedMaterials[i % 1000]; + if (tMaterial == null) continue; + if (doesMaterialAllowGeneration(tPrefix, tMaterial)) { + ItemStack tStack = new ItemStack(this, 1, i); + GT_LanguageManager.addStringLocalization(getUnlocalizedName(tStack) + ".name", getDefaultLocalization(tPrefix, tMaterial, i)); + GT_LanguageManager.addStringLocalization(getUnlocalizedName(tStack) + ".tooltip", tMaterial.getToolTip(tPrefix.getOrePrefixes().mMaterialAmount / M)); + //Не знаю можно ли регистрировать, т.к. уже должен быть зареганы паренты с моего класса + if (tPrefix.mIsUnificatable) { + GT_OreDictUnificator.set(tPrefix.getOrePrefixes(), tMaterial, tStack); + } else { + GT_OreDictUnificator.registerOre(tPrefix.get(tMaterial), tStack); + }/* + if ((tPrefix == OrePrefixes.stick || tPrefix == OrePrefixes.wireFine || tPrefix == OrePrefixes.ingot) && (tMaterial == Materials.Lead || tMaterial == Materials.Tin || tMaterial == Materials.SolderingAlloy)) { + GregTech_API.sSolderingMetalList.add(tStack); + }*/ + } + } + } + + /* ---------- OVERRIDEABLE FUNCTIONS ---------- */ + + /** + * @return the Color Modulation the Material is going to be rendered with. + */ + @Override + public short[] getRGBa(ItemStack aStack) { + Materials tMaterial = GregTech_API.sGeneratedMaterials[getDamage(aStack) % 1000]; + return tMaterial == null ? Materials._NULL.mRGBa : tMaterial.mRGBa; + } + + /** + * @param aPrefix this can be null, you have to return false in that case + * @param aMaterial this can be null, you have to return false in that case + * @return if this Item should be generated and visible. + */ + public boolean doesMaterialAllowGeneration(DetravSimpleItems aPrefix, Materials aMaterial) { + // You have to check for at least these Conditions in every Case! So add a super Call like the following for this before executing your Code: + // if (!super.doesMaterialAllowGeneration(aPrefix, aMaterial)) return false; + return aPrefix != null && aMaterial != null && aPrefix.getOrePrefixes().doGenerateItem(aMaterial); + } + + /* ---------- OVERRIDEABLE FUNCTIONS ---------- */ + + /** + * @param aPrefix the OreDict Prefix + * @param aMaterial the Material + * @param aMetaData a Index from [0 - 31999] + * @return the Localized Name when default LangFiles are used. + */ + public String getDefaultLocalization(DetravSimpleItems aPrefix, Materials aMaterial, int aMetaData) { + return aPrefix.getDefaultLocalNameForItem(aMaterial); + } + + /** + * @param aMetaData a Index from [0 - 31999] + * @param aMaterial the Material + * @return an Icon Container for the Item Display. + */ + public IIconContainer getIconContainer(int aMetaData, Materials aMaterial) { + return mGeneratedItemList[aMetaData / 1000] != null && mGeneratedItemList[aMetaData / 1000].getOrePrefixes().mTextureIndex >= 0 ? aMaterial.mIconSet.mTextures[mGeneratedItemList[aMetaData / 1000].getOrePrefixes().mTextureIndex] : null; + } + + /** + * @param aPrefix always != null + * @param aMaterial always != null + * @param aDoShowAllItems this is the Configuration Setting of the User, if he wants to see all the Stuff like Tiny Dusts or Crushed Ores as well. + * @return if this Item should be visible in NEI or Creative + */ + public boolean doesShowInCreative(DetravSimpleItems aPrefix, Materials aMaterial, boolean aDoShowAllItems) { + return true; + } + + /* ---------- INTERNAL OVERRIDES ---------- */ + + @Override + public ItemStack getContainerItem(ItemStack aStack) { + int aDamage = aStack.getItemDamage(); + if (aDamage < 32000 && aDamage >= 0) { + Materials aMaterial = GregTech_API.sGeneratedMaterials[aDamage % 1000]; + if (aMaterial != null && aMaterial != Materials.Empty && aMaterial != Materials._NULL) { + DetravSimpleItems aPrefix = mGeneratedItemList[aDamage / 1000]; + if (aPrefix != null) return GT_Utility.copyAmount(1, aPrefix.mContainerItem); + } + } + return null; + } + + @Override + public final IIconContainer getIconContainer(int aMetaData) { + return GregTech_API.sGeneratedMaterials[aMetaData % 1000] == null ? null : getIconContainer(aMetaData, GregTech_API.sGeneratedMaterials[aMetaData % 1000]); + } + + @Override + @SideOnly(Side.CLIENT) + public final void getSubItems(Item var1, CreativeTabs aCreativeTab, List aList) { + for (int i = 0; i < 32000; i++) + if (doesMaterialAllowGeneration(mGeneratedItemList[i / 1000], GregTech_API.sGeneratedMaterials[i % 1000]) && doesShowInCreative(mGeneratedItemList[i / 1000], GregTech_API.sGeneratedMaterials[i % 1000], GregTech_API.sDoShowAllItemsInCreative)) { + ItemStack tStack = new ItemStack(this, 1, i); + isItemStackUsable(tStack); + aList.add(tStack); + } + super.getSubItems(var1, aCreativeTab, aList); + } + + @Override + public final IIcon getIconFromDamage(int aMetaData) { + if (aMetaData < 0) return null; + if (aMetaData < 32000) { + Materials tMaterial = GregTech_API.sGeneratedMaterials[aMetaData % 1000]; + if (tMaterial == null) return null; + IIconContainer tIcon = getIconContainer(aMetaData, tMaterial); + if (tIcon != null) return tIcon.getIcon(); + return null; + } + return aMetaData - 32000 < mIconList.length ? mIconList[aMetaData - 32000][0] : null; + } + + @Override + public int getItemStackLimit(ItemStack aStack) { + int tDamage = getDamage(aStack); + if (tDamage < 32000 && mGeneratedItemList[tDamage / 1000] != null) + return Math.min(super.getItemStackLimit(aStack), mGeneratedItemList[tDamage / 1000].mDefaultStackSize); + return super.getItemStackLimit(aStack); + } +}
\ No newline at end of file diff --git a/src/main/java/com/detrav/items/DetravMetaGeneratedItem01.java b/src/main/java/com/detrav/items/DetravMetaGeneratedItem01.java new file mode 100644 index 0000000000..93ac24e563 --- /dev/null +++ b/src/main/java/com/detrav/items/DetravMetaGeneratedItem01.java @@ -0,0 +1,30 @@ +package com.detrav.items; + +//import gregtech.api.items.DetravMetaGeneratedItem; + +import com.detrav.DetravScannerMod; +import com.detrav.enums.DetravSimpleItems; +import com.detrav.enums.Textures01; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.IIconContainer; + +/** + * Created by wital_000 on 19.03.2016. + */ +public class DetravMetaGeneratedItem01 extends DetravMetaGeneratedItem { + + public static DetravMetaGeneratedItem01 INSTANCE; + //private final String mToolTipPurify = GT_LanguageManager.addStringLocalization("metaitem.01.tooltip.purify", "Throw into Cauldron to get clean Dust"); + + public DetravMetaGeneratedItem01() { + super("detrav.metaitem.01", new DetravSimpleItems[]{DetravSimpleItems.toolProPickHead}); + INSTANCE = this; + this.setCreativeTab(DetravScannerMod.TAB_DETRAV); + } + + @Override + public final IIconContainer getIconContainer(int aMetaData, Materials aMaterial) { + return mGeneratedItemList[aMetaData / 1000] != null && mGeneratedItemList[aMetaData / 1000].mTextureIndex >= 0 ? Textures01.mTextures[mGeneratedItemList[aMetaData / 1000].mTextureIndex] : null; + } +} diff --git a/src/main/java/com/detrav/items/ItemList.java b/src/main/java/com/detrav/items/ItemList.java new file mode 100644 index 0000000000..28e33448b4 --- /dev/null +++ b/src/main/java/com/detrav/items/ItemList.java @@ -0,0 +1,93 @@ +package com.detrav.items; + +import gregtech.api.interfaces.IItemContainer; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +/** + * Created by wital_000 on 19.03.2016. + */ +public enum ItemList implements IItemContainer { + ; + + @Override + public Item getItem() { + return null; + } + + @Override + public Block getBlock() { + return null; + } + + @Override + public boolean isStackEqual(Object o) { + return false; + } + + @Override + public boolean isStackEqual(Object o, boolean b, boolean b1) { + return false; + } + + @Override + public ItemStack get(long l, Object... objects) { + return null; + } + + @Override + public ItemStack getWildcard(long l, Object... objects) { + return null; + } + + @Override + public ItemStack getUndamaged(long l, Object... objects) { + return null; + } + + @Override + public ItemStack getAlmostBroken(long l, Object... objects) { + return null; + } + + @Override + public ItemStack getWithDamage(long l, long l1, Object... objects) { + return null; + } + + @Override + public IItemContainer set(Item item) { + return null; + } + + @Override + public IItemContainer set(ItemStack itemStack) { + return null; + } + + @Override + public IItemContainer registerOre(Object... objects) { + return null; + } + + @Override + public IItemContainer registerWildcardAsOre(Object... objects) { + return null; + } + + @Override + public ItemStack getWithCharge(long l, int i, Object... objects) { + return null; + } + + @Override + public ItemStack getWithName(long l, String s, Object... objects) { + return null; + } + + @Override + public boolean hasBeenSet() { + return false; + } +} diff --git a/src/main/java/com/detrav/proxies/ClientProxy.java b/src/main/java/com/detrav/proxies/ClientProxy.java index 5178275208..e96d616359 100644 --- a/src/main/java/com/detrav/proxies/ClientProxy.java +++ b/src/main/java/com/detrav/proxies/ClientProxy.java @@ -1,20 +1,28 @@ package com.detrav.proxies; -import com.detrav.tools.DetravRenderItemMetaGenerated; -import com.detrav.utils.Textures; +import com.detrav.enums.Textures01; +import gregtech.api.enums.Textures; /** * Created by wital_000 on 19.03.2016. */ public class ClientProxy extends CommonProxy { - @Override - public void onPostLoad() + + public ClientProxy() { - Textures.load(); + int test = Textures01.mTextures.length; + } + + @Override + public void onPostLoad() { + super.onPostLoad(); + //Textures.ItemIcons.CustomIcon test = new Textures.ItemIcons.CustomIcon("iconsets/PRO_PICK_HEAD"); + //test.run(); + } @Override public void onLoad() { - new DetravRenderItemMetaGenerated(); + super.onLoad(); } } diff --git a/src/main/java/com/detrav/proxies/CommonProxy.java b/src/main/java/com/detrav/proxies/CommonProxy.java index 3d5fe20186..1edb3ccecb 100644 --- a/src/main/java/com/detrav/proxies/CommonProxy.java +++ b/src/main/java/com/detrav/proxies/CommonProxy.java @@ -1,17 +1,31 @@ package com.detrav.proxies; +import com.detrav.enums.DetravSimpleItems; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + /** * Created by wital_000 on 19.03.2016. */ public class CommonProxy { - public void onLoad() - { + public void onLoad() { } - public void onPostLoad() - { - + public void onPostLoad() { + long tBits = GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED + | GT_ModHandler.RecipeBits.ONLY_ADD_IF_RESULT_IS_NOT_NULL | GT_ModHandler.RecipeBits.NOT_REMOVABLE; + for (Materials aMaterial : Materials.VALUES) { + if ((aMaterial.mUnificatable) && (aMaterial.mMaterialInto == aMaterial)) { + if (!aMaterial.contains(SubTag.NO_SMASHING)) { + GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(DetravSimpleItems.toolProPickHead.get(aMaterial), null, 1L), tBits, new Object[]{"PI", "fh", + Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial)}); + } + } + } } } diff --git a/src/main/java/com/detrav/proxies/ServerProxy.java b/src/main/java/com/detrav/proxies/ServerProxy.java index 4aa26808ad..9d5bbac634 100644 --- a/src/main/java/com/detrav/proxies/ServerProxy.java +++ b/src/main/java/com/detrav/proxies/ServerProxy.java @@ -4,4 +4,14 @@ package com.detrav.proxies; * Created by wital_000 on 19.03.2016. */ public class ServerProxy extends CommonProxy { + @Override + public void onPostLoad() + { + super.onPostLoad(); + } + @Override + public void onLoad() + { + super.onLoad(); + } } diff --git a/src/main/java/com/detrav/tools/DetravMetaGeneratedItem01.java b/src/main/java/com/detrav/tools/DetravMetaGeneratedItem01.java deleted file mode 100644 index dd3c8213e4..0000000000 --- a/src/main/java/com/detrav/tools/DetravMetaGeneratedItem01.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.detrav.tools; - -import com.detrav.utils.DetravMetaGeneratedItem; -import com.detrav.utils.Textures; -import gregtech.api.enums.TC_Aspects; - -/** - * Created by wital_000 on 19.03.2016. - */ -public class DetravMetaGeneratedItem01 extends DetravMetaGeneratedItem { - - public static DetravMetaGeneratedItem01 INSTANCE; - - public DetravMetaGeneratedItem01() { - super("detrav.meta.item.01"); - INSTANCE = this; - this.addItem(1,"ProPick Head",null, new Object[] {new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}); - //this.getIco - mIconList[1][1] = Textures.ItemIcons.PRO_PICK_HEAD.getIcon(); - } -} diff --git a/src/main/java/com/detrav/tools/DetravRenderItemMetaGenerated.java b/src/main/java/com/detrav/tools/DetravRenderItemMetaGenerated.java deleted file mode 100644 index 9d029690c2..0000000000 --- a/src/main/java/com/detrav/tools/DetravRenderItemMetaGenerated.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.detrav.tools; - -import com.detrav.utils.DetravMetaGeneratedItem; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.util.GT_Utility; -import gregtech.common.render.GT_RenderUtil; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import org.lwjgl.opengl.GL11; - -import java.util.Iterator; - -/** - * Created by wital_000 on 19.03.2016. - */ -public class DetravRenderItemMetaGenerated implements IItemRenderer { - - public DetravRenderItemMetaGenerated() - { - Iterator tIterator = DetravMetaGeneratedItem01.sInstances.values().iterator(); - while(tIterator.hasNext()) - { - DetravMetaGeneratedItem dItem = (DetravMetaGeneratedItem) tIterator.next(); - if(dItem != null) - MinecraftForgeClient.registerItemRenderer(dItem, this); - } - } - - @Override - public boolean handleRenderType(ItemStack aStack, IItemRenderer.ItemRenderType aType) { - if ((GT_Utility.isStackInvalid(aStack)) || (aStack.getItemDamage() < 0)) { - return false; - } - return (aType == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) || (aType == IItemRenderer.ItemRenderType.INVENTORY) || (aType == IItemRenderer.ItemRenderType.EQUIPPED) || (aType == IItemRenderer.ItemRenderType.ENTITY); - } - - @Override - public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType aType, ItemStack aStack, IItemRenderer.ItemRendererHelper aHelper) { - if (GT_Utility.isStackInvalid(aStack)) { - return false; - } - return aType == IItemRenderer.ItemRenderType.ENTITY; - } - @Override - public void renderItem(IItemRenderer.ItemRenderType type, ItemStack aStack, Object... data) { - - if (GT_Utility.isStackInvalid(aStack)) { - return; - } - short aMetaData = (short) aStack.getItemDamage(); - if (aMetaData < 0) { - return; - } - - DetravMetaGeneratedItem aItem = (DetravMetaGeneratedItem) aStack.getItem(); - - GL11.glEnable(3042); - if (type == IItemRenderer.ItemRenderType.ENTITY) { - if (RenderItem.renderInFrame) { - GL11.glScalef(0.85F, 0.85F, 0.85F); - GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslated(-0.5D, -0.42D, 0.0D); - } else { - GL11.glTranslated(-0.5D, -0.42D, 0.0D); - } - GL11.glColor3f(1.0F, 1.0F, 1.0F); - if (aMetaData < 0) { - IIconContainer aIcon = aItem.getIconContainer(aMetaData); - IIcon tOverlay = null; - IIcon tFluidIcon = null; - IIcon tIcon; - if (aIcon == null) { - tIcon = aStack.getIconIndex(); - } else { - tIcon = aIcon.getIcon(); - tOverlay = aIcon.getOverlayIcon(); - } - if (tIcon == null) { - return; - } - /*FluidStack tFluid = GT_Utility.getFluidForFilledItem(aStack, true); - if ((tOverlay != null) && (tFluid != null) && (tFluid.getFluid() != null)) { - tFluidIcon = tFluid.getFluid().getIcon(tFluid); - }*/ - Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture); - GL11.glBlendFunc(770, 771); - if (tFluidIcon == null) { - short[] tModulation = aItem.getRGBa(aStack); - GL11.glColor3f(tModulation[0] / 255.0F, tModulation[1] / 255.0F, tModulation[2] / 255.0F); - } - if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) { - GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F); - } else { - ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F); - } - /*if (tFluidIcon != null) { - assert (tFluid != null); - int tColor = tFluid.getFluid().getColor(tFluid); - GL11.glColor3f((tColor >> 16 & 0xFF) / 255.0F, (tColor >> 8 & 0xFF) / 255.0F, (tColor & 0xFF) / 255.0F); - Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture); - GL11.glBlendFunc(770, 771); - GL11.glDepthFunc(514); - if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) { - GT_RenderUtil.renderItemIcon(tFluidIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F); - } else { - ItemRenderer.renderItemIn2D(Tessellator.instance, tFluidIcon.getMaxU(), tFluidIcon.getMinV(), tFluidIcon.getMinU(), tFluidIcon.getMaxV(), tFluidIcon.getIconWidth(), tFluidIcon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(515); - }*/ - GL11.glColor3f(1.0F, 1.0F, 1.0F); - if (tOverlay != null) { - Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture); - GL11.glBlendFunc(770, 771); - if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) { - GT_RenderUtil.renderItemIcon(tOverlay, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F); - } else { - ItemRenderer.renderItemIn2D(Tessellator.instance, tOverlay.getMaxU(), tOverlay.getMinV(), tOverlay.getMinU(), tOverlay.getMaxV(), tOverlay.getIconWidth(), tOverlay.getIconHeight(), 0.0625F); - } - } - } else { - IIcon tIcon; - if (aItem.mIconList[(aMetaData)].length > 1) { - Long[] tStats = null; - //Long[] tStats = (Long[]) aItem.mElectricStats.get(Short.valueOf(aMetaData)); - - if ((tStats != null) && (tStats[3].longValue() < 0L)) { - long tCharge = aItem.getRealCharge(aStack); - - if (tCharge <= 0L) { - tIcon = aItem.mIconList[(aMetaData)][1]; - } else { - - if (tCharge >= tStats[0].longValue()) { - tIcon = aItem.mIconList[(aMetaData)][8]; - } else { - tIcon = aItem.mIconList[(aMetaData)][(7 - (int) java.lang.Math.max(0L, java.lang.Math.min(5L, (tStats[0].longValue() - tCharge) * 6L / tStats[0].longValue())))]; - } - } - } else { - tIcon = aItem.mIconList[(aMetaData)][0]; - } - } else { - tIcon = aItem.mIconList[(aMetaData)][0]; - } - Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture); - GL11.glBlendFunc(770, 771); - if (type.equals(IItemRenderer.ItemRenderType.INVENTORY)) { - GT_RenderUtil.renderItemIcon(tIcon, 16.0D, 0.001D, 0.0F, 0.0F, -1.0F); - } else { - ItemRenderer.renderItemIn2D(Tessellator.instance, tIcon.getMaxU(), tIcon.getMinV(), tIcon.getMinU(), tIcon.getMaxV(), tIcon.getIconWidth(), tIcon.getIconHeight(), 0.0625F); - } - } - GL11.glDisable(3042); - } - } -}
\ No newline at end of file diff --git a/src/main/java/com/detrav/utils/DetravMetaGeneratedItem.java b/src/main/java/com/detrav/utils/DetravMetaGeneratedItem.java deleted file mode 100644 index 8f46ba39b5..0000000000 --- a/src/main/java/com/detrav/utils/DetravMetaGeneratedItem.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.detrav.utils; - -import com.detrav.DetravScannerMod; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.GregTech_API; -import gregtech.api.enums.Materials; -import gregtech.api.enums.TC_Aspects; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_OreDictUnificator; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -/** - * Created by wital_000 on 19.03.2016. - */ -public abstract class DetravMetaGeneratedItem extends GT_MetaBase_Item { - - public static final HashMap<String, DetravMetaGeneratedItem> sInstances = new HashMap<String, DetravMetaGeneratedItem>(); - public IIcon[][] mIconList; - - - public DetravMetaGeneratedItem(String aUnlocalized) { - super(aUnlocalized); - setCreativeTab(DetravScannerMod.TAB_DETRAV); - setMaxStackSize(64); - - mIconList = new IIcon[1][1]; - - sInstances.put(getUnlocalizedName(), this); - } - - public final ItemStack addItem(int aID, String aEnglish, String aToolTip, Object... aOreDictNamesAndAspects) - { - if(aToolTip == null) - aToolTip = ""; - if(aID >= 0 && aID < 32766) { - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + aID + ".name" , aEnglish); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + aID + ".tooltip" , aToolTip); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (aID+1) + ".name" , aEnglish + " (Broken)"); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (aID+1) + ".tooltip" , "Perhaps you can salvage some?"); - ItemStack rStack = new ItemStack(this, 1, aID); - List<TC_Aspects.TC_AspectStack> tAspects = new ArrayList<TC_Aspects.TC_AspectStack>(); - for (Object tOreDictNameOrAspect : aOreDictNamesAndAspects) - { - if (tOreDictNameOrAspect instanceof TC_Aspects.TC_AspectStack) - ((TC_Aspects.TC_AspectStack)tOreDictNameOrAspect).addToAspectList(tAspects); - else - GT_OreDictUnificator.registerOre(tOreDictNameOrAspect, rStack); - } - if (GregTech_API.sThaumcraftCompat != null) - GregTech_API.sThaumcraftCompat.registerThaumcraftAspectsToItem(rStack, tAspects, false); - return rStack; - } - return null; - } - - public final ItemStack getItem(int aID, int aAmount, Materials aPrimaryMaterial) - { - ItemStack rStack = new ItemStack(this, aAmount, aID); - return rStack; - } - - - @Override - public Long[] getElectricStats(ItemStack itemStack) { - return null; - } - - @Override - public Long[] getFluidContainerStats(ItemStack itemStack) { - return null; - } - - @Override - public final int getItemStackLimit(ItemStack aStack) - { - return 64; - } - - public IIconContainer getIconContainer(short aMetaData) { - //return - //return mIconList[aMetaData][1]; - switch (aMetaData) - { - case 1: - return Textures.ItemIcons.PRO_PICK_HEAD; - default: - return Textures.ItemIcons.RENDERING_ERROR; - } - } - - public short[] getRGBa(ItemStack aStack) { - return Materials._NULL.getRGBA(); - } - - - @Override - @SideOnly(Side.CLIENT) - public final void registerIcons(IIconRegister aIconRegister) { - //mIconList[1][1] = aIconRegister.registerIcon() - } -} diff --git a/src/main/java/com/detrav/utils/DetravMetaGeneratedTool.java b/src/main/java/com/detrav/utils/DetravMetaGeneratedTool.java deleted file mode 100644 index 81c0ff3cd1..0000000000 --- a/src/main/java/com/detrav/utils/DetravMetaGeneratedTool.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.detrav.utils; - -import gregtech.api.interfaces.IDamagableItem; -import gregtech.api.items.GT_MetaBase_Item; -import net.minecraft.item.ItemStack; - -/** - * Created by wital_000 on 19.03.2016. - */ -public class DetravMetaGeneratedTool extends GT_MetaBase_Item implements IDamagableItem { - - public DetravMetaGeneratedTool(String aUnlocalized) { - super(aUnlocalized); - } - - @Override - public Long[] getElectricStats(ItemStack itemStack) { - return new Long[0]; - } - - @Override - public Long[] getFluidContainerStats(ItemStack itemStack) { - return new Long[0]; - } - - @Override - public boolean doDamageToItem(ItemStack itemStack, int i) { - return false; - } -} diff --git a/src/main/java/com/detrav/utils/Textures.java b/src/main/java/com/detrav/utils/Textures.java deleted file mode 100644 index 1a5387b286..0000000000 --- a/src/main/java/com/detrav/utils/Textures.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.detrav.utils; - -import gregtech.api.GregTech_API; -import gregtech.api.interfaces.IIconContainer; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; - -/** - * Created by wital_000 on 19.03.2016. - */ -public class Textures { - - public static void load() { - } - - public enum ItemIcons implements IIconContainer, Runnable { - VOID,RENDERING_ERROR,PRO_PICK_HEAD; - - - - protected IIcon mIcon, mOverlay; - - @Override - public IIcon getIcon() { - return mIcon; - } - - @Override - public IIcon getOverlayIcon() { - return mOverlay; - } - - @Override - public ResourceLocation getTextureFile() { - return TextureMap.locationItemsTexture; - } - - private ItemIcons() { - GregTech_API.sGTItemIconload.add(this); - } - - - @Override - public void run() { - mIcon = GregTech_API.sItemIcons.registerIcon("gregtech:iconsets/" + this); - mOverlay = GregTech_API.sItemIcons.registerIcon("gregtech:iconsets/" + this + "_OVERLAY"); - } - } -} diff --git a/src/main/resources/assets/gregtech/textures/items/iconsets/PRO_PICK_HEAD.png b/src/main/resources/assets/gregtech/textures/items/iconsets/PRO_PICK_HEAD.png Binary files differindex e3a55b747d..12374a9e20 100644 --- a/src/main/resources/assets/gregtech/textures/items/iconsets/PRO_PICK_HEAD.png +++ b/src/main/resources/assets/gregtech/textures/items/iconsets/PRO_PICK_HEAD.png diff --git a/src/main/resources/assets/gregtech/textures/items/iconsets/PRO_PICK_HEAD_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/iconsets/PRO_PICK_HEAD_OVERLAY.png Binary files differindex 855a08e5ef..e3a55b747d 100644 --- a/src/main/resources/assets/gregtech/textures/items/iconsets/PRO_PICK_HEAD_OVERLAY.png +++ b/src/main/resources/assets/gregtech/textures/items/iconsets/PRO_PICK_HEAD_OVERLAY.png |