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/TecTech.java1
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/README7
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java1
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/definitions/eLeptonDefinition.java1
-rw-r--r--src/main/java/com/github/technus/tectech/loader/ThingsLoader.java10
-rw-r--r--src/main/java/com/github/technus/tectech/proxy/ClientProxy.java11
-rw-r--r--src/main/java/com/github/technus/tectech/thing/block/TurretBaseEM.java13
-rw-r--r--src/main/java/com/github/technus/tectech/thing/block/TurretBaseItemEM.java33
-rw-r--r--src/main/java/com/github/technus/tectech/thing/block/TurretHeadEM.java10
-rw-r--r--src/main/java/com/github/technus/tectech/thing/block/TurretHeadItemEM.java44
-rw-r--r--src/main/java/com/github/technus/tectech/thing/block/TurretHeadRenderEM.java11
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/entity/projectileEM.java58
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/other todo2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/tileEntity/TileTurretBaseEM.java11
-rw-r--r--src/main/java/com/github/technus/tectech/thing/tileEntity/TileTurretHeadEM.java39
15 files changed, 209 insertions, 43 deletions
diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java
index 6a99a437cd..d011f558a9 100644
--- a/src/main/java/com/github/technus/tectech/TecTech.java
+++ b/src/main/java/com/github/technus/tectech/TecTech.java
@@ -20,7 +20,6 @@ import gregtech.api.enums.Materials;
import gregtech.api.util.GT_Recipe;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.init.Blocks;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/README b/src/main/java/com/github/technus/tectech/elementalMatter/README
index 211dd10b06..f6c0b35e5f 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/README
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/README
@@ -8,20 +8,21 @@ TO CHANGE DEFINITION YOU MUST INSTANTIATE IT ONCE MORE (from scratch, failing to
|
DefStack
|||||
- DefStackTree
+ DefStackMap
|
..... ETC up to the point when you can no longer make NBT to save it (128 levels - already used ones)
+
Def - definition of the parent stack
|
DefStack - stacks that build the parent definition
|||||multiple to 1
- DefStackTree - internal storage for components of parent def
+ DefStackMap - internal storage for components of parent def
|
Def - definition of the parent stack
|
DefStack - stacks that build the parent definition
|||||multiple to 1
- DefStackTree - internal storage for components of parent def
+ DefStackMap - internal storage for components of parent def
|
Definition - top hierarchy definition
| 1 to 1
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java
index 70931016d7..10ae31bdb5 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java
@@ -13,7 +13,6 @@ import static com.github.technus.tectech.elementalMatter.definitions.cPrimitiveD
* Created by danie_000 on 22.01.2017.
*/
public final class cElementalMutableDefinitionStackMap extends cElementalStackMap {//Transient class for construction of definitions/recipes
-
//Constructors + Clone, all make a whole new OBJ.
public cElementalMutableDefinitionStackMap() {
map = new TreeMap<>();
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/eLeptonDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/eLeptonDefinition.java
index b54f0a536d..4da388df21 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/eLeptonDefinition.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/eLeptonDefinition.java
@@ -21,7 +21,6 @@ public final class eLeptonDefinition extends cElementalPrimitive {
public static final cElementalDefinitionStack lepton_e1 = new cElementalDefinitionStack(lepton_e, 1);
public static final cElementalDefinitionStack lepton_e_1 = new cElementalDefinitionStack(lepton_e_, 1);
-
private eLeptonDefinition(String name, String symbol, int type, float mass, int charge, int color, int ID) {
super(name, symbol, type, mass, charge, color, ID);
//this.itemThing=null;
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 03fba83f3d..8a3523f9df 100644
--- a/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java
@@ -2,10 +2,13 @@ package com.github.technus.tectech.loader;
import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.thing.block.QuantumGlassBlock;
+import com.github.technus.tectech.thing.block.TurretBaseEM;
+import com.github.technus.tectech.thing.block.TurretHeadEM;
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 cpw.mods.fml.common.Loader;
/**
* Created by danie_000 on 16.11.2016.
@@ -18,6 +21,13 @@ public class ThingsLoader implements Runnable {
QuantumGlassBlock.run();
TecTech.Logger.info("Quantum Glass registered");
+ if(Loader.isModLoaded("openmodularturrets")) {
+ TurretHeadEM.run();
+ TecTech.Logger.info("TurretHeadEM registered");
+ TurretBaseEM.run();
+ TecTech.Logger.info("TurretBaseEM registered");
+ }
+
DebugContainer_EM.run();
DebugBuilder.run();
TecTech.Logger.info("Debug Items registered");
diff --git a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java
index 67ed5e81ef..d68ef8b9a3 100644
--- a/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java
+++ b/src/main/java/com/github/technus/tectech/proxy/ClientProxy.java
@@ -2,8 +2,12 @@ package com.github.technus.tectech.proxy;
import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.thing.block.QuantumGlassRender;
+import com.github.technus.tectech.thing.block.TurretHeadRenderEM;
+import com.github.technus.tectech.thing.tileEntity.TileTurretHeadEM;
import cpw.mods.fml.client.FMLClientHandler;
+import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
+import cpw.mods.fml.common.Loader;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
@@ -14,11 +18,18 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import org.lwjgl.opengl.GL11;
+import static openmodularturrets.client.render.renderers.blockitem.TileEntityRenderers.laserTurretRenderer;
+
public class ClientProxy extends CommonProxy {
@Override
public void registerRenderInfo() {
QuantumGlassRender.renderID = RenderingRegistry.getNextAvailableRenderId();
RenderingRegistry.registerBlockHandler(QuantumGlassRender.renderID, new QuantumGlassRender());
+
+ if(Loader.isModLoaded("openmodularturrets")) {
+ TurretHeadRenderEM turretHeadRenderEM=new TurretHeadRenderEM();
+ ClientRegistry.bindTileEntitySpecialRenderer(TileTurretHeadEM.class, turretHeadRenderEM);
+ }
}
@Override
diff --git a/src/main/java/com/github/technus/tectech/thing/block/TurretBaseEM.java b/src/main/java/com/github/technus/tectech/thing/block/TurretBaseEM.java
index 4127ecf593..ac410c36ab 100644
--- a/src/main/java/com/github/technus/tectech/thing/block/TurretBaseEM.java
+++ b/src/main/java/com/github/technus/tectech/thing/block/TurretBaseEM.java
@@ -3,18 +3,19 @@ package com.github.technus.tectech.thing.block;
import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.auxiliary.Reference;
import com.github.technus.tectech.thing.tileEntity.TileTurretBaseEM;
-import cpw.mods.fml.common.Optional;
+import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import openmodularturrets.blocks.turretbases.BlockAbstractTurretBase;
-import openmodularturrets.tileentity.turretbase.TurretBaseTierFiveTileEntity;
/**
* Created by Bass on 27/07/2017.
*/
public class TurretBaseEM extends BlockAbstractTurretBase {
+ public static TurretBaseEM INSTANCE;
+
public TurretBaseEM(){
super();
setCreativeTab(TecTech.mainTab);
@@ -26,11 +27,17 @@ public class TurretBaseEM extends BlockAbstractTurretBase {
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
- return new TileTurretBaseEM();
+ return new TileTurretBaseEM(1000000000,50000);
}
public void registerBlockIcons(IIconRegister p_149651_1_) {
super.registerBlockIcons(p_149651_1_);
this.blockIcon = p_149651_1_.registerIcon(Reference.MODID+":turretBaseEM");
}
+
+ public static void run() {
+ INSTANCE = new TurretBaseEM();
+ GameRegistry.registerBlock(INSTANCE, TurretBaseItemEM.class, INSTANCE.getUnlocalizedName());
+ GameRegistry.registerTileEntity(TileTurretBaseEM.class,"TileTurretBaseEM");
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/block/TurretBaseItemEM.java b/src/main/java/com/github/technus/tectech/thing/block/TurretBaseItemEM.java
new file mode 100644
index 0000000000..1c8dc311cf
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/block/TurretBaseItemEM.java
@@ -0,0 +1,33 @@
+package com.github.technus.tectech.thing.block;
+
+import com.github.technus.tectech.CommonValues;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
+
+import java.util.List;
+
+/**
+ * Created by Bass on 28/07/2017.
+ */
+public class TurretBaseItemEM extends ItemBlock {
+ public TurretBaseItemEM(Block b) {
+ super(b);
+ }
+
+ public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List list, boolean p_77624_4_) {
+ list.add(CommonValues.tecMark);
+ list.add("");
+ list.add(EnumChatFormatting.AQUA + "--" + StatCollector.translateToLocal("tooptip.energy.label") + "--");
+ list.add(StatCollector.translateToLocal("tooltip.rf.max") + ": " + EnumChatFormatting.WHITE + 1000000000);
+ list.add(StatCollector.translateToLocal("tooltip.rf.io") + ": " + EnumChatFormatting.WHITE + 50000);
+ list.add("");
+ list.add(EnumChatFormatting.GREEN + "--" + StatCollector.translateToLocal("tooltip.extras.label") + "--");
+ list.add(StatCollector.translateToLocal("tooltip.extras.addons.0"));
+ list.add("");
+ list.add(EnumChatFormatting.DARK_GRAY + StatCollector.translateToLocal("flavour.base.0"));
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/block/TurretHeadEM.java b/src/main/java/com/github/technus/tectech/thing/block/TurretHeadEM.java
index aa7a61b540..d6fc241aef 100644
--- a/src/main/java/com/github/technus/tectech/thing/block/TurretHeadEM.java
+++ b/src/main/java/com/github/technus/tectech/thing/block/TurretHeadEM.java
@@ -3,10 +3,10 @@ package com.github.technus.tectech.thing.block;
import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.auxiliary.Reference;
import com.github.technus.tectech.thing.tileEntity.TileTurretHeadEM;
+import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.Material;
-import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess;
@@ -17,6 +17,8 @@ import openmodularturrets.tileentity.turretbase.TurretBase;
* Created by Bass on 27/07/2017.
*/
public class TurretHeadEM extends Block implements ITileEntityProvider {
+ public static TurretHeadEM INSTANCE;
+
public TurretHeadEM(){
super(Material.glass);
this.setCreativeTab(TecTech.mainTab);
@@ -57,4 +59,10 @@ public class TurretHeadEM extends Block implements ITileEntityProvider {
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileTurretHeadEM();
}
+
+ public static void run() {
+ INSTANCE = new TurretHeadEM();
+ GameRegistry.registerBlock(INSTANCE, TurretHeadItemEM.class, INSTANCE.getUnlocalizedName());
+ GameRegistry.registerTileEntity(TileTurretHeadEM.class,"TileTurretHeadEM");
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/block/TurretHeadItemEM.java b/src/main/java/com/github/technus/tectech/thing/block/TurretHeadItemEM.java
new file mode 100644
index 0000000000..e8ee236809
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/block/TurretHeadItemEM.java
@@ -0,0 +1,44 @@
+package com.github.technus.tectech.thing.block;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
+import openmodularturrets.handler.ConfigHandler;
+
+import java.text.DecimalFormat;
+import java.util.List;
+
+import static com.github.technus.tectech.CommonValues.tecMark;
+
+/**
+ * Created by Bass on 28/07/2017.
+ */
+public class TurretHeadItemEM extends ItemBlock {
+ private static final DecimalFormat df = new DecimalFormat("0.0");
+
+ public TurretHeadItemEM(Block b) {
+ super(b);
+ }
+
+ public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List list, boolean p_77624_4_) {
+ list.add(tecMark);
+ list.add("");
+ list.add(EnumChatFormatting.GOLD + "--" + StatCollector.translateToLocal("tooltip.info") + "--");
+ list.add(StatCollector.translateToLocal("tooltip.tier") + ": " + EnumChatFormatting.WHITE + "5");
+ list.add(StatCollector.translateToLocal("tooltip.range") + ": " + EnumChatFormatting.WHITE + ConfigHandler.getLaserTurretSettings().getRange());
+ list.add(StatCollector.translateToLocal("tooltip.accuracy") + ": " + EnumChatFormatting.WHITE + StatCollector.translateToLocal("turret.accuracy.high"));
+ list.add(StatCollector.translateToLocal("tooltip.ammo") + ": " + EnumChatFormatting.WHITE + StatCollector.translateToLocal("turret.ammo.4"));
+ list.add(StatCollector.translateToLocal("tooltip.tierRequired") + ": " + EnumChatFormatting.WHITE + StatCollector.translateToLocal("base.tier.5"));
+ list.add("");
+ list.add(EnumChatFormatting.DARK_PURPLE + "--" + StatCollector.translateToLocal("tooltip.damage.label") + "--");
+ list.add(StatCollector.translateToLocal("tooltip.damage.stat") + ": " + EnumChatFormatting.WHITE + (float)ConfigHandler.getLaserTurretSettings().getDamage() / 2.0F + " " + StatCollector.translateToLocal("tooltip.health"));
+ list.add(StatCollector.translateToLocal("tooltip.aoe") + ": " + EnumChatFormatting.WHITE + "0");
+ list.add(StatCollector.translateToLocal("tooltip.firerate") + ": " + EnumChatFormatting.WHITE + df.format((double)(20.0F / (float)ConfigHandler.getLaserTurretSettings().getFireRate())));
+ list.add(StatCollector.translateToLocal("tooltip.energy.stat") + ": " + EnumChatFormatting.WHITE + ConfigHandler.getLaserTurretSettings().getPowerUsage() + " RF");
+ list.add("");
+ list.add(EnumChatFormatting.DARK_GRAY + StatCollector.translateToLocal("flavour.turret.4"));
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/block/TurretHeadRenderEM.java b/src/main/java/com/github/technus/tectech/thing/block/TurretHeadRenderEM.java
new file mode 100644
index 0000000000..6d10a0cde5
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/block/TurretHeadRenderEM.java
@@ -0,0 +1,11 @@
+package com.github.technus.tectech.thing.block;
+
+import openmodularturrets.client.render.renderers.blockitem.LaserTurretRenderer;
+
+/**
+ * Created by Bass on 28/07/2017.
+ */
+public class TurretHeadRenderEM extends LaserTurretRenderer {
+ public TurretHeadRenderEM() {
+ }
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/entity/projectileEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/entity/projectileEM.java
index b181de2807..76b0071527 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/entity/projectileEM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/entity/projectileEM.java
@@ -1,22 +1,74 @@
package com.github.technus.tectech.thing.metaTileEntity.entity;
-import net.minecraft.entity.projectile.EntityThrowable;
+import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackMap;
+import net.minecraft.block.Block;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import openmodularturrets.entity.projectiles.LaserProjectile;
-import openmodularturrets.entity.projectiles.TurretProjectile;
+import openmodularturrets.entity.projectiles.damagesources.NormalDamageSource;
+import openmodularturrets.handler.ConfigHandler;
import openmodularturrets.tileentity.turretbase.TurretBase;
+import openmodularturrets.util.PlayerUtil;
+
+import java.util.Random;
/**
* Created by Bass on 27/07/2017.
*/
public class projectileEM extends LaserProjectile {
+ private TurretBase turretBase;
+
public projectileEM(World par1World) {
super(par1World);
this.gravity = 0.0F;
}
- public projectileEM(World par1World, TurretBase turretBase) {
+ public projectileEM(World par1World, TurretBase turretBase, cElementalInstanceStackMap avalableEM) {
super(par1World, turretBase);
+ this.turretBase = turretBase;
this.gravity = 0.0F;
}
+
+ protected void onImpact(MovingObjectPosition movingobjectposition) {
+ if(this.ticksExisted > 1) {
+ if(movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) {
+ Block hitBlock = this.worldObj.getBlock(movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ);
+ if(hitBlock != null && !hitBlock.getMaterial().isSolid()) {
+ return;
+ }
+ }
+
+ if(movingobjectposition.entityHit != null && !this.worldObj.isRemote) {
+ Random random = new Random();
+ this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "openmodularturrets:laserHit", ConfigHandler.getTurretSoundVolume(), random.nextFloat() + 0.5F);
+ if(movingobjectposition.entityHit != null && !this.worldObj.isRemote) {
+ int damage = ConfigHandler.getLaserTurretSettings().getDamage();
+ if(movingobjectposition.entityHit instanceof EntityLivingBase) {
+ EntityLivingBase elb = (EntityLivingBase)movingobjectposition.entityHit;
+ damage = (int)((double)damage + (double)((int)elb.getHealth()) * 0.1D);
+ }
+
+ if(movingobjectposition.entityHit instanceof EntityPlayer) {
+ if(this.canDamagePlayer((EntityPlayer)movingobjectposition.entityHit)) {
+ movingobjectposition.entityHit.setFire(2);
+ movingobjectposition.entityHit.attackEntityFrom(new NormalDamageSource("laser"), (float)damage);
+ movingobjectposition.entityHit.hurtResistantTime = 0;
+ }
+ } else {
+ movingobjectposition.entityHit.setFire(2);
+ movingobjectposition.entityHit.attackEntityFrom(new NormalDamageSource("laser"), (float)damage);
+ movingobjectposition.entityHit.hurtResistantTime = 0;
+ }
+ }
+ }
+
+ this.setDead();
+ }
+ }
+
+ private boolean canDamagePlayer(EntityPlayer entityPlayer) {
+ return ConfigHandler.turretDamageTrustedPlayers || this.turretBase.getTrustedPlayer(entityPlayer.getUniqueID()) == null && !PlayerUtil.getPlayerUIDUnstable(this.turretBase.getOwner()).equals(entityPlayer.getUniqueID());
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/other todo b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/other todo
index 3d87269020..b9feb9b976 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/other todo
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/other todo
@@ -22,3 +22,5 @@ BlockFakeLight.java
for turrets:
floodlight
+
+parametrizer memory card
diff --git a/src/main/java/com/github/technus/tectech/thing/tileEntity/TileTurretBaseEM.java b/src/main/java/com/github/technus/tectech/thing/tileEntity/TileTurretBaseEM.java
index b272930a0a..4f7f399b93 100644
--- a/src/main/java/com/github/technus/tectech/thing/tileEntity/TileTurretBaseEM.java
+++ b/src/main/java/com/github/technus/tectech/thing/tileEntity/TileTurretBaseEM.java
@@ -5,17 +5,15 @@ import com.github.technus.tectech.elementalMatter.interfaces.iElementalInstanceC
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputElemental;
import cpw.mods.fml.common.Optional;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.MetaTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
-import openmodularturrets.tileentity.turretbase.TurretBase;
-
-import java.util.ArrayList;
+import openmodularturrets.tileentity.turretbase.TurretBaseTierFiveTileEntity;
/**
* Created by Bass on 27/07/2017.
*/
-public class TileTurretBaseEM extends TurretBase implements iElementalInstanceContainer {
+
+public class TileTurretBaseEM extends TurretBaseTierFiveTileEntity implements iElementalInstanceContainer {
public TileTurretBaseEM(int MaxEnergyStorage, int MaxIO) {
super(MaxEnergyStorage, MaxIO);
}
@@ -36,10 +34,9 @@ public class TileTurretBaseEM extends TurretBase implements iElementalInstanceCo
return "turretBaseEM";
}
-
@Override
public int getBaseTier() {
- return 6;
+ return 5;
}
@Override
diff --git a/src/main/java/com/github/technus/tectech/thing/tileEntity/TileTurretHeadEM.java b/src/main/java/com/github/technus/tectech/thing/tileEntity/TileTurretHeadEM.java
index 72c79772af..f6211fac31 100644
--- a/src/main/java/com/github/technus/tectech/thing/tileEntity/TileTurretHeadEM.java
+++ b/src/main/java/com/github/technus/tectech/thing/tileEntity/TileTurretHeadEM.java
@@ -1,35 +1,24 @@
package com.github.technus.tectech.thing.tileEntity;
import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackMap;
-import com.github.technus.tectech.elementalMatter.definitions.eLeptonDefinition;
-import com.github.technus.tectech.thing.block.QuantumGlassBlock;
-import com.github.technus.tectech.thing.block.QuantumGlassItem;
+import com.github.technus.tectech.thing.item.DebugContainer_EM;
import com.github.technus.tectech.thing.metaTileEntity.entity.projectileEM;
-import gregtech.api.util.GT_Utility;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
-import openmodularturrets.entity.projectiles.LaserProjectile;
import openmodularturrets.entity.projectiles.TurretProjectile;
import openmodularturrets.handler.ConfigHandler;
import openmodularturrets.tileentity.turrets.TurretHead;
import openmodularturrets.util.TurretHeadUtil;
-import java.lang.reflect.Field;
-
/**
* Created by Bass on 27/07/2017.
*/
public class TileTurretHeadEM extends TurretHead{
- private cElementalInstanceStackMap consumedEM;
+ private cElementalInstanceStackMap hatchContentPointer;
public TileTurretHeadEM() {
- try {
- GT_Utility.getField(this, "turretTier").setInt(this, 6);
- }catch (IllegalAccessException e){
- e.printStackTrace();
- }
}
public int getTurretRange() {
@@ -48,27 +37,31 @@ public class TileTurretHeadEM extends TurretHead{
return ConfigHandler.getLaserTurretSettings().getAccuracy() / 10.0D;
}
+ @Override
+ public void updateEntity() {
+ if(!worldObj.isRemote && base instanceof TileTurretBaseEM)
+ hatchContentPointer =((TileTurretBaseEM) base).getContainerHandler();
+ super.updateEntity();
+ }
+
public boolean requiresAmmo() {
- return true;
+ return hatchContentPointer == null || !hatchContentPointer.hasStacks();
}
public boolean requiresSpecificAmmo() {
- return true;
+ return true;//to enable failure in shooting when there is no EM to use
}
public Item getAmmo() {
- //consume em
- consumedEM=new cElementalInstanceStackMap().putReplace();
- return QuantumGlassItem.INSTANCE;
+ return DebugContainer_EM.INSTANCE;//Placeholder item that cannot be achieved, yet still usable for debug
}
public TurretProjectile createProjectile(World world, Entity target, ItemStack ammo) {
- if(consumedEM!=null && consumedEM.hasStacks()){
- projectileEM projectile= new projectileEM(world, TurretHeadUtil.getTurretBase(worldObj, xCoord, yCoord, zCoord));
- consumedEM=null;
+ //if(hatchContentPointer!=null && hatchContentPointer.hasStacks()){
+ projectileEM projectile= new projectileEM(world, TurretHeadUtil.getTurretBase(worldObj, xCoord, yCoord, zCoord), hatchContentPointer);
return projectile;
- }
- return new LaserProjectile(world, TurretHeadUtil.getTurretBase(worldObj, xCoord, yCoord, zCoord));
+ //}
+ //return new LaserProjectile(world, TurretHeadUtil.getTurretBase(worldObj, xCoord, yCoord, zCoord));
}
public String getLaunchSoundEffect() {