diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 704304771..15339b386 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -579,7 +579,7 @@ public class ModBlocks { public static Block seal_hatch; public static Block cargo_elevator; - + public static Block vault_door; public static Block blast_door; public static Block sliding_blast_door; @@ -596,6 +596,7 @@ public class ModBlocks { public static Block round_airlock_door; public static Block sliding_seal_door; public static Block water_door; + public static Block cargo_door; public static Block door_metal; public static Block door_office; @@ -2018,7 +2019,7 @@ public class ModBlocks { seal_hatch = new BlockHatch(Material.iron).setBlockName("seal_hatch").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":seal_hatch_3"); cargo_elevator = new BlockCargoElevator().setBlockName("cargo_elevator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - + vault_door = new BlockDoorGeneric(Material.iron, DoorDecl.VAULT_DOOR).setBlockName("vault_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete"); blast_door = new BlastDoor(Material.iron).setBlockName("blast_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":blast_door"); @@ -2034,6 +2035,7 @@ public class ModBlocks { round_airlock_door = new BlockDoorGeneric(Material.iron, DoorDecl.ROUND_AIRLOCK_DOOR).setBlockName("round_airlock_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); sliding_seal_door = new BlockDoorGeneric(Material.iron, DoorDecl.SLIDING_SEAL_DOOR).setBlockName("sliding_seal_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); water_door = new BlockDoorGeneric(Material.iron, DoorDecl.WATER_DOOR).setBlockName("water_door").setHardness(5.0F).setResistance(50.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + cargo_door = new BlockDoorGeneric(Material.iron, DoorDecl.CARGO_DOOR).setBlockName("cargo_door").setHardness(5.0F).setResistance(50.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); door_metal = new BlockModDoor(Material.iron).setBlockName("door_metal").setHardness(5.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":door_metal"); door_office = new BlockModDoor(Material.iron).setBlockName("door_office").setHardness(10.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":door_office"); @@ -2941,7 +2943,7 @@ public class ModBlocks { //Hooh GameRegistry.registerBlock(cargo_elevator, cargo_elevator.getUnlocalizedName()); - + //Vault Door GameRegistry.registerBlock(vault_door, vault_door.getUnlocalizedName()); GameRegistry.registerBlock(blast_door, blast_door.getUnlocalizedName()); @@ -2963,6 +2965,7 @@ public class ModBlocks { GameRegistry.registerBlock(round_airlock_door, round_airlock_door.getUnlocalizedName()); GameRegistry.registerBlock(sliding_seal_door, sliding_seal_door.getUnlocalizedName()); GameRegistry.registerBlock(water_door, water_door.getUnlocalizedName()); + GameRegistry.registerBlock(cargo_door, cargo_door.getUnlocalizedName()); //Crates register(crate_iron, ItemBlockStorageCrate.class); diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java index 9f32fcfe3..043a24446 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java @@ -58,7 +58,7 @@ public class AssemblyMachineRecipes extends GenericRecipes { @Override public void registerDefaults() { boolean no528 = !GeneralConfig.enable528; - + // plates and ingots String autoPlate = "autoswitch.plates"; this.register(new GenericRecipe("ass.plateiron").setup(60, 100).outputItems(new ItemStack(ModItems.plate_iron, 1)).inputItems(new OreDictStack(IRON.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this)); @@ -74,7 +74,7 @@ public class AssemblyMachineRecipes extends GenericRecipes { this.register(new GenericRecipe("ass.plateweaponsteel").setup(60, 100).outputItems(new ItemStack(ModItems.plate_weaponsteel, 1)).inputItems(new OreDictStack(WEAPONSTEEL.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this)); this.register(new GenericRecipe("ass.platesaturnite").setup(60, 100).outputItems(new ItemStack(ModItems.plate_saturnite, 1)).inputItems(new OreDictStack(BIGMT.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this)); this.register(new GenericRecipe("ass.platedura").setup(60, 100).outputItems(new ItemStack(ModItems.plate_dura_steel, 1)).inputItems(new OreDictStack(DURA.ingot())).setPools(GenericRecipes.POOL_PREFIX_ALT + "plates").setGroup(autoPlate, this)); - + this.register(new GenericRecipe("ass.platemixed").setup(50, 100).outputItems(new ItemStack(ModItems.plate_mixed, 4)) .inputItems(new OreDictStack(CU.plate(), 2), new ComparableStack(ModItems.neutron_reflector, 1), new OreDictStack(BIGMT.plate(), 1))); this.register(new GenericRecipe("ass.dalekanium").setup(200, 100).outputItems(new ItemStack(ModItems.plate_dalekanium, 1)) @@ -118,7 +118,7 @@ public class AssemblyMachineRecipes extends GenericRecipes { .inputItems(new OreDictStack(ASBESTOS.ingot(), 1), new ComparableStack(Items.string, 8))); this.register(new GenericRecipe("ass.filtercoal").setup(50, 100).outputItems(new ItemStack(ModItems.filter_coal, 1)) .inputItems(new OreDictStack(COAL.dust(), 4), new ComparableStack(Items.string, 2), new ComparableStack(Items.paper, 1))); - + // crafting parts if(!GeneralConfig.enable528) { // precass otherwise this.register(new GenericRecipe("ass.chip").setup(50, 250).outputItems(DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP)) @@ -218,7 +218,8 @@ public class AssemblyMachineRecipes extends GenericRecipes { .inputItems(new OreDictStack(STEEL.plateWelded(), 4), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 2), new OreDictStack(STEEL.bolt(), 16), new OreDictStack(KEY_GREEN, 4))); this.register(new GenericRecipe("ass.silohatchlarge").setup(300, 100).outputItems(new ItemStack(ModBlocks.silo_hatch_large, 1)) .inputItems(new OreDictStack(STEEL.plateWelded(), 6), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.motor, 2), new OreDictStack(STEEL.bolt(), 16), new OreDictStack(KEY_GREEN, 8))); - + this.register(new GenericRecipe("ass.cargodoor").setup(200, 100).outputItems(new ItemStack(ModBlocks.cargo_door, 1)) + .inputItems(new ComparableStack(ModBlocks.steel_beam, 32), new OreDictStack(STEEL.plate(), 4), new OreDictStack(DURA.bolt(), 4), new ComparableStack(ModItems.motor, 2), new OreDictStack(KEY_GRAY, 1))); // decoration this.register(new GenericRecipe("ass.capnuka").setup(10, 100).outputItems(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.NUKA)) .inputItems(new ComparableStack(ModItems.cap_nuka, 64), new ComparableStack(ModItems.cap_nuka, 64))); @@ -545,7 +546,7 @@ public class AssemblyMachineRecipes extends GenericRecipes { this.register(new GenericRecipe("ass.pwrneutronsource").setup(200, 500).outputItems(new ItemStack(ModBlocks.pwr_neutron_source, 1)) .inputItems(new OreDictStack(ZR.plateWelded(), 1), new ComparableStack(ModItems.billet_ra226be, 3)) .inputItemsEx(new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.LEAD_PLATING), new OreDictStack(ZR.plateWelded(), 1), new ComparableStack(ModItems.billet_ra226be, 3))); - + // fusion reactor this.register(new GenericRecipe("ass.fusioncore").setup(600, 100).outputItems(new ItemStack(ModBlocks.struct_torus_core, 1)) .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 8), new OreDictStack(ANY_HARDPLASTIC.ingot(), 32), new ComparableStack(ModItems.circuit, 8, EnumCircuitType.BISMOID)) @@ -587,7 +588,7 @@ public class AssemblyMachineRecipes extends GenericRecipes { .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 8), new OreDictStack(BSCCO.wireDense(), 32), new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 16), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID)) .inputItemsEx(new ComparableStack(ModItems.item_expensive, 16, EnumExpensiveType.FERRO_PLATING), new ComparableStack(ModItems.item_expensive, 16, EnumExpensiveType.PLASTIC), new OreDictStack(BSCCO.wireDense(), 32), new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.COMPUTER)) .setPools528(GenericRecipes.POOL_PREFIX_528 + "chlorophyte")); - + // watz this.register(new GenericRecipe("ass.watzrod").setup(200, 100).outputItems(new ItemStack(ModBlocks.watz_element, 3)) .inputItems(new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(ZR.ingot(), 2), new OreDictStack(BIGMT.ingot(), 2), new OreDictStack(ANY_HARDPLASTIC.ingot(), 4)) diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 16ea81e66..6f6726082 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -362,13 +362,15 @@ public class ResourceManager { public static final ResourceLocation pheo_label_106 = new ResourceLocation(RefStrings.MODID, "textures/models/pheodoors/vault/label_106.png"); public static final ResourceLocation pheo_label_111 = new ResourceLocation(RefStrings.MODID, "textures/models/pheodoors/vault/label_111.png"); public static IModelCustomNamed pheo_vault_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/pheodoors/vault_door.obj")).asVBO(); + public static IModelCustomNamed pheo_cargo_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/pheodoors/cargo_door.obj")).asVBO(); + public static final ResourceLocation pheo_cargo_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pheodoors/cargo_door.png"); //Doors public static final ResourceLocation silo_hatch_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/silo_hatch.png"); public static IModelCustomNamed silo_hatch = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/silo_hatch.obj")).asVBO(); public static final ResourceLocation silo_hatch_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/silo_hatch_large.png"); public static IModelCustomNamed silo_hatch_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/silo_hatch_large.obj")).asVBO(); - + //Vending Machine public static final IModelCustom vending_machine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/vending_machine.obj")).noSmooth().asVBO(); @@ -782,7 +784,7 @@ public class ResourceManager { //Elevator public static final ResourceLocation cargo_elevator_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/elevator.png"); - + //Vault Door public static final ResourceLocation vault_cog_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault_cog.png"); public static final ResourceLocation vault_frame_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault_frame.png"); @@ -857,7 +859,7 @@ public class ResourceManager { //Pipes public static final ResourceLocation pipe_anchor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/pipe_anchor.png"); public static final ResourceLocation fluid_pump_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/fluid_diode.png"); - + //Barrels public static ResourceLocation barrel_plastic_tex = new ResourceLocation(RefStrings.MODID, "textures/blocks/barrel_plastic.png"); public static ResourceLocation barrel_steel_tex = new ResourceLocation(RefStrings.MODID, "textures/blocks/barrel_steel.png"); diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibraryDoors.java b/src/main/java/com/hbm/render/item/ItemRenderLibraryDoors.java index cbb097cd7..e4fb22b3f 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibraryDoors.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibraryDoors.java @@ -33,7 +33,7 @@ public class ItemRenderLibraryDoors { ResourceLocation doorTex = ResourceManager.pheo_vault_door_3; ResourceLocation labelTex = ResourceManager.pheo_label_101; - + switch(index) { case 1: labelTex = ResourceManager.pheo_label_87; break; case 2: labelTex = ResourceManager.pheo_label_106; break; @@ -42,14 +42,14 @@ public class ItemRenderLibraryDoors { case 5: doorTex = ResourceManager.pheo_vault_door_s; labelTex = ResourceManager.pheo_label_2; break; case 6: doorTex = ResourceManager.pheo_vault_door_s; labelTex = ResourceManager.pheo_label_99; break; } - + bindTexture(doorTex); ResourceManager.pheo_vault_door.renderPart("Door"); bindTexture(labelTex); ResourceManager.pheo_vault_door.renderPart("Label"); } }); - + ItemRenderLibrary.renderers.put(Item.getItemFromBlock(ModBlocks.secure_access_door), new ItemRenderBase(){ public void renderInventory() { GL11.glTranslated(0, -3.75, 0); @@ -63,7 +63,7 @@ public class ItemRenderLibraryDoors { GL11.glShadeModel(GL11.GL_FLAT); } }); - + ItemRenderLibrary.renderers.put(Item.getItemFromBlock(ModBlocks.fire_door), new ItemRenderBase(){ public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -77,7 +77,7 @@ public class ItemRenderLibraryDoors { GL11.glShadeModel(GL11.GL_FLAT); } }); - + ItemRenderLibrary.renderers.put(Item.getItemFromBlock(ModBlocks.sliding_blast_door), new ItemRenderBase(){ public void renderInventory() { GL11.glTranslated(0, -2.75, 0); @@ -104,7 +104,7 @@ public class ItemRenderLibraryDoors { GL11.glShadeModel(GL11.GL_FLAT); } }); - + ItemRenderLibrary.renderers.put(Item.getItemFromBlock(ModBlocks.water_door), new ItemRenderBase(){ public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -118,7 +118,7 @@ public class ItemRenderLibraryDoors { GL11.glShadeModel(GL11.GL_FLAT); } }); - + ItemRenderLibrary.renderers.put(Item.getItemFromBlock(ModBlocks.silo_hatch), new ItemRenderBase(){ public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -137,7 +137,7 @@ public class ItemRenderLibraryDoors { GL11.glShadeModel(GL11.GL_FLAT); } }); - + ItemRenderLibrary.renderers.put(Item.getItemFromBlock(ModBlocks.silo_hatch_large), new ItemRenderBase(){ public void renderInventory() { GL11.glTranslated(0, -2, 0); @@ -157,7 +157,7 @@ public class ItemRenderLibraryDoors { GL11.glShadeModel(GL11.GL_FLAT); } }); - + ItemRenderLibrary.renderers.put(Item.getItemFromBlock(ModBlocks.qe_containment), new ItemRenderBase(){ public void renderInventory() { GL11.glTranslated(0, -3.5, 0); @@ -170,7 +170,7 @@ public class ItemRenderLibraryDoors { GL11.glShadeModel(GL11.GL_FLAT); } }); - + ItemRenderLibrary.renderers.put(Item.getItemFromBlock(ModBlocks.qe_sliding_door), new ItemRenderBase(){ public void renderInventory() { GL11.glTranslated(0, -3, 0); @@ -221,6 +221,22 @@ public class ItemRenderLibraryDoors { bindTexture(ResourceManager.blast_door_slider_tex); ResourceManager.blast_door_slider.renderAll(); bindTexture(ResourceManager.blast_door_block_tex); ResourceManager.blast_door_block.renderAll(); }}); + ItemRenderLibrary.renderers.put(Item.getItemFromBlock(ModBlocks.cargo_door), new ItemRenderBase(){ + public void renderInventory() { + GL11.glTranslated(0, -4, 0); + GL11.glScaled(4, 4, 4); + } + public void renderCommon() { + bindTexture(ResourceManager.pheo_cargo_door_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glScaled(0.9, 0.9, 0.9); + GL11.glTranslated(0, 0.3, 0); + ResourceManager.pheo_cargo_door.renderPart("Frame"); + ResourceManager.pheo_cargo_door.renderPart("DoorTop"); + ResourceManager.pheo_cargo_door.renderPart("DoorBot"); + GL11.glShadeModel(GL11.GL_FLAT); + } + }); } private static void bindTexture(ResourceLocation res) { diff --git a/src/main/java/com/hbm/render/tileentity/door/RenderCargoDoor.java b/src/main/java/com/hbm/render/tileentity/door/RenderCargoDoor.java new file mode 100644 index 000000000..dfc25ec6e --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/door/RenderCargoDoor.java @@ -0,0 +1,55 @@ +package com.hbm.render.tileentity.door; + +import java.nio.DoubleBuffer; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; +import com.hbm.tileentity.DoorDecl; +import com.hbm.tileentity.TileEntityDoorGeneric; + +import net.minecraft.client.Minecraft; +import net.minecraft.util.MathHelper; + +public class RenderCargoDoor implements IRenderDoors { + + public static final RenderCargoDoor INSTANCE = new RenderCargoDoor(); + + @Override + public void render(TileEntityDoorGeneric door, DoubleBuffer buf) { + + Minecraft.getMinecraft().getTextureManager().bindTexture(DoorDecl.CARGO_DOOR.getSkinFromIndex(door.getSkinIndex())); + + double botMove = 0; + double topMove = 0; + + if (door.state == door.STATE_OPEN) { + botMove = 2.0; + topMove = 1.0; + } + + if (door.currentAnimation != null) { + double botProgress = MathHelper.clamp_double(IRenderDoors.getRelevantTransformation("BOT", door.currentAnimation)[1], 0, 1); + double topProgress = MathHelper.clamp_double(IRenderDoors.getRelevantTransformation("TOP", door.currentAnimation)[1], 0, 1); + botMove = botProgress * 2.0; + topMove = topProgress * 1.0; + } + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0, 0); + + ResourceManager.pheo_cargo_door.renderPart("Frame"); + + GL11.glPushMatrix(); + GL11.glTranslated(0, topMove, 0); + ResourceManager.pheo_cargo_door.renderPart("DoorTop"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, botMove, 0); + ResourceManager.pheo_cargo_door.renderPart("DoorBot"); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/tileentity/DoorDecl.java b/src/main/java/com/hbm/tileentity/DoorDecl.java index 606fa5e54..e9b62b3fb 100644 --- a/src/main/java/com/hbm/tileentity/DoorDecl.java +++ b/src/main/java/com/hbm/tileentity/DoorDecl.java @@ -641,6 +641,56 @@ public abstract class DoorDecl { }; + public static final DoorDecl CARGO_DOOR = new DoorDecl() { + + @Override public String getCloseSoundLoop() { return "hbm:door.garage_move"; } + @Override public String getCloseSoundEnd() { return "hbm:door.garage_stop"; } + @Override public String getOpenSoundEnd() { return "hbm:door.garage_stop"; } + @Override public String getOpenSoundLoop() { return "hbm:door.garage_move"; } + @Override public float getSoundVolume() { return 2; } + + @Override + public IRenderDoors getSEDNARenderer() { + return RenderCargoDoor.INSTANCE; + } + + @Override + public BusAnimation getBusAnimation(byte state, byte skinIndex) { + int half = this.timeToOpen() * 25; + if(state == TileEntityDoorGeneric.STATE_OPENING) return new BusAnimation() + .addBus("BOT", new BusAnimationSequence().setPos(0, 0, 0).addPos(0, 1, 0, half * 2)) + .addBus("TOP", new BusAnimationSequence().setPos(0, 0, 0).addPos(0, 0, 0, half).addPos(0, 1, 0, half)); + if(state == TileEntityDoorGeneric.STATE_CLOSING) return new BusAnimation() + .addBus("BOT", new BusAnimationSequence().setPos(0, 1, 0).addPos(0, 0, 0, half * 2)) + .addBus("TOP", new BusAnimationSequence().setPos(0, 1, 0).addPos(0, 1, 0, half).addPos(0, 0, 0, half)); + return null; + } + + @Override public int timeToOpen() { return 120; } + + @Override public int[][] getDoorOpenRanges() { return new int[][] { { -1, -1, 0, 3, 3, 1 } }; } + @Override public int[] getDimensions() { return new int[] { 2, 0, 0, 0, 1, 1 }; } + + @Override + public AxisAlignedBB getBlockBound(int x, int y, int z, boolean open, boolean forCollision) { + if(!open) return AxisAlignedBB.getBoundingBox(0, 0, 0.375, 1, 1, 0.625); + if(y > 1) return AxisAlignedBB.getBoundingBox(0, 0.25, 0.375, 1, 1, 0.625); + else if(y == 0) return AxisAlignedBB.getBoundingBox(0, 0, 0.375, 1, forCollision ? 0 : 0.125, 0.625); + return super.getBlockBound(x, y, z, open, forCollision); + } + + public ResourceLocation[] skins; + + @Override + public ResourceLocation[] getSEDNASkins() { + if(skins == null) skins = new ResourceLocation[] { + ResourceManager.pheo_cargo_door_tex + }; + return skins; + } + + @Override public int getSkinCount() { return 1; } + }; // TODO: bash drillgon to death for making this method like that, and for fucking up the documentation, like genuinely what the fuck is this /** Format: x, y, z, tangent amount 1 (how long the door would be if it moved up), tangent amount 2 (door places blocks in this direction), axis (0-x, diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 7c164eab5..1a30570d7 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -5207,6 +5207,7 @@ tile.capacitor_niobium.name=Niobium Capacitor (LEGACY) tile.capacitor_schrabidate.name=Schrabidate Capacitor (LEGACY) tile.capacitor_tantalium.name=Tantalum Capacitor (LEGACY) tile.capacitor.desc=Input: Top$Output: Bottom, via Capacitor Bus +tile.cargo_door.name=Cargo Door tile.cargo_elevator.name=Cargo Elevator tile.charge_c4.name=Demolition Charge tile.charge_dynamite.name=Time Bomb diff --git a/src/main/resources/assets/hbm/models/pheodoors/cargo_door.obj b/src/main/resources/assets/hbm/models/pheodoors/cargo_door.obj new file mode 100644 index 000000000..734593a9c --- /dev/null +++ b/src/main/resources/assets/hbm/models/pheodoors/cargo_door.obj @@ -0,0 +1,408 @@ +# Blender 5.1.2 +# www.blender.org + +# Made By TheVitya2127 + +o DoorBot +v 0.125000 1.562500 1.500000 +v 0.125000 1.562500 1.375000 +v 0.125000 0.062500 1.500000 +v 0.125000 0.062500 1.375000 +v 0.000000 1.562500 1.500000 +v 0.000000 1.562500 1.375000 +v 0.000000 0.062500 1.500000 +v 0.000000 0.062500 1.375000 +v 0.125000 1.562500 -1.375000 +v 0.125000 1.562500 -1.500000 +v 0.125000 0.062500 -1.375000 +v 0.125000 0.062500 -1.500000 +v 0.000000 1.562500 -1.375000 +v 0.000000 1.562500 -1.500000 +v 0.000000 0.062500 -1.375000 +v 0.000000 0.062500 -1.500000 +v 0.125000 1.562500 1.375000 +v 0.125000 1.562500 -1.375000 +v 0.125000 1.437500 1.375000 +v 0.125000 1.437500 -1.375000 +v 0.000000 1.562500 1.375000 +v 0.000000 1.562500 -1.375000 +v 0.000000 1.437500 1.375000 +v 0.000000 1.437500 -1.375000 +v 0.125000 0.187500 1.375000 +v 0.125000 0.187500 -1.375000 +v 0.125000 0.062500 1.375000 +v 0.125000 0.062500 -1.375000 +v 0.000000 0.187500 1.375000 +v 0.000000 0.187500 -1.375000 +v 0.000000 0.062500 1.375000 +v 0.000000 0.062500 -1.375000 +v 0.062500 0.187500 1.375000 +v 0.062500 0.187500 -1.375000 +v 0.062500 1.437500 1.375000 +v 0.062500 1.437500 -1.375000 +v 0.062500 0.187500 1.375000 +v 0.062500 0.187500 -1.375000 +v 0.062500 1.437500 1.375000 +v 0.062500 1.437500 -1.375000 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.923077 0.970588 +vt 0.884615 0.970588 +vt 0.884615 0.617647 +vt 0.923077 0.617647 +vt 0.923077 1.000000 +vt 0.884615 1.000000 +vt 0.923077 0.588235 +vt 0.884615 0.588235 +vt 0.038462 0.617647 +vt 0.038462 0.588235 +vt 0.884615 0.941176 +vt 0.038462 0.941176 +vt 0.038462 0.911765 +vt 0.884615 0.911765 +vt 0.038462 0.970588 +s 1 +usemtl m_ff3b3a90-0979-83d1-ee3c-810de9dcd956 +f 2/1/1 1/2/1 3/3/1 +f 2/1/1 3/3/1 4/4/1 +f 7/4/2 5/1/2 6/2/2 +f 7/4/2 6/2/2 8/3/2 +f 5/2/3 1/1/3 2/5/3 +f 5/2/3 2/5/3 6/6/3 +f 4/7/4 3/4/4 7/3/4 +f 4/7/4 7/3/4 8/8/4 +f 3/4/5 1/1/5 5/2/5 +f 3/4/5 5/2/5 7/3/5 +f 6/1/6 2/2/6 4/3/6 +f 6/1/6 4/3/6 8/4/6 +f 10/1/1 9/2/1 11/3/1 +f 10/1/1 11/3/1 12/4/1 +f 15/4/2 13/1/2 14/2/2 +f 15/4/2 14/2/2 16/3/2 +f 13/2/3 9/1/3 10/5/3 +f 13/2/3 10/5/3 14/6/3 +f 12/7/4 11/4/4 15/3/4 +f 12/7/4 15/3/4 16/8/4 +f 11/4/5 9/1/5 13/2/5 +f 11/4/5 13/2/5 15/3/5 +f 14/1/6 10/2/6 12/3/6 +f 14/1/6 12/3/6 16/4/6 +f 18/3/1 17/9/1 19/10/1 +f 18/3/1 19/10/1 20/8/1 +f 23/8/2 21/3/2 22/9/2 +f 23/8/2 22/9/2 24/10/2 +f 21/8/3 17/3/3 18/9/3 +f 21/8/3 18/9/3 22/10/3 +f 20/3/4 19/9/4 23/10/4 +f 20/3/4 23/10/4 24/8/4 +f 26/11/1 25/12/1 27/13/1 +f 26/11/1 27/13/1 28/14/1 +f 31/12/2 29/13/2 30/14/2 +f 31/12/2 30/14/2 32/11/2 +f 29/15/3 25/12/3 26/11/3 +f 29/15/3 26/11/3 30/2/3 +f 28/2/4 27/15/4 31/12/4 +f 28/2/4 31/12/4 32/11/4 +f 36/14/2 34/3/2 33/9/2 +f 36/14/2 33/9/2 35/13/2 +f 37/9/1 38/3/1 40/14/1 +f 37/9/1 40/14/1 39/13/1 +o DoorTop +v 0.000000 2.937500 1.375000 +v 0.000000 2.937500 -1.375000 +v 0.000000 2.812500 1.375000 +v 0.000000 2.812500 -1.375000 +v -0.125000 2.937500 1.375000 +v -0.125000 2.937500 -1.375000 +v -0.125000 2.812500 1.375000 +v -0.125000 2.812500 -1.375000 +v 0.000000 1.562500 1.375000 +v 0.000000 1.562500 -1.375000 +v 0.000000 1.437500 1.375000 +v 0.000000 1.437500 -1.375000 +v -0.125000 1.562500 1.375000 +v -0.125000 1.562500 -1.375000 +v -0.125000 1.437500 1.375000 +v -0.125000 1.437500 -1.375000 +v 0.000000 2.937500 1.500000 +v 0.000000 2.937500 1.375000 +v 0.000000 1.437500 1.500000 +v 0.000000 1.437500 1.375000 +v -0.125000 2.937500 1.500000 +v -0.125000 2.937500 1.375000 +v -0.125000 1.437500 1.500000 +v -0.125000 1.437500 1.375000 +v 0.000000 2.937500 -1.375000 +v 0.000000 2.937500 -1.500000 +v 0.000000 1.437500 -1.375000 +v 0.000000 1.437500 -1.500000 +v -0.125000 2.937500 -1.375000 +v -0.125000 2.937500 -1.500000 +v -0.125000 1.437500 -1.375000 +v -0.125000 1.437500 -1.500000 +v -0.062500 1.562500 1.375000 +v -0.062500 1.562500 -1.375000 +v -0.062500 2.812500 1.375000 +v -0.062500 2.812500 -1.375000 +v -0.062500 1.562500 1.375000 +v -0.062500 1.562500 -1.375000 +v -0.062500 2.812500 1.375000 +v -0.062500 2.812500 -1.375000 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.884615 0.617647 +vt 0.038462 0.617647 +vt 0.038462 0.588235 +vt 0.884615 0.588235 +vt 0.884615 0.970588 +vt 0.038462 0.970588 +vt 0.038462 0.941176 +vt 0.884615 0.941176 +vt 0.038462 0.911765 +vt 0.884615 0.911765 +vt 0.923077 0.970588 +vt 0.923077 0.617647 +vt 0.923077 1.000000 +vt 0.884615 1.000000 +vt 0.923077 0.588235 +s 1 +usemtl m_ff3b3a90-0979-83d1-ee3c-810de9dcd956 +f 42/16/7 41/17/7 43/18/7 +f 42/16/7 43/18/7 44/19/7 +f 47/19/8 45/16/8 46/17/8 +f 47/19/8 46/17/8 48/18/8 +f 45/19/9 41/16/9 42/17/9 +f 45/19/9 42/17/9 46/18/9 +f 44/16/10 43/17/10 47/18/10 +f 44/16/10 47/18/10 48/19/10 +f 50/20/7 49/21/7 51/22/7 +f 50/20/7 51/22/7 52/23/7 +f 55/21/8 53/22/8 54/23/8 +f 55/21/8 54/23/8 56/20/8 +f 53/22/9 49/24/9 50/25/9 +f 53/22/9 50/25/9 54/23/9 +f 52/23/10 51/22/10 55/24/10 +f 52/23/10 55/24/10 56/25/10 +f 58/26/7 57/20/7 59/16/7 +f 58/26/7 59/16/7 60/27/7 +f 63/27/8 61/26/8 62/20/8 +f 63/27/8 62/20/8 64/16/8 +f 61/20/9 57/26/9 58/28/9 +f 61/20/9 58/28/9 62/29/9 +f 60/30/10 59/27/10 63/16/10 +f 60/30/10 63/16/10 64/19/10 +f 59/27/11 57/26/11 61/20/11 +f 59/27/11 61/20/11 63/16/11 +f 62/26/12 58/20/12 60/16/12 +f 62/26/12 60/16/12 64/27/12 +f 66/26/7 65/20/7 67/16/7 +f 66/26/7 67/16/7 68/27/7 +f 71/27/8 69/26/8 70/20/8 +f 71/27/8 70/20/8 72/16/8 +f 69/20/9 65/26/9 66/28/9 +f 69/20/9 66/28/9 70/29/9 +f 68/30/10 67/27/10 71/16/10 +f 68/30/10 71/16/10 72/19/10 +f 67/27/11 65/26/11 69/20/11 +f 67/27/11 69/20/11 71/16/11 +f 70/26/12 66/20/12 68/16/12 +f 70/26/12 68/16/12 72/27/12 +f 76/25/8 74/16/8 73/17/8 +f 76/25/8 73/17/8 75/24/8 +f 77/17/7 78/16/7 80/25/7 +f 77/17/7 80/25/7 79/24/7 +o Frame +v 0.312500 3.000000 -1.437500 +v 0.312500 3.000000 -1.500000 +v 0.250000 2.937500 -1.437500 +v 0.250000 2.937500 -1.500000 +v 0.125000 3.000000 -1.437500 +v 0.125000 3.000000 -1.500000 +v 0.125000 2.937500 -1.437500 +v 0.125000 2.937500 -1.500000 +v -0.125000 3.000000 -1.437500 +v -0.125000 3.000000 -1.500000 +v -0.125000 2.937500 -1.437500 +v -0.125000 2.937500 -1.500000 +v -0.312500 3.000000 -1.437500 +v -0.312500 3.000000 -1.500000 +v -0.250000 2.937500 -1.437500 +v -0.250000 2.937500 -1.500000 +v 0.312500 3.000000 1.437500 +v 0.312500 3.000000 -1.437500 +v 0.250000 2.937500 1.437500 +v 0.250000 2.937500 -1.437500 +v -0.312500 3.000000 1.437500 +v -0.312500 3.000000 -1.437500 +v -0.250000 2.937500 1.437500 +v -0.250000 2.937500 -1.437500 +v 0.312500 3.000000 1.500000 +v 0.312500 3.000000 1.437500 +v 0.250000 2.937500 1.500000 +v 0.250000 2.937500 1.437500 +v 0.125000 3.000000 1.500000 +v 0.125000 3.000000 1.437500 +v 0.125000 2.937500 1.500000 +v 0.125000 2.937500 1.437500 +v -0.125000 3.000000 1.500000 +v -0.125000 3.000000 1.437500 +v -0.125000 2.937500 1.500000 +v -0.125000 2.937500 1.437500 +v -0.312500 3.000000 1.500000 +v -0.312500 3.000000 1.437500 +v -0.250000 2.937500 1.500000 +v -0.250000 2.937500 1.437500 +v 0.250000 0.062500 1.500000 +v 0.250000 0.062500 -1.500000 +v 0.312500 0.000000 1.500000 +v 0.312500 -0.000000 -1.500000 +v -0.250000 0.062500 1.500000 +v -0.250000 0.062500 -1.500000 +v -0.312500 0.000000 1.500000 +v -0.312500 -0.000000 -1.500000 +vn 0.7071 -0.7071 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn -0.7071 0.7071 -0.0000 +vt 0.942308 0.279412 +vt 0.923077 0.279412 +vt 0.923077 0.264706 +vt 0.942308 0.264706 +vt 1.000000 0.264706 +vt 1.000000 0.279412 +vt 0.980769 0.279412 +vt 0.980769 0.264706 +vt 0.942308 0.250000 +vt 0.923077 0.235294 +vt 0.980769 0.235294 +vt 0.980769 0.250000 +vt 0.980769 0.294118 +vt 0.923077 0.294118 +vt 0.942308 0.220588 +vt 0.923077 0.220588 +vt 0.923077 0.205882 +vt 0.942308 0.205882 +vt 1.000000 0.205882 +vt 1.000000 0.220588 +vt 0.980769 0.220588 +vt 0.980769 0.205882 +vt 0.942308 0.191176 +vt 0.942308 0.176471 +vt 1.000000 0.176471 +vt 0.980769 0.191176 +vt 1.000000 0.235294 +vt 0.942308 0.235294 +vt 0.903846 0.147059 +vt 0.019231 0.147059 +vt 0.019231 0.132353 +vt 0.903846 0.132353 +vt 0.019231 0.014706 +vt 0.019231 0.000000 +vt 0.903846 0.000000 +vt 0.903846 0.014706 +vt 0.019231 0.294118 +vt 0.903846 0.294118 +vt 0.000000 0.161765 +vt 0.000000 0.279412 +vt 0.923077 0.161765 +vt 0.942308 0.455882 +vt 0.019231 0.455882 +vt 0.019231 0.441176 +vt 0.942308 0.441176 +vt 0.019231 0.588235 +vt 0.019231 0.573529 +vt 0.942308 0.573529 +vt 0.942308 0.588235 +vt 0.942308 0.294118 +vt 0.000000 0.426471 +vt 0.000000 0.308824 +vt 0.961538 0.308824 +vt 0.961538 0.426471 +s 1 +usemtl m_ff3b3a90-0979-83d1-ee3c-810de9dcd956 +f 82/31/13 81/32/13 83/33/13 +f 82/31/13 83/33/13 84/34/13 +f 87/35/14 85/36/14 86/37/14 +f 87/35/14 86/37/14 88/38/14 +f 83/39/15 81/40/15 85/41/15 +f 83/39/15 85/41/15 87/42/15 +f 85/43/16 81/44/16 82/32/16 +f 85/43/16 82/32/16 86/37/16 +f 84/34/17 83/39/17 87/42/17 +f 84/34/17 87/42/17 88/38/17 +f 86/37/18 82/32/18 84/34/18 +f 86/37/18 84/34/18 88/38/18 +f 90/45/19 89/46/19 91/47/19 +f 90/45/19 91/47/19 92/48/19 +f 95/49/20 93/50/20 94/51/20 +f 95/49/20 94/51/20 96/52/20 +f 91/53/15 89/54/15 93/55/15 +f 91/53/15 93/55/15 95/56/15 +f 93/57/16 89/58/16 90/45/16 +f 93/57/16 90/45/16 94/50/16 +f 92/48/17 91/53/17 95/56/17 +f 92/48/17 95/56/17 96/52/17 +f 94/50/18 90/45/18 92/48/18 +f 94/50/18 92/48/18 96/52/18 +f 98/59/13 97/60/13 99/61/13 +f 98/59/13 99/61/13 100/62/13 +f 103/63/20 101/64/20 102/65/20 +f 103/63/20 102/65/20 104/66/20 +f 101/67/16 97/60/16 98/59/16 +f 101/67/16 98/59/16 102/68/16 +f 100/62/17 99/61/17 103/63/17 +f 100/62/17 103/63/17 104/66/17 +f 99/69/15 97/60/15 101/67/15 +f 99/69/15 101/67/15 103/70/15 +f 102/68/18 98/59/18 100/71/18 +f 102/68/18 100/71/18 104/32/18 +f 106/31/13 105/32/13 107/33/13 +f 106/31/13 107/33/13 108/34/13 +f 111/35/14 109/36/14 110/37/14 +f 111/35/14 110/37/14 112/38/14 +f 107/39/15 105/40/15 109/41/15 +f 107/39/15 109/41/15 111/42/15 +f 109/43/16 105/44/16 106/32/16 +f 109/43/16 106/32/16 110/37/16 +f 108/34/17 107/39/17 111/42/17 +f 108/34/17 111/42/17 112/38/17 +f 110/37/18 106/32/18 108/34/18 +f 110/37/18 108/34/18 112/38/18 +f 114/45/19 113/46/19 115/47/19 +f 114/45/19 115/47/19 116/48/19 +f 119/49/20 117/50/20 118/51/20 +f 119/49/20 118/51/20 120/52/20 +f 115/53/15 113/54/15 117/55/15 +f 115/53/15 117/55/15 119/56/15 +f 117/57/16 113/58/16 114/45/16 +f 117/57/16 114/45/16 118/50/16 +f 116/48/17 115/53/17 119/56/17 +f 116/48/17 119/56/17 120/52/17 +f 118/50/18 114/45/18 116/48/18 +f 118/50/18 116/48/18 120/52/18 +f 122/72/21 121/73/21 123/74/21 +f 122/72/21 123/74/21 124/75/21 +f 127/76/22 125/77/22 126/78/22 +f 127/76/22 126/78/22 128/79/22 +f 125/77/16 121/73/16 122/72/16 +f 125/77/16 122/72/16 126/78/16 +f 124/75/17 123/74/17 127/67/17 +f 124/75/17 127/67/17 128/80/17 +f 123/74/15 121/81/15 125/82/15 +f 123/74/15 125/82/15 127/67/15 +f 126/83/18 122/84/18 124/75/18 +f 126/83/18 124/75/18 128/80/18 diff --git a/src/main/resources/assets/hbm/textures/models/pheodoors/cargo_door.png b/src/main/resources/assets/hbm/textures/models/pheodoors/cargo_door.png new file mode 100644 index 000000000..141bcc969 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/pheodoors/cargo_door.png differ