d(err)ick

This commit is contained in:
Bob 2024-08-18 21:00:27 +02:00
parent 8597eda40f
commit 1caeec5ea9
23 changed files with 8626 additions and 1890 deletions

View File

@ -7,6 +7,10 @@
* Soldering stations will no longer work if the recipe requires no input fluid while fluid is present
* While this does complicate using the soldering station manually, as switching from milgrade to standard ICs requires emptying the solderer with a siphon, it does make automating easier, since soldering stations will no longer treat incomplete milgrade circuits as ICs
* Cement is now edible
* Derricks have been remodeled, the port configuration has changed so existing derricks need to be replaced
* Derricks no longer spawn oil spills
* Metal deco blocks are now crafted in batches of 4, as well as recycled in batches of 4. Each block is therefore still worth 25% of an ingot, but recycling your own deco blocks is no longer lossy
## Fixed
* Fixed some machines not sending fluid gauge syncs properly
* Fixed some machines not sending fluid gauge syncs properly
* Fixed refinery GUI crashing when invalid input is used

View File

@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=5057
mod_build_number=5061
credits=HbMinecraft,\
\ rodolphito (explosion algorithms),\

View File

@ -2152,9 +2152,9 @@ public class ModBlocks {
boxcar = new DecoBlock(Material.iron).setBlockName("boxcar").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boxcar");
boat = new DecoBlock(Material.iron).setBlockName("boat").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boat");
machine_well = new MachineOilWell().setBlockName("machine_well").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_well");
machine_pumpjack = new MachinePumpjack().setBlockName("machine_pumpjack").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_pumpjack");
machine_fracking_tower = new MachineFrackingTower().setBlockName("machine_fracking_tower").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_well = new MachineOilWell().setBlockName("machine_well").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_well");
machine_pumpjack = new MachinePumpjack().setBlockName("machine_pumpjack").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_pumpjack");
machine_fracking_tower = new MachineFrackingTower().setBlockName("machine_fracking_tower").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
oil_pipe = new BlockNoDrop(Material.iron).setBlockName("oil_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":oil_pipe");
machine_flare = new MachineGasFlare(Material.iron).setBlockName("machine_flare").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
chimney_brick = new MachineChimneyBrick(Material.iron).setBlockName("chimney_brick").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire");

View File

@ -5,11 +5,17 @@ import java.util.List;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.IPersistentInfoProvider;
import com.hbm.explosion.vanillant.ExplosionVNT;
import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard;
import com.hbm.explosion.vanillant.standard.BlockProcessorStandard;
import com.hbm.explosion.vanillant.standard.EntityProcessorStandard;
import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard;
import com.hbm.handler.MultiblockHandlerXR;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.main.MainRegistry;
import com.hbm.particle.helper.ExplosionCreator;
import com.hbm.tileentity.IPersistentNBT;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.oil.TileEntityMachineOilWell;
import com.hbm.util.BobMathUtil;
@ -20,6 +26,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.Explosion;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@ -31,15 +38,13 @@ public class MachineOilWell extends BlockDummyable implements IPersistentInfoPro
@Override
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12) return new TileEntityMachineOilWell();
if(meta >= 6) return new TileEntityProxyCombo(false, true, true);
return null;
}
@Override
public int[] getDimensions() {
return new int[] {5, 0, 1, 1, 1, 1};
return new int[] {9, 0, 1, 1, 1, 1};
}
@Override
@ -47,13 +52,24 @@ public class MachineOilWell extends BlockDummyable implements IPersistentInfoPro
return 0;
}
@Override
protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) {
return MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {1, -1, 0, 0, 0, 0}, x, y, z, dir) &&
MultiblockHandlerXR.checkSpace(world, x, y + 1, z, new int[] {8, 0, 1, 1, 1, 1}, x, y, z, dir) &&
MultiblockHandlerXR.checkSpace(world, x + 1, y + 1, z + 1, new int[] {-1, 1, 0, 0, 0, 0}, x, y, z, dir) &&
MultiblockHandlerXR.checkSpace(world, x + 1, y + 1, z - 1, new int[] {-1, 1, 0, 0, 0, 0}, x, y, z, dir) &&
MultiblockHandlerXR.checkSpace(world, x - 1, y + 1, z + 1, new int[] {-1, 1, 0, 0, 0, 0}, x, y, z, dir) &&
MultiblockHandlerXR.checkSpace(world, x - 1, y + 1, z - 1, new int[] {-1, 1, 0, 0, 0, 0}, x, y, z, dir);
}
@Override
public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) {
super.fillSpace(world, x, y, z, dir, o);
this.makeExtra(world, x + dir.offsetX * o + 1, y, z + dir.offsetZ * o);
this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o);
this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o + 1);
this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o - 1);
MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {1, -1, 0, 0, 0, 0}, this, dir);
MultiblockHandlerXR.fillSpace(world, x, y + 1, z, new int[] {8, 0, 1, 1, 1, 1}, this, dir);
MultiblockHandlerXR.fillSpace(world, x + 1, y + 1, z + 1, new int[] {-1, 1, 0, 0, 0, 0}, this, dir);
MultiblockHandlerXR.fillSpace(world, x + 1, y + 1, z - 1, new int[] {-1, 1, 0, 0, 0, 0}, this, dir);
MultiblockHandlerXR.fillSpace(world, x - 1, y + 1, z + 1, new int[] {-1, 1, 0, 0, 0, 0}, this, dir);
MultiblockHandlerXR.fillSpace(world, x - 1, y + 1, z - 1, new int[] {-1, 1, 0, 0, 0, 0}, this, dir);
}
@Override
@ -89,4 +105,31 @@ public class MachineOilWell extends BlockDummyable implements IPersistentInfoPro
list.add(EnumChatFormatting.YELLOW + "" + tank.getFill() + "/" + tank.getMaxFill() + "mB " + tank.getTankType().getLocalizedName());
}
}
@Override
public void onBlockExploded(World world, int x, int y, int z, Explosion explosion) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null) return;
TileEntity core = world.getTileEntity(pos[0], pos[1], pos[2]);
if(!(core instanceof TileEntityMachineOilWell)) return;
world.setBlockToAir(x, y, z);
onBlockDestroyedByExplosion(world, x, y, z, explosion);
TileEntityMachineOilWell well = (TileEntityMachineOilWell) core;
if(well.tanks[0].getFill() > 0 || well.tanks[1].getFill() > 0) {
well.tanks[0].setFill(0);
well.tanks[1].setFill(0);
ExplosionVNT xnt = new ExplosionVNT(world, pos[0] + 0.5, pos[1] + 0.5, pos[2] + 0.5, 15F);
xnt.setBlockAllocator(new BlockAllocatorStandard(24));
xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop());
xnt.setEntityProcessor(new EntityProcessorStandard());
xnt.setPlayerProcessor(new PlayerProcessorStandard());
xnt.explode();
ExplosionCreator.composeEffect(world, pos[0] + 0.5, pos[1] + 0.5, pos[2] + 0.5, 10, 2F, 0.5F, 25F, 5, 8, 20, 0.75F, 1F, -2F, 150);
}
}
}

