aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2018-05-08 22:36:01 +0200
committerGitHub <noreply@github.com>2018-05-08 22:36:01 +0200
commitd8f25abb1c82448c75067debc801c12f91c7e59f (patch)
tree4b1ba7dbb78f06bce0b78d435c9e42e202c01942 /src
parentfd15930b854b9a5e48fc6e427f5d6aeee09dd36e (diff)
parent50891e37a1a8931d8b1ea961fb2186568fed0f8a (diff)
downloadGT5-Unofficial-d8f25abb1c82448c75067debc801c12f91c7e59f.tar.gz
GT5-Unofficial-d8f25abb1c82448c75067debc801c12f91c7e59f.tar.bz2
GT5-Unofficial-d8f25abb1c82448c75067debc801c12f91c7e59f.zip
Merge pull request #118 from GTNewHorizons/Schematic2DataStick
Schematic2DataStick
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_DataStick.java20
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java49
2 files changed, 61 insertions, 8 deletions
diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_DataStick.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_DataStick.java
index 809d7f806c..42de464b17 100644
--- a/src/main/java/gregtech/common/items/behaviors/Behaviour_DataStick.java
+++ b/src/main/java/gregtech/common/items/behaviors/Behaviour_DataStick.java
@@ -29,6 +29,26 @@ public class Behaviour_DataStick
aList.add(tString.substring(i, Math.min(i + 64, j)));
}
}
+ short sTier = GT_Utility.ItemNBT.getNBT(aStack).getShort("rocket_tier");
+ if (sTier > 0 && sTier<100) {
+ aList.add("Rocket Schematic Tier: " + sTier);
+ }else if (sTier>=100) {
+ switch (sTier) {
+ case 100: {
+ aList.add("Moonbuggy Schematic");
+ break;
+ }
+ case 101: {
+ aList.add("Cargo-Rocket Schematic");
+ break;
+ }
+ case 102: {
+ aList.add("Astro-Miner Schematic");
+ break;
+ }
+ }
+ }
+
return aList;
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
index 1a60ce2bef..c8481a7904 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
@@ -4,14 +4,21 @@ import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IIndividual;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
-import gregtech.api.enums.*;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.objects.ItemData;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
import gregtech.common.items.behaviors.Behaviour_DataOrb;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
@@ -95,7 +102,7 @@ public class GT_MetaTileEntity_Scanner
if (ItemList.Tool_DataOrb.isStackEqual(aStack, false, true)) {
aStack.stackSize -= 1;
this.mOutputItems[0] = GT_Utility.copyAmount(1L, new Object[]{ItemList.Tool_DataStick.get(1, new Object[]{})});
- calculateOverclockedNess(32,512);
+ calculateOverclockedNess(30,512);
//In case recipe is too OP for that machine
if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1)
return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
@@ -109,7 +116,7 @@ public class GT_MetaTileEntity_Scanner
this.mOutputItems[0] = ItemList.Tool_DataOrb.get(1L, new Object[0]);
Behaviour_DataOrb.setDataTitle(this.mOutputItems[0], "Elemental-Scan");
Behaviour_DataOrb.setDataName(this.mOutputItems[0], tData.mMaterial.mMaterial.mElement.name());
- calculateOverclockedNess(32,GT_Utility.safeInt(tData.mMaterial.mMaterial.getMass() * 8192L));
+ calculateOverclockedNess(30,GT_Utility.safeInt(tData.mMaterial.mMaterial.getMass() * 8192L));
//In case recipe is too OP for that machine
if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1)
return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
@@ -120,7 +127,7 @@ public class GT_MetaTileEntity_Scanner
if (ItemList.Tool_DataStick.isStackEqual(aStack, false, true)) {
aStack.stackSize -= 1;
this.mOutputItems[0] = GT_Utility.copyAmount(1L, new Object[]{getSpecialSlot()});
- calculateOverclockedNess(32,128);
+ calculateOverclockedNess(30,128);
//In case recipe is too OP for that machine
if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1)
return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
@@ -132,7 +139,7 @@ public class GT_MetaTileEntity_Scanner
this.mOutputItems[0] = GT_Utility.copyAmount(1L, new Object[]{getSpecialSlot()});
this.mOutputItems[0].setTagCompound(aStack.getTagCompound());
- calculateOverclockedNess(32,128);
+ calculateOverclockedNess(30,128);
//In case recipe is too OP for that machine
if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1)
return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
@@ -144,13 +151,39 @@ public class GT_MetaTileEntity_Scanner
this.mOutputItems[0] = GT_Utility.copyAmount(1L, new Object[]{getSpecialSlot()});
this.mOutputItems[0].setTagCompound(GT_Utility.getNBTContainingShort(new NBTTagCompound(), "map_id", (short) aStack.getItemDamage()));
- calculateOverclockedNess(32,128);
+ calculateOverclockedNess(30,128);
//In case recipe is too OP for that machine
if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1)
return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
return 2;
}
+ if (aStack.getItem().getUnlocalizedName().contains("Schematic")||aStack.getItem().getUnlocalizedName().contains("schematic")){
+ String sTier ="";
+ if (aStack.getIconIndex().getIconName().matches(".*buggy+.*"))
+ sTier = "100";
+ else if(aStack.getIconIndex().getIconName().matches(".*cargo+.*"))
+ sTier = "101";
+ else if(aStack.getIconIndex().getIconName().matches(".*astro+.*"))
+ sTier = "102";
+ else if (aStack.getIconIndex().getIconName().matches(".*\\d+.*"))
+ sTier = aStack.getIconIndex().getIconName().split("(?<=\\D)(?=\\d)")[1].substring(0, 1);
+ else
+ sTier = "1";
+
+ getSpecialSlot().stackSize -= 1;
+ aStack.stackSize -= 1;
+
+ this.mOutputItems[0] = GT_Utility.copyAmount(1L, new Object[]{getSpecialSlot()});
+ this.mOutputItems[0].setTagCompound(GT_Utility.getNBTContainingShort(new NBTTagCompound(), "rocket_tier", Short.parseShort(sTier) ));
+
+ calculateOverclockedNess(480,36000);
+ //In case recipe is too OP for that machine
+ if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1)
+ return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
+ return 2;
+ }
+
}
if (getSpecialSlot() == null && ItemList.Tool_DataStick.isStackEqual(aStack, false, true)) {
if (GT_Utility.ItemNBT.getBookTitle(aStack).equals("Raw Prospection Data")) {
@@ -159,7 +192,7 @@ public class GT_MetaTileEntity_Scanner
aStack.stackSize -= 1;
this.mOutputItems[0] = GT_Utility.copyAmount(1L, new Object[]{aStack});
- calculateOverclockedNess(32,1000);
+ calculateOverclockedNess(30,1000);
//In case recipe is too OP for that machine
if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1)
return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;