diff options
Diffstat (limited to 'src/main')
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 Binary files differnew file mode 100644 index 0000000000..0ef5e35895 --- /dev/null +++ b/src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardLocked.png diff --git a/src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardUnlocked.png b/src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardUnlocked.png Binary files differnew file mode 100644 index 0000000000..1a4c0dc9bc --- /dev/null +++ b/src/main/resources/assets/tectech/textures/items/itemParametrizerMemoryCardUnlocked.png |