mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
i didn't expect this to be done in time tbh
This commit is contained in:
parent
2b7a8f7d0f
commit
1dc976d337
@ -1,6 +1,6 @@
|
||||
mod_version=1.0.27
|
||||
# Empty build number makes a release type
|
||||
mod_build_number=4501
|
||||
mod_build_number=4515
|
||||
|
||||
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
|
||||
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\
|
||||
|
||||
@ -1021,6 +1021,8 @@ public class ModBlocks {
|
||||
public static Block drill_pipe;
|
||||
public static final int guiID_machine_drill = 45;
|
||||
public static Block machine_excavator;
|
||||
|
||||
public static Block machine_autosaw;
|
||||
|
||||
public static Block machine_mining_laser;
|
||||
public static Block barricade; // a sand bag that drops nothing, for automated walling purposes
|
||||
@ -2234,6 +2236,7 @@ public class ModBlocks {
|
||||
machine_fraction_tower = new MachineFractionTower(Material.iron).setBlockName("machine_fraction_tower").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
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_autosaw = new MachineAutosaw().setBlockName("machine_autosaw").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");
|
||||
@ -3281,6 +3284,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());
|
||||
GameRegistry.registerBlock(machine_autosaw, machine_autosaw.getUnlocalizedName());
|
||||
register(machine_excavator);
|
||||
register(machine_mining_laser);
|
||||
register(barricade);
|
||||
|
||||
57
src/main/java/com/hbm/blocks/machine/MachineAutosaw.java
Normal file
57
src/main/java/com/hbm/blocks/machine/MachineAutosaw.java
Normal file
@ -0,0 +1,57 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ILookOverlay;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineAutosaw;
|
||||
import com.hbm.util.I18nUtil;
|
||||
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
|
||||
|
||||
public class MachineAutosaw extends BlockContainer implements ILookOverlay {
|
||||
|
||||
public MachineAutosaw() {
|
||||
super(Material.iron);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
return new TileEntityMachineAutosaw();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void printHook(Pre event, World world, int x, int y, int z) {
|
||||
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
|
||||
if(!(te instanceof TileEntityMachineAutosaw))
|
||||
return;
|
||||
|
||||
TileEntityMachineAutosaw saw = (TileEntityMachineAutosaw) te;
|
||||
|
||||
List<String> text = new ArrayList();
|
||||
text.add(I18nUtil.resolveKey("hbmfluid." + saw.tank.getTankType().getName().toLowerCase()) + ": " + saw.tank.getFill() + "/" + saw.tank.getMaxFill() + "mB");
|
||||
|
||||
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);
|
||||
}
|
||||
}
|
||||
@ -1,15 +1,26 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.ILookOverlay;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.items.machine.IItemFluidIdentifier;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineHephaestus;
|
||||
import com.hbm.util.I18nUtil;
|
||||
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class MachineHephaestus extends BlockDummyable {
|
||||
public class MachineHephaestus extends BlockDummyable implements ILookOverlay {
|
||||
|
||||
public MachineHephaestus(Material mat) {
|
||||
super(mat);
|
||||
@ -49,4 +60,59 @@ public class MachineHephaestus extends BlockDummyable {
|
||||
this.makeExtra(world, x, y + 11, z + 1);
|
||||
this.makeExtra(world, x, y + 11, z - 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
|
||||
if(!world.isRemote && !player.isSneaking()) {
|
||||
|
||||
if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) {
|
||||
int[] pos = this.findCore(world, x, y, z);
|
||||
|
||||
if(pos == null)
|
||||
return false;
|
||||
|
||||
TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]);
|
||||
|
||||
if(!(te instanceof TileEntityMachineHephaestus))
|
||||
return false;
|
||||
|
||||
TileEntityMachineHephaestus heatex = (TileEntityMachineHephaestus) te;
|
||||
FluidType type = ((IItemFluidIdentifier) player.getHeldItem().getItem()).getType(world, pos[0], pos[1], pos[2], player.getHeldItem());
|
||||
heatex.input.setTankType(type);
|
||||
heatex.markDirty();
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void printHook(Pre event, World world, int x, int y, int z) {
|
||||
int[] pos = this.findCore(world, x, y, z);
|
||||
|
||||
if(pos == null)
|
||||
return;
|
||||
|
||||
TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]);
|
||||
|
||||
if(!(te instanceof TileEntityMachineHephaestus))
|
||||
return;
|
||||
|
||||
TileEntityMachineHephaestus heatex = (TileEntityMachineHephaestus) te;
|
||||
|
||||
List<String> text = new ArrayList();
|
||||
text.add(String.format("%,d", heatex.bufferedHeat) + " TU");
|
||||
|
||||
for(int i = 0; i < heatex.getAllTanks().length; i++) {
|
||||
FluidTank tank = heatex.getAllTanks()[i];
|
||||
text.add((i == 0 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tank.getTankType().getName().toLowerCase()) + ": " + tank.getFill() + "/" + tank.getMaxFill() + "mB");
|
||||
}
|
||||
|
||||
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial;
|
||||
import com.hbm.items.special.ItemWasteLong;
|
||||
import com.hbm.items.special.ItemWasteShort;
|
||||
import com.hbm.items.special.ItemByproduct.EnumByproduct;
|
||||
import com.hbm.main.CraftingManager;
|
||||
|
||||
import static com.hbm.inventory.OreDictManager.*;
|
||||
@ -442,6 +443,17 @@ public class MineralRecipes {
|
||||
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.ball_fireclay, 4), new Object[] { Items.clay_ball, Items.clay_ball, Items.clay_ball, AL.dust() });
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.ball_fireclay, 4), new Object[] { Items.clay_ball, Items.clay_ball, Items.clay_ball, AL.ore() });
|
||||
|
||||
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_IRON), new ItemStack(ModItems.powder_iron));
|
||||
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_COPPER), new ItemStack(ModItems.powder_copper));
|
||||
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_LITHIUM), new ItemStack(ModItems.powder_lithium));
|
||||
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_SILICON), new ItemStack(ModItems.powder_quartz));
|
||||
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_LEAD), new ItemStack(ModItems.powder_lead));
|
||||
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_TITANIUM), new ItemStack(ModItems.powder_titanium));
|
||||
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_ALUMINIUM), new ItemStack(ModItems.powder_aluminium));
|
||||
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_SULFUR), new ItemStack(ModItems.sulfur));
|
||||
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_CALCIUM), new ItemStack(ModItems.powder_calcium));
|
||||
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_BISMUTH), new ItemStack(ModItems.powder_bismuth));
|
||||
}
|
||||
|
||||
//Bundled 1/9 recipes
|
||||
|
||||
@ -102,6 +102,8 @@ public class SmeltingRecipes {
|
||||
GameRegistry.addSmelting(ModItems.powder_ra226, new ItemStack(ModItems.ingot_ra226), 1.0F);
|
||||
GameRegistry.addSmelting(ModItems.powder_tantalium, new ItemStack(ModItems.ingot_tantalium), 1.0F);
|
||||
GameRegistry.addSmelting(ModItems.powder_niobium, new ItemStack(ModItems.ingot_niobium), 1.0F);
|
||||
GameRegistry.addSmelting(ModItems.powder_bismuth, new ItemStack(ModItems.ingot_bismuth), 1.0F);
|
||||
GameRegistry.addSmelting(ModItems.powder_calcium, new ItemStack(ModItems.ingot_calcium), 1.0F);
|
||||
|
||||
GameRegistry.addSmelting(ModItems.combine_scrap, new ItemStack(ModItems.ingot_combine_steel), 1.0F);
|
||||
GameRegistry.addSmelting(ModItems.tank_waste, new ItemStack(ModItems.tank_waste), 0.0F);
|
||||
|
||||
@ -517,6 +517,8 @@ public class EntityEffectHandler {
|
||||
forward = 1;
|
||||
|
||||
player.addVelocity(lookingIn.xCoord * forward + strafeVec.xCoord * strafe, 0, lookingIn.zCoord * forward + strafeVec.zCoord * strafe);
|
||||
player.motionY = 0;
|
||||
player.fallDistance = 0F;
|
||||
player.playSound("hbm:player.dash", 1.0F, 1.0F);
|
||||
|
||||
props.setDashCooldown(HbmPlayerProps.dashCooldownLength);
|
||||
|
||||
@ -152,8 +152,9 @@ public class OreDictManager {
|
||||
public static final DictFrame TCALLOY = new DictFrame("TcAlloy");
|
||||
/** LEAD */
|
||||
public static final DictFrame PB = new DictFrame("Lead");
|
||||
//public static final DictFrame BI = new DictFrame("Bismuth");
|
||||
public static final DictFrame BI = new DictFrame("Bismuth");
|
||||
public static final DictFrame AS = new DictFrame("Arsenic");
|
||||
public static final DictFrame CA = new DictFrame("Calcium");
|
||||
/** TANTALUM */
|
||||
public static final DictFrame TA = new DictFrame("Tantalum");
|
||||
public static final DictFrame COLTAN = new DictFrame("Coltan");
|
||||
@ -329,8 +330,9 @@ public class OreDictManager {
|
||||
STEEL .ingot(ingot_steel) .dustSmall(powder_steel_tiny) .dust(powder_steel) .plate(plate_steel) .block(block_steel);
|
||||
TCALLOY .ingot(ingot_tcalloy) .dust(powder_tcalloy);
|
||||
PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead, ore_meteor_lead);
|
||||
//BI .nugget(nugget_bismuth) .ingot(ingot_bismuth); THAT'S WHAT YOU THOUGHT!
|
||||
BI .nugget(nugget_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth);
|
||||
AS .nugget(nugget_arsenic) .ingot(ingot_arsenic);
|
||||
CA .ingot(ingot_calcium) .dust(powder_calcium);
|
||||
TA .nugget(nugget_tantalium) .gem(gem_tantalium) .ingot(ingot_tantalium) .dust(powder_tantalium) .block(block_tantalium);
|
||||
COLTAN .ingot(fragment_coltan) .dust(powder_coltan_ore) .block(block_coltan) .ore(ore_coltan);
|
||||
NB .nugget(fragment_niobium) .ingot(ingot_niobium) .dustSmall(powder_niobium_tiny) .dust(powder_niobium) .block(block_niobium);
|
||||
|
||||
@ -917,6 +917,14 @@ public class AssemblerRecipes {
|
||||
new OreDictStack(OreDictManager.getReflector(), 8),
|
||||
new OreDictStack(CU.plate(), 12)
|
||||
}, 150);
|
||||
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_hephaestus, 1), new AStack[] {
|
||||
new ComparableStack(ModItems.pipes_steel, 1),
|
||||
new OreDictStack(STEEL.ingot(), 12),
|
||||
new OreDictStack(CU.plate(), 24),
|
||||
new OreDictStack(RUBBER.ingot(), 8),
|
||||
new ComparableStack(ModBlocks.glass_quartz, 16)
|
||||
}, 150);
|
||||
|
||||
makeRecipe(new ComparableStack(ModBlocks.block_cap_nuka, 1), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10);
|
||||
makeRecipe(new ComparableStack(ModBlocks.block_cap_quantum, 1), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10);
|
||||
|
||||
@ -337,6 +337,14 @@ public class AnvilRecipes {
|
||||
new ComparableStack(ModItems.plate_polymer, 8)
|
||||
}, new AnvilOutput(new ItemStack(ModBlocks.machine_boiler))).setTier(2));
|
||||
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(
|
||||
new AStack[] {
|
||||
new OreDictStack(STEEL.plate(), 12),
|
||||
new OreDictStack(IRON.ingot(), 8),
|
||||
new OreDictStack(CU.ingot(), 2),
|
||||
new ComparableStack(ModItems.sawblade)
|
||||
}, new AnvilOutput(new ItemStack(ModBlocks.machine_autosaw))).setTier(2));
|
||||
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(
|
||||
new AStack[] {
|
||||
new OreDictStack(STEEL.ingot(), 6),
|
||||
|
||||
@ -345,6 +345,9 @@ public class ModItems {
|
||||
public static Item ingot_fiberglass;
|
||||
public static Item ingot_asbestos;
|
||||
public static Item powder_asbestos;
|
||||
public static Item ingot_calcium;
|
||||
public static Item powder_calcium;
|
||||
public static Item powder_bismuth;
|
||||
|
||||
public static Item ingot_lanthanium;
|
||||
public static Item ingot_actinium;
|
||||
@ -2845,6 +2848,9 @@ public class ModItems {
|
||||
nugget_mercury = new Item().setUnlocalizedName("nugget_mercury_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mercury_tiny");
|
||||
ingot_mercury = new ItemCustomLore().setUnlocalizedName("nugget_mercury").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mercury");
|
||||
bottle_mercury = new ItemCustomLore().setUnlocalizedName("bottle_mercury").setContainerItem(Items.glass_bottle).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bottle_mercury");
|
||||
ingot_calcium = new Item().setUnlocalizedName("ingot_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_calcium");
|
||||
powder_calcium = new Item().setUnlocalizedName("powder_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_calcium");
|
||||
powder_bismuth = new Item().setUnlocalizedName("powder_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_bismuth");
|
||||
|
||||
ore_byproduct = new ItemByproduct().setUnlocalizedName("ore_byproduct").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":byproduct");
|
||||
|
||||
@ -5901,6 +5907,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_bismuth, ingot_bismuth.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_arsenic, ingot_arsenic.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_calcium, ingot_calcium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_tantalium, ingot_tantalium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_niobium, ingot_niobium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_beryllium, ingot_beryllium.getUnlocalizedName());
|
||||
@ -6070,6 +6077,8 @@ public class ModItems {
|
||||
GameRegistry.registerItem(powder_steel_tiny, powder_steel_tiny.getUnlocalizedName());
|
||||
GameRegistry.registerItem(powder_tcalloy, powder_tcalloy.getUnlocalizedName());
|
||||
GameRegistry.registerItem(powder_lead, powder_lead.getUnlocalizedName());
|
||||
GameRegistry.registerItem(powder_bismuth, powder_bismuth.getUnlocalizedName());
|
||||
GameRegistry.registerItem(powder_calcium, powder_calcium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(powder_coltan_ore, powder_coltan_ore.getUnlocalizedName());
|
||||
GameRegistry.registerItem(powder_coltan, powder_coltan.getUnlocalizedName());
|
||||
GameRegistry.registerItem(powder_tantalium, powder_tantalium.getUnlocalizedName());
|
||||
|
||||
@ -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 (4501)";
|
||||
public static final String VERSION = "1.0.27 BETA (4515)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -269,6 +269,7 @@ public class ClientProxy extends ServerProxy {
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineExcavator.class, new RenderExcavator());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMixer.class, new RenderMixer());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineHephaestus.class, new RenderHephaestus());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAutosaw.class, new RenderAutosaw());
|
||||
//Foundry
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryBasin.class, new RenderFoundry());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryMold.class, new RenderFoundry());
|
||||
|
||||
@ -146,6 +146,9 @@ public class ResourceManager {
|
||||
//Magnusson Device
|
||||
public static final IModelCustom microwave = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/microwave.obj"));
|
||||
|
||||
//Big Man Johnson
|
||||
public static final IModelCustom autosaw = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/autosaw.obj"));
|
||||
|
||||
//Mining Drill
|
||||
public static final IModelCustom drill_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_main.obj"));
|
||||
public static final IModelCustom drill_bolt = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_bolt.obj"));
|
||||
@ -471,6 +474,9 @@ public class ResourceManager {
|
||||
//Magnusson Device
|
||||
public static final ResourceLocation microwave_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/microwave.png");
|
||||
|
||||
//Big Man Johnson
|
||||
public static final ResourceLocation autosaw_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/autosaw.png");
|
||||
|
||||
//Mining Drill
|
||||
public static final ResourceLocation drill_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mining_drill.png");
|
||||
public static final ResourceLocation drill_bolt_tex = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png");
|
||||
|
||||
84
src/main/java/com/hbm/render/tileentity/RenderAutosaw.java
Normal file
84
src/main/java/com/hbm/render/tileentity/RenderAutosaw.java
Normal file
@ -0,0 +1,84 @@
|
||||
package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.item.ItemRenderBase;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineAutosaw;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
|
||||
public class RenderAutosaw extends TileEntitySpecialRenderer implements IItemRendererProvider {
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
|
||||
TileEntityMachineAutosaw saw = (TileEntityMachineAutosaw) tile;
|
||||
|
||||
double turn = saw.prevRotationYaw + (saw.rotationYaw - saw.prevRotationYaw) * interp;
|
||||
double angle = 80 - (saw.prevRotationPitch + (saw.rotationPitch - saw.prevRotationPitch) * interp);
|
||||
float spin = saw.lastSpin + (saw.spin - saw.lastSpin) * interp;
|
||||
renderCommon(turn, angle, spin);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
private void renderCommon(double turn, double angle, double spin) {
|
||||
|
||||
bindTexture(ResourceManager.autosaw_tex);
|
||||
ResourceManager.autosaw.renderPart("Base");
|
||||
|
||||
GL11.glRotated(turn, 0, -1, 0);
|
||||
ResourceManager.autosaw.renderPart("Main");
|
||||
|
||||
GL11.glTranslated(0, 1.75, 0);
|
||||
GL11.glRotated(angle, 1, 0, 0);
|
||||
GL11.glTranslated(0, -1.75, 0);
|
||||
ResourceManager.autosaw.renderPart("ArmUpper");
|
||||
|
||||
GL11.glTranslated(0, 1.75, -4);
|
||||
GL11.glRotated(angle * -2, 1, 0, 0);
|
||||
GL11.glTranslated(0, -1.75, 4);
|
||||
GL11.glTranslated(-0.01, 0, 0);
|
||||
ResourceManager.autosaw.renderPart("ArmLower");
|
||||
GL11.glTranslated(0.01, 0, 0);
|
||||
|
||||
GL11.glTranslated(0, 1.75, -8);
|
||||
GL11.glRotated(angle, 1, 0, 0);
|
||||
GL11.glTranslated(0, -1.75, 8);
|
||||
ResourceManager.autosaw.renderPart("ArmTip");
|
||||
|
||||
GL11.glTranslated(0, 1.75, -10);
|
||||
GL11.glRotated(spin, 0, -1, 0);
|
||||
GL11.glTranslated(0, -1.75, 10);
|
||||
ResourceManager.autosaw.renderPart("Sawblade");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemForRenderer() {
|
||||
return Item.getItemFromBlock(ModBlocks.machine_autosaw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IItemRenderer getRenderer() {
|
||||
return new ItemRenderBase( ) {
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -3.5, -3);
|
||||
GL11.glScaled(5, 5, 5);
|
||||
}
|
||||
public void renderCommonWithStack(ItemStack item) {
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
GL11.glRotatef(-90, 0F, 1F, 0F);
|
||||
RenderAutosaw.this.renderCommon(0D, 80D, System.currentTimeMillis() % 3600 * 0.1D);
|
||||
}};
|
||||
}
|
||||
}
|
||||
@ -2,14 +2,18 @@ package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.item.ItemRenderBase;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineHephaestus;
|
||||
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
|
||||
public class RenderHephaestus extends TileEntitySpecialRenderer {
|
||||
public class RenderHephaestus extends TileEntitySpecialRenderer implements IItemRendererProvider {
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) {
|
||||
@ -68,4 +72,37 @@ public class RenderHephaestus extends TileEntitySpecialRenderer {
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemForRenderer() {
|
||||
return Item.getItemFromBlock(ModBlocks.machine_hephaestus);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IItemRenderer getRenderer() {
|
||||
return new ItemRenderBase() {
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -4.5, 0);
|
||||
GL11.glScaled(2.25, 2.25, 2.25);
|
||||
}
|
||||
public void renderCommon() {
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.hephaestus_tex);
|
||||
ResourceManager.hephaestus.renderPart("Main");
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
for(int i = 0; i < 3; i++) {
|
||||
ResourceManager.hephaestus.renderPart("Rotor");
|
||||
GL11.glRotated(120, 0, 1, 0);
|
||||
}
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
GL11.glPopMatrix();
|
||||
bindTexture(RenderExcavator.cobble);
|
||||
ResourceManager.hephaestus.renderPart("Core");
|
||||
}};
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,13 +3,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 com.hbm.tileentity.machine.TileEntityMachineTurbineGas;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
|
||||
public class RenderTurbineGas extends TileEntitySpecialRenderer {
|
||||
public class RenderTurbineGas extends TileEntitySpecialRenderer implements IItemRendererProvider {
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
|
||||
@ -35,4 +39,27 @@ public class RenderTurbineGas extends TileEntitySpecialRenderer {
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemForRenderer() {
|
||||
return Item.getItemFromBlock(ModBlocks.machine_turbinegas);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IItemRenderer getRenderer() {
|
||||
return new ItemRenderBase() {
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -1, 1.5);
|
||||
GL11.glScaled(2.5, 2.5, 2.5);
|
||||
}
|
||||
public void renderCommon() {
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glScaled(0.75, 0.75, 0.75);
|
||||
GL11.glRotated(90, 0, 1, 0);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.turbinegas_tex);
|
||||
ResourceManager.turbinegas.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}};
|
||||
}
|
||||
}
|
||||
@ -269,6 +269,7 @@ public class TileMappings {
|
||||
put(TileEntityDiFurnaceRTG.class, "tileentity_rtg_difurnace");
|
||||
put(TileEntityMachineRadiolysis.class, "tileentity_radiolysis");
|
||||
put(TileEntityUVLamp.class, "tileentity_uv_lamp");
|
||||
put(TileEntityMachineAutosaw.class, "tileentity_autosaw");
|
||||
|
||||
put(TileEntityCondenser.class, "tileentity_condenser");
|
||||
put(TileEntityTowerSmall.class, "tileentity_cooling_tower_small");
|
||||
|
||||
@ -9,7 +9,6 @@ import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.saveddata.TomSaveData;
|
||||
import com.hbm.tileentity.INBTPacketReceiver;
|
||||
import com.hbm.tileentity.TileEntityLoadedBase;
|
||||
|
||||
@ -0,0 +1,301 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.tileentity.INBTPacketReceiver;
|
||||
import com.hbm.tileentity.TileEntityLoadedBase;
|
||||
|
||||
import api.hbm.fluid.IFluidStandardReceiver;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockLeaves;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements INBTPacketReceiver, IFluidStandardReceiver {
|
||||
|
||||
public FluidTank tank;
|
||||
|
||||
public boolean isOn;
|
||||
public float syncYaw;
|
||||
public float rotationYaw;
|
||||
public float prevRotationYaw;
|
||||
public float syncPitch;
|
||||
public float rotationPitch;
|
||||
public float prevRotationPitch;
|
||||
|
||||
// 0: searching, 1: extending, 2: retracting
|
||||
private int state = 0;
|
||||
|
||||
private int turnProgress;
|
||||
|
||||
public float spin;
|
||||
public float lastSpin;
|
||||
|
||||
public TileEntityMachineAutosaw() {
|
||||
this.tank = new FluidTank(Fluids.WOODOIL, 100);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 20 == 0) {
|
||||
if(tank.getFill() > 0) {
|
||||
tank.setFill(tank.getFill() - 1);
|
||||
this.isOn = true;
|
||||
} else {
|
||||
this.isOn = false;
|
||||
}
|
||||
|
||||
this.subscribeToAllAround(tank.getTankType(), this);
|
||||
}
|
||||
|
||||
if(isOn) {
|
||||
Vec3 pivot = Vec3.createVectorHelper(xCoord + 0.5, yCoord + 1.75, zCoord + 0.5);
|
||||
Vec3 upperArm = Vec3.createVectorHelper(0, 0, -4);
|
||||
upperArm.rotateAroundX((float) Math.toRadians(80 - rotationPitch));
|
||||
upperArm.rotateAroundY(-(float) Math.toRadians(rotationYaw));
|
||||
Vec3 lowerArm = Vec3.createVectorHelper(0, 0, -4);
|
||||
lowerArm.rotateAroundX((float) -Math.toRadians(80 - rotationPitch));
|
||||
lowerArm.rotateAroundY(-(float) Math.toRadians(rotationYaw));
|
||||
Vec3 armTip = Vec3.createVectorHelper(0, 0, -2);
|
||||
armTip.rotateAroundY(-(float) Math.toRadians(rotationYaw));
|
||||
|
||||
double cX = pivot.xCoord + upperArm.xCoord + lowerArm.xCoord + armTip.xCoord;
|
||||
double cY = pivot.yCoord;
|
||||
double cZ = pivot.zCoord + upperArm.zCoord + lowerArm.zCoord + armTip.zCoord;
|
||||
|
||||
List<EntityLivingBase> affected = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(cX - 1, cY - 0.25, cZ - 1, cX + 1, cY + 0.25, cZ + 1));
|
||||
|
||||
for(EntityLivingBase e : affected) {
|
||||
e.attackEntityFrom(ModDamageSource.turbofan, 100);
|
||||
}
|
||||
|
||||
if(state == 0) {
|
||||
|
||||
this.rotationYaw += 1;
|
||||
|
||||
if(this.rotationYaw >= 360) {
|
||||
this.rotationYaw -= 360;
|
||||
}
|
||||
|
||||
Vec3 grace = Vec3.createVectorHelper(0, 0, -3.5);
|
||||
grace.rotateAroundY(-(float) Math.toRadians(rotationYaw));
|
||||
grace.xCoord += pivot.xCoord;
|
||||
grace.yCoord += pivot.yCoord;
|
||||
grace.zCoord += pivot.zCoord;
|
||||
|
||||
Vec3 detector = Vec3.createVectorHelper(0, 0, -9);
|
||||
detector.rotateAroundY(-(float) Math.toRadians(rotationYaw));
|
||||
detector.xCoord += pivot.xCoord;
|
||||
detector.yCoord += pivot.yCoord;
|
||||
detector.zCoord += pivot.zCoord;
|
||||
MovingObjectPosition pos = worldObj.func_147447_a(grace, detector, false, false, false);
|
||||
|
||||
if(pos != null && pos.typeOfHit == pos.typeOfHit.BLOCK) {
|
||||
|
||||
Block b = worldObj.getBlock(pos.blockX, pos.blockY, pos.blockZ);
|
||||
|
||||
if(b.getMaterial() == Material.wood || b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) {
|
||||
state = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int hitY = (int) Math.floor(cY);
|
||||
int hitX0 = (int) Math.floor(cX - 0.5);
|
||||
int hitZ0 = (int) Math.floor(cZ - 0.5);
|
||||
int hitX1 = (int) Math.floor(cX + 0.5);
|
||||
int hitZ1 = (int) Math.floor(cZ + 0.5);
|
||||
|
||||
this.tryInteract(hitX0, hitY, hitZ0);
|
||||
this.tryInteract(hitX1, hitY, hitZ0);
|
||||
this.tryInteract(hitX0, hitY, hitZ1);
|
||||
this.tryInteract(hitX1, hitY, hitZ1);
|
||||
|
||||
if(state == 1) {
|
||||
this.rotationPitch += 2;
|
||||
|
||||
if(this.rotationPitch > 80) {
|
||||
this.rotationPitch = 80;
|
||||
state = 2;
|
||||
}
|
||||
}
|
||||
|
||||
if(state == 2) {
|
||||
this.rotationPitch -= 2;
|
||||
|
||||
if(this.rotationPitch <= 0) {
|
||||
this.rotationPitch = 0;
|
||||
state = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setBoolean("isOn", isOn);
|
||||
data.setFloat("yaw", this.rotationYaw);
|
||||
data.setFloat("pitch", this.rotationPitch);
|
||||
tank.writeToNBT(data, "t");
|
||||
INBTPacketReceiver.networkPack(this, data, 100);
|
||||
} else {
|
||||
|
||||
this.lastSpin = this.spin;
|
||||
|
||||
if(isOn) {
|
||||
this.spin += 15F;
|
||||
|
||||
Vec3 vec = Vec3.createVectorHelper(0.625, 0, 1.625);
|
||||
vec.rotateAroundY(-(float) Math.toRadians(rotationYaw));
|
||||
|
||||
worldObj.spawnParticle("smoke", xCoord + 0.5 + vec.xCoord, yCoord + 2.0625, zCoord + 0.5 + vec.zCoord, 0, 0, 0);
|
||||
}
|
||||
|
||||
if(this.spin >= 360F) {
|
||||
this.spin -= 360F;
|
||||
this.lastSpin -= 360F;
|
||||
}
|
||||
|
||||
this.prevRotationYaw = this.rotationYaw;
|
||||
this.prevRotationPitch = this.rotationPitch;
|
||||
|
||||
if(this.turnProgress > 0) {
|
||||
double d0 = MathHelper.wrapAngleTo180_double(this.syncYaw - (double) this.rotationYaw);
|
||||
double d1 = MathHelper.wrapAngleTo180_double(this.syncPitch - (double) this.rotationPitch);
|
||||
this.rotationYaw = (float) ((double) this.rotationYaw + d0 / (double) this.turnProgress);
|
||||
this.rotationPitch = (float) ((double) this.rotationPitch + d1 / (double) this.turnProgress);
|
||||
--this.turnProgress;
|
||||
} else {
|
||||
this.rotationYaw = this.syncYaw;
|
||||
this.rotationPitch = this.syncPitch;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void tryInteract(int x, int y, int z) {
|
||||
|
||||
Block b = worldObj.getBlock(x, y, z);
|
||||
|
||||
if(b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) {
|
||||
worldObj.func_147480_a(x, y, z, true);
|
||||
return;
|
||||
}
|
||||
|
||||
if(b.getMaterial() == Material.wood) {
|
||||
fellTree(x, y, z);
|
||||
if(state == 1) {
|
||||
state = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void fellTree(int x, int y, int z) {
|
||||
|
||||
if(worldObj.getBlock(x, y - 1, z).getMaterial() == Material.wood) {
|
||||
y--;
|
||||
if(worldObj.getBlock(x, y - 2, z).getMaterial() == Material.wood) {
|
||||
y--;
|
||||
}
|
||||
}
|
||||
|
||||
int meta = -1;
|
||||
|
||||
for(int i = y; i < y + 10; i++) {
|
||||
|
||||
int[][] dir = new int[][] {{0, 0}, {1, 0}, {-1, 0}, {0, 1}, {0, -1}};
|
||||
|
||||
for(int[] d : dir) {
|
||||
Block b = worldObj.getBlock(x + d[0], i, z + d[1]);
|
||||
|
||||
if(b.getMaterial() == Material.wood) {
|
||||
worldObj.func_147480_a(x + d[0], i, z + d[1], true);
|
||||
} else if(b instanceof BlockLeaves) {
|
||||
meta = worldObj.getBlockMetadata(x + d[0], i, z + d[1]) & 3;
|
||||
worldObj.func_147480_a(x + d[0], i, z + d[1], true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(meta >= 0) {
|
||||
if(Blocks.sapling.canPlaceBlockAt(worldObj, x, y, z)) {
|
||||
worldObj.setBlock(x, y, z, Blocks.sapling, meta, 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void networkUnpack(NBTTagCompound nbt) {
|
||||
this.isOn = nbt.getBoolean("isOn");
|
||||
this.syncYaw = nbt.getFloat("yaw");
|
||||
this.syncPitch = nbt.getFloat("pitch");
|
||||
this.turnProgress = 3; //use 3-ply for extra smoothness
|
||||
this.tank.readFromNBT(nbt, "t");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
this.isOn = nbt.getBoolean("isOn");
|
||||
this.rotationYaw = nbt.getFloat("yaw");
|
||||
this.rotationPitch = nbt.getFloat("pitch");
|
||||
this.state = nbt.getInteger("state");
|
||||
this.tank.readFromNBT(nbt, "t");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setBoolean("isOn", this.isOn);
|
||||
nbt.setFloat("yaw", this.rotationYaw);
|
||||
nbt.setFloat("pitch", this.rotationPitch);
|
||||
nbt.setInteger("state", this.state);
|
||||
tank.writeToNBT(nbt, "t");
|
||||
}
|
||||
|
||||
@Override
|
||||
public FluidTank[] getAllTanks() {
|
||||
return new FluidTank[] {tank};
|
||||
}
|
||||
|
||||
@Override
|
||||
public FluidTank[] getReceivingTanks() {
|
||||
return new FluidTank[] {tank};
|
||||
}
|
||||
|
||||
AxisAlignedBB bb = null;
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
|
||||
if(bb == null) {
|
||||
bb = AxisAlignedBB.getBoundingBox(
|
||||
xCoord - 12,
|
||||
yCoord,
|
||||
zCoord - 12,
|
||||
xCoord + 13,
|
||||
yCoord + 10,
|
||||
zCoord + 13
|
||||
);
|
||||
}
|
||||
|
||||
return bb;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared() {
|
||||
return 65536.0D;
|
||||
}
|
||||
}
|
||||
@ -141,12 +141,12 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements
|
||||
protected int heatFromBlock(int x, int y, int z) {
|
||||
Block b = worldObj.getBlock(x, y, z);
|
||||
|
||||
if(b == Blocks.lava || b == Blocks.flowing_lava) return 200;
|
||||
if(b == ModBlocks.volcanic_lava_block) return 800;
|
||||
if(b == Blocks.lava || b == Blocks.flowing_lava) return 25;
|
||||
if(b == ModBlocks.volcanic_lava_block) return 500;
|
||||
|
||||
if(b == ModBlocks.ore_volcano) {
|
||||
this.fissureScanTime = worldObj.getTotalWorldTime();
|
||||
return 2_000;
|
||||
return 1_000;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -161,7 +161,7 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements
|
||||
}
|
||||
|
||||
if(fissure) {
|
||||
heat *= 5;
|
||||
heat *= 3;
|
||||
}
|
||||
|
||||
return heat;
|
||||
@ -187,14 +187,14 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements
|
||||
private DirPos[] getConPos() {
|
||||
|
||||
return new DirPos[] {
|
||||
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),
|
||||
new DirPos(xCoord + 1, yCoord + 11, zCoord, Library.POS_X),
|
||||
new DirPos(xCoord - 1, yCoord + 11, zCoord, Library.NEG_X),
|
||||
new DirPos(xCoord, yCoord + 11, zCoord + 1, Library.POS_Z),
|
||||
new DirPos(xCoord, yCoord + 11, zCoord - 1, Library.NEG_Z)
|
||||
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 + 2, yCoord + 11, zCoord, Library.POS_X),
|
||||
new DirPos(xCoord - 2, yCoord + 11, zCoord, Library.NEG_X),
|
||||
new DirPos(xCoord, yCoord + 11, zCoord + 2, Library.POS_Z),
|
||||
new DirPos(xCoord, yCoord + 11, zCoord - 2, Library.NEG_Z)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -1043,7 +1043,7 @@ item.balefire_scrambled.name=Rühr-Balefire-Ei
|
||||
item.ball_dynamite.name=Dynamit
|
||||
item.ball_fireclay.name=Schamott
|
||||
item.ball_tnt.name=TNT
|
||||
item.ballistitc_gauntlet.name=Ballistischer Panzerhandschuh
|
||||
item.ballistic_gauntlet.name=Ballistischer Panzerhandschuh
|
||||
item.ballistite.name=Ballistit
|
||||
item.bandaid.name=Samtenes Pflaster
|
||||
item.bathwater.name=Toxisches Seifenwasser
|
||||
@ -1945,6 +1945,7 @@ item.ingot_beryllium.name=Berylliumbarren
|
||||
item.ingot_bismuth.name=Bismutbarren
|
||||
item.ingot_boron.name=Borbarren
|
||||
item.ingot_c4.name=C4-Tafel
|
||||
item.ingot_calcium.name=Kalziumbarren
|
||||
item.ingot_chainsteel.name=Schwerer Kettenstahl
|
||||
item.ingot_co60.name=Kobalt-60-Barren
|
||||
item.ingot_cobalt.name=Kobaltbarren
|
||||
@ -2406,6 +2407,16 @@ item.ore.niobium=Niob
|
||||
item.ore.titanium=Titan
|
||||
item.ore.tungsten=Wolfram
|
||||
item.ore_bedrock.name=Bedrock-%serz
|
||||
item.ore_byproduct.b_aluminium.name=Kristallines Aluminiumfragment
|
||||
item.ore_byproduct.b_bismuth.name=Kristallines Bismutfragment
|
||||
item.ore_byproduct.b_calcium.name=Kristallines Kalziumfragment
|
||||
item.ore_byproduct.b_copper.name=Kristallines Kupferfragment
|
||||
item.ore_byproduct.b_iron.name=Kristallines Eisenfragment
|
||||
item.ore_byproduct.b_lead.name=Kristallines Bleifragment
|
||||
item.ore_byproduct.b_lithium.name=Kristallines Lithiumfragment
|
||||
item.ore_byproduct.b_silicon.name=Kristallines Siliziumfragment
|
||||
item.ore_byproduct.b_sulfur.name=Kristallines Schwefelfragment
|
||||
item.ore_byproduct.b_titanium.name=Kristallines Titanfragment
|
||||
item.ore_centrifuged.name=Zentrifugiertes %serz
|
||||
item.ore_cleaned.name=Gereinigtes %serz
|
||||
item.ore_deepcleaned.name=Tiefengereinigtes %serz
|
||||
@ -2540,11 +2551,13 @@ item.powder_australium.name=Australiumstaub
|
||||
item.powder_bakelite.name=Bakelitstaub
|
||||
item.powder_balefire.name=Thermonukleare Asche
|
||||
item.powder_beryllium.name=Berylliumstaub
|
||||
item.powder_bismuth.name=Bismutstaub
|
||||
item.powder_borax.name=Borax
|
||||
item.powder_boron.name=Borstaub
|
||||
item.powder_boron_tiny.name=Kleiner Haufen Borstaub
|
||||
item.powder_bromine.name=Bromstaub
|
||||
item.powder_caesium.name=Caesiumstaub
|
||||
item.powder_calcium.name=Kalziumstaub
|
||||
item.powder_cerium.name=Cerstaub
|
||||
item.powder_cerium_tiny.name=Kleiner Haufen Cerstaub
|
||||
item.powder_chlorophyte.name=Grünalgenstaub
|
||||
@ -3747,6 +3760,7 @@ tile.machine_armor_table.name=Rüstungsmodifikationstisch
|
||||
tile.machine_assembler.name=Fertigungsmaschine
|
||||
tile.machine_assemfac.name=Fertigungsfabrik
|
||||
tile.machine_autocrafter.name=Automatische Werkbank
|
||||
tile.machine_autosaw.name=Automatische Kreissäge
|
||||
tile.machine_bat9000.name=Big-Ass Tank 9000
|
||||
tile.machine_battery.name=Energiespeicherblock
|
||||
tile.machine_battery_potato.name=Kartoffelbatterieblock
|
||||
@ -3796,7 +3810,8 @@ tile.machine_fracking_tower.name=Hydraulischer Frackingturm
|
||||
tile.machine_fraction_tower.name=Fraktionierungsturm
|
||||
tile.machine_gascent.name=Gaszentrifuge
|
||||
tile.machine_generator.name=Atomreaktor (Alt)
|
||||
tile.machine_geo.name=Gepthermiegenerator
|
||||
tile.machine_geo.name=Geothermiegenerator
|
||||
tile.machine_hephaestus.name=Geothermischer Wärmetauscher
|
||||
tile.machine_industrial_generator.name=Industrieller Generator
|
||||
tile.machine_keyforge.name=Schlossertisch
|
||||
tile.machine_large_turbine.name=Industrielle Dampfturbine
|
||||
@ -3970,6 +3985,7 @@ tile.ore_unobtainium.name=Glimmerblende
|
||||
tile.ore_uranium.name=Uranerz
|
||||
tile.ore_uranium_scorched.name=Verschmortes Uranerz
|
||||
tile.ore_verticium.name=Dollargrünes Mineral
|
||||
tile.ore_volcano.name=Thermale Fissur
|
||||
tile.ore_weidanium.name=Weidit
|
||||
tile.pink_barrel.name=Kerosinfass
|
||||
tile.pink_log.name=Pinkes Holz
|
||||
|
||||
@ -1653,7 +1653,7 @@ item.balefire_scrambled.name=Scrambled Balefire Egg
|
||||
item.ball_dynamite.name=Dynamite
|
||||
item.ball_fireclay.name=Fireclay
|
||||
item.ball_tnt.name=TNT
|
||||
item.ballistitc_gauntlet.name=Ballistic Gauntlet
|
||||
item.ballistic_gauntlet.name=Ballistic Gauntlet
|
||||
item.ballistite.name=Ballistite
|
||||
item.bandaid.name=Velvet Band-Aid
|
||||
item.bathwater.name=Toxic Soapy Water
|
||||
@ -2620,6 +2620,7 @@ item.ingot_beryllium.name=Beryllium Ingot
|
||||
item.ingot_bismuth.name=Bismuth Ingot
|
||||
item.ingot_boron.name=Boron Ingot
|
||||
item.ingot_c4.name=Bar of Composition C-4
|
||||
item.ingot_calcium.name=Calcium Ingot
|
||||
item.ingot_chainsteel.name=Heavy Chainsteel
|
||||
item.ingot_co60.name=Cobalt-60 Ingot
|
||||
item.ingot_cobalt.name=Cobalt Ingot
|
||||
@ -3114,6 +3115,16 @@ item.ore.niobium=Niobium
|
||||
item.ore.titanium=Titanium
|
||||
item.ore.tungsten=Tungsten
|
||||
item.ore_bedrock.name=%s Bedrock Ore
|
||||
item.ore_byproduct.b_aluminium.name=Crystalline Aluminium Fragment
|
||||
item.ore_byproduct.b_bismuth.name=Crystalline Bismuth Fragment
|
||||
item.ore_byproduct.b_calcium.name=Crystalline Calcium Fragment
|
||||
item.ore_byproduct.b_copper.name=Crystalline Copper Fragment
|
||||
item.ore_byproduct.b_iron.name=Crystalline Iron Fragment
|
||||
item.ore_byproduct.b_lead.name=Crystalline Lead Fragment
|
||||
item.ore_byproduct.b_lithium.name=Crystalline Lithium Fragment
|
||||
item.ore_byproduct.b_silicon.name=Crystalline Silicon Fragment
|
||||
item.ore_byproduct.b_sulfur.name=Crystalline Sulfur Fragment
|
||||
item.ore_byproduct.b_titanium.name=Crystalline Titanium Fragment
|
||||
item.ore_centrifuged.name=Centrifuged %s Ore
|
||||
item.ore_cleaned.name=Cleaned %s Ore
|
||||
item.ore_deepcleaned.name=Deep Cleaned %s Ore
|
||||
@ -3294,11 +3305,13 @@ item.powder_australium.name=Australium Powder
|
||||
item.powder_bakelite.name=Bakelite Powder
|
||||
item.powder_balefire.name=Thermonuclear Ashes
|
||||
item.powder_beryllium.name=Beryllium Powder
|
||||
item.powder_bismuth.name=Bismuth Powder
|
||||
item.powder_borax.name=Borax
|
||||
item.powder_boron.name=Boron Powder
|
||||
item.powder_boron_tiny.name=Tiny Pile of Boron Powder
|
||||
item.powder_bromine.name=Bromine Powder
|
||||
item.powder_caesium.name=Caesium Powder
|
||||
item.powder_calcium.name=Calcium Powder
|
||||
item.powder_cerium.name=Cerium Powder
|
||||
item.powder_cerium_tiny.name=Tiny Pile of Cerium Powder
|
||||
item.powder_chlorophyte.name=Chlorophyte Powder
|
||||
@ -4591,6 +4604,7 @@ tile.machine_armor_table.name=Armor Modification Table
|
||||
tile.machine_assembler.name=Assembly Machine
|
||||
tile.machine_assemfac.name=Assembly Factory
|
||||
tile.machine_autocrafter.name=Automatic Crafting Table
|
||||
tile.machine_autosaw.name=Automatic Buzz Saw
|
||||
tile.machine_bat9000.name=Big-Ass Tank 9000
|
||||
tile.machine_battery.name=Energy Storage Block
|
||||
tile.machine_battery_potato.name=Potato Battery Block
|
||||
@ -4641,6 +4655,7 @@ tile.machine_fracking_tower.name=Hydraulic Fracking Tower
|
||||
tile.machine_gascent.name=Gas Centrifuge
|
||||
tile.machine_generator.name=Nuclear Reactor (Old)
|
||||
tile.machine_geo.name=Geothermal Electric Generator
|
||||
tile.machine_hephaestus.name=Geothermal Heat Exchanger
|
||||
tile.machine_industrial_generator.name=Industrial Generator
|
||||
tile.machine_keyforge.name=Locksmith Table
|
||||
tile.machine_large_turbine.name=Industrial Steam Turbine
|
||||
@ -4817,6 +4832,7 @@ tile.ore_unobtainium.name=Brightblende Ore
|
||||
tile.ore_uranium.name=Uranium Ore
|
||||
tile.ore_uranium_scorched.name=Scorched Uranium Ore
|
||||
tile.ore_verticium.name=Dollar Green Mineral
|
||||
tile.ore_volcano.name=Geothermal Vent
|
||||
tile.ore_weidanium.name=Weidite
|
||||
tile.pink_barrel.name=Kerosene Barrel
|
||||
tile.pink_log.name=Pink Log
|
||||
|
||||
1476
src/main/resources/assets/hbm/models/machines/autosaw.obj
Normal file
1476
src/main/resources/assets/hbm/models/machines/autosaw.obj
Normal file
File diff suppressed because it is too large
Load Diff
BIN
src/main/resources/assets/hbm/textures/items/powder_bismuth.png
Normal file
BIN
src/main/resources/assets/hbm/textures/items/powder_bismuth.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 498 B |
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
Loading…
x
Reference in New Issue
Block a user