mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
finished aux cooling tower, heavily reduced auto mining drill awfulness
This commit is contained in:
parent
a29f1ab8f8
commit
d5c77d90b5
@ -29,12 +29,12 @@ public class MachineTowerSmall extends BlockDummyable {
|
||||
|
||||
@Override
|
||||
public int[] getDimensions() {
|
||||
return new int[] {12, 0, 1, 1, 1, 1};
|
||||
return new int[] {18, 0, 2, 2, 2, 2};
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOffset() {
|
||||
return 1;
|
||||
return 2;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -46,7 +46,7 @@ public class MachineTowerSmall extends BlockDummyable {
|
||||
|
||||
for(int i = 2; i <= 6; i++) {
|
||||
ForgeDirection dr2 = ForgeDirection.getOrientation(i);
|
||||
this.makeExtra(world, x + dr2.offsetX, y, z + dr2.offsetZ);
|
||||
this.makeExtra(world, x + dr2.offsetX * 2, y, z + dr2.offsetZ * 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,6 +48,8 @@ private TileEntityMachineMiningDrill nukeBoy;
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142));
|
||||
}
|
||||
|
||||
this.detectAndSendChanges();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -94,12 +96,10 @@ private TileEntityMachineMiningDrill nukeBoy;
|
||||
public void detectAndSendChanges() {
|
||||
super.detectAndSendChanges();
|
||||
|
||||
for(int i = 0; i < this.crafters.size(); i++)
|
||||
{
|
||||
ICrafting par1 = (ICrafting)this.crafters.get(i);
|
||||
|
||||
if(this.warning != this.nukeBoy.warning)
|
||||
{
|
||||
for(int i = 0; i < this.crafters.size(); i++) {
|
||||
ICrafting par1 = (ICrafting) this.crafters.get(i);
|
||||
|
||||
if(this.warning != this.nukeBoy.warning) {
|
||||
par1.sendProgressBarUpdate(this, 1, this.nukeBoy.warning);
|
||||
}
|
||||
}
|
||||
@ -109,8 +109,7 @@ private TileEntityMachineMiningDrill nukeBoy;
|
||||
|
||||
@Override
|
||||
public void updateProgressBar(int i, int j) {
|
||||
if(i == 1)
|
||||
{
|
||||
if(i == 1) {
|
||||
nukeBoy.warning = j;
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ public class GUIScreenTemplateFolder extends GuiScreen {
|
||||
allStacks.add(new ItemStack(ModItems.siren_track, 1, i));
|
||||
// Fluid IDs
|
||||
for(int i = 1; i < FluidType.values().length; i++)
|
||||
if(!FluidType.values()[i].hasNoContainer())
|
||||
if(!FluidType.values()[i].hasNoID())
|
||||
allStacks.add(new ItemStack(ModItems.fluid_identifier, 1, i));
|
||||
// Assembly Templates
|
||||
for(int i = 0; i < AssemblerRecipes.recipeList.size(); i++)
|
||||
|
||||
@ -190,6 +190,7 @@ public class ClientProxy extends ServerProxy {
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStorageDrum.class, new RenderStorageDrum());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChungus.class, new RenderChungus());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTowerLarge.class, new RenderLargeTower());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTowerSmall.class, new RenderSmallTower());
|
||||
//AMS
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSBase.class, new RenderAMSBase());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSEmitter.class, new RenderAMSEmitter());
|
||||
|
||||
@ -88,6 +88,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom chungus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chungus.obj"));
|
||||
|
||||
//Cooling Tower
|
||||
public static final IModelCustom tower_small = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_small.obj"));
|
||||
public static final IModelCustom tower_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_large.obj"));
|
||||
|
||||
//IGen
|
||||
@ -353,6 +354,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation chungus_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chungus.png");
|
||||
|
||||
//Cooling Tower
|
||||
public static final ResourceLocation tower_small_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/tower_small.png");
|
||||
public static final ResourceLocation tower_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/tower_large.png");
|
||||
|
||||
//IGen
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.ResourceManager;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class RenderSmallTower extends TileEntitySpecialRenderer {
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.tower_small_tex);
|
||||
ResourceManager.tower_small.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@ -27,11 +27,8 @@ import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.tileentity.TileEntityChest;
|
||||
import net.minecraft.tileentity.TileEntityHopper;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
@Spaghetti("if i had a time machine i'd go back to the year 2017 and uppercut myself")
|
||||
public class TileEntityMachineMiningDrill extends TileEntityMachineBase implements IConsumer, IMiningDrill {
|
||||
|
||||
public long power;
|
||||
@ -47,11 +44,6 @@ public class TileEntityMachineMiningDrill extends TileEntityMachineBase implemen
|
||||
public float rotation;
|
||||
SoundLoopMachine sound;
|
||||
|
||||
private static final int[] slots_top = new int[] {1};
|
||||
private static final int[] slots_bottom = new int[] {2, 0};
|
||||
private static final int[] slots_side = new int[] {0};
|
||||
Random rand = new Random();
|
||||
|
||||
public TileEntityMachineMiningDrill() {
|
||||
super(13);
|
||||
}
|
||||
@ -76,23 +68,15 @@ public class TileEntityMachineMiningDrill extends TileEntityMachineBase implemen
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
|
||||
this.power = nbt.getLong("powerTime");
|
||||
this.power = nbt.getLong("power");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
|
||||
nbt.setLong("powerTime", power);
|
||||
nbt.setLong("power", power);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int p_94128_1_)
|
||||
{
|
||||
return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side);
|
||||
}
|
||||
|
||||
public long getPowerScaled(long i) {
|
||||
return (power * i) / maxPower;
|
||||
}
|
||||
@ -100,29 +84,30 @@ public class TileEntityMachineMiningDrill extends TileEntityMachineBase implemen
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
this.consumption = 100;
|
||||
this.timer = 50;
|
||||
this.radius = 1;
|
||||
this.fortune = 0;
|
||||
|
||||
UpgradeManager.eval(slots, 10, 12);
|
||||
this.radius += Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3);
|
||||
this.consumption += Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3) * 80;
|
||||
|
||||
this.timer -= Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) * 15;
|
||||
this.consumption += Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) * 300;
|
||||
|
||||
this.consumption -= Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3) * 30;
|
||||
this.timer += Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3) * 5;
|
||||
|
||||
this.fortune += Math.min(UpgradeManager.getLevel(UpgradeType.FORTUNE), 3);
|
||||
this.timer += Math.min(UpgradeManager.getLevel(UpgradeType.FORTUNE), 3) * 15;
|
||||
|
||||
age++;
|
||||
if(age >= timer)
|
||||
age -= timer;
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
this.consumption = 100;
|
||||
this.timer = 50;
|
||||
this.radius = 1;
|
||||
this.fortune = 0;
|
||||
|
||||
UpgradeManager.eval(slots, 10, 12);
|
||||
this.radius += Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3);
|
||||
this.consumption += Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3) * 80;
|
||||
|
||||
this.timer -= Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) * 15;
|
||||
this.consumption += Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) * 300;
|
||||
|
||||
this.consumption -= Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3) * 30;
|
||||
this.timer += Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3) * 5;
|
||||
|
||||
this.fortune += Math.min(UpgradeManager.getLevel(UpgradeType.FORTUNE), 3);
|
||||
this.timer += Math.min(UpgradeManager.getLevel(UpgradeType.FORTUNE), 3) * 15;
|
||||
|
||||
age++;
|
||||
if(age >= timer)
|
||||
age -= timer;
|
||||
|
||||
power = Library.chargeTEFromItems(slots, 0, power, maxPower);
|
||||
|
||||
if(power >= consumption) {
|
||||
@ -138,48 +123,30 @@ public class TileEntityMachineMiningDrill extends TileEntityMachineBase implemen
|
||||
|
||||
for(int i = this.yCoord - 1; i > this.yCoord - 1 - 100; i--) {
|
||||
|
||||
if(i <= 5) {
|
||||
if(i <= 3) {
|
||||
//Code 2: The drilling ended
|
||||
warning = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
Block b = worldObj.getBlock(this.xCoord, i, this.zCoord);
|
||||
Block b1 = worldObj.getBlock(this.xCoord, i - 1, this.zCoord);
|
||||
int meta = worldObj.getBlockMetadata(this.xCoord, i, this.zCoord);
|
||||
int meta1 = worldObj.getBlockMetadata(this.xCoord, i - 1, this.zCoord);
|
||||
ItemStack stack = new ItemStack(b.getItemDropped(meta, rand, fortune), b.quantityDropped(meta, fortune, rand), b.damageDropped(meta));
|
||||
ItemStack stack1 = new ItemStack(b1.getItemDropped(meta1, rand, fortune), b1.quantityDropped(meta1, fortune, rand), b1.damageDropped(meta1));
|
||||
|
||||
if(i == this.yCoord - 1 && worldObj.getBlock(this.xCoord, i, this.zCoord) != ModBlocks.drill_pipe) {
|
||||
if(this.tryDrill(xCoord, i, zCoord) || worldObj.getBlock(xCoord, i, zCoord).isReplaceable(worldObj, xCoord, i, zCoord)) {
|
||||
worldObj.setBlock(this.xCoord, i, this.zCoord, ModBlocks.drill_pipe);
|
||||
break;
|
||||
} else {
|
||||
//Code 2: Drill jammed
|
||||
warning = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(b1 == ModBlocks.drill_pipe) {
|
||||
continue;
|
||||
} else {
|
||||
if(worldObj.getBlock(xCoord, i, zCoord) != ModBlocks.drill_pipe) {
|
||||
|
||||
flag = i != this.yCoord - 1;
|
||||
|
||||
if(!this.drill(this.xCoord, i, this.zCoord, radius)) {
|
||||
if(this.isOreo(this.xCoord, i - 1, this.zCoord) && this.hasSpace(stack1)) {
|
||||
worldObj.setBlock(this.xCoord, i - 1, this.zCoord, ModBlocks.drill_pipe);
|
||||
} else {
|
||||
//Code 2: Drill jammed
|
||||
warning = 1;
|
||||
if(worldObj.getBlock(xCoord, i, zCoord).isReplaceable(worldObj, xCoord, i, zCoord) || this.tryDrill(xCoord, i, zCoord)) {
|
||||
|
||||
if(worldObj.getBlock(xCoord, i, zCoord).isReplaceable(worldObj, xCoord, i, zCoord)) {
|
||||
worldObj.setBlock(xCoord, i, zCoord, ModBlocks.drill_pipe);
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
|
||||
} else {
|
||||
this.warning = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if(this.drill(xCoord, i, zCoord, radius))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -209,38 +176,14 @@ public class TileEntityMachineMiningDrill extends TileEntityMachineBase implemen
|
||||
//worldObj.setBlock(xCoord - 2, yCoord, zCoord, Blocks.dirt);
|
||||
}
|
||||
|
||||
if(te != null && te instanceof TileEntityChest) {
|
||||
TileEntityChest chest = (TileEntityChest)te;
|
||||
if(te != null && te instanceof IInventory) {
|
||||
IInventory chest = (IInventory)te;
|
||||
|
||||
for(int i = 1; i < 10; i++)
|
||||
if(tryFillContainer(chest, i))
|
||||
break;
|
||||
}
|
||||
|
||||
if(te != null && te instanceof TileEntityHopper) {
|
||||
TileEntityHopper hopper = (TileEntityHopper)te;
|
||||
|
||||
for(int i = 1; i < 10; i++)
|
||||
if(tryFillContainer(hopper, i))
|
||||
break;
|
||||
}
|
||||
|
||||
if(te != null && te instanceof TileEntityCrateIron) {
|
||||
TileEntityCrateIron hopper = (TileEntityCrateIron)te;
|
||||
|
||||
for(int i = 1; i < 10; i++)
|
||||
if(tryFillContainer(hopper, i))
|
||||
break;
|
||||
}
|
||||
|
||||
if(te != null && te instanceof TileEntityCrateSteel) {
|
||||
TileEntityCrateSteel hopper = (TileEntityCrateSteel)te;
|
||||
|
||||
for(int i = 1; i < 10; i++)
|
||||
if(tryFillContainer(hopper, i))
|
||||
break;
|
||||
}
|
||||
|
||||
if(warning == 0) {
|
||||
torque += 0.1;
|
||||
if(torque > (100/timer))
|
||||
@ -386,7 +329,7 @@ public class TileEntityMachineMiningDrill extends TileEntityMachineBase implemen
|
||||
return true; //true because the block is still there and mining should continue
|
||||
}
|
||||
|
||||
ItemStack stack = new ItemStack(b.getItemDropped(meta, rand, fortune), b.quantityDropped(meta, fortune, rand), b.damageDropped(meta));
|
||||
ItemStack stack = new ItemStack(b.getItemDropped(meta, worldObj.rand, fortune), b.quantityDropped(meta, fortune, worldObj.rand), b.damageDropped(meta));
|
||||
|
||||
//yup that worked
|
||||
if(stack != null && stack.getItem() == null) {
|
||||
|
||||
@ -5,7 +5,6 @@ import com.hbm.inventory.FluidTank;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
@ -22,7 +21,7 @@ public class TileEntityTowerSmall extends TileEntityCondenser {
|
||||
|
||||
for(int i = 2; i <= 6; i++) {
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(i);
|
||||
fillFluid(xCoord + dir.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2, getTact(), type);
|
||||
fillFluid(xCoord + dir.offsetX * 3, yCoord, zCoord + dir.offsetZ * 3, getTact(), type);
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,12 +32,12 @@ public class TileEntityTowerSmall extends TileEntityCondenser {
|
||||
|
||||
if(bb == null) {
|
||||
bb = AxisAlignedBB.getBoundingBox(
|
||||
xCoord - 1,
|
||||
xCoord - 2,
|
||||
yCoord,
|
||||
zCoord - 1,
|
||||
xCoord + 2,
|
||||
yCoord + 13,
|
||||
zCoord + 2
|
||||
zCoord - 2,
|
||||
xCoord + 3,
|
||||
yCoord + 20,
|
||||
zCoord + 3
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
3049
src/main/resources/assets/hbm/models/machines/tower_small.obj
Normal file
3049
src/main/resources/assets/hbm/models/machines/tower_small.obj
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 16 KiB |
Loading…
x
Reference in New Issue
Block a user