aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/detrav/tools
diff options
context:
space:
mode:
authorDetrav <witalyezep@gmail.com>2016-03-19 09:08:23 +0300
committerDetrav <witalyezep@gmail.com>2016-03-19 09:08:23 +0300
commitc0db9cb3ceafd2d7c573ebe07bba1681ac9422b5 (patch)
tree4644ac250d65b04eaa25b3dc4ae197c78dacace0 /src/main/java/com/detrav/tools
parent108f9786404ccd2535aebe9ec980cb600f394853 (diff)
downloadGT5-Unofficial-c0db9cb3ceafd2d7c573ebe07bba1681ac9422b5.tar.gz
GT5-Unofficial-c0db9cb3ceafd2d7c573ebe07bba1681ac9422b5.tar.bz2
GT5-Unofficial-c0db9cb3ceafd2d7c573ebe07bba1681ac9422b5.zip
Inited
now backup
Diffstat (limited to 'src/main/java/com/detrav/tools')
-rw-r--r--src/main/java/com/detrav/tools/DetravMetaGeneratedItem01.java21
-rw-r--r--src/main/java/com/detrav/tools/DetravRenderItemMetaGenerated.java163
-rw-r--r--src/main/java/com/detrav/tools/DetravToolProPick.java178
-rw-r--r--src/main/java/com/detrav/tools/Detrav_MetaGenerated_Tool_01.java25
-rw-r--r--src/main/java/com/detrav/tools/ProcessingToolHeadProPick.java22
-rw-r--r--src/main/java/com/detrav/tools/ToolDictNames.java9
6 files changed, 418 insertions, 0 deletions
diff --git a/src/main/java/com/detrav/tools/DetravMetaGeneratedItem01.java b/src/main/java/com/detrav/tools/DetravMetaGeneratedItem01.java
new file mode 100644
index 0000000000..dd3c8213e4
--- /dev/null
+++ b/src/main/java/com/detrav/tools/DetravMetaGeneratedItem01.java
@@ -0,0 +1,21 @@
+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
new file mode 100644
index 0000000000..9d029690c2
--- /dev/null
+++ b/src/main/java/com/detrav/tools/DetravRenderItemMetaGenerated.java
@@ -0,0 +1,163 @@
+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/tools/DetravToolProPick.java b/src/main/java/com/detrav/tools/DetravToolProPick.java
new file mode 100644
index 0000000000..ee6a074792
--- /dev/null
+++ b/src/main/java/com/detrav/tools/DetravToolProPick.java
@@ -0,0 +1,178 @@
+package com.detrav.tools;
+
+import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
+import gregtech.api.damagesources.GT_DamageSources;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.interfaces.IToolStats;
+import net.minecraft.block.Block;
+import net.minecraft.enchantment.Enchantment;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.stats.AchievementList;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.DamageSource;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IChatComponent;
+import net.minecraftforge.event.world.BlockEvent;
+
+import java.util.List;
+
+/**
+ * Created by wital_000 on 18.03.2016.
+ */
+public class DetravToolProPick implements IToolStats {
+ public int getToolDamagePerBlockBreak() {
+ return GT_Mod.gregtechproxy.mHardRock ? 25 : 50;
+ }
+
+ public int getToolDamagePerDropConversion() {
+ return 100;
+ }
+
+ public int getToolDamagePerContainerCraft() {
+ return 100;
+ }
+
+ public int getToolDamagePerEntityAttack() {
+ return 200;
+ }
+
+ public int getBaseQuality() {
+ return 0;
+ }
+
+ public float getBaseDamage() {
+ return 1.5F;
+ }
+
+ @Override
+ public int getHurtResistanceTime(int i, Entity entity) {
+ return i;
+ }
+
+ public float getSpeedMultiplier() {
+ return 1.0F;
+ }
+
+ public float getMaxDurabilityMultiplier() {
+ return 1.0F;
+ }
+
+ @Override
+ public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity) {
+ return GT_DamageSources.getCombatDamage((aPlayer instanceof EntityPlayer) ? "player" : "mob", aPlayer, (aEntity instanceof EntityLivingBase) ? getDeathMessage(aPlayer, (EntityLivingBase) aEntity) : null);
+ }
+
+ public String getCraftingSound() {
+ return null;
+ }
+
+ public String getEntityHitSound() {
+ return null;
+ }
+
+ public String getBreakingSound() {
+ return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ }
+
+ @Override
+ public Enchantment[] getEnchantments(ItemStack itemStack) {
+ return new Enchantment[0];
+ }
+
+ @Override
+ public int[] getEnchantmentLevels(ItemStack itemStack) {
+ return new int[0];
+ }
+
+ public String getMiningSound() {
+ return null;
+ }
+
+ public boolean canBlock() {
+ return false;
+ }
+
+ public boolean isCrowbar() {
+ return false;
+ }
+
+ @Override
+ public boolean isGrafter() {
+ return false;
+ }
+
+ @Override
+ public boolean isChainsaw() {
+ return false;
+ }
+
+ @Override
+ public boolean isWrench() {
+ return false;
+ }
+
+ @Override
+ public boolean isWeapon() {
+ return false;
+ }
+
+ @Override
+ public boolean isRangedWeapon() {
+ return false;
+ }
+
+ @Override
+ public boolean isMiningTool() {
+ return true;
+ }
+
+ public boolean isMinableBlock(Block aBlock, byte aMetaData) {
+ return false;
+ }
+
+ @Override
+ public int convertBlockDrops(List<ItemStack> list, ItemStack itemStack, EntityPlayer entityPlayer, Block block, int i, int i1, int i2, byte b, int i3, boolean b1, BlockEvent.HarvestDropsEvent harvestDropsEvent) {
+ return 0;
+ }
+
+ public ItemStack getBrokenItem(ItemStack aStack) {
+ return null;
+ }
+
+ @Override
+ public float getNormalDamageAgainstEntity(float v, Entity entity, ItemStack itemStack, EntityPlayer entityPlayer) {
+ return v;
+ }
+
+ @Override
+ public float getMagicDamageAgainstEntity(float v, Entity entity, ItemStack itemStack, EntityPlayer entityPlayer) {
+ return v;
+ }
+
+ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
+ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadPickaxe.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex];
+ }
+
+ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
+ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+ }
+
+ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
+ }
+
+ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
+
+ aPlayer.triggerAchievement(AchievementList.openInventory);
+ aPlayer.triggerAchievement(AchievementList.mineWood);
+ aPlayer.triggerAchievement(AchievementList.buildWorkBench);
+ }
+
+ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
+ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got ProPicked by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+ }
+}
diff --git a/src/main/java/com/detrav/tools/Detrav_MetaGenerated_Tool_01.java b/src/main/java/com/detrav/tools/Detrav_MetaGenerated_Tool_01.java
new file mode 100644
index 0000000000..8db6de9595
--- /dev/null
+++ b/src/main/java/com/detrav/tools/Detrav_MetaGenerated_Tool_01.java
@@ -0,0 +1,25 @@
+package com.detrav.tools;
+
+import gregtech.api.enums.TC_Aspects;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+
+/**
+ * Created by wital_000 on 18.03.2016.
+ */
+public class Detrav_MetaGenerated_Tool_01 extends GT_MetaGenerated_Tool {
+ public static Detrav_MetaGenerated_Tool_01 INSTANCE;
+
+ public Detrav_MetaGenerated_Tool_01() {
+ super("detrav.metatool.01");
+ INSTANCE = this;
+ addTool(1, "Prospector's Pick", "", new DetravToolProPick(),
+ new Object[]
+ {
+ ToolDictNames.craftingToolProPick,
+ new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L),
+ new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 4L),
+ new TC_Aspects.TC_AspectStack(TC_Aspects.TERRA, 4L),
+ new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L)
+ });
+ }
+}
diff --git a/src/main/java/com/detrav/tools/ProcessingToolHeadProPick.java b/src/main/java/com/detrav/tools/ProcessingToolHeadProPick.java
new file mode 100644
index 0000000000..c822a60162
--- /dev/null
+++ b/src/main/java/com/detrav/tools/ProcessingToolHeadProPick.java
@@ -0,0 +1,22 @@
+package com.detrav.tools;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_ModHandler;
+import net.minecraft.item.ItemStack;
+
+/**
+ * Created by wital_000 on 18.03.2016.
+ */
+public class ProcessingToolHeadProPick implements gregtech.api.interfaces.IOreRecipeRegistrator {
+ public ProcessingToolHeadProPick() {
+ OrePrefixes.toolHeadPickaxe.add(this);
+ }
+
+ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
+ /*GT_ModHandler.
+ addShapelessCraftingRecipe(
+ Detrav_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(1, 1, aMaterial, aMaterial.mHandleMaterial, null),
+ new Object[]{aOreDictName, OrePrefixes.stick.get(aMaterial.mHandleMaterial),}});*/
+ }
+}
diff --git a/src/main/java/com/detrav/tools/ToolDictNames.java b/src/main/java/com/detrav/tools/ToolDictNames.java
new file mode 100644
index 0000000000..4c25220c05
--- /dev/null
+++ b/src/main/java/com/detrav/tools/ToolDictNames.java
@@ -0,0 +1,9 @@
+package com.detrav.tools;
+
+/**
+ * Created by wital_000 on 18.03.2016.
+ */
+public enum ToolDictNames {
+ craftingToolProPickHead,
+ craftingToolProPick;
+} \ No newline at end of file