aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/openmodularturrets/blocks/turretheads
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/openmodularturrets/blocks/turretheads')
-rw-r--r--src/main/java/openmodularturrets/blocks/turretheads/TurretHeadEM.java68
-rw-r--r--src/main/java/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java44
-rw-r--r--src/main/java/openmodularturrets/blocks/turretheads/TurretHeadItemRenderEM.java37
-rw-r--r--src/main/java/openmodularturrets/blocks/turretheads/TurretHeadRenderEM.java11
4 files changed, 160 insertions, 0 deletions
diff --git a/src/main/java/openmodularturrets/blocks/turretheads/TurretHeadEM.java b/src/main/java/openmodularturrets/blocks/turretheads/TurretHeadEM.java
new file mode 100644
index 0000000000..255a5a56d3
--- /dev/null
+++ b/src/main/java/openmodularturrets/blocks/turretheads/TurretHeadEM.java
@@ -0,0 +1,68 @@
+package openmodularturrets.blocks.turretheads;
+
+import com.github.technus.tectech.TecTech;
+import com.github.technus.tectech.auxiliary.Reference;
+import openmodularturrets.tileentity.turret.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.EnumCreatureType;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+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);
+ this.setBlockUnbreakable();
+ this.setResistance(6000000.0F);
+ this.setStepSound(Block.soundTypeMetal);
+ this.setBlockBounds(0.2F, 0.0F, 0.2F, 0.8F, 1F, 0.8F);
+ this.setBlockName("turretHeadEM");
+ this.setBlockTextureName(Reference.MODID+":turretHeadEM");
+ }
+
+ @Override
+ public int getRenderType() {
+ return -1;
+ }
+
+ @Override
+ public boolean isOpaqueCube() {
+ return false;
+ }
+
+ @Override
+ public boolean canPlaceBlockAt(World worldIn, int x, int y, int z) {
+ return worldIn.getTileEntity(x + 1, y, z) instanceof TurretBase ||
+ worldIn.getTileEntity(x - 1, y, z) instanceof TurretBase ||
+ worldIn.getTileEntity(x,y + 1, z) instanceof TurretBase ||
+ worldIn.getTileEntity(x,y - 1, z) instanceof TurretBase ||
+ worldIn.getTileEntity(x,y, z + 1) instanceof TurretBase ||
+ worldIn.getTileEntity(x,y, z - 1) instanceof TurretBase;
+ }
+
+ @Override
+ public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) {
+ return false;
+ }
+
+ @Override
+ 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/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java b/src/main/java/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java
new file mode 100644
index 0000000000..db2e034710
--- /dev/null
+++ b/src/main/java/openmodularturrets/blocks/turretheads/TurretHeadItemEM.java
@@ -0,0 +1,44 @@
+package openmodularturrets.blocks.turretheads;
+
+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/openmodularturrets/blocks/turretheads/TurretHeadItemRenderEM.java b/src/main/java/openmodularturrets/blocks/turretheads/TurretHeadItemRenderEM.java
new file mode 100644
index 0000000000..fbfda7c6ee
--- /dev/null
+++ b/src/main/java/openmodularturrets/blocks/turretheads/TurretHeadItemRenderEM.java
@@ -0,0 +1,37 @@
+package openmodularturrets.blocks.turretheads;
+
+import openmodularturrets.tileentity.turret.TileTurretHeadEM;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.client.IItemRenderer;
+import openmodularturrets.client.render.models.ModelLaserTurret;
+import org.lwjgl.opengl.GL11;
+
+/**
+ * Created by Tec on 30.07.2017.
+ */
+public class TurretHeadItemRenderEM implements IItemRenderer {
+ private final TurretHeadRenderEM turretRenderer;
+ private final TileTurretHeadEM turretTileEntity;
+ private final ModelLaserTurret model;
+
+ public TurretHeadItemRenderEM(TurretHeadRenderEM turretRenderer, TileTurretHeadEM turretTileEntity) {
+ this.turretRenderer = turretRenderer;
+ this.turretTileEntity = turretTileEntity;
+ this.model = new ModelLaserTurret();
+ }
+
+ public boolean handleRenderType(ItemStack item, ItemRenderType type) {
+ return true;
+ }
+
+ public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
+ return true;
+ }
+
+ public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
+ GL11.glPushMatrix();
+ GL11.glTranslated(-0.5D, -0.5D, -0.5D);
+ this.turretRenderer.renderTileEntityAt(this.turretTileEntity, 0.0D, 0.0D, 0.0D, 0.0F);
+ GL11.glPopMatrix();
+ }
+}
diff --git a/src/main/java/openmodularturrets/blocks/turretheads/TurretHeadRenderEM.java b/src/main/java/openmodularturrets/blocks/turretheads/TurretHeadRenderEM.java
new file mode 100644
index 0000000000..f0aa331645
--- /dev/null
+++ b/src/main/java/openmodularturrets/blocks/turretheads/TurretHeadRenderEM.java
@@ -0,0 +1,11 @@
+package openmodularturrets.blocks.turretheads;
+
+import openmodularturrets.client.render.renderers.blockitem.LaserTurretRenderer;
+
+/**
+ * Created by Bass on 28/07/2017.
+ */
+public class TurretHeadRenderEM extends LaserTurretRenderer {
+ public TurretHeadRenderEM() {
+ }
+}