View File

@ -98,9 +98,6 @@ public class EntityMappings {
addEntity(EntityGrenadeShrapnel.class, "entity_grenade_shrapnel", 250);
addEntity(EntityBlackHole.class, "entity_black_hole", 250);
addEntity(EntityGrenadeBlackHole.class, "entity_grenade_black_hole", 250);
addEntity(EntityOilSpillFX.class, "entity_spill_fx", 1000);
addEntity(EntityOilSpill.class, "entity_oil_spill", 1000);
addEntity(EntityGasFX.class, "entity_spill_fx", 1000);
addEntity(EntityMinecartTest.class, "entity_minecart_test", 1000);
addEntity(EntitySparkBeam.class, "entity_spark_beam", 1000);
addEntity(EntityMissileDoomsday.class, "entity_missile_doomsday", 1000);

View File

@ -1,79 +0,0 @@
package com.hbm.entity.particle;
import net.minecraft.world.World;
public class EntityGasFX extends EntityModFX
{
float smokeParticleScale;
public int particleAge;
public int maxAge;
public EntityGasFX(World world) {
super(world, 0, 0, 0);
}
public EntityGasFX(World p_i1225_1_, double p_i1225_2_, double p_i1225_4_, double p_i1225_6_, double p_i1225_8_, double p_i1225_10_, double p_i1225_12_)
{
this(p_i1225_1_, p_i1225_2_, p_i1225_4_, p_i1225_6_, p_i1225_8_, p_i1225_10_, p_i1225_12_, 1.0F);
}
public EntityGasFX(World p_i1226_1_, double p_i1226_2_, double p_i1226_4_, double p_i1226_6_, double p_i1226_8_, double p_i1226_10_, double p_i1226_12_, float p_i1226_14_)
{
super(p_i1226_1_, p_i1226_2_, p_i1226_4_, p_i1226_6_, 0.0D, 0.0D, 0.0D);
this.motionX *= 0.10000000149011612D;
this.motionY *= 0.10000000149011612D;
this.motionZ *= 0.10000000149011612D;
this.motionX += p_i1226_8_;
this.motionY += p_i1226_10_;
this.motionZ += p_i1226_12_;
this.particleRed = this.particleGreen = this.particleBlue = (float)(Math.random() * 0.30000001192092896D);
this.particleScale *= 0.75F;
this.particleScale *= p_i1226_14_;
this.smokeParticleScale = this.particleScale;
//this.particleMaxAge = (int)(8.0D / (Math.random() * 0.8D + 0.2D));
//this.particleMaxAge = (int)((float)this.particleMaxAge * p_i1226_14_);
this.noClip = false;
}
/**
* Called to update the entity's position/logic.
*/
@Override
public void onUpdate()
{
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
if(maxAge < 15)
{
maxAge = rand.nextInt(4) + 15;
}
this.particleAge++;
if (this.particleAge >= maxAge)
{
this.setDead();
}
this.motionX *= 0.7599999785423279D;
//this.motionY *= 0.7599999785423279D;
this.motionY += 0.1D;
this.motionZ *= 0.7599999785423279D;
if (this.onGround)
{
this.motionX *= 0.699999988079071D;
this.motionZ *= 0.699999988079071D;
}
if(this.isBurning()) {
this.setDead();
worldObj.createExplosion(null, posX, posY, posZ, 3F, true);
}
this.posX += this.motionX;
this.posY += this.motionY;
this.posZ += this.motionZ;
}
}

View File

@ -1,74 +0,0 @@
package com.hbm.entity.particle;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class EntityOilSpillFX extends EntityModFX {
float smokeParticleScale;
public int particleAge;
public int maxAge;
public EntityOilSpillFX(World world) {
super(world, 0, 0, 0);
}
public EntityOilSpillFX(World p_i1225_1_, double p_i1225_2_, double p_i1225_4_, double p_i1225_6_, double p_i1225_8_, double p_i1225_10_, double p_i1225_12_) {
this(p_i1225_1_, p_i1225_2_, p_i1225_4_, p_i1225_6_, p_i1225_8_, p_i1225_10_, p_i1225_12_, 1.0F);
}
public EntityOilSpillFX(World p_i1226_1_, double p_i1226_2_, double p_i1226_4_, double p_i1226_6_, double p_i1226_8_, double p_i1226_10_, double p_i1226_12_, float p_i1226_14_) {
super(p_i1226_1_, p_i1226_2_, p_i1226_4_, p_i1226_6_, 0.0D, 0.0D, 0.0D);
this.motionX *= 0.10000000149011612D;
this.motionY *= 0.10000000149011612D;
this.motionZ *= 0.10000000149011612D;
this.motionX += p_i1226_8_;
this.motionY += p_i1226_10_;
this.motionZ += p_i1226_12_;
this.particleRed = this.particleGreen = this.particleBlue = (float) (Math.random() * 0.30000001192092896D);
this.particleScale *= 0.75F;
this.particleScale *= p_i1226_14_;
this.smokeParticleScale = this.particleScale;
this.noClip = false;
}
@Override
public void onUpdate() {
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
if(maxAge < 15) {
maxAge = rand.nextInt(4) + 15;
}
this.particleAge++;
if(this.particleAge >= maxAge) {
this.setDead();
}
this.motionX *= 0.7599999785423279D;
this.motionY *= 0.7599999785423279D;
this.motionZ *= 0.7599999785423279D;
if(this.onGround) {
this.motionX *= 0.699999988079071D;
this.motionZ *= 0.699999988079071D;
}
this.posX += this.motionX;
this.posY += this.motionY;
this.posZ += this.motionZ;
}
@Override
public boolean writeToNBTOptional(NBTTagCompound nbt) {
return false;
}
@Override
public void readEntityFromNBT(NBTTagCompound nbt) {
super.readEntityFromNBT(nbt);
this.setDead();
}
}

View File

@ -1,56 +0,0 @@
package com.hbm.entity.projectile;
import com.hbm.entity.particle.EntityOilSpillFX;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class EntityOilSpill extends EntityThrowable {
public EntityOilSpill(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityOilSpill(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
@Override
public void entityInit() { }
public EntityOilSpill(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) {
super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_);
}
@Override
public void onUpdate() {
super.onUpdate();
if(!worldObj.isRemote) {
worldObj.spawnEntityInWorld(new EntityOilSpillFX(worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
if(this.isBurning()) {
this.setDead();
worldObj.createExplosion(null, posX, posY, posZ, 1.5F, true);
}
}
}
@Override
protected void onImpact(MovingObjectPosition p_70184_1_) {
if(this.ticksExisted > 5) {
this.setDead();
}
}
@Override
public boolean writeToNBTOptional(NBTTagCompound nbt) {
return false;
}
@Override
public void readEntityFromNBT(NBTTagCompound nbt) {
super.readEntityFromNBT(nbt);
this.setDead();
}
}

View File

@ -3,7 +3,6 @@ package com.hbm.explosion;
import java.util.List;
import java.util.Random;
import com.hbm.entity.projectile.EntityOilSpill;
import com.hbm.entity.projectile.EntityRubble;
import com.hbm.entity.projectile.EntityShrapnel;
import com.hbm.packet.AuxParticlePacketNT;
@ -154,20 +153,6 @@ public class ExplosionLarge {
}
}
public static void spawnOilSpills(World world, double x, double y, double z, int count) {
for(int i = 0; i < count; i++) {
EntityOilSpill shrapnel = new EntityOilSpill(world);
shrapnel.posX = x;
shrapnel.posY = y;
shrapnel.posZ = z;
shrapnel.motionY = ((rand.nextFloat() * 0.5) + 0.5) * (1 + (count / (15 + rand.nextInt(21)))) + (rand.nextFloat() / 50 * count) * 0.25F;
shrapnel.motionX = rand.nextGaussian() * 1 * (1 + (count / 50)) * 0.15F;
shrapnel.motionZ = rand.nextGaussian() * 1 * (1 + (count / 50)) * 0.15F;
world.spawnEntityInWorld(shrapnel);
}
}
public static void explode(World world, double x, double y, double z, float strength, boolean cloud, boolean rubble, boolean shrapnel, Entity exploder) {
world.createExplosion(exploder, x, y, z, strength, true);
if(cloud)

View File

@ -84,39 +84,35 @@ public class GUIMachineRefinery extends GuiInfoContainer {
// pipes
Tuple.Quintet<FluidStack, FluidStack, FluidStack, FluidStack, ItemStack> recipe = RefineryRecipes.getRefinery(inputOil.getTankType());
// Heavy Oil Products
Color color = new Color(recipe.getV().type.getColor());
GL11.glEnable(GL11.GL_BLEND);
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 52, guiTop + 63, 247, 1, 33, 48, 350, 256);
GL11.glDisable(GL11.GL_BLEND);
// Naphtha Oil Products
color = new Color(recipe.getW().type.getColor());
GL11.glEnable(GL11.GL_BLEND);
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 52, guiTop + 32, 247, 50, 66, 52, 350, 256);
GL11.glDisable(GL11.GL_BLEND);
// Light Oil Products
color = new Color(recipe.getX().type.getColor());
GL11.glEnable(GL11.GL_BLEND);
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 52, guiTop + 24, 247, 145, 86, 35, 350, 256);
GL11.glDisable(GL11.GL_BLEND);
// Gaseous Products
color = new Color(recipe.getY().type.getColor());
GL11.glEnable(GL11.GL_BLEND);
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 36, guiTop + 16, 211, 119, 122, 25, 350, 256);
GL11.glDisable(GL11.GL_BLEND);
GL11.glColor4f(1F, 1F, 1F, 1F);
if(recipe != null) {
GL11.glEnable(GL11.GL_BLEND);
// Heavy Oil Products
Color color = new Color(recipe.getV().type.getColor());
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 52, guiTop + 63, 247, 1, 33, 48, 350, 256);
// Naphtha Oil Products
color = new Color(recipe.getW().type.getColor());
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 52, guiTop + 32, 247, 50, 66, 52, 350, 256);
// Light Oil Products
color = new Color(recipe.getX().type.getColor());
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 52, guiTop + 24, 247, 145, 86, 35, 350, 256);
// Gaseous Products
color = new Color(recipe.getY().type.getColor());
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 36, guiTop + 16, 211, 119, 122, 25, 350, 256);
GL11.glColor4f(1F, 1F, 1F, 1F);
GL11.glDisable(GL11.GL_BLEND);
}
// output tanks
refinery.tanks[1].renderTank(guiLeft + 86, guiTop + 95, this.zLevel, 16, 52);

