aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/technus/tectech/loader/MainLoader.java2
-rw-r--r--src/main/java/com/github/technus/tectech/loader/ThingsLoader.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java143
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java5
-rw-r--r--src/main/resources/assets/tectech/lang/en_US.lang1
-rw-r--r--src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardLocked.pngbin0 -> 686 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardUnlocked.pngbin0 -> 686 bytes
8 files changed, 154 insertions, 1 deletions
diff --git a/src/main/java/com/github/technus/tectech/loader/MainLoader.java b/src/main/java/com/github/technus/tectech/loader/MainLoader.java
index 9c13bee1c9..78975b8c35 100644
--- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java
@@ -10,6 +10,7 @@ import com.github.technus.tectech.thing.block.QuantumGlassBlock;
import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT;
import com.github.technus.tectech.thing.item.DebugBuilder;
import com.github.technus.tectech.thing.item.DebugContainer_EM;
+import com.github.technus.tectech.thing.item.ParametrizerMemoryCard;
import cpw.mods.fml.common.ProgressManager;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -117,6 +118,7 @@ public final class MainLoader {//TODO add checks for - is mod loaded dreamcraft
GT_Container_CasingsTT.sBlockCasingsTT.setCreativeTab(mainTab);
DebugContainer_EM.INSTANCE.setCreativeTab(mainTab);
DebugBuilder.INSTANCE.setCreativeTab(mainTab);
+ ParametrizerMemoryCard.INSTANCE.setCreativeTab(mainTab);
}
private void registerExtraHazmats() {
diff --git a/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java b/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java
index b4b8d9cf07..e66aa158cc 100644
--- a/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java
@@ -6,6 +6,7 @@ import com.github.technus.tectech.thing.casing.GT_Block_CasingsTT;
import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT;
import com.github.technus.tectech.thing.item.DebugBuilder;
import com.github.technus.tectech.thing.item.DebugContainer_EM;
+import com.github.technus.tectech.thing.item.ParametrizerMemoryCard;
import cpw.mods.fml.common.Loader;
import openmodularturrets.blocks.turretbases.TurretBaseEM;
import openmodularturrets.blocks.turretheads.TurretHeadEM;
@@ -30,6 +31,7 @@ public class ThingsLoader implements Runnable {
DebugContainer_EM.run();
DebugBuilder.run();
+ ParametrizerMemoryCard.run();
TecTech.Logger.info("Debug Items registered");
}
}
diff --git a/src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java b/src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java
new file mode 100644
index 0000000000..ac6adff154
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java
@@ -0,0 +1,143 @@
+package com.github.technus.tectech.thing.item;
+
+import com.github.technus.tectech.CommonValues;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Param;
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
+import java.util.List;
+
+import static com.github.technus.tectech.auxiliary.Reference.MODID;
+
+/**
+ * Created by Tec on 15.03.2017.
+ */
+public class ParametrizerMemoryCard extends Item {
+ public static ParametrizerMemoryCard INSTANCE;
+ public static IIcon locked,unlocked;
+
+ private ParametrizerMemoryCard() {
+ super();
+ setMaxStackSize(1);
+ setUnlocalizedName("em.parametrizerMemoryCard");
+ setTextureName(MODID + ":itemParametrizerMemoryCardUnlocked");
+ }
+
+ @Override
+ public boolean onItemUseFirst(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) {
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
+ if (aPlayer instanceof EntityPlayerMP) {
+ aStack.stackSize = 1;
+ if (tTileEntity != null && tTileEntity instanceof IGregTechTileEntity) {
+ IMetaTileEntity metaTE = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity();
+ if (metaTE != null && metaTE instanceof GT_MetaTileEntity_Hatch_Param) {
+ GT_MetaTileEntity_Hatch_Param parametrizer = ((GT_MetaTileEntity_Hatch_Param) metaTE);
+
+ if (tNBT.hasKey("cardLocked")) {
+ //write to parametrizer
+ parametrizer.exponent = tNBT.getInteger("exponent");
+ parametrizer.value2 = tNBT.getInteger("value2");
+ parametrizer.value1 = tNBT.getInteger("value1");
+ parametrizer.param = tNBT.getInteger("param");
+ parametrizer.value1f = tNBT.getFloat("value1f");
+ parametrizer.value2f = tNBT.getFloat("value2f");
+ } else {
+ //read from parametrizer
+ tNBT.setInteger("exponent", parametrizer.exponent);
+ tNBT.setInteger("value2", parametrizer.value2);
+ tNBT.setInteger("value1", parametrizer.value1);
+ tNBT.setInteger("param", parametrizer.param);
+ tNBT.setFloat("value1f", parametrizer.value1f);
+ tNBT.setFloat("value2f", parametrizer.value2f);
+ }
+ }
+ return true;
+ } else {
+ //change mode
+ if(tNBT.hasKey("cardLocked")) {
+ tNBT.removeTag("cardLocked");
+ }else{
+ tNBT.setBoolean("cardLocked",true);
+ }
+ return true;
+ }
+ }
+ return aPlayer instanceof EntityPlayerMP;
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) {
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ aList.add(CommonValues.bassMark);
+ aList.add("Stores Parameters");
+ if(tNBT.hasKey("cardLocked")) {
+ aList.add(EnumChatFormatting.BLUE + "Use on Parametrizer to load parameters");
+ }else{
+ aList.add(EnumChatFormatting.BLUE + "Use on Parametrizer to save parameters");
+ }
+
+ if(tNBT.hasKey("param")) {
+ aList.add("Parameters ID: "+EnumChatFormatting.AQUA + tNBT.getInteger("param"));
+ aList.add("Value 0: "+EnumChatFormatting.AQUA + tNBT.getFloat("value1f"));
+ aList.add("Value 1: "+EnumChatFormatting.AQUA + tNBT.getFloat("value2f"));
+ aList.add("Mantissa 0: "+EnumChatFormatting.AQUA + tNBT.getInteger("value1"));
+ aList.add("Mantissa 1: "+EnumChatFormatting.AQUA + tNBT.getInteger("value2"));
+ aList.add("Exponent: "+EnumChatFormatting.AQUA + tNBT.getInteger("exponent"));
+ }
+ aList.add(EnumChatFormatting.BLUE + "Use somewhere else to lock/unlock");
+ }
+
+ public static void run() {
+ INSTANCE = new ParametrizerMemoryCard();
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister iconRegister) {
+ locked=iconRegister.registerIcon(MODID + ":itemParametrizerMemoryCardLocked");
+ unlocked=this.itemIcon = iconRegister.registerIcon(this.getIconString());
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(ItemStack aStack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
+ if(aStack.getTagCompound().hasKey("cardLocked")) {
+ return locked;
+ }else{
+ return unlocked;
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(ItemStack aStack, int pass) {
+ if(aStack.getTagCompound().hasKey("cardLocked")) {
+ return locked;
+ }else{
+ return unlocked;
+ }
+ }
+
+ @Override
+ public void getSubItems(Item item, CreativeTabs tab, List list) {
+ ItemStack that = new ItemStack(this, 1);
+ that.setTagCompound(new NBTTagCompound());
+ list.add(that);
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java
index 5d2a22ca05..d3bd5cb35f 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java
@@ -193,7 +193,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
}
@Override
- public final byte getTileEntityBaseType() {
+ public byte getTileEntityBaseType() {
return 3;
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
index 2856e2b034..463353e00f 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
@@ -264,4 +264,9 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock
public void doExplosion(long aExplosionPower) {
explodeMultiblock();
}//Redirecting to explodemultiblock
+
+ @Override
+ public byte getTileEntityBaseType() {
+ return 1;
+ }
}
diff --git a/src/main/resources/assets/tectech/lang/en_US.lang b/src/main/resources/assets/tectech/lang/en_US.lang
index f17f2e48c9..0bdbcfd41a 100644
--- a/src/main/resources/assets/tectech/lang/en_US.lang
+++ b/src/main/resources/assets/tectech/lang/en_US.lang
@@ -2,6 +2,7 @@ itemGroup.TecTech=TecTech Interdimensional
tile.quantumGlass.name=Quantum Glass
item.em.debugContainer.name=Debug EM Container
item.em.debugBuilder.name=Debug Builder
+item.em.parametrizerMemoryCard.name=Parametrizer Memory Card
death.attack.microwaving=%1$s was dehydrated by radiation.
death.attack.microwaving.player=%1$s was dehydrated by radiation while fighting %2$s.
diff --git a/src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardLocked.png b/src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardLocked.png
new file mode 100644
index 0000000000..0ef5e35895
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardLocked.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardUnlocked.png b/src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardUnlocked.png
new file mode 100644
index 0000000000..1a4c0dc9bc
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardUnlocked.png
Binary files differ