diff options
Diffstat (limited to 'src/main/java/openmodularturrets/blocks/turretheads')
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() { + } +} |