View File

@ -170,13 +170,13 @@ public class AnvilRecipes {
public static void registerConstructionRecipes() {
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(AL.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_aluminium))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(BE.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_beryllium))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(PB.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_lead))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(MINGRADE.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_red_copper))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(STEEL.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_steel))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(TI.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_titanium))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(W.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_tungsten))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(AL.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_aluminium, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(BE.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_beryllium, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(PB.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_lead, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(MINGRADE.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_red_copper, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(STEEL.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_steel, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(TI.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_titanium, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(W.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_tungsten, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(
new AStack[] {new OreDictStack(DNT.ingot(), 4), new ComparableStack(ModBlocks.depth_brick)},
@ -715,14 +715,14 @@ public class AnvilRecipes {
}
).setTier(2));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_titanium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_titanium, 1), 0.25F)}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_red_copper), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_red_copper, 1), 0.25F)}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_tungsten), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_tungsten, 1), 0.25F)}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_aluminium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_aluminium, 1), 0.25F)}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_steel), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_steel, 1), 0.25F)}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_lead), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_lead, 1), 0.25F)}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_beryllium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 1), 0.25F)}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_asbestos), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_asbestos, 1), 0.25F)}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_titanium, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_titanium, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_red_copper, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_red_copper, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_tungsten, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_tungsten, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_aluminium, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_aluminium, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_steel, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_steel, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_lead, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_lead, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_beryllium, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_asbestos, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_asbestos, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(
new ComparableStack(ModBlocks.heater_firebox),

View File

@ -2351,22 +2351,6 @@ public class ModItems {
public static Item b_smoke6;
public static Item b_smoke7;
public static Item b_smoke8;
public static Item spill1;
public static Item spill2;
public static Item spill3;
public static Item spill4;
public static Item spill5;
public static Item spill6;
public static Item spill7;
public static Item spill8;
public static Item gas1;
public static Item gas2;
public static Item gas3;
public static Item gas4;
public static Item gas5;
public static Item gas6;
public static Item gas7;
public static Item gas8;
public static Item chlorine1;
public static Item chlorine2;
public static Item chlorine3;
@ -5404,22 +5388,6 @@ public class ModItems {
b_smoke6 = new Item().setUnlocalizedName("b_smoke6").setTextureName(RefStrings.MODID + ":b_smoke6");
b_smoke7 = new Item().setUnlocalizedName("b_smoke7").setTextureName(RefStrings.MODID + ":b_smoke7");
b_smoke8 = new Item().setUnlocalizedName("b_smoke8").setTextureName(RefStrings.MODID + ":b_smoke8");
spill1 = new Item().setUnlocalizedName("spill1").setTextureName(RefStrings.MODID + ":spill1");
spill2 = new Item().setUnlocalizedName("spill2").setTextureName(RefStrings.MODID + ":spill2");
spill3 = new Item().setUnlocalizedName("spill3").setTextureName(RefStrings.MODID + ":spill3");
spill4 = new Item().setUnlocalizedName("spill4").setTextureName(RefStrings.MODID + ":spill4");
spill5 = new Item().setUnlocalizedName("spill5").setTextureName(RefStrings.MODID + ":spill5");
spill6 = new Item().setUnlocalizedName("spill6").setTextureName(RefStrings.MODID + ":spill6");
spill7 = new Item().setUnlocalizedName("spill7").setTextureName(RefStrings.MODID + ":spill7");
spill8 = new Item().setUnlocalizedName("spill8").setTextureName(RefStrings.MODID + ":spill8");
gas1 = new Item().setUnlocalizedName("gas1").setTextureName(RefStrings.MODID + ":gas1");
gas2 = new Item().setUnlocalizedName("gas2").setTextureName(RefStrings.MODID + ":gas2");
gas3 = new Item().setUnlocalizedName("gas3").setTextureName(RefStrings.MODID + ":gas3");
gas4 = new Item().setUnlocalizedName("gas4").setTextureName(RefStrings.MODID + ":gas4");
gas5 = new Item().setUnlocalizedName("gas5").setTextureName(RefStrings.MODID + ":gas5");
gas6 = new Item().setUnlocalizedName("gas6").setTextureName(RefStrings.MODID + ":gas6");
gas7 = new Item().setUnlocalizedName("gas7").setTextureName(RefStrings.MODID + ":gas7");
gas8 = new Item().setUnlocalizedName("gas8").setTextureName(RefStrings.MODID + ":gas8");
chlorine1 = new Item().setUnlocalizedName("chlorine1").setTextureName(RefStrings.MODID + ":chlorine1");
chlorine2 = new Item().setUnlocalizedName("chlorine2").setTextureName(RefStrings.MODID + ":chlorine2");
chlorine3 = new Item().setUnlocalizedName("chlorine3").setTextureName(RefStrings.MODID + ":chlorine3");
@ -7804,22 +7772,6 @@ public class ModItems {
GameRegistry.registerItem(b_smoke6, b_smoke6.getUnlocalizedName());
GameRegistry.registerItem(b_smoke7, b_smoke7.getUnlocalizedName());
GameRegistry.registerItem(b_smoke8, b_smoke8.getUnlocalizedName());
GameRegistry.registerItem(spill1, spill1.getUnlocalizedName());
GameRegistry.registerItem(spill2, spill2.getUnlocalizedName());
GameRegistry.registerItem(spill3, spill3.getUnlocalizedName());
GameRegistry.registerItem(spill4, spill4.getUnlocalizedName());
GameRegistry.registerItem(spill5, spill5.getUnlocalizedName());
GameRegistry.registerItem(spill6, spill6.getUnlocalizedName());
GameRegistry.registerItem(spill7, spill7.getUnlocalizedName());
GameRegistry.registerItem(spill8, spill8.getUnlocalizedName());
GameRegistry.registerItem(gas1, gas1.getUnlocalizedName());
GameRegistry.registerItem(gas2, gas2.getUnlocalizedName());
GameRegistry.registerItem(gas3, gas3.getUnlocalizedName());
GameRegistry.registerItem(gas4, gas4.getUnlocalizedName());
GameRegistry.registerItem(gas5, gas5.getUnlocalizedName());
GameRegistry.registerItem(gas6, gas6.getUnlocalizedName());
GameRegistry.registerItem(gas7, gas7.getUnlocalizedName());
GameRegistry.registerItem(gas8, gas8.getUnlocalizedName());
GameRegistry.registerItem(chlorine1, chlorine1.getUnlocalizedName());
GameRegistry.registerItem(chlorine2, chlorine2.getUnlocalizedName());
GameRegistry.registerItem(chlorine3, chlorine3.getUnlocalizedName());

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (5057)";
public static final String VERSION = "1.0.27 BETA (5061)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -654,7 +654,6 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(EntityRubble.class, new RenderRubble());
RenderingRegistry.registerEntityRenderingHandler(EntityShrapnel.class, new RenderShrapnel());
RenderingRegistry.registerEntityRenderingHandler(EntityFireworks.class, new RenderShrapnel());
RenderingRegistry.registerEntityRenderingHandler(EntityOilSpill.class, new RenderEmpty());
RenderingRegistry.registerEntityRenderingHandler(EntityWaterSplash.class, new RenderEmpty());
RenderingRegistry.registerEntityRenderingHandler(EntityEMP.class, new RenderEmpty());
RenderingRegistry.registerEntityRenderingHandler(EntityBeamVortex.class, new RenderVortexBeam());
@ -824,8 +823,6 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(com.hbm.entity.particle.EntityCloudFX.class, new MultiCloudRenderer(new Item[] { ModItems.cloud1, ModItems.cloud2, ModItems.cloud3, ModItems.cloud4, ModItems.cloud5, ModItems.cloud6, ModItems.cloud7, ModItems.cloud8 }));
RenderingRegistry.registerEntityRenderingHandler(EntityOrangeFX.class, new MultiCloudRenderer(new Item[] { ModItems.orange1, ModItems.orange2, ModItems.orange3, ModItems.orange4, ModItems.orange5, ModItems.orange6, ModItems.orange7, ModItems.orange8 }));
RenderingRegistry.registerEntityRenderingHandler(EntityFogFX.class, new FogRenderer());
RenderingRegistry.registerEntityRenderingHandler(EntityOilSpillFX.class, new SpillRenderer(ModItems.nuclear_waste));
RenderingRegistry.registerEntityRenderingHandler(EntityGasFX.class, new GasRenderer(ModItems.nuclear_waste));
RenderingRegistry.registerEntityRenderingHandler(EntityEMPBlast.class, new RenderEMPBlast());
}

View File

@ -1402,6 +1402,22 @@ public class MainRegistry {
ignoreMappings.add("hbm:item.test_leggings");
ignoreMappings.add("hbm:item.test_boots");
ignoreMappings.add("hbm:item.cape_test");
ignoreMappings.add("hbm:item.spill1");
ignoreMappings.add("hbm:item.spill2");
ignoreMappings.add("hbm:item.spill3");
ignoreMappings.add("hbm:item.spill4");
ignoreMappings.add("hbm:item.spill5");
ignoreMappings.add("hbm:item.spill6");
ignoreMappings.add("hbm:item.spill7");
ignoreMappings.add("hbm:item.spill8");
ignoreMappings.add("hbm:item.gas1");
ignoreMappings.add("hbm:item.gas2");
ignoreMappings.add("hbm:item.gas3");
ignoreMappings.add("hbm:item.gas4");
ignoreMappings.add("hbm:item.gas5");
ignoreMappings.add("hbm:item.gas6");
ignoreMappings.add("hbm:item.gas7");
ignoreMappings.add("hbm:item.gas8");
/// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);

View File

@ -1,121 +0,0 @@
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.hbm.entity.particle.EntityGasFX;
import com.hbm.items.ModItems;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
public class GasRenderer extends Render {
private Item field_94151_a;
public GasRenderer(Item p_i1259_1_, int p_i1259_2_) {
this.field_94151_a = p_i1259_1_;
}
public GasRenderer(Item p_i1260_1_) {
this(p_i1260_1_, 0);
}
/**
* Actually renders the given argument. This is a synthetic bridge method,
* always casting down its argument and then handing it off to a worker
* function which does the actual work. In all probabilty, the class Render
* is generic (Render<T extends Entity) and this method has signature public
* void func_76986_a(T entity, double d, double d1, double d2, float f,
* float f1). But JAD is pre 1.5 so doesn't do that.
*/
@Override
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
float p_76986_9_) {
if (p_76986_1_ instanceof EntityGasFX) {
EntityGasFX fx = (EntityGasFX) p_76986_1_;
if (fx.particleAge <= fx.maxAge && fx.particleAge >= fx.maxAge / 8 * 7) {
field_94151_a = ModItems.gas8;
}
if (fx.particleAge < fx.maxAge / 8 * 7 && fx.particleAge >= fx.maxAge / 8 * 6) {
field_94151_a = ModItems.gas7;
}
if (fx.particleAge < fx.maxAge / 8 * 6 && fx.particleAge >= fx.maxAge / 8 * 5) {
field_94151_a = ModItems.gas6;
}
if (fx.particleAge < fx.maxAge / 8 * 5 && fx.particleAge >= fx.maxAge / 8 * 4) {
field_94151_a = ModItems.gas5;
}
if (fx.particleAge < fx.maxAge / 8 * 4 && fx.particleAge >= fx.maxAge / 8 * 3) {
field_94151_a = ModItems.gas4;
}
if (fx.particleAge < fx.maxAge / 8 * 3 && fx.particleAge >= fx.maxAge / 8 * 2) {
field_94151_a = ModItems.gas3;
}
if (fx.particleAge < fx.maxAge / 8 * 2 && fx.particleAge >= fx.maxAge / 8 * 1) {
field_94151_a = ModItems.gas2;
}
if (fx.particleAge < fx.maxAge / 8 && fx.particleAge >= 0) {
field_94151_a = ModItems.gas1;
}
IIcon iicon = field_94151_a.getIconFromDamage(0);
if (iicon != null) {
GL11.glPushMatrix();
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glScalef(0.5F, 0.5F, 0.5F);
GL11.glScalef(7.5F, 7.5F, 7.5F);
//
GL11.glScalef(0.25F, 0.25F, 0.25F);
//
this.bindEntityTexture(p_76986_1_);
Tessellator tessellator = Tessellator.instance;
this.func_77026_a(tessellator, iicon);
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}
}
}
/**
* Returns the location of an entity's texture. Doesn't seem to be called
* unless you call Render.bindEntityTexture.
*/
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return TextureMap.locationItemsTexture;
}
private void func_77026_a(Tessellator p_77026_1_, IIcon p_77026_2_) {
float f = p_77026_2_.getMinU();
float f1 = p_77026_2_.getMaxU();
float f2 = p_77026_2_.getMinV();
float f3 = p_77026_2_.getMaxV();
float f4 = 1.0F;
float f5 = 0.5F;
float f6 = 0.25F;
GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
p_77026_1_.startDrawingQuads();
p_77026_1_.setNormal(0.0F, 1.0F, 0.0F);
p_77026_1_.addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, f, f3);
p_77026_1_.addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, f1, f3);
p_77026_1_.addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, f2);
p_77026_1_.addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, f, f2);
p_77026_1_.draw();
}
}

