aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/detrav/items
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/detrav/items')
-rw-r--r--src/main/java/com/detrav/items/DetravMetaGeneratedItem01.java48
-rw-r--r--src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java4
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravConfigurator.java78
-rw-r--r--src/main/java/com/detrav/items/tools/DetravToolCircuitConfigurator.java71
4 files changed, 190 insertions, 11 deletions
diff --git a/src/main/java/com/detrav/items/DetravMetaGeneratedItem01.java b/src/main/java/com/detrav/items/DetravMetaGeneratedItem01.java
index 6f0f278726..8edeb87b30 100644
--- a/src/main/java/com/detrav/items/DetravMetaGeneratedItem01.java
+++ b/src/main/java/com/detrav/items/DetravMetaGeneratedItem01.java
@@ -43,13 +43,11 @@ public class DetravMetaGeneratedItem01 extends DetravMetaGeneratedItem {
return aDoShowAllItems || !aPrefix.name().startsWith("toolHead");
}
- public boolean isConfiguredCircuit(ItemStack aStack)
- {
- return aStack.getUnlocalizedName().indexOf("gt.detrav.metaitem.01." + (mOffset+1)) == 0;
+ public boolean isConfiguredCircuit(ItemStack aStack) {
+ return aStack.getUnlocalizedName().indexOf("gt.detrav.metaitem.01." + (mOffset + 1)) == 0;
}
-
public void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) {
int tOffset = aList.size();
String name = aStack.getUnlocalizedName();
@@ -65,11 +63,9 @@ public class DetravMetaGeneratedItem01 extends DetravMetaGeneratedItem {
tOffset = addToList(tOffset, aList, detravPosition, "Percent", true);
tOffset = addToList(tOffset, aList, detravPosition, "XCurrent", true);
tOffset = addToList(tOffset, aList, detravPosition, "ZCurrent", true);
- tOffset = addToList(tOffset, aList, detravPosition, "XFrom", true);
- tOffset = addToList(tOffset, aList, detravPosition, "XTo", true);
- tOffset = addToList(tOffset, aList, detravPosition, "ZFrom", true);
- tOffset = addToList(tOffset, aList, detravPosition, "ZTo", true);
- tOffset = addToList(tOffset, aList, detravPosition, "Configurated", false);
+ tOffset = addToList(tOffset, aList, detravPosition, "X", "XFrom", "XTo");
+ tOffset = addToList(tOffset, aList, detravPosition, "Z", "ZFrom", "ZTo");
+ tOffset = addToList(tOffset, aList, detravPosition, "Y", "YFrom", "YTo");
}
}
}
@@ -77,7 +73,7 @@ public class DetravMetaGeneratedItem01 extends DetravMetaGeneratedItem {
}
}
- public int addToList(int tOffset, List aList, NBTTagCompound tag,String name, boolean integer) {
+ public int addToList(int tOffset, List aList, NBTTagCompound tag, String name, boolean integer) {
if (!tag.hasKey(name))
return tOffset;
if (integer) {
@@ -88,6 +84,36 @@ public class DetravMetaGeneratedItem01 extends DetravMetaGeneratedItem {
aList.add(tOffset, EnumChatFormatting.WHITE + name + EnumChatFormatting.GRAY);
}
}
- return tOffset + 1;
+ return tOffset + 1;
+ }
+
+
+ public int addToList(int tOffset, List aList, NBTTagCompound tag, String text, String from, String to) {
+ String i_from = "";
+ String i_to = "";
+ boolean noFrom = true;
+ boolean noTo = true;
+ if (tag.hasKey(from)) {
+ i_from = "" + tag.getInteger(from);
+ noFrom = false;
+ }
+
+ if (tag.hasKey(to)) {
+ i_to = "" + tag.getInteger(to);
+ noTo = false;
+ }
+
+ if (noFrom && noTo)
+ return tOffset;
+
+ if (!noFrom && !noTo)
+ aList.add(tOffset, EnumChatFormatting.WHITE + text + " from " + i_from + " to " + i_to + EnumChatFormatting.GRAY);
+ else if (noFrom)
+ aList.add(tOffset, EnumChatFormatting.WHITE + text + " to " + i_to + EnumChatFormatting.GRAY);
+ else
+ aList.add(tOffset, EnumChatFormatting.WHITE + text + " from " + i_from + EnumChatFormatting.GRAY);
+
+
+ return tOffset + 1;
}
}
diff --git a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java
index 7ffd561169..5ae33a60c8 100644
--- a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java
+++ b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java
@@ -38,6 +38,7 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool {
addTool(102, "Electric Prospector's Scanner (MV)", "", new DetravToolMVElectricProPick(), new Object[]{DetravToolDictNames.craftingToolElectricProPick, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}, new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L));
addTool(104, "Electric Prospector's Scanner (HV)", "", new DetravToolHVElectricProPick(), new Object[]{DetravToolDictNames.craftingToolElectricProPick, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}, new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L));
addTool(106, "Portable Battery Charger", "", new DetravToolPortableCharger(), new Object[]{DetravToolDictNames.craftingToolPortableCharger, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.AURAM, 4L)}, new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L));
+ addTool(108, "Circuit Confugurator", "", new DetravToolCircuitConfigurator(), new Object[]{DetravToolDictNames.craftingToolCictuitConfigurator, new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO,10L) });
setCreativeTab(DetravScannerMod.TAB_DETRAV);
}
@@ -115,6 +116,9 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool {
aList.add(tOffset + 3, "x4 charge speed for tools");
aList.add(tOffset + 4, "Right click to open GUI");
break;
+ case 108:
+ aList.add(tOffset + 0, EnumChatFormatting.WHITE + "It can configure any programmed circuit" + EnumChatFormatting.GRAY);
+ break;
}
}
}
diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravConfigurator.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravConfigurator.java
new file mode 100644
index 0000000000..8ff2f3edec
--- /dev/null
+++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravConfigurator.java
@@ -0,0 +1,78 @@
+package com.detrav.items.behaviours;
+
+import com.detrav.enums.DetravItemList;
+import gregtech.api.items.GT_MetaBase_Item;
+import gregtech.common.items.behaviors.Behaviour_None;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.IChunkProvider;
+
+/**
+ * Created by Detrav on 29.04.2017.
+ */
+public class BehaviourDetravConfigurator extends Behaviour_None {
+ public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) {
+
+ InventoryPlayer inv = aPlayer.inventory;
+ if (inv != null) {
+ for (int i = 0; i < inv.mainInventory.length; i++) {
+ if (inv.mainInventory[i].getUnlocalizedName().startsWith("gt.integrated_circuit")
+ && inv.mainInventory[i].stackSize == 1) {
+
+ int circuit_config = inv.mainInventory[i].getItemDamage();
+ if(circuit_config > 5)
+ circuit_config = 5;
+ circuit_config *= 2;
+ circuit_config++;
+ inv.mainInventory[i] = DetravItemList.ConfiguredCircuit.get(1);
+ ItemStack aCircuit = inv.mainInventory[i];
+
+ //in here if circuit is empty set data to chunk
+
+
+ NBTTagCompound aNBT = aCircuit.getTagCompound();
+ if (aNBT == null) {
+ aNBT = new NBTTagCompound();
+ NBTTagCompound detravPosition = new NBTTagCompound();
+ aNBT.setTag("DetravPosition", detravPosition);
+ aCircuit.setTagCompound(aNBT);
+ }
+
+ NBTTagCompound detravPosition = aNBT.getCompoundTag("DetravPosition");
+ if (detravPosition == null) {
+ detravPosition = new NBTTagCompound();
+ aNBT.setTag("DetravPosition", detravPosition);
+ }
+
+
+ int x_from = ((((int) aPlayer.posX) >> 4) - circuit_config + 1) * 16;
+ int x_to = ((((int) aPlayer.posX) >> 4) + circuit_config) * 16;
+ int x_current = x_from;
+ int z_from = ((((int) aPlayer.posZ) >> 4) - circuit_config + 1) * 16;
+ int z_to = ((((int) aPlayer.posZ) >> 4) + circuit_config) * 16;
+ int z_current = z_from;
+
+
+ int y_from = (int) aPlayer.posY + 1;
+ int y_to = (int) aPlayer.posY - 10;
+
+ detravPosition.setInteger("XFrom", x_from);
+ detravPosition.setInteger("XTo", x_to);
+ detravPosition.setInteger("XCurrent", x_current);
+ detravPosition.setInteger("ZFrom", z_from);
+ detravPosition.setInteger("ZTo", z_to);
+ detravPosition.setInteger("ZCurrent", z_current);
+ detravPosition.setInteger("YFrom", y_from);
+ detravPosition.setInteger("YTo", y_to);
+ return super.onItemRightClick(aItem, aStack, aWorld, aPlayer);
+ }
+ }
+
+ }
+ return super.onItemRightClick(aItem, aStack, aWorld, aPlayer);
+
+ }
+}
diff --git a/src/main/java/com/detrav/items/tools/DetravToolCircuitConfigurator.java b/src/main/java/com/detrav/items/tools/DetravToolCircuitConfigurator.java
new file mode 100644
index 0000000000..de95f5bc41
--- /dev/null
+++ b/src/main/java/com/detrav/items/tools/DetravToolCircuitConfigurator.java
@@ -0,0 +1,71 @@
+package com.detrav.items.tools;
+
+
+
+import com.detrav.enums.Textures01;
+import com.detrav.items.behaviours.BehaviourDetravConfigurator;
+import gregtech.api.GregTech_API;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.common.tools.GT_Tool;
+import net.minecraft.block.Block;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IChatComponent;
+
+import java.util.List;
+
+/**
+ * Created by Detrav on 29.04.2017.
+ */
+public class DetravToolCircuitConfigurator extends GT_Tool {
+ public float getBaseDamage() {
+ return 0.25F;
+ }
+
+ public float getSpeedMultiplier() {
+ return 0.3F;
+ }
+
+ public float getMaxDurabilityMultiplier() {
+ return 0.50F;
+ }
+
+ public String getCraftingSound() {
+ return (String) GregTech_API.sSoundList.get(Integer.valueOf(101));
+ }
+
+ public String getEntityHitSound() {
+ return (String) GregTech_API.sSoundList.get(Integer.valueOf(101));
+ }
+
+ public String getBreakingSound() {
+ return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ }
+
+ public String getMiningSound() {
+ return (String) GregTech_API.sSoundList.get(Integer.valueOf(101));
+ }
+
+ public boolean isMinableBlock(Block aBlock, byte aMetaData) {
+ return false;
+ }
+
+ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
+ return aIsToolHead ? Textures01.mTextures[8] : null;
+ }
+
+ 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) {
+ aItem.addItemBehavior(aID, new BehaviourDetravConfigurator());
+ }
+
+ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
+ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got stuck trying to escape through a Pipe while fighting " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+ }
+}