fixed fluid tank conversion, some new mining drill stuff

This commit is contained in:
Bob 2022-12-14 21:41:18 +01:00
parent ee567ae27a
commit 6e3114f83e
7 changed files with 3503 additions and 8 deletions

View File

@ -1016,6 +1016,7 @@ public class ModBlocks {
public static Block machine_drill;
public static Block drill_pipe;
public static final int guiID_machine_drill = 45;
public static Block machine_excavator;
public static Block machine_mining_laser;
public static Block barricade;
@ -2223,6 +2224,7 @@ public class ModBlocks {
fraction_spacer = new FractionSpacer(Material.iron).setBlockName("fraction_spacer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_catalytic_cracker = new MachineCatalyticCracker(Material.iron).setBlockName("machine_catalytic_cracker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_drill = new MachineMiningDrill(Material.iron).setBlockName("machine_drill").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_drill");
machine_excavator = new MachineExcavator().setBlockName("machine_excavator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
drill_pipe = new BlockNoDrop(Material.iron).setBlockName("drill_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":drill_pipe");
machine_mining_laser = new MachineMiningLaser(Material.iron).setBlockName("machine_mining_laser").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_mining_laser");
barricade = new BlockNoDrop(Material.sand).setBlockName("barricade").setHardness(1.0F).setResistance(2.5F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":barricade");
@ -3260,6 +3262,7 @@ public class ModBlocks {
GameRegistry.registerBlock(fraction_spacer, fraction_spacer.getUnlocalizedName());
GameRegistry.registerBlock(machine_catalytic_cracker, machine_catalytic_cracker.getUnlocalizedName());
GameRegistry.registerBlock(machine_drill, machine_drill.getUnlocalizedName());
register(machine_excavator);
GameRegistry.registerBlock(machine_mining_laser, ItemBlockBase.class, machine_mining_laser.getUnlocalizedName());
GameRegistry.registerBlock(barricade, barricade.getUnlocalizedName());
GameRegistry.registerBlock(machine_turbofan, ItemBlockBase.class, machine_turbofan.getUnlocalizedName());

View File

@ -0,0 +1,31 @@
package com.hbm.blocks.machine;
import com.hbm.blocks.BlockDummyable;
import com.hbm.tileentity.machine.TileEntityMachineExcavator;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class MachineExcavator extends BlockDummyable {
public MachineExcavator() {
super(Material.iron);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
return new TileEntityMachineExcavator();
}
@Override
public int[] getDimensions() {
return new int[] {0, 0, 0, 0, 0, 0};
}
@Override
public int getOffset() {
return 0;
}
}

View File

@ -260,6 +260,7 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeatBoiler.class, new RenderBoiler());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySteamEngine.class, new RenderSteamEngine());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCombustionEngine.class, new RenderCombustionEngine());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineExcavator.class, new RenderExcavator());
//Foundry
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryBasin.class, new RenderFoundry());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryMold.class, new RenderFoundry());

View File

@ -0,0 +1,12 @@
package com.hbm.render.tileentity;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderExcavator extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) {
}
}

View File

@ -0,0 +1,20 @@
package com.hbm.tileentity.machine;
import com.hbm.tileentity.TileEntityMachineBase;
public class TileEntityMachineExcavator extends TileEntityMachineBase {
public TileEntityMachineExcavator() {
super(10);
}
@Override
public String getName() {
return null;
}
@Override
public void updateEntity() {
}
}

View File

@ -71,18 +71,16 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
//meta below 121 means that it's an old multiblock configuration
if(this.getBlockMetadata() < 12) {
//get old direction
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata());
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()).getRotation(ForgeDirection.DOWN);
//remove tile from the world to prevent inventory dropping
worldObj.removeTileEntity(xCoord, yCoord, zCoord);
//use fillspace to create a new multiblock configuration
worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.machine_fluidtank, dir.ordinal() + 10, 3);
MultiblockHandlerXR.fillSpace(worldObj, xCoord, yCoord, zCoord, ((BlockDummyable) ModBlocks.machine_fluidtank).getDimensions(), ModBlocks.machine_fluidtank, dir);
//set the tile entity to the one we have now
worldObj.setTileEntity(xCoord, yCoord, zCoord, this);
//reset cached metadata
this.blockMetadata = -1;
//validate again
this.validate();
//cancel update tick just to be sure
//load the tile data to restore the old values
NBTTagCompound data = new NBTTagCompound();
this.writeToNBT(data);
worldObj.getTileEntity(xCoord, yCoord, zCoord).readFromNBT(data);
return;
}

File diff suppressed because it is too large Load Diff