View File

@ -1,120 +0,0 @@
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.hbm.entity.particle.EntityOilSpillFX;
import com.hbm.items.ModItems;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
public class SpillRenderer extends Render {
private Item field_94151_a;
public SpillRenderer(Item p_i1259_1_, int p_i1259_2_) {
this.field_94151_a = p_i1259_1_;
}
public SpillRenderer(Item p_i1260_1_) {
this(p_i1260_1_, 0);
}
/**
* Actually renders the given argument. This is a synthetic bridge method,
* always casting down its argument and then handing it off to a worker
* function which does the actual work. In all probabilty, the class Render
* is generic (Render<T extends Entity) and this method has signature public
* void func_76986_a(T entity, double d, double d1, double d2, float f,
* float f1). But JAD is pre 1.5 so doesn't do that.
*/
@Override
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
float p_76986_9_) {
if (p_76986_1_ instanceof EntityOilSpillFX) {
EntityOilSpillFX fx = (EntityOilSpillFX) p_76986_1_;
if (fx.particleAge <= fx.maxAge && fx.particleAge >= fx.maxAge / 8 * 7) {
field_94151_a = ModItems.spill8;
}
if (fx.particleAge < fx.maxAge / 8 * 7 && fx.particleAge >= fx.maxAge / 8 * 6) {
field_94151_a = ModItems.spill7;
}
if (fx.particleAge < fx.maxAge / 8 * 6 && fx.particleAge >= fx.maxAge / 8 * 5) {
field_94151_a = ModItems.spill6;
}
if (fx.particleAge < fx.maxAge / 8 * 5 && fx.particleAge >= fx.maxAge / 8 * 4) {
field_94151_a = ModItems.spill5;
}
if (fx.particleAge < fx.maxAge / 8 * 4 && fx.particleAge >= fx.maxAge / 8 * 3) {
field_94151_a = ModItems.spill4;
}
if (fx.particleAge < fx.maxAge / 8 * 3 && fx.particleAge >= fx.maxAge / 8 * 2) {
field_94151_a = ModItems.spill3;
}
if (fx.particleAge < fx.maxAge / 8 * 2 && fx.particleAge >= fx.maxAge / 8 * 1) {
field_94151_a = ModItems.spill2;
}
if (fx.particleAge < fx.maxAge / 8 && fx.particleAge >= 0) {
field_94151_a = ModItems.spill1;
}
IIcon iicon = field_94151_a.getIconFromDamage(0);
if (iicon != null) {
GL11.glPushMatrix();
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glScalef(0.5F, 0.5F, 0.5F);
GL11.glScalef(7.5F, 7.5F, 7.5F);
//
GL11.glScalef(0.25F, 0.25F, 0.25F);
//
this.bindEntityTexture(p_76986_1_);
Tessellator tessellator = Tessellator.instance;
this.func_77026_a(tessellator, iicon);
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}
}
}
/**
* Returns the location of an entity's texture. Doesn't seem to be called
* unless you call Render.bindEntityTexture.
*/
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return TextureMap.locationItemsTexture;
}
private void func_77026_a(Tessellator p_77026_1_, IIcon p_77026_2_) {
float f = p_77026_2_.getMinU();
float f1 = p_77026_2_.getMaxU();
float f2 = p_77026_2_.getMinV();
float f3 = p_77026_2_.getMaxV();
float f4 = 1.0F;
float f5 = 0.5F;
float f6 = 0.25F;
GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
p_77026_1_.startDrawingQuads();
p_77026_1_.setNormal(0.0F, 1.0F, 0.0F);
p_77026_1_.addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, f, f3);
p_77026_1_.addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, f1, f3);
p_77026_1_.addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, f2);
p_77026_1_.addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, f, f2);
p_77026_1_.draw();
}
}

View File

@ -2,12 +2,17 @@ package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.IItemRenderer;
public class RenderDerrick extends TileEntitySpecialRenderer {
public class RenderDerrick extends TileEntitySpecialRenderer implements IItemRendererProvider {
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
@ -16,7 +21,14 @@ public class RenderDerrick extends TileEntitySpecialRenderer {
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glRotatef(180, 0F, 1F, 0F);
GL11.glRotatef(90, 0F, 1F, 0F);
switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) {
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
}
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.derrick_tex);
@ -25,4 +37,25 @@ public class RenderDerrick extends TileEntitySpecialRenderer {
GL11.glPopMatrix();
}
@Override
public Item getItemForRenderer() {
return Item.getItemFromBlock(ModBlocks.machine_well);
}
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(3, 3, 3);
}
public void renderCommon() {
GL11.glRotatef(90, 0F, 1F, 0F);
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.derrick_tex); ResourceManager.derrick.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}};
}
}

View File

@ -6,7 +6,6 @@ import java.util.List;
import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.ModBlocks;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.inventory.container.ContainerMachineOilWell;
import com.hbm.inventory.gui.GUIMachineOilWell;
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
@ -70,8 +69,8 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
if("oreUranium".equals(name)) {
for(int j = -1; j <= 1; j++) {
for(int k = -1; k <= 1; k++) {
if(worldObj.getBlock(xCoord + j, yCoord + 7, zCoord + j).isReplaceable(worldObj, xCoord + j, yCoord + 7, zCoord + k)) {
worldObj.setBlock(xCoord + k, yCoord + 7, zCoord + k, ModBlocks.gas_radon_dense);
if(worldObj.getBlock(xCoord + j, yCoord + 10, zCoord + j).isReplaceable(worldObj, xCoord + j, yCoord + 7, zCoord + k)) {
worldObj.setBlock(xCoord + k, yCoord + 10, zCoord + k, ModBlocks.gas_radon_dense);
}
}
}
@ -80,8 +79,8 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
if("oreAsbestos".equals(name)) {
for(int j = -1; j <= 1; j++) {
for(int k = -1; k <= 1; k++) {
if(worldObj.getBlock(xCoord + j, yCoord + 7, zCoord + j).isReplaceable(worldObj, xCoord + j, yCoord + 7, zCoord + k)) {
worldObj.setBlock(xCoord + k, yCoord + 7, zCoord + k, ModBlocks.gas_asbestos);
if(worldObj.getBlock(xCoord + j, yCoord + 10, zCoord + j).isReplaceable(worldObj, xCoord + j, yCoord + 7, zCoord + k)) {
worldObj.setBlock(xCoord + k, yCoord + 10, zCoord + k, ModBlocks.gas_asbestos);
}
}
}
@ -92,7 +91,6 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
@Override
public void onSuck(int x, int y, int z) {
ExplosionLarge.spawnOilSpills(worldObj, xCoord + 0.5F, yCoord + 5.5F, zCoord + 0.5F, 3);
worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "game.neutral.swim.splash", 2.0F, 0.5F);
this.tanks[0].setFill(this.tanks[0].getFill() + oilPerDepsoit);
@ -116,7 +114,7 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
yCoord,
zCoord - 1,
xCoord + 2,
yCoord + 7,
yCoord + 10,
zCoord + 2
);
}
@ -127,10 +125,10 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
@Override
public DirPos[] getConPos() {
return new DirPos[] {
new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X),
new DirPos(xCoord - 2, yCoord, zCoord, Library.NEG_X),
new DirPos(xCoord, yCoord, zCoord + 2, Library.POS_Z),
new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z)
new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X),
new DirPos(xCoord - 1, yCoord, zCoord, Library.NEG_X),
new DirPos(xCoord, yCoord, zCoord + 1, Library.POS_Z),
new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z)
};
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB