From 7ae8693841f44671541637911c0ae446ef42086e Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Sat, 22 Mar 2025 19:10:06 +0100 Subject: [PATCH 01/15] Sunken Aircraft Carrier structure added. --- .../java/com/hbm/main/StructureManager.java | 4 ++-- .../com/hbm/world/gen/NTMWorldGenerator.java | 10 +++++++++- .../assets/hbm/structures/AircraftCarrier.nbt | Bin 0 -> 33262 bytes 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 src/main/resources/assets/hbm/structures/AircraftCarrier.nbt diff --git a/src/main/java/com/hbm/main/StructureManager.java b/src/main/java/com/hbm/main/StructureManager.java index eca4c4853..f34d7722f 100644 --- a/src/main/java/com/hbm/main/StructureManager.java +++ b/src/main/java/com/hbm/main/StructureManager.java @@ -56,10 +56,10 @@ public class StructureManager { public static final NBTStructure vertibird = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/vertibird.nbt")); public static final NBTStructure crashed_vertibird = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crashed-vertibird.nbt")); - + public static final NBTStructure aircraft = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/AircraftCarrier.nbt")); // public static final NBTStructure test_rot = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-rot.nbt")); // public static final NBTStructure test_jigsaw = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw.nbt")); // public static final NBTStructure test_jigsaw_core = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw-core.nbt")); // public static final NBTStructure test_jigsaw_hall = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw-hall.nbt")); -} \ No newline at end of file +} diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index 42ad900e4..b444188d2 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -36,6 +36,7 @@ public class NTMWorldGenerator implements IWorldGenerator { public NTMWorldGenerator() { final List invalidBiomes = Arrays.asList(new BiomeGenBase[] {BiomeGenBase.ocean, BiomeGenBase.river, BiomeGenBase.frozenOcean, BiomeGenBase.frozenRiver, BiomeGenBase.deepOcean}); + final List oceanBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.ocean, BiomeGenBase.deepOcean }); NBTStructure.registerStructure(0, new SpawnCondition() {{ canSpawn = biome -> !invalidBiomes.contains(biome); @@ -61,6 +62,13 @@ public class NTMWorldGenerator implements IWorldGenerator { spawnWeight = 3 * 4; }}); + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = oceanBiomes::contains; + structure = new JigsawPiece("aircraft", StructureManager.aircraft); + maxHeight = 46; + spawnWeight = 75 * 5; + }}); + Map bricks = new HashMap() {{ put(ModBlocks.meteor_brick, new MeteorBricks()); }}; @@ -201,4 +209,4 @@ public class NTMWorldGenerator implements IWorldGenerator { nbtGen.generateStructures(world, rand, chunkProvider, chunkX, chunkZ); } -} \ No newline at end of file +} diff --git a/src/main/resources/assets/hbm/structures/AircraftCarrier.nbt b/src/main/resources/assets/hbm/structures/AircraftCarrier.nbt new file mode 100644 index 0000000000000000000000000000000000000000..3902285e4d994d08f0f0ff4acbf6839a8d01e40e GIT binary patch literal 33262 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 JZ{pLB{s*wdFfIT9 literal 0 HcmV?d00001 From 8bb91eda3c4da3fd3dad8f01cd73d49593d77297 Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Sat, 22 Mar 2025 21:33:25 +0100 Subject: [PATCH 02/15] Oil Rig item pool --- .../java/com/hbm/itempool/ItemPoolsComponent.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/com/hbm/itempool/ItemPoolsComponent.java b/src/main/java/com/hbm/itempool/ItemPoolsComponent.java index 5fbd16c08..51e0ae85d 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsComponent.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsComponent.java @@ -3,6 +3,7 @@ package com.hbm.itempool; import static com.hbm.lib.HbmChestContents.weighted; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.material.Mats; import com.hbm.items.ItemEnums.EnumCokeType; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; @@ -23,6 +24,7 @@ public class ItemPoolsComponent { public static final String POOL_VAULT_LAB = "POOL_VAULT_LAB"; public static final String POOL_VAULT_LOCKERS = "POOL_VAULT_LOCKERS"; public static final String POOL_METEOR_SAFE = "POOL_METEOR_SAFE"; + public static final String POOL_OIL_RIG = "POOL_OIL_RIG"; public static void init() { @@ -197,5 +199,16 @@ public class ItemPoolsComponent { weighted(ModItems.stamp_book, 7, 1, 1, 1), }; }}; + + new ItemPool(POOL_OIL_RIG) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.oil_detector, 0, 1, 1, 1), + weighted(ModItems.canister_full, Fluids.OIL.getID(), 1, 4, 5), + weighted(ModBlocks.machine_fraction_tower,0, 0, 1, 1), + weighted(ModBlocks.fraction_spacer,0, 0, 1, 1), + weighted(ModItems.circuit,EnumCircuitType.ANALOG.ordinal(), 1, 4, 1), + weighted(ModItems.circuit, EnumCircuitType.CAPACITOR.ordinal(), 1, 1, 3), + }; + }}; } } From e318c830236c7e794770cc963e39fa6c46d6d0f2 Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Sun, 23 Mar 2025 00:47:32 +0100 Subject: [PATCH 03/15] =?UTF-8?q?Yes=20i've=20planted=20the=20oil=20rig=20?= =?UTF-8?q?malware=20bob=20=F0=9F=91=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/hbm/main/StructureManager.java | 3 ++- .../com/hbm/world/gen/NTMWorldGenerator.java | 11 +++++++++-- .../assets/hbm/structures/AircraftCarrier.nbt | Bin 33262 -> 0 bytes .../assets/hbm/structures/aircraft_carrier.nbt | Bin 0 -> 28330 bytes 4 files changed, 11 insertions(+), 3 deletions(-) delete mode 100644 src/main/resources/assets/hbm/structures/AircraftCarrier.nbt create mode 100644 src/main/resources/assets/hbm/structures/aircraft_carrier.nbt diff --git a/src/main/java/com/hbm/main/StructureManager.java b/src/main/java/com/hbm/main/StructureManager.java index f34d7722f..a895048d1 100644 --- a/src/main/java/com/hbm/main/StructureManager.java +++ b/src/main/java/com/hbm/main/StructureManager.java @@ -56,7 +56,8 @@ public class StructureManager { public static final NBTStructure vertibird = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/vertibird.nbt")); public static final NBTStructure crashed_vertibird = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crashed-vertibird.nbt")); - public static final NBTStructure aircraft = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/AircraftCarrier.nbt")); + public static final NBTStructure aircraft_carrier = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/aircraft_carrier.nbt")); +// public static final NBTStructure oilrig = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/oilrig.nbt")); // public static final NBTStructure test_rot = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-rot.nbt")); // public static final NBTStructure test_jigsaw = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw.nbt")); // public static final NBTStructure test_jigsaw_core = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw-core.nbt")); diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index b444188d2..da4a7e8fd 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -64,11 +64,18 @@ public class NTMWorldGenerator implements IWorldGenerator { NBTStructure.registerStructure(0, new SpawnCondition() {{ canSpawn = oceanBiomes::contains; - structure = new JigsawPiece("aircraft", StructureManager.aircraft); + structure = new JigsawPiece("aircraft_carrier", StructureManager.aircraft_carrier); maxHeight = 46; - spawnWeight = 75 * 5; + spawnWeight = 1; }}); +// NBTStructure.registerStructure(0, new SpawnCondition() {{ +// canSpawn = oceanBiomes::contains; +// structure = new JigsawPiece("oilrig", StructureManager.oilrig); +// maxHeight = 56; +// spawnWeight = 5 * 5; +// }}); + Map bricks = new HashMap() {{ put(ModBlocks.meteor_brick, new MeteorBricks()); }}; diff --git a/src/main/resources/assets/hbm/structures/AircraftCarrier.nbt b/src/main/resources/assets/hbm/structures/AircraftCarrier.nbt deleted file mode 100644 index 3902285e4d994d08f0f0ff4acbf6839a8d01e40e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33262 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 JZ{pLB{s*wdFfIT9 diff --git a/src/main/resources/assets/hbm/structures/aircraft_carrier.nbt b/src/main/resources/assets/hbm/structures/aircraft_carrier.nbt new file mode 100644 index 0000000000000000000000000000000000000000..bd7071830c79bf5170c7a3ec934fe06daa5d6c04 GIT binary patch literal 28330 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 Date: Sun, 23 Mar 2025 13:27:38 +0100 Subject: [PATCH 04/15] Added oil rig. Made all structures rarer (via null spawn weight) --- .../java/com/hbm/main/StructureManager.java | 2 +- .../com/hbm/world/gen/NTMWorldGenerator.java | 17 +++++++++++------ .../hbm/structures/aircraft_carrier.nbt | Bin 28330 -> 28938 bytes .../assets/hbm/structures/oil_rig.nbt | Bin 0 -> 26724 bytes 4 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 src/main/resources/assets/hbm/structures/oil_rig.nbt diff --git a/src/main/java/com/hbm/main/StructureManager.java b/src/main/java/com/hbm/main/StructureManager.java index a895048d1..0961156f7 100644 --- a/src/main/java/com/hbm/main/StructureManager.java +++ b/src/main/java/com/hbm/main/StructureManager.java @@ -57,7 +57,7 @@ public class StructureManager { public static final NBTStructure vertibird = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/vertibird.nbt")); public static final NBTStructure crashed_vertibird = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crashed-vertibird.nbt")); public static final NBTStructure aircraft_carrier = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/aircraft_carrier.nbt")); -// public static final NBTStructure oilrig = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/oilrig.nbt")); + public static final NBTStructure oil_rig = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/oil_rig.nbt")); // public static final NBTStructure test_rot = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-rot.nbt")); // public static final NBTStructure test_jigsaw = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw.nbt")); // public static final NBTStructure test_jigsaw_core = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw-core.nbt")); diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index da4a7e8fd..015fcdc66 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -69,12 +69,17 @@ public class NTMWorldGenerator implements IWorldGenerator { spawnWeight = 1; }}); -// NBTStructure.registerStructure(0, new SpawnCondition() {{ -// canSpawn = oceanBiomes::contains; -// structure = new JigsawPiece("oilrig", StructureManager.oilrig); -// maxHeight = 56; -// spawnWeight = 5 * 5; -// }}); + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = oceanBiomes::contains; + structure = new JigsawPiece("oil_rig", StructureManager.oil_rig); + maxHeight = 48; + spawnWeight = 2; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = oceanBiomes::contains; + spawnWeight = 8; + }}); Map bricks = new HashMap() {{ put(ModBlocks.meteor_brick, new MeteorBricks()); diff --git a/src/main/resources/assets/hbm/structures/aircraft_carrier.nbt b/src/main/resources/assets/hbm/structures/aircraft_carrier.nbt index bd7071830c79bf5170c7a3ec934fe06daa5d6c04..5fb37d4bf83116fbe086b958130add216d24b3e4 100644 GIT binary patch literal 28938 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 br}`v>>z(xrm&G?OujTEzl=i2*(3<}NSX$mL literal 28330 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 literal 0 HcmV?d00001 From 7d642f155cd80fc95496a47cbca62e7ae16037d4 Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Sun, 23 Mar 2025 16:17:16 +0100 Subject: [PATCH 05/15] Fixed retardation code Oilrig building upgraded and made it spawn always on the same Y --- .../com/hbm/world/gen/NTMWorldGenerator.java | 8 +++----- .../assets/hbm/structures/oil_rig.nbt | Bin 26724 -> 28468 bytes 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index 015fcdc66..4fc082b95 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -73,13 +73,11 @@ public class NTMWorldGenerator implements IWorldGenerator { canSpawn = oceanBiomes::contains; structure = new JigsawPiece("oil_rig", StructureManager.oil_rig); maxHeight = 48; - spawnWeight = 2; + minHeight = 47; + spawnWeight = 4; }}); - NBTStructure.registerStructure(0, new SpawnCondition() {{ - canSpawn = oceanBiomes::contains; - spawnWeight = 8; - }}); + NBTStructure.registerNullWeight(0, 12); Map bricks = new HashMap() {{ put(ModBlocks.meteor_brick, new MeteorBricks()); diff --git a/src/main/resources/assets/hbm/structures/oil_rig.nbt b/src/main/resources/assets/hbm/structures/oil_rig.nbt index 449d4f10cc546ee9449586608946df8ae4dbddae..6540893a477c76424add14785acad44466f9355c 100644 GIT binary patch literal 28468 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 literal 26724 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 From 9806d53b45c431abaca1f1a21e1ecea02cc0a723 Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Sun, 23 Mar 2025 16:25:36 +0100 Subject: [PATCH 06/15] forgorred to commit ts --- src/main/java/com/hbm/main/StructureManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/hbm/main/StructureManager.java b/src/main/java/com/hbm/main/StructureManager.java index 0961156f7..7ca8d62e1 100644 --- a/src/main/java/com/hbm/main/StructureManager.java +++ b/src/main/java/com/hbm/main/StructureManager.java @@ -58,6 +58,7 @@ public class StructureManager { public static final NBTStructure crashed_vertibird = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crashed-vertibird.nbt")); public static final NBTStructure aircraft_carrier = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/aircraft_carrier.nbt")); public static final NBTStructure oil_rig = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/oil_rig.nbt")); + // public static final NBTStructure test_rot = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-rot.nbt")); // public static final NBTStructure test_jigsaw = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw.nbt")); // public static final NBTStructure test_jigsaw_core = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw-core.nbt")); From 6ceba52f95d73648c17dda0d4d857c34dc8c28bb Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Sun, 23 Mar 2025 18:12:26 +0100 Subject: [PATCH 07/15] Added beached patrol boat --- src/main/java/com/hbm/main/StructureManager.java | 1 + .../com/hbm/world/gen/NTMWorldGenerator.java | 11 ++++++++++- .../assets/hbm/structures/beached_patrol.nbt | Bin 0 -> 9554 bytes 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/assets/hbm/structures/beached_patrol.nbt diff --git a/src/main/java/com/hbm/main/StructureManager.java b/src/main/java/com/hbm/main/StructureManager.java index 7ca8d62e1..8387ce48c 100644 --- a/src/main/java/com/hbm/main/StructureManager.java +++ b/src/main/java/com/hbm/main/StructureManager.java @@ -58,6 +58,7 @@ public class StructureManager { public static final NBTStructure crashed_vertibird = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crashed-vertibird.nbt")); public static final NBTStructure aircraft_carrier = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/aircraft_carrier.nbt")); public static final NBTStructure oil_rig = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/oil_rig.nbt")); + public static final NBTStructure beached_patrol = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/beached_patrol.nbt")); // public static final NBTStructure test_rot = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-rot.nbt")); // public static final NBTStructure test_jigsaw = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw.nbt")); diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index 4fc082b95..9d8f1d5dc 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -37,6 +37,8 @@ public class NTMWorldGenerator implements IWorldGenerator { public NTMWorldGenerator() { final List invalidBiomes = Arrays.asList(new BiomeGenBase[] {BiomeGenBase.ocean, BiomeGenBase.river, BiomeGenBase.frozenOcean, BiomeGenBase.frozenRiver, BiomeGenBase.deepOcean}); final List oceanBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.ocean, BiomeGenBase.deepOcean }); + final List beachBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.beach, BiomeGenBase.stoneBeach, BiomeGenBase.coldBeach }); + NBTStructure.registerStructure(0, new SpawnCondition() {{ canSpawn = biome -> !invalidBiomes.contains(biome); @@ -74,7 +76,14 @@ public class NTMWorldGenerator implements IWorldGenerator { structure = new JigsawPiece("oil_rig", StructureManager.oil_rig); maxHeight = 48; minHeight = 47; - spawnWeight = 4; + spawnWeight = 3; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = beachBiomes::contains; + structure = new JigsawPiece("beached_patrol", StructureManager.beached_patrol); + spawnWeight = 8; + maxHeight = 65; }}); NBTStructure.registerNullWeight(0, 12); diff --git a/src/main/resources/assets/hbm/structures/beached_patrol.nbt b/src/main/resources/assets/hbm/structures/beached_patrol.nbt new file mode 100644 index 0000000000000000000000000000000000000000..45e6face82b6979d5605860b194e580c5019626d GIT binary patch literal 9554 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 F{{VP{^Tz-H literal 0 HcmV?d00001 From 7731b4c1e808747581f791e03caf09817d884044 Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Mon, 24 Mar 2025 17:39:11 +0100 Subject: [PATCH 08/15] Fixed boat deleting blocks under it or sum --- .../com/hbm/world/gen/NTMWorldGenerator.java | 9 +++++---- .../assets/hbm/structures/beached_patrol.nbt | Bin 9554 -> 7494 bytes 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index 9d8f1d5dc..200a429e9 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -72,21 +72,22 @@ public class NTMWorldGenerator implements IWorldGenerator { }}); NBTStructure.registerStructure(0, new SpawnCondition() {{ - canSpawn = oceanBiomes::contains; + canSpawn = biome -> biome == BiomeGenBase.deepOcean; structure = new JigsawPiece("oil_rig", StructureManager.oil_rig); maxHeight = 48; minHeight = 47; - spawnWeight = 3; + spawnWeight = 2; }}); NBTStructure.registerStructure(0, new SpawnCondition() {{ canSpawn = beachBiomes::contains; structure = new JigsawPiece("beached_patrol", StructureManager.beached_patrol); + minHeight = 63; + maxHeight = 67; spawnWeight = 8; - maxHeight = 65; }}); - NBTStructure.registerNullWeight(0, 12); + NBTStructure.registerNullWeight(0, 2); Map bricks = new HashMap() {{ put(ModBlocks.meteor_brick, new MeteorBricks()); diff --git a/src/main/resources/assets/hbm/structures/beached_patrol.nbt b/src/main/resources/assets/hbm/structures/beached_patrol.nbt index 45e6face82b6979d5605860b194e580c5019626d..417f3bd8e248b656870132267a4ac9daefb70009 100644 GIT binary patch literal 7494 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 literal 9554 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 F{{VP{^Tz-H From d625a9a9d928f9a6c67d7ed33e0272c578ae35e2 Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Mon, 24 Mar 2025 22:12:11 +0100 Subject: [PATCH 09/15] Fixed doors on oil rig, Fixed waterlogging on aircraft carrier Balanced loot on aircraft carrier Removed derrick from oil rig and made it a purely cosmetic build removed asphalt from carrier because it made you 100x faster in water, and flung you across half the ocean. --- .../com/hbm/world/gen/NTMWorldGenerator.java | 14 +++++++------- .../hbm/structures/aircraft_carrier.nbt | Bin 28938 -> 19741 bytes .../assets/hbm/structures/oil_rig.nbt | Bin 28468 -> 33652 bytes 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index 200a429e9..cd6480087 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -66,23 +66,23 @@ public class NTMWorldGenerator implements IWorldGenerator { NBTStructure.registerStructure(0, new SpawnCondition() {{ canSpawn = oceanBiomes::contains; - structure = new JigsawPiece("aircraft_carrier", StructureManager.aircraft_carrier); - maxHeight = 46; + structure = new JigsawPiece("aircraft_carrier", StructureManager.aircraft_carrier, -6); + maxHeight = 42; spawnWeight = 1; }}); NBTStructure.registerStructure(0, new SpawnCondition() {{ canSpawn = biome -> biome == BiomeGenBase.deepOcean; - structure = new JigsawPiece("oil_rig", StructureManager.oil_rig); - maxHeight = 48; - minHeight = 47; + structure = new JigsawPiece("oil_rig", StructureManager.oil_rig, -20); + maxHeight = 12; + minHeight = 11; spawnWeight = 2; }}); NBTStructure.registerStructure(0, new SpawnCondition() {{ canSpawn = beachBiomes::contains; - structure = new JigsawPiece("beached_patrol", StructureManager.beached_patrol); - minHeight = 63; + structure = new JigsawPiece("beached_patrol", StructureManager.beached_patrol, -5); + minHeight = 58; maxHeight = 67; spawnWeight = 8; }}); diff --git a/src/main/resources/assets/hbm/structures/aircraft_carrier.nbt b/src/main/resources/assets/hbm/structures/aircraft_carrier.nbt index 5fb37d4bf83116fbe086b958130add216d24b3e4..221919653bc3c39767858783ed6453eddeaa7c1a 100644 GIT binary patch literal 19741 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 Gn*RrF2rcWVY{^tmAgF{zcC7*x2C!u@ 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 br}`v>>z(xrm&G?OujTEzl=i2*(3<}NSX$mL diff --git a/src/main/resources/assets/hbm/structures/oil_rig.nbt b/src/main/resources/assets/hbm/structures/oil_rig.nbt index 6540893a477c76424add14785acad44466f9355c..841f65cde02c710ab76ab4e10eb2ea7290d0025a 100644 GIT binary patch literal 33652 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%0DBFzPb*M6*8_^4!oFNtegaxs$+Xf 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 From b90741f6403e18c5861e709c2940a0fbc903ad6d Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 25 Mar 2025 15:48:29 +0100 Subject: [PATCH 10/15] you've creeked your last flow, pardner --- README.md | 2 +- changelog | 15 +++-------- .../java/com/hbm/crafting/ToolRecipes.java | 13 ---------- .../inventory/recipes/AssemblerRecipes.java | 1 - src/main/java/com/hbm/items/ModItems.java | 13 ++++------ .../weapon/sedna/factory/XFactory75Bolt.java | 24 +++++++++++++++--- .../java/com/hbm/main/CraftingManager.java | 2 +- src/main/java/com/hbm/main/MainRegistry.java | 3 ++- .../java/com/hbm/main/ModEventHandler.java | 4 +-- .../textures/items/assembly_template_alt.png | Bin 242 -> 0 bytes .../assets/hbm/textures/items/ln2_1.png | Bin 142 -> 0 bytes .../assets/hbm/textures/items/ln2_10.png | Bin 334 -> 0 bytes .../assets/hbm/textures/items/ln2_2.png | Bin 152 -> 0 bytes .../assets/hbm/textures/items/ln2_3.png | Bin 239 -> 0 bytes .../assets/hbm/textures/items/ln2_4.png | Bin 237 -> 0 bytes .../assets/hbm/textures/items/ln2_5.png | Bin 259 -> 0 bytes .../assets/hbm/textures/items/ln2_6.png | Bin 356 -> 0 bytes .../assets/hbm/textures/items/ln2_7.png | Bin 404 -> 0 bytes .../assets/hbm/textures/items/ln2_8.png | Bin 409 -> 0 bytes .../assets/hbm/textures/items/ln2_9.png | Bin 399 -> 0 bytes .../hbm/textures/items/magnet_circular.png | Bin 240 -> 0 bytes .../assets/hbm/textures/items/magnet_dee.png | Bin 297 -> 0 bytes .../assets/hbm/textures/items/magnetron.png | Bin 285 -> 0 bytes .../hbm/textures/items/nugget_daffergon.png | Bin 194 -> 0 bytes .../hbm/textures/items/nugget_reiium.png | Bin 180 -> 0 bytes .../hbm/textures/items/nugget_u238m2.png | Bin 206 -> 0 bytes .../hbm/textures/items/nugget_unobtainium.png | Bin 178 -> 0 bytes .../hbm/textures/items/nugget_verticium.png | Bin 176 -> 0 bytes .../hbm/textures/items/nugget_weidanium.png | Bin 189 -> 0 bytes .../hbm/textures/items/pellets_canister.png | Bin 355 -> 0 bytes .../textures/items/pellets_chlorophyte.png | Bin 205 -> 0 bytes .../hbm/textures/items/pellets_claws.png | Bin 216 -> 0 bytes .../hbm/textures/items/pellets_flechette.png | Bin 257 -> 0 bytes .../assets/hbm/textures/items/pill_salt.png | Bin 318 -> 0 bytes .../assets/hbm/textures/items/pill_zinc.png | Bin 317 -> 0 bytes .../assets/hbm/textures/items/pipe_lead.png | Bin 493 -> 253 bytes .../assets/hbm/textures/items/pirfenidone.png | Bin 370 -> 0 bytes .../hbm/textures/items/powder_daffergon.png | Bin 307 -> 0 bytes .../hbm/textures/items/powder_reiium.png | Bin 334 -> 0 bytes .../hbm/textures/items/powder_unobtainium.png | Bin 357 -> 0 bytes .../hbm/textures/items/powder_verticium.png | Bin 340 -> 0 bytes .../hbm/textures/items/powder_weidanium.png | Bin 370 -> 0 bytes .../hbm/textures/items/ring_starmetal_alt.png | Bin 385 -> 0 bytes .../hbm/textures/items/singularity_2.png | Bin 753 -> 0 bytes .../hbm/textures/items/singularity_3.png | Bin 710 -> 0 bytes .../hbm/textures/items/singularity_micro.png | Bin 251 -> 0 bytes .../hbm/textures/items/singularity_spark.png | Bin 808 -> 0 bytes .../textures/items/singularity_special.png | Bin 812 -> 0 bytes 48 files changed, 35 insertions(+), 42 deletions(-) delete mode 100644 src/main/resources/assets/hbm/textures/items/assembly_template_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ln2_1.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ln2_10.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ln2_2.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ln2_3.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ln2_4.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ln2_5.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ln2_6.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ln2_7.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ln2_8.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ln2_9.png delete mode 100644 src/main/resources/assets/hbm/textures/items/magnet_circular.png delete mode 100644 src/main/resources/assets/hbm/textures/items/magnet_dee.png delete mode 100644 src/main/resources/assets/hbm/textures/items/magnetron.png delete mode 100644 src/main/resources/assets/hbm/textures/items/nugget_daffergon.png delete mode 100644 src/main/resources/assets/hbm/textures/items/nugget_reiium.png delete mode 100644 src/main/resources/assets/hbm/textures/items/nugget_u238m2.png delete mode 100644 src/main/resources/assets/hbm/textures/items/nugget_unobtainium.png delete mode 100644 src/main/resources/assets/hbm/textures/items/nugget_verticium.png delete mode 100644 src/main/resources/assets/hbm/textures/items/nugget_weidanium.png delete mode 100644 src/main/resources/assets/hbm/textures/items/pellets_canister.png delete mode 100644 src/main/resources/assets/hbm/textures/items/pellets_chlorophyte.png delete mode 100644 src/main/resources/assets/hbm/textures/items/pellets_claws.png delete mode 100644 src/main/resources/assets/hbm/textures/items/pellets_flechette.png delete mode 100644 src/main/resources/assets/hbm/textures/items/pill_salt.png delete mode 100644 src/main/resources/assets/hbm/textures/items/pill_zinc.png delete mode 100644 src/main/resources/assets/hbm/textures/items/pirfenidone.png delete mode 100644 src/main/resources/assets/hbm/textures/items/powder_daffergon.png delete mode 100644 src/main/resources/assets/hbm/textures/items/powder_reiium.png delete mode 100644 src/main/resources/assets/hbm/textures/items/powder_unobtainium.png delete mode 100644 src/main/resources/assets/hbm/textures/items/powder_verticium.png delete mode 100644 src/main/resources/assets/hbm/textures/items/powder_weidanium.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ring_starmetal_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/items/singularity_2.png delete mode 100644 src/main/resources/assets/hbm/textures/items/singularity_3.png delete mode 100644 src/main/resources/assets/hbm/textures/items/singularity_micro.png delete mode 100644 src/main/resources/assets/hbm/textures/items/singularity_spark.png delete mode 100644 src/main/resources/assets/hbm/textures/items/singularity_special.png diff --git a/README.md b/README.md index f86803200..db2e42f5b 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ * NTM Reloaded: https://github.com/TheOriginalGolem/Hbm-s-Nuclear-Tech-GIT/releases * NTM Extended Edition (Alcater): https://github.com/Alcatergit/Hbm-s-Nuclear-Tech-GIT/releases -* NTM WarFactory: https://github.com/MisterNorwood/Hbm-s-Nuclear-Tech-GIT/releases +* NTM Community Edition (WarFactory): https://codeberg.org/MrNorwood/Hbm-s-Nuclear-Tech-CE For 1.18, try Martin's remake: https://codeberg.org/MartinTheDragon/Nuclear-Tech-Mod-Remake/releases diff --git a/changelog b/changelog index a9ca40d00..299a12998 100644 --- a/changelog +++ b/changelog @@ -1,12 +1,5 @@ ## Changed -* The toolbox' functionality has been completely changed (thanks gamma) - * Instead of a crappy backpack substitute that doesn't work half the time, the toolbox can quickly swap out the hotbar when used -* Updated StG 77 recipe to use two grips and a proper scope -* Buffed the RPA set -* Tiered damage and durability weapon mods are now craftable -* Duct tape is now cheaper and less ugly - -## Fixed -* Fixed a bunch of singleblocks not accepting fluids (thanks mellow) -* Fixed fluid valves not properly disconnecting -* Fixed a dupe regarding the weapon mod table +* .75 bolts now work as advertised +* Updated lead pipe texture +* Removed recipes from a few ancient melee weapons, as well as the creative tab listing +* Removed flat magnets \ No newline at end of file diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 84c9df2a6..4399f08c3 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -108,11 +108,6 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.lead_gavel, 1), new Object[] { "PIP", "IGI", "PIP", 'P', ModItems.pellet_buckshot, 'I', PB.ingot(), 'G', ModItems.wood_gavel }); //Misc weapons - CraftingManager.addRecipeAuto(new ItemStack(ModItems.saw, 1), new Object[] { "IIL", "PP ", 'P', STEEL.plate(), 'I', STEEL.ingot(), 'L', Items.leather }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.bat, 1), new Object[] { "P", "P", "S", 'S', STEEL.plate(), 'P', KEY_PLANKS }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.bat_nail, 1), new Object[] { ModItems.bat, STEEL.plate() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.golf_club, 1), new Object[] { "IP", " P", " P", 'P', STEEL.plate(), 'I', STEEL.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipe_rusty, 1), new Object[] { "II", " I", " I", 'I', IRON.pipe() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipe_lead, 1), new Object[] { "II", " I", " I", 'I', PB.pipe() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ullapool_caber, 1), new Object[] { "ITI", " S ", " S ", 'I', IRON.plate(), 'T', Blocks.tnt, 'S', KEY_STICK }); @@ -197,14 +192,6 @@ public class ToolRecipes { addShovel( SA326.ingot(), ModItems.schrabidium_shovel); addHoe( SA326.ingot(), ModItems.schrabidium_hoe); } else { - /* - CraftingManager.addRecipeAuto(new ItemStack(ModItems.cobalt_decorated_sword, 1), new Object[] { " I ", " I ", "SBS", 'I', CO.ingot(), 'S', ModItems.ingot_meteorite_forged, 'B', ModItems.cobalt_sword }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.cobalt_decorated_pickaxe, 1), new Object[] { "III", " B ", " S ", 'I', CO.ingot(), 'S', ModItems.ingot_meteorite_forged, 'B', ModItems.cobalt_pickaxe }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.cobalt_decorated_axe, 1), new Object[] { "II", "IB", " S", 'I', CO.ingot(), 'S', ModItems.ingot_meteorite_forged, 'B', ModItems.cobalt_axe }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.cobalt_decorated_shovel, 1), new Object[] { "I", "B", "S", 'I', CO.ingot(), 'S', ModItems.ingot_meteorite_forged, 'B', ModItems.cobalt_shovel }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.cobalt_decorated_hoe, 1), new Object[] { "II", " B", " S", 'I', CO.ingot(), 'S', ModItems.ingot_meteorite_forged, 'B', ModItems.cobalt_hoe }); - - */ CraftingManager.addRecipeAuto(new ItemStack(ModItems.starmetal_sword, 1), new Object[] { " I ", " B ", "ISI", 'I', STAR.ingot(), 'S', ModItems.ring_starmetal, 'B', ModItems.cobalt_decorated_sword }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.starmetal_pickaxe, 1), new Object[] { "ISI", " B ", " I ", 'I', STAR.ingot(), 'S', ModItems.ring_starmetal, 'B', ModItems.cobalt_decorated_pickaxe }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.starmetal_axe, 1), new Object[] { "IS", "IB", " I", 'I', STAR.ingot(), 'S', ModItems.ring_starmetal, 'B', ModItems.cobalt_decorated_axe }); diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index c1949152a..e4e576ef2 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -74,7 +74,6 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.asbestos_cloth, 4), new AStack[] {new OreDictStack(ASBESTOS.ingot(), 2), new ComparableStack(Items.string, 6), new ComparableStack(Blocks.wool, 1), },50); makeRecipe(new ComparableStack(ModItems.filter_coal, 1), new AStack[] {new OreDictStack(COAL.dust(), 4), new ComparableStack(Items.string, 2), new ComparableStack(Items.paper, 1), },50); makeRecipe(new ComparableStack(ModItems.centrifuge_element, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 4), new OreDictStack(TI.plate528(), 4), new ComparableStack(ModItems.motor, 1), }, 100); - makeRecipe(new ComparableStack(ModItems.magnet_circular, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 5), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(ALLOY.plate(), 6), },150); makeRecipe(new ComparableStack(ModItems.reactor_core, 1), new AStack[] {new OreDictStack(PB.ingot(), 8), new OreDictStack(BE.ingot(), 6), new OreDictStack(STEEL.plate(), 16), new OreDictStack(OreDictManager.getReflector(), 8), new OreDictStack(FIBER.ingot(), 2) },100); makeRecipe(new ComparableStack(ModItems.rtg_unit, 1), new AStack[] {new ComparableStack(ModItems.thermo_element, 2), new OreDictStack(CU.plateCast(), 1), new OreDictStack(PB.ingot(), 2), new OreDictStack(STEEL.plate(), 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CAPACITOR.ordinal()), },100); makeRecipe(new ComparableStack(ModItems.levitation_unit, 1), new AStack[] {new ComparableStack(ModItems.coil_copper, 4), new ComparableStack(ModItems.coil_tungsten, 2), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.nugget_schrabidium, 2), },100); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 694b18910..b712e47a4 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -570,7 +570,6 @@ public class ModItems { public static Item coil_magnetized_tungsten; public static Item coil_gold; public static Item coil_gold_torus; - public static Item magnet_circular; public static Item component_limiter; public static Item component_emitter; public static Item chlorine_pinwheel; @@ -2747,7 +2746,6 @@ public class ModItems { coil_magnetized_tungsten = new Item().setUnlocalizedName("coil_magnetized_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_magnetized_tungsten"); coil_gold = new Item().setUnlocalizedName("coil_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_gold"); coil_gold_torus = new Item().setUnlocalizedName("coil_gold_torus").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_gold_torus"); - magnet_circular = new Item().setUnlocalizedName("magnet_circular").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":magnet_circular"); component_limiter = new Item().setUnlocalizedName("component_limiter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":component_limiter"); component_emitter = new Item().setUnlocalizedName("component_emitter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":component_emitter"); chlorine_pinwheel = new ItemInfiniteFluid(Fluids.CHLORINE, 1, 2).setUnlocalizedName("chlorine_pinwheel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chlorine_pinwheel"); @@ -4940,11 +4938,11 @@ public class ModItems { multitool_joule = new ItemMultitoolPassive().setUnlocalizedName("multitool_joule").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_fist"); multitool_decon = new ItemMultitoolPassive().setUnlocalizedName("multitool_decon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_fist"); - saw = new ModSword(MainRegistry.enumToolMaterialSaw).setUnlocalizedName("weapon_saw").setFull3D().setTextureName(RefStrings.MODID + ":saw"); - bat = new ModSword(MainRegistry.enumToolMaterialBat).setUnlocalizedName("weapon_bat").setFull3D().setTextureName(RefStrings.MODID + ":bat"); - bat_nail = new ModSword(MainRegistry.enumToolMaterialBatNail).setUnlocalizedName("weapon_bat_nail").setFull3D().setTextureName(RefStrings.MODID + ":bat_nail"); - golf_club = new ModSword(MainRegistry.enumToolMaterialGolfClub).setUnlocalizedName("weapon_golf_club").setFull3D().setTextureName(RefStrings.MODID + ":golf_club"); - pipe_rusty = new ModSword(MainRegistry.enumToolMaterialPipeRusty).setUnlocalizedName("weapon_pipe_rusty").setFull3D().setTextureName(RefStrings.MODID + ":pipe_rusty"); + saw = new ModSword(MainRegistry.enumToolMaterialSaw).setUnlocalizedName("weapon_saw").setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":saw"); + bat = new ModSword(MainRegistry.enumToolMaterialBat).setUnlocalizedName("weapon_bat").setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":bat"); + bat_nail = new ModSword(MainRegistry.enumToolMaterialBatNail).setUnlocalizedName("weapon_bat_nail").setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":bat_nail"); + golf_club = new ModSword(MainRegistry.enumToolMaterialGolfClub).setUnlocalizedName("weapon_golf_club").setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":golf_club"); + pipe_rusty = new ModSword(MainRegistry.enumToolMaterialPipeRusty).setUnlocalizedName("weapon_pipe_rusty").setCreativeTab(null).setFull3D().setTextureName(RefStrings.MODID + ":pipe_rusty"); pipe_lead = new ModSword(MainRegistry.enumToolMaterialPipeLead).setUnlocalizedName("weapon_pipe_lead").setFull3D().setTextureName(RefStrings.MODID + ":pipe_lead"); reer_graar = new ModSword(MainRegistry.tMatTitan).setUnlocalizedName("reer_graar").setFull3D().setTextureName(RefStrings.MODID + ":reer_graar_hd"); stopsign = new WeaponSpecial(MainRegistry.tMatAlloy).setUnlocalizedName("stopsign").setTextureName(RefStrings.MODID + ":stopsign"); @@ -5562,7 +5560,6 @@ public class ModItems { GameRegistry.registerItem(motor_desh, motor_desh.getUnlocalizedName()); GameRegistry.registerItem(motor_bismuth, motor_bismuth.getUnlocalizedName()); GameRegistry.registerItem(centrifuge_element, centrifuge_element.getUnlocalizedName()); - GameRegistry.registerItem(magnet_circular, magnet_circular.getUnlocalizedName()); GameRegistry.registerItem(reactor_core, reactor_core.getUnlocalizedName()); GameRegistry.registerItem(rtg_unit, rtg_unit.getUnlocalizedName()); GameRegistry.registerItem(levitation_unit, levitation_unit.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory75Bolt.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory75Bolt.java index 92d47c361..1638a2794 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory75Bolt.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory75Bolt.java @@ -3,6 +3,8 @@ package com.hbm.items.weapon.sedna.factory; import java.util.function.BiConsumer; import java.util.function.BiFunction; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.extprop.HbmLivingProps; import com.hbm.items.ModItems; import com.hbm.items.weapon.sedna.BulletConfig; import com.hbm.items.weapon.sedna.Crosshair; @@ -19,7 +21,9 @@ import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; public class XFactory75Bolt { @@ -27,15 +31,29 @@ public class XFactory75Bolt { public static BulletConfig b75_inc; public static BulletConfig b75_exp; + public static BiConsumer LAMBDA_TINY_EXPLODE = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + Lego.tinyExplode(bullet, mop, 2F); bullet.setDead(); + }; + public static BiConsumer LAMBDA_INC = (bullet, mop) -> { + if(mop.entityHit != null && mop.entityHit instanceof EntityLivingBase) { + HbmLivingProps data = HbmLivingProps.getData((EntityLivingBase) mop.entityHit); + if(data.phosphorus < 300) data.phosphorus = 300; + } + }; + public static BiConsumer LAMBDA_STANDARD_EXPLODE = (bullet, mop) -> { + Lego.standardExplode(bullet, mop, 5F); bullet.setDead(); + }; + public static void init() { SpentCasing casing75 = new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_BRASS).setScale(2F, 2F, 1.5F); b75 = new BulletConfig().setItem(EnumAmmo.B75) - .setCasing(casing75.clone().register("b75")); + .setCasing(casing75.clone().register("b75")).setOnImpact(LAMBDA_TINY_EXPLODE); b75_inc = new BulletConfig().setItem(EnumAmmo.B75_INC).setDamage(0.8F).setArmorPiercing(0.1F) - .setCasing(casing75.clone().register("b75inc")); + .setCasing(casing75.clone().register("b75inc")).setOnImpact(LAMBDA_INC); b75_exp = new BulletConfig().setItem(EnumAmmo.B75_EXP).setDamage(1.5F).setArmorPiercing(-0.25F) - .setCasing(casing75.clone().register("b75exp")); + .setCasing(casing75.clone().register("b75exp")).setOnImpact(LAMBDA_STANDARD_EXPLODE); ModItems.gun_bolter = new ItemGunBaseNT(WeaponQuality.SPECIAL, new GunConfig() .dura(3_000).draw(20).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index ff321331f..452d1cbe7 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -740,7 +740,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.dfc_emitter, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModItems.crystal_xen, 'L', ModItems.sat_head_laser }); addRecipeAuto(new ItemStack(ModBlocks.dfc_receiver, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModBlocks.block_dineutronium, 'L', STEEL.shell() }); addRecipeAuto(new ItemStack(ModBlocks.dfc_injector, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', CMB.plate(), 'T', ModBlocks.machine_fluidtank, 'X', ModItems.motor, 'L', ModItems.pipes_steel }); - addRecipeAuto(new ItemStack(ModBlocks.dfc_stabilizer, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModItems.singularity_spark, 'X', ModItems.magnet_circular, 'L', ModItems.crystal_xen }); + addRecipeAuto(new ItemStack(ModBlocks.dfc_stabilizer, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModItems.singularity_spark, 'X', ModBlocks.fusion_conductor, 'L', ModItems.crystal_xen }); addRecipeAuto(new ItemStack(ModBlocks.barrel_plastic, 1), new Object[] { "IPI", "I I", "IPI", 'I', ModItems.plate_polymer, 'P', AL.plate() }); addRecipeAuto(new ItemStack(ModBlocks.barrel_iron, 1), new Object[] { "IPI", "I I", "IPI", 'I', IRON.plate(), 'P', IRON.ingot() }); addShapelessAuto(new ItemStack(ModBlocks.barrel_iron, 1), new Object[] { ModBlocks.barrel_corroded, ANY_TAR.any() }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index dd4323118..8f7f53640 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -131,7 +131,7 @@ public class MainRegistry { public static ToolMaterial enumToolMaterialBatNail = EnumHelper.addToolMaterial("BATNAIL", 0, 450, 1.0F, 4F, 25); public static ToolMaterial enumToolMaterialGolfClub = EnumHelper.addToolMaterial("GOLFCLUB", 1, 1000, 2.0F, 5F, 25); public static ToolMaterial enumToolMaterialPipeRusty = EnumHelper.addToolMaterial("PIPERUSTY", 1, 350, 1.5F, 4.5F, 25); - public static ToolMaterial enumToolMaterialPipeLead = EnumHelper.addToolMaterial("PIPELEAD", 1, 250, 1.5F, 5.5F, 25); + public static ToolMaterial enumToolMaterialPipeLead = EnumHelper.addToolMaterial("PIPELEAD", 1, 250, 1.5F, 3F, 25); public static ToolMaterial enumToolMaterialBottleOpener = EnumHelper.addToolMaterial("OPENER", 1, 250, 1.5F, 0.5F, 200); public static ToolMaterial enumToolMaterialSledge = EnumHelper.addToolMaterial("SHIMMERSLEDGE", 1, 0, 25.0F, 26F, 200); @@ -1665,6 +1665,7 @@ public class MainRegistry { ignoreMappings.add("hbm:item.bobmazon_weapons"); ignoreMappings.add("hbm:item.bobmazon_tools"); ignoreMappings.add("hbm:item.missile_carrier"); + ignoreMappings.add("hbm:item.magnet_circular"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index bdba621ca..7415566d7 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -370,12 +370,10 @@ public class ModEventHandler { if(rand.nextInt(1024) == 0) entity.setCurrentItemOrArmor(3, new ItemStack(ModItems.starmetal_plate, 1, world.rand.nextInt(ModItems.starmetal_plate.getMaxDamage()))); - if(rand.nextInt(128) == 0) + if(rand.nextInt(64) == 0) entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.pipe_lead, 1, world.rand.nextInt(100))); if(rand.nextInt(128) == 0) entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.reer_graar, 1, world.rand.nextInt(100))); - if(rand.nextInt(128) == 0) - entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.pipe_rusty, 1, world.rand.nextInt(100))); if(rand.nextInt(128) == 0) entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.crowbar, 1, world.rand.nextInt(100))); if(rand.nextInt(128) == 0) diff --git a/src/main/resources/assets/hbm/textures/items/assembly_template_alt.png b/src/main/resources/assets/hbm/textures/items/assembly_template_alt.png deleted file mode 100644 index 2537c2fc2885f9092bd2e8d68a5f0d66fa893c8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfGj!TGg@ZmyD<~zM5D=bx^uRg210Oy=XW!9go`25RXT}7tIovmHvPxK4J3nMo zQx88F+n~eF++)C2C6REMq1dr%m+IkPUj_DRuXy}HQDFfwHe?nP=04c3&e>1qC&JB%rpoV@EN} z%zX6um3XX@=)HGF>L&zdYMsp8&U^r{xgu9}4b38ken zoHY{Kj%!0Sqv{uW6S{@bQXkRwI6uhs?4^iTcgg|98g0k9axUEutO;2k;E2{UF)0Ew zB5_|SSM^^4SBYlL#lXr05KJXvWy+FTCc=^{t24k$e?)jZ%SWvms5*jY_GeLMjH+?& g@726JcKmO=0DGgwlsH_e_W%F@07*qoM6N<$g4FMgeE7con`1dntil;tu9}{fgZ(szo%8q x+iX0~IfP~PXU-z#`?*_AKDanv!Sh!u`#Y`JnYIN6vw%i3c)I$ztaD0e0svLKGBW@G diff --git a/src/main/resources/assets/hbm/textures/items/ln2_3.png b/src/main/resources/assets/hbm/textures/items/ln2_3.png deleted file mode 100644 index 55b04d07a2aa3835dfc30baba775a76f0814b7da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@|StKIEF;D zzMXQH^RNL=%X_cmncH64E&QD#&AY_rh}NMUs$HGTYxk+&PPqH>INKx@&wsMtV!}de z*_C!DwYKj45s+0FEpJ-d-xa-bX~)DRJ3eb{SDwz0ptQ5bK(cf5?X9W#GxZtbRGx3D zXR1h8-BA|uWObv}?wfCqo^?`r_fBj>0#i_@f1a3MwPM|)rHLsoE`L$0scxH*@t67V kk!Ux)-=dRMJnNc74;)!MIftn(0_b7}Pgg&ebxsLQ01xnAw*UYD diff --git a/src/main/resources/assets/hbm/textures/items/ln2_4.png b/src/main/resources/assets/hbm/textures/items/ln2_4.png deleted file mode 100644 index f33742080de98f3b085e168ce3fe70dcaee78e99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@|SqJIEF;D zzMT@u#casq?4J7WE%#S5%L%`pDm6LVc5^e=*_VmwsPf(1wk&g&y3-^%Q~O}<^rMUk z^L~p>-5UQU{78F`=cUEZ-LsY-we54&abAD(Xinmz6V(-|M;RUbGbim&eLo>A#ditM ziiUNO3MH#6LarSzQ|_H9P&8HX*@9DU`?8F`;6(?;LCNQ%dTeG2FcG?o%n21WBN6qFBm*s{an^L HB{Ts5$@p(b diff --git a/src/main/resources/assets/hbm/textures/items/ln2_6.png b/src/main/resources/assets/hbm/textures/items/ln2_6.png deleted file mode 100644 index 41256391aa8737005a5b0422e8c5e1b904fa5706..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmV-q0h|7bP)Au?`$7b zWMN@p0A^-U9KmgbnAcQQM@4iAh=^ab=D1XVC-q95xB$^hL{wF!#+k7k$UQnCM@O-K zZ|E;_ud0|?QdJ~<*7&FqpKnM~b95t`DGJDR%^mR^EslGOT;!v^K=P!jPQ25#kcdqt zsz>0=bNz`NI}jDoyDJU}*lLP?@$3}LbkE;T0~48jyE{6PFKd5GOhkyr zyPO!wqp`rq=Uv|`f}izb=zwrC{@=gk++SGuJG=q&4+|0jA_&6(0000aPa$F$$d70KjwD7=d?z>puTHdy{TU7c@ZO^UTJUT%GrPO{ zU2GnmME6bwpbi-LNIwnEdUayfvo$Ywhi+8IVXs2H&W`{;wIPE8z-DF(00vnAtYm*t zFbfslW*St$5_=(m4dbixoD!jZhH%Au469r?Bv651LsUx zs9Lh4eVYDkbNBdESG9{w2cf}aK;1Pw;`{J_;9>Ee!vI+dn`_AZdwx&T yuHfvn0?Fnt2|&TF1fI@~=2!KwXZ^nA|H?OYWK-e&$75>%0000L|u+%e;k}(dRH+ahOD8JV`cVg*uCgL5sYs@;A^b}F%V039M?&n9I1}JV z1H+0r5b#HAHZHYafwdDV#1S}GUk1-MsxY&Ef!ljoe2%pyViGRa&TMeu8_zQyY5s8)NUyRqBosW!s^Xu)n+H;Z$D=*d%2LQmBExG00000NkvXXu0mjf Dh5@c( diff --git a/src/main/resources/assets/hbm/textures/items/ln2_9.png b/src/main/resources/assets/hbm/textures/items/ln2_9.png deleted file mode 100644 index 8cc282346a66fd756aea1635e1686bced0f8861f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 399 zcmV;A0dW3_P)Qz56-qrur^s_& z>O$>X4aek2hI1Cq0rB49J)rKey5EUyU)x}>K-!s1`FQXG8e#oPtrdx0`}o}Vx4kbm zI^PST3620$j^w$<`>vc_Qq_c9XBOee+22PZScr?58<8{6C1&MnWFj?Z@eJgXUqf`j zjgyV$MDQ7GL>z}Rp(1j`E(o=sI9)@G!bOwL_;(EFLs7P%>d2AI&X+{sntN{TEs1bh tP|jVp9Hwf;4wpW;pF*X3In5XT8gFx!OKPCk<@Nvo002ovPDHLkV1oXuwHE*Y diff --git a/src/main/resources/assets/hbm/textures/items/magnet_circular.png b/src/main/resources/assets/hbm/textures/items/magnet_circular.png deleted file mode 100644 index 4d8f16620943fd79007d7beed92102b5068f5171..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf%V`&(a`VP&)O*}{Uyw^gTA8!NEzUs|)&>P&;g-5*yNYx|h~yf&XU lA&mWO`x1w(SAy@w`&XW`ZalffaTU>WdCX-I&L!%B?78Ce3`^*I!8~%w>^Eqe>y~zODtVxojt-pGUs+iDC%2`F-x} zN#^Iy={R28;q7GkDXlH*8lq`E)sja{nWMg)|s|D-nMQl^$s@q sr1V)`TddAW{YuUDQ~4~#y!OY1FDNJK7&Bjb2lOk0r>mdKI;Vst095I6@c;k- diff --git a/src/main/resources/assets/hbm/textures/items/magnetron.png b/src/main/resources/assets/hbm/textures/items/magnetron.png deleted file mode 100644 index 5f160f01faca065e5344ed7936ab98c56af10da0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmV+&0pk9NP)%025b$YuYdnZLD8e;&cstSOd(g2 zqYePnK~cI$HV4}Qr)*5rldl11@f%f05fT>#{3QB8`a6lg jq;S?j=tQxU#MSr!YOziF3AE0q00000NkvXXu0mjf$-Zx2G+gFpZ3kp92^>i_@qwawnz^Ebb&kI9-@;JIS;YU4Y5 zDknDr!NF+r8eJmqnB6D`gZ%y`IsICD+b$6XK3t+uYn oRnK5J>M-jdYd%j869)r>#t-EqJ39Z00Ug2M>FVdQ&MBb@0H-NQ1poj5 diff --git a/src/main/resources/assets/hbm/textures/items/nugget_reiium.png b/src/main/resources/assets/hbm/textures/items/nugget_reiium.png deleted file mode 100644 index b6b8a5d3f6e93fd75867adebbaedbc3b5bd6c538..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZoDj$~z zYqCB|F7`OLsmaIp#`Hj8CypsW3^N#YU3fEg@|@jskSQdAo$qLNUclU!c?a?*eQrE= anDMjGVW$<+Mb6Mw<&;$VRi#>+` diff --git a/src/main/resources/assets/hbm/textures/items/nugget_u238m2.png b/src/main/resources/assets/hbm/textures/items/nugget_u238m2.png deleted file mode 100644 index 95a04822b70e8c3ba0912c5b521897fc7f9ae5f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfPpz diff --git a/src/main/resources/assets/hbm/textures/items/nugget_verticium.png b/src/main/resources/assets/hbm/textures/items/nugget_verticium.png deleted file mode 100644 index c8f9333ecf122b81b6cb8cf7589c3bc3e5a66691..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VffA9KI~^E*L54l8stHa_HIWRkbziSPG&y!TAggtb-yR8=KqSpqOk6XQ6l)e2f` zX_|)P@fdf0wK|TY+U<5^Sr&&Qz!)QK+s4$(vSe8n9*+kpf!A-14pONLJu9FBz zrGC5JR#sC2->U06d6H9a&N&%|VYBDQdMEII^##Lqw1P2Kr2PN@002ovPDHLkV1g|a BkPH9- diff --git a/src/main/resources/assets/hbm/textures/items/pellets_chlorophyte.png b/src/main/resources/assets/hbm/textures/items/pellets_chlorophyte.png deleted file mode 100644 index 6a5489d550e3d40259eafa8e0c9b9641f2febcce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfo9{|a$yJqf`MSe^C($Xq=j<}?>3W89ZdJ5y@SWU$ z?XUk_xexMp)dFqxcnl>H6pt;tK7F6zqwVuJW^1tRIMkk?bHL|L zr6L`M_a5z?V{5Rv>qJ|}gT3r&*HoLsQhcZJ=*;Y35WLQ#W4V+i*2kISSK6A{Q5R1v zd7t1h^X)T}8G8@pn7`vq-8TDfP?Wk0i{*3gMIAi$Q#W(^PnrLkLH2yG*{MmtUjm)R N;OXk;vd$@?2>>YQQV;+D diff --git a/src/main/resources/assets/hbm/textures/items/pellets_flechette.png b/src/main/resources/assets/hbm/textures/items/pellets_flechette.png deleted file mode 100644 index b0711e2acdc103bd7203ab69ac5eadf063c8777f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf%@;Yz4eLTHR z+MJKbW-K_@wSv90*7w$jfZN*?mwk0^k*nD7zIsZ~a+>8l`IoHhlk-p5?Q@+2^aF#ZtDnm{r-UW| DXToJ~ diff --git a/src/main/resources/assets/hbm/textures/items/pill_salt.png b/src/main/resources/assets/hbm/textures/items/pill_salt.png deleted file mode 100644 index decab9dbabcbd05bd6caa31ff1f7d6baf33a9982..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfQna3Xpsxs8o_$e^#7lq(;I=nG3=gzv#qch^S%Amtk*d%|M~Pa zevRJIm#xO>=l(o@`s=`lpR*a5^{=zDmFkMG$%-tHoKXMY;IO}<92=V=A6wgV`vT3w z?^s`7{rkV3>!Sioi-m;Gw{!pceRac_Js2Z+XDnaat+*{DNN_b{#Nh{@%^BxNbugu$ zoAY!1k|kf_Jw0FkKbu|sPg_&-uYK_|o@)jNq)e}^{{7!SWJ~Mk%AIxwF82G+7aX$` zb+$d1app&b+#!KS2?;+sZ*LVj&U9`HM}Ilc5kSyp+_ur;Y7h%U(k>sZRN=QQzyM(I MboFyt=akR{0Qc*Id;kCd diff --git a/src/main/resources/assets/hbm/textures/items/pill_zinc.png b/src/main/resources/assets/hbm/textures/items/pill_zinc.png deleted file mode 100644 index d93286d7369107218e4737d7e5388319bdca0aee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 317 zcmV-D0mA-?P)sDuKY2E+z=UU15kIkRp&$MSk@D!-YQJs(=js z0woG00v!TF%%!pj@gCS{yV;u=W^Wf3)=li8e}4;qaentGa>eF<@!@a;peUct__vb5 z_g6m)PvVcyqnI>0f^#lp>A*Ox$kKt$!>h;@69BYrOV=kTrRe%3Mw1P!wV^D_85?70 znkGoxXo5>iGRT6Js9aH&1 z?$>cfUe_l-x0g>obdEP?t?kr~1f}y)(tU;NSiH0@-YU3W`r@~oWxCF3XGUJZZ+}+? zMP1#NtFct3b|V9W(~KX|c|u1lK0p6DC9LoZv)plOYx6Dt5Bxv8{4hu2qdA*160Ryv zOwZO`QV{Ag&v`~fcCoH;!23U{j34g(oc3G4SS3A}vIur=0!p5nL&SIF1nnTdN4C z0yy}7zXt#$Nn#c8=~4gylx5lezTIxt^G+SO-+xwBRUyxF000qLU0Askz;FRdDN)xo zhzRHN8IOnR#PcG+6jBrghzL#7;Cj7wL^$sP6TXt&Zimfg(|g9N0F$O^-Y-CiNJ}Y4 z&v-4uq9_3TwPWA?1D+W0Y|VOsZBNr&XW3!4?Ix3z`^tRM1D3Yh7}g@>g5wuV*R3}CAk+4- zmAZsp2l&f|*Q#x$I)y7;h)5rgUyFv!6rM7gv(K0EbOlPOcCHf<;yCsdx22O=5Nvgl jBmmyLT>gvjdG98_^4%dg9A>>700000NkvXXu0mjfad^*1 diff --git a/src/main/resources/assets/hbm/textures/items/pirfenidone.png b/src/main/resources/assets/hbm/textures/items/pirfenidone.png deleted file mode 100644 index 9ab831d0fa157620e453dae0fdf33b446617c26d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmV-&0ge8NP)y3>J$b zHZ2NbQPUNX!(`E*VvvJHVP%GGw;L>;$#c8=jveSrf8O`rk diff --git a/src/main/resources/assets/hbm/textures/items/powder_daffergon.png b/src/main/resources/assets/hbm/textures/items/powder_daffergon.png deleted file mode 100644 index f9afea21267cede7f7bf8f774884ee4c79ee2bc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307 zcmV-30nGl1P)`{<0mbvvRC6oK&-e4L;s2wc@&%RuHTl+ff2s$cQ_hNr&&cQI%s7tpeg8Ap zoH9B$t2duh`mH$3rdXt0*ZVb><^q6r8Yv|V-&kQ9xoumNQb;Lr&aq@kstXFLSk|c? zo>th3gHIK@2;|*rN7r>6>my33n8Z1UF$Owj3(dkIsA{1x#zb<64{(3KW3g=5V6i;7 zW*IM-#?wMaB7nulcMq;vOpsIhaFG(5lKuqA-}rL)f)BOvjp*HFB2@qY002ovPDHLk FV1io;f(rlu diff --git a/src/main/resources/assets/hbm/textures/items/powder_reiium.png b/src/main/resources/assets/hbm/textures/items/powder_reiium.png deleted file mode 100644 index 52bd800c86f3dc9be333bb584ad5ab0132828e22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1en@Uf?hV~BRKj6_QU96e`q z&R}s{=os1D*Y(>Xr$E1Npzg-kR>iruU&uQd z_+Fkd^H=%PkewRhr@UUAJGbGdsKLP-PLEkCmd(AjU~d1pqwD6d%-wq|EbH^jj(_3L zGNM&kM2c%3EVR*{elpG_WGa`yPuW1827!i-1_?823POz_<6i c!BHE=?wtwWmoqwC1A3Ri)78&qol`;+0E?l7XaE2J diff --git a/src/main/resources/assets/hbm/textures/items/powder_unobtainium.png b/src/main/resources/assets/hbm/textures/items/powder_unobtainium.png deleted file mode 100644 index 2f26e8148d0adcae710df6090f7e109f8c2690b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1en@Rz5HV~BK54l7Lj({M}bRTop| zQ&x{(oELWdV>tYQRfVs0Nv*4{mdeZ6_Qz2(G!LIkx#XQc`K(`d2gm+|gyQ@^`x_0p zCv7+`@W?Toq1fph|INAl!FsLbR-!Mi{NWK{E!cfCt7CzquI0y*(`^mnK3T8Ze=z%k z&sn|$YK)6GI+9hBjW%wtY0=)}b?@yfH77l9y&fmgb3CSJW-YxrbGjVoW8Lewc|%#X zY-5?12kXW!vr;vx-1^8gZEc&`{32!FZ=y}g=AR@(S#9(V7+m!!F+I5d!CQ^9EKVXE zH=RyQ+S)iF=Ar2Owyk#qm4CGue|miSy<-Ivt2*<8uHt1Cz))cDboFyt=akR{0L)m5 Ai~s-t diff --git a/src/main/resources/assets/hbm/textures/items/powder_verticium.png b/src/main/resources/assets/hbm/textures/items/powder_verticium.png deleted file mode 100644 index 5346e7b44cf51411d81056fe683d58b6af388e48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1en@TI4VV~BJ%js2HjH>~<9nIZL{@^icD648}jTUXQ+ROg)5+co=0QH=3T@vQsm zo5gNT^S4g0xpvg!X8_;Ut(is_0yI;{ttG6Dj ztX%LhxbIq+o}!BT?<3xof#+hTte){E{>7ISM|Ea+7~E_=*|Uvd@*zj*mj}Gc9|_o} kN~C-{ASZUOd}fn5-xPx#a(aFNKu$~Gyg!zvzM29Bq|wi_A4BA zU|1r^;xH?LVTq(mGcQAC6Q=_67ly;j*yK8vBtmdKI;Vst0GKa~WdHyG diff --git a/src/main/resources/assets/hbm/textures/items/ring_starmetal_alt.png b/src/main/resources/assets/hbm/textures/items/ring_starmetal_alt.png deleted file mode 100644 index ebdca2cc5a4b17b7fd2de5b55acedb35875b5303..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385 zcmV-{0e=38P)PJG2rKJRXNYqMKCi!(baMPqEjaXZxx!2N-4`Y z91dTCtTCSFp_D>vO;HqRtpRXd7p*n-`<=~ZV}WZxo*xas`Fv)zT9KxyWo)%t1VO;{ zdL@qMrb$je_14_aqw1JpI5va901+Vw0!E{eWmHPBUay(W zW{3!vOJOfD%cf4h|6z8!9k<&J5y5p`fTy!o%@zP)yWO%_Eb6AFs#TOrCyyV|SagFvd~l!MzSU3rdwb}WwpM!H>7H6AoJHo@U=z~`%j$Kye{JyM`D_kGEQ-|r zK9>%;Tn>rdT^Ml#idhl&zjt;;4R31V-I+aSWIppT+4vhMOT~=d|zj@11k%Jl6dAAV4m(QP=_A;ziD{l7oL1$#Heq9xl zxs8sFf-EjBVq|0lhGDP(pUh;eFKO|g8QNyfA;n;J|4t!ILzS_x7!V_ zAQFj$m{1~%zeXk}ZS(8&Mc^r&nw+G=L-)iT7qXNW2m}NV;3WDPG(iYszQj0h#9!Pg jFAu4xs1R$424}VZp3@^l2(pY@00000NkvXXu0mjfwPR1= diff --git a/src/main/resources/assets/hbm/textures/items/singularity_3.png b/src/main/resources/assets/hbm/textures/items/singularity_3.png deleted file mode 100644 index a171074f161d5b16318997a435ff341d0a15d120..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 710 zcmV;%0y+JOP)~s;4TDe?CBocu!27bR^UE9rZ99Wj6{_*kgtvJsnP%f9l($W$P-`cA+ zq~Jr1W0z4!mCbcsk^ryQYX$}ewg_1AQ>)dG&1PXU=qWVe8TR8W!stT)A%5b45nwpH z^IIwu3aC^n|4W#jo@N&)2_JpJVWPz%y+)GGpoxO8h_jHFA>!~-3#Z{yD3M5@SS$kd zdL8L>nh6`~#V*RAjsCQrpzCO*4i4a~3Lv@m@p;IE`Q9fW$mjFG{QSHUiNPVJOhX9M zY0lgQKLt3u+1AJlT|M;u_8q#9IC+dk-QC@=CMPF_K3DD2dcR=}@3Df7WEZN(crkuBrP|i~O2%6~$5_Ao_m6?Egs?{pL zBK+W?9fBVRnaMhzSJ~E>K{IS5`ToJ+MbzDOJbgEdkNB&|w&+5dA(Ln!n?|umX_w*Z zzRWuh5EJQRIR5IPmh$ub4aC2^)S5&Oo=_;HGhJb^yg>yMh+&E$`VmAYXFd?yi}rd1WBUClPwwm-Ek2*3bNz#= z0eKsZMpgbOl}ZQ(g9@P55Y1I?)LhR9eYkX!?soK%!+~ftPArqjXz7q9>O7gAZQJUU s|5l^>Vzx1~`5}n~0s&Q_0_=4C1Ji&Sa=E*xqW}N^07*qoM6N<$f}tNw*8l(j diff --git a/src/main/resources/assets/hbm/textures/items/singularity_micro.png b/src/main/resources/assets/hbm/textures/items/singularity_micro.png deleted file mode 100644 index b1c9e4765801d45113ac3da6b82715a6e78229be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf88|oII#-=Ir4OIX8{gWX;^b>E`PCcYo<$v%_n-w@aLp zu{`zR$NBoUDP6Dr-?*|VLAd7kSMI|*tDj5U+gE$~01y;Bf0M~}jz53nE|JyT|LXrA zJfNn)@%;a<5Azx)PG(-s7!j+Go^t9#tiz0l*W17I>^ZZCXVs@wJcsVsMDQMv>fAh12a*DRC>|XXT#F|Tkg+Wx++%Mk0Vgu0i44$rjF6*2UngE2OY`_2j diff --git a/src/main/resources/assets/hbm/textures/items/singularity_spark.png b/src/main/resources/assets/hbm/textures/items/singularity_spark.png deleted file mode 100644 index c2e97f9a6b41311d4b3165fa79abee2aee87f329..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 808 zcmV+@1K0eCP)gnKHAro(hq0>MJWOXp;Zb&u(&WL>W&3& zj2joaAz{aw1QzW03r1HY>VoJBS>Vd3QKF==0g4o~7KM_&7U{=(?YquhRI;6Q9-WaNZ^U=Et5VQy}YF9f>ky^h;~QFufjewTN# zUPz!`@*v`kqFFfuUDIiKc^QR5;lG5%#YH#-CtY?7(jD&@-Krm@Ryjn+G6WL2jI+*j z)ZZ{fUYn1&6bgkxNTpI>wOS25Jw2#w8#LB=4~}{#s2JrCaIAS-hS@d!R6>9bXpW~}oOuoccY2#Qk6Cg1e zI%(+b?Pa227+6_ZndUUn73@YslONIkeguO-T%F0H@2zB`IiY4WZ4`0WGIvUHxjwF@rzpjHv6n zS;%R|sTGYQq&G7d>KjI#%LSWkZiXjN_){$yy8&m(oT zf$_%=Ffe`zPoF)(x3v^zzr-LYpTHft;ulKD7 z&CShPQY|joU&^t-0z*GmI5+u|y-)qjNV97~dc7WfeSQB6#9}cxolZ!CnTLz-FgPpo z$;V}ucSKm%9pu#46^{8L%*{NfbO@}kuSYl>{wLt|dKGbz4(mNWdl};Nbd;N~e`Z?C z6wMtI%&2PS&|rv@fnT&+PEZ+z4u=EddjDm6cHE+LaPuMt&P@1;zCFhABtloSzD^ zslm;YXU_7Ge}o46PC6~EbR~Nl79^Z?LIro}Td~dM0A*8j(3Oo8b3}RXS4Zl(* Date: Tue, 25 Mar 2025 21:13:23 +0100 Subject: [PATCH 11/15] Fixed crate item movement prevention applying to all held items (let me move this coal powder) --- .../hbm/inventory/container/ContainerCrateBase.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/inventory/container/ContainerCrateBase.java b/src/main/java/com/hbm/inventory/container/ContainerCrateBase.java index b19725c1f..84df7fad8 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCrateBase.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCrateBase.java @@ -1,5 +1,6 @@ package com.hbm.inventory.container; +import com.hbm.items.block.ItemBlockStorageCrate; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; @@ -18,8 +19,15 @@ public class ContainerCrateBase extends ContainerBase { @Override public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { // prevents the player from moving around the currently open box - if(mode == 2 && button == player.inventory.currentItem) return null; - if(index == player.inventory.currentItem + 27 + this.tile.getSizeInventory()) return null; + if(player.inventory.getStackInSlot(player.inventory.currentItem) != null && + player.inventory.getStackInSlot(player.inventory.currentItem).getItem() instanceof ItemBlockStorageCrate) { + if (mode == 2 && button == player.inventory.currentItem) { + return null; + } + if (index == player.inventory.currentItem + 27 + this.tile.getSizeInventory()) { + return null; + } + } return super.slotClick(index, button, mode, player); } From 9943a73f2a9a24a746a42875b3aed6a5cf2ec7c5 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 26 Mar 2025 16:53:07 +0100 Subject: [PATCH 12/15] groundbreaking changes --- changelog | 7 ++++++- src/main/java/com/hbm/blocks/bomb/BlockTaint.java | 3 ++- .../com/hbm/items/weapon/sedna/factory/XFactory10ga.java | 2 +- .../com/hbm/items/weapon/sedna/factory/XFactory50.java | 2 +- .../com/hbm/items/weapon/sedna/factory/XFactory762mm.java | 2 +- .../com/hbm/items/weapon/sedna/mods/WeaponModManager.java | 3 +-- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/changelog b/changelog index 299a12998..7cde1fc3f 100644 --- a/changelog +++ b/changelog @@ -2,4 +2,9 @@ * .75 bolts now work as advertised * Updated lead pipe texture * Removed recipes from a few ancient melee weapons, as well as the creative tab listing -* Removed flat magnets \ No newline at end of file +* Removed flat magnets +* Taint should now also affect non-solid blocks that are full cubes +* Reduced the AoE size of 7.62mm, .50 BMG and 10 gauge explosive projectiles + +## Fixed +* Fixed taint destroying bedrock \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/bomb/BlockTaint.java b/src/main/java/com/hbm/blocks/bomb/BlockTaint.java index 079058a64..c82d2526d 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockTaint.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockTaint.java @@ -19,6 +19,7 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityFallingBlock; import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; @@ -46,7 +47,7 @@ public class BlockTaint extends Block implements ITooltipProvider { if(Math.abs(i) + Math.abs(j) + Math.abs(k) > 4) continue; if(rand.nextFloat() > 0.25F) continue; Block b = world.getBlock(x + i, y + j, z + k); - if(!b.isNormalCube() || b.isAir(world, x + i, y + j, z + k)) continue; + if(!b.renderAsNormalBlock() || b.isAir(world, x + i, y + j, z + k) || b == Blocks.bedrock) continue; int targetMeta = meta + 1; boolean hasAir = false; for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java index e875b7800..c452655d3 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java @@ -35,7 +35,7 @@ public class XFactory10ga { public static BiConsumer LAMBDA_TINY_EXPLODE = (bullet, mop) -> { if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; - Lego.tinyExplode(bullet, mop, 2F); bullet.setDead(); + Lego.tinyExplode(bullet, mop, 1.5F); bullet.setDead(); }; public static void init() { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java index 1dded0aab..e67396128 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java @@ -36,7 +36,7 @@ public class XFactory50 { public static BiConsumer LAMBDA_STANDARD_EXPLODE = (bullet, mop) -> { if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; - Lego.tinyExplode(bullet, mop, 3.5F); bullet.setDead(); + Lego.tinyExplode(bullet, mop, 2F); bullet.setDead(); }; public static void init() { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java index eb7b7b79e..b87fba86d 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java @@ -43,7 +43,7 @@ public class XFactory762mm { public static BiConsumer LAMBDA_TINY_EXPLODE = (bullet, mop) -> { if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; - Lego.tinyExplode(bullet, mop, 2F); bullet.setDead(); + Lego.tinyExplode(bullet, mop, 1.5F); bullet.setDead(); }; public static void init() { diff --git a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModManager.java b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModManager.java index 359936bd2..f586acccc 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModManager.java +++ b/src/main/java/com/hbm/items/weapon/sedna/mods/WeaponModManager.java @@ -71,8 +71,7 @@ public class WeaponModManager { Item[] steelGuns = new Item[] { ModItems.gun_light_revolver, ModItems.gun_light_revolver_atlas, - ModItems.gun_henry, - ModItems.gun_henry_lincoln, + ModItems.gun_henry, ModItems.gun_henry_lincoln, ModItems.gun_greasegun, ModItems.gun_maresleg, ModItems.gun_maresleg_akimbo, ModItems.gun_flaregun }; From 300f005de4caac256d9b9e7df959ecaaad9f5963 Mon Sep 17 00:00:00 2001 From: LegendaryDoge30 Date: Wed, 26 Mar 2025 18:18:39 +0100 Subject: [PATCH 13/15] flux added a single parenthesis to the thorium rbmk fuel flux function --- .../com/hbm/items/machine/ItemRBMKRod.java | 164 +++++++++--------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java index 895c788c6..c1e39e213 100644 --- a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java +++ b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java @@ -20,7 +20,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class ItemRBMKRod extends Item { - + public ItemRBMKPellet pellet; public String fullName = ""; //full name of the fuel rod public double reactivity; //endpoint of the function @@ -35,7 +35,7 @@ public class ItemRBMKRod extends Item { public double diffusion = 0.02D; //the speed at which the core heats the hull public NType nType = NType.SLOW; //neutronType, the most efficient neutron type for fission public NType rType = NType.FAST; //releaseType, the type of neutrons released by this fuel - + /* _____ * ,I I I I, * |'-----'| @@ -52,7 +52,7 @@ public class ItemRBMKRod extends Item { * | | * '-----' * I I I I - * + * * i drew a fuel rod yay */ @@ -63,7 +63,7 @@ public class ItemRBMKRod extends Item { public ItemRBMKRod(String fullName) { this.fullName = fullName; - + this.setContainerItem(ModItems.rbmk_fuel_empty); this.setMaxStackSize(1); this.setCreativeTab(MainRegistry.controlTab); @@ -93,7 +93,7 @@ public class ItemRBMKRod extends Item { this.depFunc = func; return this; } - + public ItemRBMKRod setXenon(double gen, double burn) { this.xGen = gen; this.xBurn = burn; @@ -120,7 +120,7 @@ public class ItemRBMKRod extends Item { this.rType = rType; return this; } - + /** * Adjusts the input flux using the poison level * Generates, then burns poison @@ -131,82 +131,82 @@ public class ItemRBMKRod extends Item { * @return outFlux */ public double burn(World world, ItemStack stack, double inFlux) { - + inFlux += selfRate; - + //if xenon poison is enabled if(RBMKDials.getXenon(world)) { double xenon = getPoison(stack); xenon -= xenonBurnFunc(inFlux); - + inFlux *= (1D - getPoisonLevel(stack)); - + xenon += xenonGenFunc(inFlux); - + if(xenon < 0D) xenon = 0D; if(xenon > 100D) xenon = 100D; - + setPoison(stack, xenon); } - + double outFlux = reactivityFunc(inFlux, getEnrichment(stack)) * RBMKDials.getReactivityMod(world); //if depletion is enabled if(RBMKDials.getDepletion(world)) { double y = getYield(stack); y -= inFlux; - + if(y < 0D) y = 0D; - + setYield(stack, y); } - + double coreHeat = this.getCoreHeat(stack); coreHeat += outFlux * heat; - + this.setCoreHeat(stack, rectify(coreHeat)); - + return outFlux; } - + private double rectify(double num) { - + if(num > 1_000_000D) num = 1_000_000D; if(num < 20D || Double.isNaN(num)) num = 20D; - + return num; } - + /** * Heat up the core based on the outFlux, then move some heat to the hull * @param stack */ public void updateHeat(World world, ItemStack stack, double mod) { - + double coreHeat = this.getCoreHeat(stack); double hullHeat = this.getHullHeat(stack); - + if(coreHeat > hullHeat) { - + double mid = (coreHeat - hullHeat) / 2D; - + coreHeat -= mid * this.diffusion * RBMKDials.getFuelDiffusionMod(world) * mod; hullHeat += mid * this.diffusion * RBMKDials.getFuelDiffusionMod(world) * mod; - + this.setCoreHeat(stack, rectify(coreHeat)); this.setHullHeat(stack, rectify(hullHeat)); } } - + /** * return one tick's worth of heat and cool the hull of the fuel rod, this heat goes into the fuel rod assembly block * @param stack * @return */ public double provideHeat(World world, ItemStack stack, double heat, double mod) { - + double hullHeat = this.getHullHeat(stack); - + //metldown! the hull melts so the entire structure stops making sense //hull and core heats are instantly equalized into 33% of their sum each, //the rest is sent to the component which is always fatal @@ -217,20 +217,20 @@ public class ItemRBMKRod extends Item { this.setHullHeat(stack, avg); return avg - heat; } - + if(hullHeat <= heat) return 0; - + double ret = (hullHeat - heat) / 2; - + ret *= RBMKDials.getFuelHeatProvision(world) * mod; - + hullHeat -= ret; this.setHullHeat(stack, hullHeat); - + return ret; } - + public static enum EnumBurnFunc { PASSIVE(EnumChatFormatting.DARK_GREEN + "SAFE / PASSIVE"), //const, no reactivity LOG_TEN(EnumChatFormatting.YELLOW + "MEDIUM / LOGARITHMIC"), //log10(x + 1) * reactivity * 50 @@ -241,22 +241,22 @@ public class ItemRBMKRod extends Item { LINEAR(EnumChatFormatting.RED + "DANGEROUS / LINEAR"), //x * reactivity QUADRATIC(EnumChatFormatting.RED + "DANGEROUS / QUADRATIC"), //x^2 / 100 * reactivity EXPERIMENTAL(EnumChatFormatting.RED + "EXPERIMENTAL / SINE SLOPE"); //x * (sin(x) + 1) - + public String title = ""; - + private EnumBurnFunc(String title) { this.title = title; } } - + /** * @param enrichment [0;100] ...or at least those are sane levels * @return the amount of reactivity yielded, unmodified by xenon */ public double reactivityFunc(double in, double enrichment) { - + double flux = in * reactivityModByEnrichment(enrichment); - + switch(this.function) { case PASSIVE: return selfRate * enrichment; case LOG_TEN: return Math.log10(flux + 1) * 0.5D * reactivity; @@ -268,20 +268,20 @@ public class ItemRBMKRod extends Item { case QUADRATIC: return flux * flux / 10000D * reactivity; case EXPERIMENTAL: return flux * (Math.sin(flux) + 1) * reactivity; } - + return 0; } - + public String getFuncDescription(ItemStack stack) { - + String function; - + switch(this.function) { case PASSIVE: function = EnumChatFormatting.RED + "" + selfRate; break; case LOG_TEN: function = "log10(%1$s + 1) * 0.5 * %2$s"; break; - case PLATEU: function = "(1 - e^-%1$s / 25)) * %2$s"; + case PLATEU: function = "(1 - e^(-%1$s / 25)) * %2$s"; break; case ARCH: function = "(%1$s - %1$s² / 10000) / 100 * %2$s [0;∞]"; break; @@ -297,20 +297,20 @@ public class ItemRBMKRod extends Item { break; default: function = "ERROR"; } - + double enrichment = getEnrichment(stack); - + if(enrichment < 1) { enrichment = reactivityModByEnrichment(enrichment); String reactivity = EnumChatFormatting.YELLOW + "" + ((int)(this.reactivity * enrichment * 1000D) / 1000D) + EnumChatFormatting.WHITE; String enrichmentPer = EnumChatFormatting.GOLD + " (" + ((int)(enrichment * 1000D) / 10D) + "%)"; - + return String.format(Locale.US, function, selfRate > 0 ? "(x" + EnumChatFormatting.RED + " + " + selfRate + "" + EnumChatFormatting.WHITE + ")" : "x", reactivity).concat(enrichmentPer); } - + return String.format(Locale.US, function, selfRate > 0 ? "(x" + EnumChatFormatting.RED + " + " + selfRate + "" + EnumChatFormatting.WHITE + ")" : "x", reactivity); } - + public static enum EnumDepleteFunc { LINEAR, //old function RAISING_SLOPE, //for breeding fuels such as MEU, maximum of 110% at 28% depletion @@ -318,9 +318,9 @@ public class ItemRBMKRod extends Item { GENTLE_SLOPE, //recommended for most fuels, maximum barely over the start, near the beginning STATIC; //for arcade-style neutron sources } - + public double reactivityModByEnrichment(double enrichment) { - + switch(this.depFunc) { default: case LINEAR: return enrichment; @@ -330,7 +330,7 @@ public class ItemRBMKRod extends Item { case GENTLE_SLOPE: return enrichment + (Math.sin(enrichment * Math.PI) / 3D); //x + (sin(x * pi) / 3) also works } } - + /** * Xenon generated per tick, linear function * @param flux @@ -339,7 +339,7 @@ public class ItemRBMKRod extends Item { public double xenonGenFunc(double flux) { return flux * xGen; } - + /** * Xenon burned away per tick, quadratic function * @param flux @@ -348,7 +348,7 @@ public class ItemRBMKRod extends Item { public double xenonBurnFunc(double flux) { return (flux * flux) / xBurn; } - + /** * @param stack * @return enrichment [0;1] @@ -356,7 +356,7 @@ public class ItemRBMKRod extends Item { public static double getEnrichment(ItemStack stack) { return getYield(stack) / ((ItemRBMKRod) stack.getItem()).yield; } - + /** * @param stack * @return poison [0;1] @@ -415,15 +415,15 @@ public class ItemRBMKRod extends Item { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - + list.add(EnumChatFormatting.ITALIC + this.fullName); - + if(this == ModItems.rbmk_fuel_drx) { - + if(selfRate > 0 || this.function == EnumBurnFunc.SIGMOID) { list.add(EnumChatFormatting.RED + I18nUtil.resolveKey("trait.rbmx.source")); } - + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("trait.rbmx.depletion", ((int)(((yield - getYield(stack)) / yield) * 100000)) / 1000D + "%")); list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKey("trait.rbmx.xenon", ((int)(getPoison(stack) * 1000D) / 1000D) + "%")); list.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("trait.rbmx.splitsWith", I18nUtil.resolveKey(nType.unlocalized + ".x"))); @@ -437,13 +437,13 @@ public class ItemRBMKRod extends Item { list.add(EnumChatFormatting.RED + I18nUtil.resolveKey("trait.rbmx.skinTemp", ((int)(getHullHeat(stack) * 10D) / 10D) + "m")); list.add(EnumChatFormatting.RED + I18nUtil.resolveKey("trait.rbmx.coreTemp", ((int)(getCoreHeat(stack) * 10D) / 10D) + "m")); list.add(EnumChatFormatting.DARK_RED + I18nUtil.resolveKey("trait.rbmx.melt", meltingPoint + "m")); - + } else { if(selfRate > 0 || this.function == EnumBurnFunc.SIGMOID) { list.add(EnumChatFormatting.RED + I18nUtil.resolveKey("trait.rbmk.source")); } - + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("trait.rbmk.depletion", ((int)(((yield - getYield(stack)) / yield) * 100000D)) / 1000D + "%")); list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKey("trait.rbmk.xenon", ((int)(getPoison(stack) * 1000D) / 1000D) + "%")); list.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("trait.rbmk.splitsWith", I18nUtil.resolveKey(nType.unlocalized))); @@ -471,10 +471,10 @@ public class ItemRBMKRod extends Item { list.add(EnumChatFormatting.RED + "Skin temp: " + ((int)(getHullHeat(stack) * 10D) / 10D) + "°C"); list.add(EnumChatFormatting.RED + "Core temp: " + ((int)(getCoreHeat(stack) * 10D) / 10D) + "°C"); list.add(EnumChatFormatting.DARK_RED + "Melting point: " + meltingPoint + "°C");*/ - + super.addInformation(stack, player, list, bool); } - + /* __ __ ____ ________ * | \ | | | __ \ |__ __| * | \ | | | |__| | | | @@ -482,40 +482,40 @@ public class ItemRBMKRod extends Item { * | | \ | | |__| | | | * |__| \__| |_____/ |__| */ - + public static void setYield(ItemStack stack, double yield) { setDouble(stack, "yield", yield); } - + public static double getYield(ItemStack stack) { - + if(stack.getItem() instanceof ItemRBMKRod) { return getDouble(stack, "yield"); } - + return 0; } - + public static void setPoison(ItemStack stack, double xenon) { setDouble(stack, "xenon", xenon); } - + public static double getPoison(ItemStack stack) { return getDouble(stack, "xenon"); } - + public static void setCoreHeat(ItemStack stack, double heat) { setDouble(stack, "core", heat); } - + public static double getCoreHeat(ItemStack stack) { return getDouble(stack, "core"); } - + public static void setHullHeat(ItemStack stack, double heat) { setDouble(stack, "hull", heat); } - + public static double getHullHeat(ItemStack stack) { return getDouble(stack, "hull"); } @@ -529,23 +529,23 @@ public class ItemRBMKRod extends Item { public double getDurabilityForDisplay(ItemStack stack) { return 1D - getEnrichment(stack); } - + public static void setDouble(ItemStack stack, String key, double yield) { - + if(!stack.hasTagCompound()) setNBTDefaults(stack); - + stack.stackTagCompound.setDouble(key, yield); } - + public static double getDouble(ItemStack stack, String key) { - + if(!stack.hasTagCompound()) setNBTDefaults(stack); return stack.stackTagCompound.getDouble(key); } - + /** * Sets up the default values for all NBT data because doing it one-by-one will only correctly set the first called value and the rest stays 0 which is very not good * @param stack @@ -557,7 +557,7 @@ public class ItemRBMKRod extends Item { setCoreHeat(stack, 20.0D); setHullHeat(stack, 20.0D); } - + @Override public void onCreated(ItemStack stack, World world, EntityPlayer player) { setNBTDefaults(stack); //minimize the window where NBT screwups can happen From f9f1e1c73e088015ceb79872fb75403814338dc3 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 27 Mar 2025 16:02:35 +0100 Subject: [PATCH 14/15] go go gadget: replace uterus with 30lb bowling ball --- changelog | 5 +- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../blocks/generic/BlockSkeletonHolder.java | 114 ++++++ .../java/com/hbm/crafting/WeaponRecipes.java | 2 +- .../java/com/hbm/entity/EntityMappings.java | 6 - .../entity/mob/siege/EntitySiegeSkeleton.java | 181 ---------- .../hbm/entity/mob/siege/EntitySiegeUFO.java | 144 -------- .../entity/mob/siege/EntitySiegeZombie.java | 156 --------- .../java/com/hbm/inventory/material/Mats.java | 2 +- .../inventory/recipes/AssemblerRecipes.java | 29 +- .../inventory/recipes/PedestalRecipes.java | 13 + src/main/java/com/hbm/items/ItemEnums.java | 2 +- src/main/java/com/hbm/items/ModItems.java | 24 -- src/main/java/com/hbm/main/ClientProxy.java | 7 +- .../java/com/hbm/main/CraftingManager.java | 8 - src/main/java/com/hbm/main/MainRegistry.java | 7 + .../java/com/hbm/main/ResourceManager.java | 6 + .../hbm/render/entity/mob/RenderGhost.java | 4 +- .../entity/mob/RenderSiegeSkeleton.java | 40 --- .../hbm/render/entity/mob/RenderSiegeUFO.java | 55 --- .../render/entity/mob/RenderSiegeZombie.java | 39 --- .../hbm/render/model/ModelSiegeZombie.java | 35 -- .../render/tileentity/RenderPedestalTile.java | 4 - .../tileentity/RenderSkeletonHolder.java | 72 ++++ .../java/com/hbm/tileentity/TileMappings.java | 2 + src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../hbm/models/blocks/skeleton_holder.obj | 330 ++++++++++++++++++ .../hbm/textures/blocks/dungeon_spawner.png | Bin 0 -> 714 bytes .../assets/hbm/textures/entity/siege_buff.png | Bin 1669 -> 0 bytes .../assets/hbm/textures/entity/siege_clay.png | Bin 2285 -> 0 bytes .../assets/hbm/textures/entity/siege_desh.png | Bin 492 -> 0 bytes .../assets/hbm/textures/entity/siege_dnt.png | Bin 540 -> 0 bytes .../hbm/textures/entity/siege_drill_buff.png | Bin 906 -> 0 bytes .../hbm/textures/entity/siege_drill_clay.png | Bin 925 -> 0 bytes .../hbm/textures/entity/siege_drill_desh.png | Bin 912 -> 0 bytes .../hbm/textures/entity/siege_drill_dnt.png | Bin 926 -> 0 bytes .../hbm/textures/entity/siege_drill_gold.png | Bin 910 -> 0 bytes .../hbm/textures/entity/siege_drill_iron.png | Bin 886 -> 0 bytes .../textures/entity/siege_drill_schrab.png | Bin 925 -> 0 bytes .../textures/entity/siege_drill_silver.png | Bin 890 -> 0 bytes .../hbm/textures/entity/siege_drill_stone.png | Bin 920 -> 0 bytes .../assets/hbm/textures/entity/siege_gold.png | Bin 512 -> 0 bytes .../assets/hbm/textures/entity/siege_iron.png | Bin 488 -> 0 bytes .../hbm/textures/entity/siege_schrab.png | Bin 477 -> 0 bytes .../hbm/textures/entity/siege_silver.png | Bin 481 -> 0 bytes .../hbm/textures/entity/siege_stone.png | Bin 1588 -> 0 bytes .../hbm/textures/entity/ufo_siege_buff.png | Bin 413 -> 0 bytes .../hbm/textures/entity/ufo_siege_clay.png | Bin 471 -> 0 bytes .../hbm/textures/entity/ufo_siege_desh.png | Bin 449 -> 0 bytes .../hbm/textures/entity/ufo_siege_dnt.png | Bin 482 -> 0 bytes .../hbm/textures/entity/ufo_siege_gold.png | Bin 468 -> 0 bytes .../hbm/textures/entity/ufo_siege_iron.png | Bin 443 -> 0 bytes .../hbm/textures/entity/ufo_siege_schrab.png | Bin 451 -> 0 bytes .../hbm/textures/entity/ufo_siege_silver.png | Bin 441 -> 0 bytes .../hbm/textures/entity/ufo_siege_stone.png | Bin 439 -> 0 bytes .../textures/items/item_secret.aberrator.png | Bin 0 -> 602 bytes 57 files changed, 573 insertions(+), 721 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java delete mode 100644 src/main/java/com/hbm/entity/mob/siege/EntitySiegeSkeleton.java delete mode 100644 src/main/java/com/hbm/entity/mob/siege/EntitySiegeUFO.java delete mode 100644 src/main/java/com/hbm/entity/mob/siege/EntitySiegeZombie.java delete mode 100644 src/main/java/com/hbm/render/entity/mob/RenderSiegeSkeleton.java delete mode 100644 src/main/java/com/hbm/render/entity/mob/RenderSiegeUFO.java delete mode 100644 src/main/java/com/hbm/render/entity/mob/RenderSiegeZombie.java delete mode 100644 src/main/java/com/hbm/render/model/ModelSiegeZombie.java create mode 100644 src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java create mode 100644 src/main/resources/assets/hbm/models/blocks/skeleton_holder.obj create mode 100644 src/main/resources/assets/hbm/textures/blocks/dungeon_spawner.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_buff.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_clay.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_desh.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_dnt.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_drill_buff.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_drill_clay.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_drill_desh.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_drill_dnt.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_drill_gold.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_drill_iron.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_drill_schrab.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_drill_silver.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_drill_stone.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_gold.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_iron.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_schrab.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_silver.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/siege_stone.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/ufo_siege_buff.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/ufo_siege_clay.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/ufo_siege_desh.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/ufo_siege_dnt.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/ufo_siege_gold.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/ufo_siege_iron.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/ufo_siege_schrab.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/ufo_siege_silver.png delete mode 100644 src/main/resources/assets/hbm/textures/entity/ufo_siege_stone.png create mode 100644 src/main/resources/assets/hbm/textures/items/item_secret.aberrator.png diff --git a/changelog b/changelog index 7cde1fc3f..46fa9943d 100644 --- a/changelog +++ b/changelog @@ -5,6 +5,9 @@ * Removed flat magnets * Taint should now also affect non-solid blocks that are full cubes * Reduced the AoE size of 7.62mm, .50 BMG and 10 gauge explosive projectiles +* Removed the old gun mechanism items, turrets now use the new cast parts +* A secret weapon and its variant have become craftable ## Fixed -* Fixed taint destroying bedrock \ No newline at end of file +* Fixed taint destroying bedrock +* Fixed ferrouranium plate not being castable \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 8ea4d1a27..d86f1dd15 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -275,6 +275,7 @@ public class ModBlocks { public static Block part_emitter; public static Block deco_loot; public static Block pedestal; + public static Block skeleton_holder; public static Block bobblehead; public static Block snowglobe; public static Block plushie; @@ -1464,6 +1465,7 @@ public class ModBlocks { part_emitter = new PartEmitter().setBlockName("part_emitter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":part_top"); deco_loot = new BlockLoot().setBlockName("deco_loot").setCreativeTab(null).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); pedestal = new BlockPedestal().setBlockName("pedestal").setCreativeTab(null).setHardness(2.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":pedestal_top"); + skeleton_holder = new BlockSkeletonHolder().setBlockName("skeleton_holder").setCreativeTab(null).setHardness(2.0F).setResistance(10.0F).setBlockTextureName("soul_sand"); bobblehead = new BlockBobble().setBlockName("bobblehead").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); snowglobe = new BlockSnowglobe().setBlockName("snowglobe").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":glass_boron"); plushie = new BlockPlushie().setBlockName("plushie").setStepSound(Block.soundTypeCloth).setResistance(50_0000.0F).setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side"); @@ -2608,6 +2610,7 @@ public class ModBlocks { GameRegistry.registerBlock(part_emitter, ItemBlockBase.class, part_emitter.getUnlocalizedName()); GameRegistry.registerBlock(deco_loot, deco_loot.getUnlocalizedName()); GameRegistry.registerBlock(pedestal, pedestal.getUnlocalizedName()); + register(skeleton_holder); GameRegistry.registerBlock(bobblehead, ItemBlockMeta.class, bobblehead.getUnlocalizedName()); GameRegistry.registerBlock(snowglobe, ItemBlockMeta.class, snowglobe.getUnlocalizedName()); GameRegistry.registerBlock(plushie, ItemBlockBase.class, plushie.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java b/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java new file mode 100644 index 000000000..e64243534 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java @@ -0,0 +1,114 @@ +package com.hbm.blocks.generic; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class BlockSkeletonHolder extends BlockContainer { + + public BlockSkeletonHolder() { + super(Material.rock); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntitySkeletonHolder(); + } + + @Override public int getRenderType() { return -1; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 5, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 4, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + + @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) return true; + if(player.isSneaking()) return false; + + TileEntitySkeletonHolder pedestal = (TileEntitySkeletonHolder) world.getTileEntity(x, y, z); + + if(pedestal.item == null && player.getHeldItem() != null) { + pedestal.item = player.getHeldItem().copy(); + player.inventory.mainInventory[player.inventory.currentItem] = null; + pedestal.markDirty(); + world.markBlockForUpdate(x, y, z); + return true; + } else if(pedestal.item != null && player.getHeldItem() == null) { + player.inventory.mainInventory[player.inventory.currentItem] = pedestal.item.copy(); + pedestal.item = null; + pedestal.markDirty(); + world.markBlockForUpdate(x, y, z); + return true; + } + + return false; + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + + if(!world.isRemote) { + TileEntitySkeletonHolder entity = (TileEntitySkeletonHolder) world.getTileEntity(x, y, z); + if(entity != null && entity.item != null) { + EntityItem item = new EntityItem(world, x + 0.5, y, z + 0.5, entity.item.copy()); + world.spawnEntityInWorld(item); + } + } + + super.breakBlock(world, x, y, z, block, meta); + } + + public static class TileEntitySkeletonHolder extends TileEntity { + + public ItemStack item; + + @Override public boolean canUpdate() { return false; } + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + this.writeToNBT(nbt); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + this.readFromNBT(pkt.func_148857_g()); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.item = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("item")); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + if(this.item != null) { + NBTTagCompound stack = new NBTTagCompound(); + this.item.writeToNBT(stack); + nbt.setTag("item", stack); + } + } + } +} diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index 49c31e360..959d5eabc 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -187,7 +187,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.mp_chip_5, 1), new Object[] { "P", "C", "S", 'P', ANY_RUBBER.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID), 'S', ModBlocks.steel_scaffold }); //Turrets - CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.turret_sentry, 1), new Object[] { "PPL", " MD", " SC", 'P', STEEL.plate(), 'M', ModItems.motor, 'L', ModItems.mechanism_rifle_1, 'S', ModBlocks.steel_scaffold, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'D', ModItems.crt_display }); + CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.turret_sentry, 1), new Object[] { "PPL", " MD", " SC", 'P', STEEL.plate(), 'M', ModItems.motor, 'L', GUNMETAL.mechanism(), 'S', ModBlocks.steel_scaffold, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'D', ModItems.crt_display }); //Guns CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_b92), new Object[] { "DDD", "SSC", " R", 'D', ModItems.plate_dineutronium, 'S', STAR.ingot(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID), 'R', ModItems.gun_lasrifle }); diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 9d0437c72..8a4cd26e1 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -17,7 +17,6 @@ import com.hbm.entity.missile.EntityMissileTier4.*; import com.hbm.entity.mob.*; import com.hbm.entity.mob.botprime.*; import com.hbm.entity.mob.glyphid.*; -import com.hbm.entity.mob.siege.*; import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; import com.hbm.entity.train.EntityRailCarBase.BoundingBoxDummyEntity; @@ -198,7 +197,6 @@ public class EntityMappings { addEntity(EntityNukeTorex.class, "entity_effect_torex", 250, false); addEntity(EntityArtilleryShell.class, "entity_artillery_shell", 1000); addEntity(EntityArtilleryRocket.class, "entity_himars", 1000); - addEntity(EntitySiegeTunneler.class, "entity_meme_tunneler", 1000); addEntity(EntityCog.class, "entity_stray_cog", 1000); addEntity(EntitySawblade.class, "entity_stray_saw", 1000); addEntity(EntityChemical.class, "entity_chemthrower_splash", 1000); @@ -237,10 +235,6 @@ public class EntityMappings { addMob(EntityFBI.class, "entity_ntm_fbi", 0x008000, 0x404040); addMob(EntityFBIDrone.class, "entity_ntm_fbi_drone", 0x008000, 0x404040); addMob(EntityRADBeast.class, "entity_ntm_radiation_blaze", 0x303030, 0x008000); - addMob(EntitySiegeZombie.class, "entity_meme_zombie", 0x303030, 0x008000); - addMob(EntitySiegeSkeleton.class, "entity_meme_skeleton", 0x303030, 0x000080); - addMob(EntitySiegeUFO.class, "entity_meme_ufo", 0x303030, 0x800000); - addMob(EntitySiegeCraft.class, "entity_meme_craft", 0x303030, 0x808000); addMob(EntityGlyphid.class, "entity_glyphid", 0x724A21, 0xD2BB72); addMob(EntityGlyphidBrawler.class, "entity_glyphid_brawler", 0x273038, 0xD2BB72); addMob(EntityGlyphidBehemoth.class, "entity_glyphid_behemoth", 0x267F00, 0xD2BB72); diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeSkeleton.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeSkeleton.java deleted file mode 100644 index 46e685a52..000000000 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeSkeleton.java +++ /dev/null @@ -1,181 +0,0 @@ -package com.hbm.entity.mob.siege; - -import com.hbm.entity.projectile.EntitySiegeLaser; -import com.hbm.items.ModItems; - -import api.hbm.entity.IRadiationImmune; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IEntityLivingData; -import net.minecraft.entity.IRangedAttackMob; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIArrowAttack; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAINearestAttackableTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntitySiegeSkeleton extends EntityMob implements IRangedAttackMob, IRadiationImmune { - - public EntitySiegeSkeleton(World world) { - super(world); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F)); - this.tasks.addTask(3, new EntityAIWander(this, 1.0D)); - this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(5, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); - this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); - } - - @Override - public boolean attackEntityFrom(DamageSource source, float damage) { - - if(this.isEntityInvulnerable()) - return false; - - SiegeTier tier = this.getTier(); - - if(tier.fireProof && source.isFireDamage()) { - this.extinguish(); - return false; - } - - if(tier.noFall && source == DamageSource.fall) - return false; - - //noFF can't be harmed by other mobs - if(tier.noFriendlyFire && source instanceof EntityDamageSource && !(((EntityDamageSource) source).getEntity() instanceof EntityPlayer)) - return false; - - damage -= tier.dt; - - if(damage < 0) { - worldObj.playSoundAtEntity(this, "random.break", 5F, 1.0F + rand.nextFloat() * 0.5F); - return false; - } - - damage *= (1F - tier.dr); - - return super.attackEntityFrom(source, damage); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.getDataWatcher().addObject(12, (int) 0); - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(40.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.23D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); - } - - public void setTier(SiegeTier tier) { - this.getDataWatcher().updateObject(12, tier.id); - - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).applyModifier(new AttributeModifier("Tier Speed Mod", tier.speedMod, 1)); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier("Tier Damage Mod", tier.damageMod, 1)); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(tier.health); - this.setHealth(this.getMaxHealth()); - } - - public SiegeTier getTier() { - SiegeTier tier = SiegeTier.tiers[this.getDataWatcher().getWatchableObjectInt(12)]; - return tier != null ? tier : SiegeTier.CLAY; - } - - @Override - protected void addRandomArmor() { - super.addRandomArmor(); - this.setCurrentItemOrArmor(0, new ItemStack(ModItems.detonator_laser)); - } - - @Override - public void writeEntityToNBT(NBTTagCompound nbt) { - super.writeEntityToNBT(nbt); - nbt.setInteger("siegeTier", this.getTier().id); - } - - @Override - public void readEntityFromNBT(NBTTagCompound nbt) { - super.readEntityFromNBT(nbt); - this.setTier(SiegeTier.tiers[nbt.getInteger("siegeTier")]); - } - - @Override - public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { - this.setTier(SiegeTier.tiers[rand.nextInt(SiegeTier.getLength())]); - this.addRandomArmor(); - return super.onSpawnWithEgg(data); - } - - @Override - public void attackEntityWithRangedAttack(EntityLivingBase target, float f) { - - double x = posX; - double y = posY + this.getEyeHeight(); - double z = posZ; - - Vec3 vec = Vec3.createVectorHelper(target.posX - x, target.posY + target.getYOffset() + target.height * 0.5 - y, target.posZ - z).normalize(); - - SiegeTier tier = this.getTier(); - - for(int i = 0; i < 3; i++) { - EntitySiegeLaser laser = new EntitySiegeLaser(worldObj, this); - laser.setPosition(x, y, z); - laser.setThrowableHeading(vec.xCoord, vec.yCoord, vec.zCoord, 1F, i == 1 ? 0.15F : 5F); - laser.setColor(0x808000); - laser.setDamage(tier.damageMod); - laser.setExplosive(tier.laserExplosive); - laser.setBreakChance(tier.laserBreak); - if(tier.laserIncendiary) laser.setIncendiary(); - worldObj.spawnEntityInWorld(laser); - } - - this.playSound("hbm:weapon.ballsLaser", 2.0F, 0.9F + rand.nextFloat() * 0.2F); - } - - @Override - protected boolean isAIEnabled() { - return true; - } - - @Override - protected String getLivingSound() { - return "hbm:entity.siegeIdle"; - } - - @Override - protected String getHurtSound() { - return "hbm:entity.siegeHurt"; - } - - @Override - protected String getDeathSound() { - return "hbm:entity.siegeDeath"; - } - - @Override - protected void dropFewItems(boolean byPlayer, int fortune) { - - if(byPlayer) { - for(ItemStack drop : this.getTier().dropItem) { - this.entityDropItem(drop.copy(), 0F); - } - } - } -} diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeUFO.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeUFO.java deleted file mode 100644 index 12551252a..000000000 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeUFO.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.hbm.entity.mob.siege; - -import com.hbm.entity.mob.EntityUFOBase; -import com.hbm.entity.projectile.EntitySiegeLaser; -import api.hbm.entity.IRadiationImmune; -import net.minecraft.entity.IEntityLivingData; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntitySiegeUFO extends EntityUFOBase implements IRadiationImmune { - - private int attackCooldown; - - public EntitySiegeUFO(World world) { - super(world); - this.setSize(1.5F, 1F); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.getDataWatcher().addObject(12, (int) 0); - } - - public void setTier(SiegeTier tier) { - this.getDataWatcher().updateObject(12, tier.id); - - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(tier.speedMod); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(tier.health * 0.25); - this.setHealth(this.getMaxHealth()); - } - - public SiegeTier getTier() { - SiegeTier tier = SiegeTier.tiers[this.getDataWatcher().getWatchableObjectInt(12)]; - return tier != null ? tier : SiegeTier.CLAY; - } - - @Override - public boolean attackEntityFrom(DamageSource source, float damage) { - - if(this.isEntityInvulnerable()) - return false; - - SiegeTier tier = this.getTier(); - - if(tier.fireProof && source.isFireDamage()) { - this.extinguish(); - return false; - } - - //noFF can't be harmed by other mobs - if(tier.noFriendlyFire && source instanceof EntityDamageSource && !(((EntityDamageSource) source).getEntity() instanceof EntityPlayer)) - return false; - - damage -= tier.dt; - - if(damage < 0) { - worldObj.playSoundAtEntity(this, "random.break", 5F, 1.0F + rand.nextFloat() * 0.5F); - return false; - } - - damage *= (1F - tier.dr); - - return super.attackEntityFrom(source, damage); - } - - @Override - protected void updateEntityActionState() { - super.updateEntityActionState(); - - if(this.courseChangeCooldown > 0) { - this.courseChangeCooldown--; - } - if(this.scanCooldown > 0) { - this.scanCooldown--; - } - - if(!worldObj.isRemote) { - if(this.attackCooldown > 0) { - this.attackCooldown--; - } - - if(this.attackCooldown == 0 && this.target != null) { - this.attackCooldown = 20 + rand.nextInt(5); - - double x = posX; - double y = posY; - double z = posZ; - - Vec3 vec = Vec3.createVectorHelper(target.posX - x, target.posY + target.height * 0.5 - y, target.posZ - z).normalize(); - SiegeTier tier = this.getTier(); - - EntitySiegeLaser laser = new EntitySiegeLaser(worldObj, this); - laser.setPosition(x, y, z); - laser.setThrowableHeading(vec.xCoord, vec.yCoord, vec.zCoord, 1F, 0.15F); - laser.setColor(0x802000); - laser.setDamage(tier.damageMod); - laser.setExplosive(tier.laserExplosive); - laser.setBreakChance(tier.laserBreak); - if(tier.laserIncendiary) laser.setIncendiary(); - worldObj.spawnEntityInWorld(laser); - this.playSound("hbm:weapon.ballsLaser", 2.0F, 1.0F); - } - } - - if(this.courseChangeCooldown > 0) { - approachPosition(this.target == null ? 0.25D : 0.5D + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue() * 1); - } - } - - @Override - public void writeEntityToNBT(NBTTagCompound nbt) { - super.writeEntityToNBT(nbt); - nbt.setInteger("siegeTier", this.getTier().id); - } - - @Override - public void readEntityFromNBT(NBTTagCompound nbt) { - super.readEntityFromNBT(nbt); - this.setTier(SiegeTier.tiers[nbt.getInteger("siegeTier")]); - } - - @Override - public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { - this.setTier(SiegeTier.tiers[rand.nextInt(SiegeTier.getLength())]); - return super.onSpawnWithEgg(data); - } - - @Override - protected void dropFewItems(boolean byPlayer, int fortune) { - - if(byPlayer) { - for(ItemStack drop : this.getTier().dropItem) { - this.entityDropItem(drop.copy(), 0F); - } - } - } -} diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeZombie.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeZombie.java deleted file mode 100644 index 82ac62ce8..000000000 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeZombie.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.hbm.entity.mob.siege; - -import api.hbm.entity.IRadiationImmune; -import net.minecraft.entity.IEntityLivingData; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction; -import net.minecraft.entity.ai.EntityAINearestAttackableTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.world.World; - -public class EntitySiegeZombie extends EntityMob implements IRadiationImmune { - - public EntitySiegeZombie(World world) { - super(world); - this.getNavigator().setBreakDoors(true); - this.tasks.addTask(0, new EntityAISwimming(this)); - this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); - this.tasks.addTask(3, new EntityAIMoveTowardsRestriction(this, 1.0D)); - this.tasks.addTask(4, new EntityAIWander(this, 1.0D)); - this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(5, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); - this.setSize(0.6F, 1.8F); - } - - @Override - public boolean attackEntityFrom(DamageSource source, float damage) { - - if(this.isEntityInvulnerable()) - return false; - - SiegeTier tier = this.getTier(); - - if(tier.fireProof && source.isFireDamage()) { - this.extinguish(); - return false; - } - - if(tier.noFall && source == DamageSource.fall) - return false; - - //noFF can't be harmed by other mobs - if(tier.noFriendlyFire && source instanceof EntityDamageSource && !(((EntityDamageSource) source).getEntity() instanceof EntityPlayer)) - return false; - - damage -= tier.dt; - - if(damage < 0) { - worldObj.playSoundAtEntity(this, "random.break", 5F, 1.0F + rand.nextFloat() * 0.5F); - return false; - } - - damage *= (1F - tier.dr); - - return super.attackEntityFrom(source, damage); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.getDataWatcher().addObject(12, (int) 0); - this.getDataWatcher().addObject(13, (byte) 0); - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(40.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.23D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); - } - - public void setTier(SiegeTier tier) { - this.getDataWatcher().updateObject(12, tier.id); - - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).applyModifier(new AttributeModifier("Tier Speed Mod", tier.speedMod, 1)); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier("Tier Damage Mod", tier.damageMod, 1)); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(tier.health); - this.setHealth(this.getMaxHealth()); - } - - public SiegeTier getTier() { - SiegeTier tier = SiegeTier.tiers[this.getDataWatcher().getWatchableObjectInt(12)]; - return tier != null ? tier : SiegeTier.CLAY; - } - - @Override - protected boolean isAIEnabled() { - return true; - } - - @Override - protected String getLivingSound() { - return "hbm:entity.siegeIdle"; - } - - @Override - protected String getHurtSound() { - return "hbm:entity.siegeHurt"; - } - - @Override - protected String getDeathSound() { - return "hbm:entity.siegeDeath"; - } - - @Override - protected void dropFewItems(boolean byPlayer, int fortune) { - - if(byPlayer) { - for(ItemStack drop : this.getTier().dropItem) { - this.entityDropItem(drop.copy(), 0F); - } - } - } - - @Override - public void onUpdate() { - - super.onUpdate(); - if(!worldObj.isRemote) { - this.dataWatcher.updateObject(13, (byte)(this.getAttackTarget() != null ? 1 : 0)); - } - } - - @Override - public void writeEntityToNBT(NBTTagCompound nbt) { - super.writeEntityToNBT(nbt); - nbt.setInteger("siegeTier", this.getTier().id); - } - - @Override - public void readEntityFromNBT(NBTTagCompound nbt) { - super.readEntityFromNBT(nbt); - this.setTier(SiegeTier.tiers[nbt.getInteger("siegeTier")]); - } - - @Override - public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { - this.setTier(SiegeTier.tiers[rand.nextInt(SiegeTier.getLength())]); - return super.onSpawnWithEgg(data); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index 16bc6378b..4a61981ff 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -141,7 +141,7 @@ public class Mats { public static final NTMMaterial MAT_DURA = makeSmeltable(_AS + 3, DURA, 0x183039, 0x030B0B, 0x376373).setAutogen(BOLT, DUST, PLATE, CASTPLATE, PIPE, BLOCK, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER, GRIP).m(); public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setAutogen(DUST, CASTPLATE, BLOCK, HEAVY_COMPONENT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, STOCK, GRIP).m(); public static final NTMMaterial MAT_STAR = makeSmeltable(_AS + 5, STAR, 0xCCCCEA, 0x11111A, 0xA5A5D3).setAutogen(DUST, DENSEWIRE, BLOCK).m(); - public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0xB7B7C9, 0x101022, 0x6B6B8B).setAutogen(HEAVYBARREL, HEAVYRECEIVER).m(); + public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0xB7B7C9, 0x101022, 0x6B6B8B).setAutogen(CASTPLATE, HEAVYBARREL, HEAVYRECEIVER).m(); public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setAutogen(DUST, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m(); public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setAutogen(CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER).m(); public static final NTMMaterial MAT_BBRONZE = makeSmeltable(_AS + 16, BBRONZE, 0xE19A69, 0x485353, 0x987D65).setAutogen(CASTPLATE, LIGHTBARREL, LIGHTRECEIVER).m(); diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index e4e576ef2..c9aaeb836 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -625,34 +625,31 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModBlocks.turret_chekhov, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 16), - new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new OreDictStack(STEEL.pipe(), 3), - new ComparableStack(ModItems.mechanism_rifle_2, 1), + new OreDictStack(GUNMETAL.mechanism(), 3), new ComparableStack(ModBlocks.crate_iron, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_friendly, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 16), - new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC), new OreDictStack(STEEL.pipe(), 3), - new ComparableStack(ModItems.mechanism_rifle_1, 1), + new OreDictStack(GUNMETAL.mechanism(), 1), new ComparableStack(ModBlocks.crate_iron, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_jeremy, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 16), - new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new ComparableStack(ModItems.motor_desh, 1), new OreDictStack(STEEL.shell(), 3), - new ComparableStack(ModItems.mechanism_launcher_2, 1), + new OreDictStack(WEAPONSTEEL.mechanism(), 3), new ComparableStack(ModBlocks.crate_steel, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); @@ -664,42 +661,39 @@ public class AssemblerRecipes extends SerializableRecipe { new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new ComparableStack(ModItems.motor_desh, 1), new OreDictStack(CU.ingot(), 32), - new ComparableStack(ModItems.mechanism_special, 1), + new OreDictStack(BIGMT.mechanism(), 3), new ComparableStack(ModItems.battery_lithium, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_richard, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 16), - new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new OreDictStack(ANY_PLASTIC.ingot(), 2), new OreDictStack(STEEL.shell(), 8), - new ComparableStack(ModItems.mechanism_launcher_2, 1), + new OreDictStack(WEAPONSTEEL.mechanism(), 3), new ComparableStack(ModBlocks.crate_steel, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_howard, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 24), - new OreDictStack(DURA.ingot(), 6), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.motor_desh, 2), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.ADVANCED), new OreDictStack(STEEL.pipe(), 10), - new ComparableStack(ModItems.mechanism_rifle_2, 2), + new OreDictStack(WEAPONSTEEL.mechanism(), 3), new ComparableStack(ModBlocks.crate_steel, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_maxwell, 1), new AStack[] { new ComparableStack(ModBlocks.machine_lithium_battery, 1), new OreDictStack(STEEL.ingot(), 24), - new OreDictStack(DURA.ingot(), 6), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.ADVANCED), new OreDictStack(STEEL.pipe(), 4), - new ComparableStack(ModItems.mechanism_special, 3), + new OreDictStack(BIGMT.mechanism(), 3), new ComparableStack(ModItems.magnetron, 16), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), new ComparableStack(ModItems.crt_display, 1) @@ -707,33 +701,30 @@ public class AssemblerRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModBlocks.turret_fritz, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 16), - new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED), new OreDictStack(STEEL.pipe(), 8), - new ComparableStack(ModItems.mechanism_launcher_1, 1), + new OreDictStack(GUNMETAL.mechanism(), 3), new ComparableStack(ModBlocks.barrel_steel, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_arty, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 128), - new OreDictStack(DURA.ingot(), 32), new ComparableStack(ModItems.motor_desh, 5), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.ADVANCED), new OreDictStack(STEEL.pipe(), 12), - new ComparableStack(ModItems.mechanism_launcher_2, 3), + new OreDictStack(WEAPONSTEEL.mechanism(), 16), new ComparableStack(ModBlocks.machine_radar, 1), new ComparableStack(ModItems.crt_display, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.turret_himars, 1), new AStack[] { new ComparableStack(ModBlocks.machine_battery, 1), new OreDictStack(STEEL.ingot(), 128), - new OreDictStack(DURA.ingot(), 64), new OreDictStack(ANY_PLASTIC.ingot(), 64), new ComparableStack(ModItems.motor_desh, 5), new ComparableStack(ModItems.circuit, 8, EnumCircuitType.ADVANCED), - new ComparableStack(ModItems.mechanism_launcher_2, 5), + new OreDictStack(BIGMT.mechanism(), 8), new ComparableStack(ModBlocks.machine_radar, 1), new ComparableStack(ModItems.crt_display, 1) }, 300); diff --git a/src/main/java/com/hbm/inventory/recipes/PedestalRecipes.java b/src/main/java/com/hbm/inventory/recipes/PedestalRecipes.java index c5d5c95bb..cba9cb424 100644 --- a/src/main/java/com/hbm/inventory/recipes/PedestalRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/PedestalRecipes.java @@ -74,6 +74,15 @@ public class PedestalRecipes extends SerializableRecipe { new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL), new ComparableStack(ModItems.item_secret, 2, EnumSecretType.CONTROLLER), new ComparableStack(ModItems.item_secret, 4, EnumSecretType.SELENIUM_STEEL)) .extra(PedestalExtraCondition.FULL_MOON)); + recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_aberrator), + null, new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), null, + new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new OreDictStack(BIGMT.mechanism(), 4), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), + null, new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), null)); + recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_aberrator_eott), + new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), + new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new OreDictStack(BIGMT.mechanism(), 16), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), + new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR))); + recipes.add(new PedestalRecipe(new ItemStack(ModItems.ammo_secret, 1, EnumAmmoSecret.FOLLY_SM.ordinal()), new OreDictStack(STAR.ingot(), 1), new ComparableStack(ModItems.powder_magic), new OreDictStack(STAR.ingot(), 1), new ComparableStack(ModItems.powder_magic), new ComparableStack(ModBlocks.moon_turf), new ComparableStack(ModItems.powder_magic), @@ -84,6 +93,10 @@ public class PedestalRecipes extends SerializableRecipe { new ComparableStack(ModItems.powder_magic), new ComparableStack(ModItems.ammo_standard, 4, EnumAmmo.NUKE_HIGH), new ComparableStack(ModItems.powder_magic), new OreDictStack(STAR.ingot(), 1), new ComparableStack(ModItems.powder_magic), new OreDictStack(STAR.ingot(), 1)) .extra(PedestalExtraCondition.FULL_MOON)); + recipes.add(new PedestalRecipe(new ItemStack(ModItems.ammo_secret, 5, EnumAmmoSecret.P35_800.ordinal()), + null, null, null, + null, new ComparableStack(ModItems.item_secret, 1, EnumSecretType.ABERRATOR), null, + null, null, null)); } @Override diff --git a/src/main/java/com/hbm/items/ItemEnums.java b/src/main/java/com/hbm/items/ItemEnums.java index 1adbc375b..e832c102a 100644 --- a/src/main/java/com/hbm/items/ItemEnums.java +++ b/src/main/java/com/hbm/items/ItemEnums.java @@ -79,7 +79,7 @@ public class ItemEnums { } public static enum EnumSecretType { - CANISTER, CONTROLLER, SELENIUM_STEEL + CANISTER, CONTROLLER, SELENIUM_STEEL, ABERRATOR } public static enum EnumCasingType { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index b712e47a4..a7bf99f5f 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -584,14 +584,6 @@ public class ModItems { public static ItemEnumMulti circuit_star_component; public static Item circuit_star; - public static Item mechanism_revolver_1; - public static Item mechanism_revolver_2; - public static Item mechanism_rifle_1; - public static Item mechanism_rifle_2; - public static Item mechanism_launcher_1; - public static Item mechanism_launcher_2; - public static Item mechanism_special; - public static Item assembly_nuke; public static Item casing; @@ -2830,13 +2822,6 @@ public class ModItems { circuit_star_piece = (ItemEnumMulti) new ItemEnumMulti(ScrapType.class, true, true).setUnlocalizedName("circuit_star_piece").setCreativeTab(null); circuit_star_component = (ItemEnumMulti) new ItemCircuitStarComponent().setUnlocalizedName("circuit_star_component").setCreativeTab(null); circuit_star = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("circuit_star").setCreativeTab(null).setTextureName(RefStrings.MODID + ":circuit_star"); - mechanism_revolver_1 = new Item().setUnlocalizedName("mechanism_revolver_1").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_1"); - mechanism_revolver_2 = new Item().setUnlocalizedName("mechanism_revolver_2").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_3"); - mechanism_rifle_1 = new Item().setUnlocalizedName("mechanism_rifle_1").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_2"); - mechanism_rifle_2 = new Item().setUnlocalizedName("mechanism_rifle_2").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_4"); - mechanism_launcher_1 = new Item().setUnlocalizedName("mechanism_launcher_1").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_5"); - mechanism_launcher_2 = new Item().setUnlocalizedName("mechanism_launcher_2").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_6"); - mechanism_special = new Item().setUnlocalizedName("mechanism_special").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":mechanism_7"); assembly_nuke = new Item().setUnlocalizedName("assembly_nuke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nuke"); casing = new ItemEnumMulti(ItemEnums.EnumCasingType.class, true, true).setUnlocalizedName("casing").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":casing"); @@ -5666,15 +5651,6 @@ public class ModItems { GameRegistry.registerItem(circuit_star_component, circuit_star_component.getUnlocalizedName()); GameRegistry.registerItem(circuit_star, circuit_star.getUnlocalizedName()); - //Gun Mechanisms - GameRegistry.registerItem(mechanism_revolver_1, mechanism_revolver_1.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_revolver_2, mechanism_revolver_2.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_rifle_1, mechanism_rifle_1.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_rifle_2, mechanism_rifle_2.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_launcher_1, mechanism_launcher_1.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_launcher_2, mechanism_launcher_2.getUnlocalizedName()); - GameRegistry.registerItem(mechanism_special, mechanism_special.getUnlocalizedName()); - //Casing GameRegistry.registerItem(casing, casing.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index b726eff94..03a11681f 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -6,7 +6,8 @@ import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; import com.hbm.blocks.generic.BlockPlushie.TileEntityPlushie; - import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; +import com.hbm.blocks.generic.BlockSkeletonHolder.TileEntitySkeletonHolder; +import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.blocks.machine.Floodlight.TileEntityFloodlight; import com.hbm.blocks.machine.MachineFan.TileEntityFan; import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter; @@ -201,6 +202,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFloodlight.class, new RenderFloodlight()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLoot.class, new RenderLoot()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPedestal.class, new RenderPedestalTile()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySkeletonHolder.class, new RenderSkeletonHolder()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBobble.class, new RenderBobble()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySnowglobe.class, new RenderSnowglobe()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPlushie.class, new RenderPlushie()); @@ -740,10 +742,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityRADBeast.class, new RenderRADBeast()); RenderingRegistry.registerEntityRenderingHandler(EntityBlockSpider.class, new RenderBlockSpider()); RenderingRegistry.registerEntityRenderingHandler(EntityUFO.class, new RenderUFO()); - RenderingRegistry.registerEntityRenderingHandler(EntitySiegeZombie.class, new RenderSiegeZombie()); - RenderingRegistry.registerEntityRenderingHandler(EntitySiegeUFO.class, new RenderSiegeUFO()); RenderingRegistry.registerEntityRenderingHandler(EntitySiegeCraft.class, new RenderSiegeCraft()); - RenderingRegistry.registerEntityRenderingHandler(EntitySiegeSkeleton.class, new RenderSiegeSkeleton()); RenderingRegistry.registerEntityRenderingHandler(EntitySiegeTunneler.class, new RenderSiegeTunneler()); RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost()); RenderingRegistry.registerEntityRenderingHandler(EntityGlyphid.class, new RenderGlyphid()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 452d1cbe7..c9c6a1eeb 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -351,14 +351,6 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.stamp_desh_flat, 1), new Object[] { "BDB", "DSD", "BDB", 'B', brick, 'D', DESH.ingot(), 'S', FERRO.ingot() }); } - addRecipeAuto(new ItemStack(ModItems.mechanism_revolver_1, 1), new Object[] { "ICI", "CAC", "ICI", 'I', IRON.plate(), 'C', CU.ingot(), 'A', AL.ingot() }); - addRecipeAuto(new ItemStack(ModItems.mechanism_revolver_2, 1), new Object[] { "ATA", "TDT", "ATA", 'A', ALLOY.plate(), 'T', W.ingot(), 'D', DURA.ingot() }); - addRecipeAuto(new ItemStack(ModItems.mechanism_rifle_1, 1), new Object[] { "ICI", "MAM", "ICI", 'I', IRON.plate(), 'C', CU.ingot(), 'A', AL.ingot(), 'M', ModItems.mechanism_revolver_1 }); - addRecipeAuto(new ItemStack(ModItems.mechanism_rifle_2, 1), new Object[] { "ATA", "MDM", "ATA", 'A', ALLOY.plate(), 'T', W.ingot(), 'D', DURA.ingot(), 'M', ModItems.mechanism_revolver_2 }); - addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_1, 1), new Object[] { "TTT", "SSS", "BBI", 'T', TI.plate(), 'S', STEEL.ingot(), 'B', W.bolt(), 'I', MINGRADE.ingot() }); - addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_2, 1), new Object[] { "TTT", "SSS", "BBI", 'T', ALLOY.plate(), 'S', ANY_PLASTIC.ingot(), 'B', W.bolt(), 'I', DESH.ingot() }); - addRecipeAuto(new ItemStack(ModItems.mechanism_special, 1), new Object[] { "PCI", "ISS", "PCI", 'P', ModItems.plate_desh, 'C', ModItems.coil_advanced_alloy, 'I', STAR.ingot(), 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) }); - addRecipeAuto(new ItemStack(ModBlocks.watz_pump, 1), new Object[] { "MPM", "PCP", "PSP", 'M', ModItems.motor_desh, 'P', ANY_RESISTANTALLOY.plateCast(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID), 'S', ModItems.pipes_steel }); addRecipeAuto(new ItemStack(ModBlocks.reinforced_stone, 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.cobblestone, 'B', Blocks.stone }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 8f7f53640..35e7e03e3 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -1666,6 +1666,13 @@ public class MainRegistry { ignoreMappings.add("hbm:item.bobmazon_tools"); ignoreMappings.add("hbm:item.missile_carrier"); ignoreMappings.add("hbm:item.magnet_circular"); + ignoreMappings.add("hbm:item.mechanism_revolver_1"); + ignoreMappings.add("hbm:item.mechanism_revolver_2"); + ignoreMappings.add("hbm:item.mechanism_rifle_1"); + ignoreMappings.add("hbm:item.mechanism_rifle_2"); + ignoreMappings.add("hbm:item.mechanism_launcher_1"); + ignoreMappings.add("hbm:item.mechanism_launcher_2"); + ignoreMappings.add("hbm:item.mechanism_special"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 6f56ba605..51f55b29f 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -349,6 +349,9 @@ public class ResourceManager { public static IModelCustomNamed silo_hatch_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/silo_hatch_large.obj")).asVBO(); + //Skeleton + public static final IModelCustom skeleton_holder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/skeleton_holder.obj"),false).asVBO(); + //Lights public static final IModelCustom lantern = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/trinkets/lantern.obj")); public static final IModelCustom cage_lamp = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/lights/cage_lamp.obj")); @@ -760,6 +763,9 @@ public class ResourceManager { public static final ResourceLocation transition_seal_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/transition_seal.png"); public static final ResourceLocation fire_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/fire_door.png"); + //Skeleton + public static final ResourceLocation skeleton_holder_tex = new ResourceLocation(RefStrings.MODID, "textures/particle/skeleton.png"); + //Lantern public static final ResourceLocation lantern_tex = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/lantern.png"); public static final ResourceLocation lantern_rusty_tex = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/lantern_rusty.png"); diff --git a/src/main/java/com/hbm/render/entity/mob/RenderGhost.java b/src/main/java/com/hbm/render/entity/mob/RenderGhost.java index 98c1484a9..812107d0c 100644 --- a/src/main/java/com/hbm/render/entity/mob/RenderGhost.java +++ b/src/main/java/com/hbm/render/entity/mob/RenderGhost.java @@ -4,8 +4,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.entity.mob.EntityGhost; import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelSiegeZombie; +import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.entity.RenderBiped; import net.minecraft.entity.Entity; @@ -15,7 +15,7 @@ import net.minecraft.util.ResourceLocation; public class RenderGhost extends RenderBiped { public RenderGhost() { - super(new ModelSiegeZombie(0.0F), 0.5F, 1.0F); + super(new ModelBiped(0.0F), 0.5F, 1.0F); } @Override diff --git a/src/main/java/com/hbm/render/entity/mob/RenderSiegeSkeleton.java b/src/main/java/com/hbm/render/entity/mob/RenderSiegeSkeleton.java deleted file mode 100644 index 932e739ec..000000000 --- a/src/main/java/com/hbm/render/entity/mob/RenderSiegeSkeleton.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.hbm.render.entity.mob; - -import com.hbm.entity.mob.siege.EntitySiegeSkeleton; -import com.hbm.entity.mob.siege.SiegeTier; -import com.hbm.lib.RefStrings; - -import net.minecraft.client.model.ModelSkeleton; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.ResourceLocation; - -public class RenderSiegeSkeleton extends RenderBiped { - - public RenderSiegeSkeleton() { - super(new ModelSkeleton() { - - @Override - public void setLivingAnimations(EntityLivingBase entity, float f0, float f1, float f2) { - this.aimedBow = true; - } - }, 0.5F); - } - - @Override - protected ResourceLocation getEntityTexture(EntityLiving entity) { - return this.getEntityTexture((EntitySiegeSkeleton) entity); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return this.getEntityTexture((EntitySiegeSkeleton) entity); - } - - protected ResourceLocation getEntityTexture(EntitySiegeSkeleton entity) { - SiegeTier tier = entity.getTier(); - return new ResourceLocation(RefStrings.MODID + ":textures/entity/siege_" + tier.name + ".png"); - } -} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderSiegeUFO.java b/src/main/java/com/hbm/render/entity/mob/RenderSiegeUFO.java deleted file mode 100644 index ad9ad0793..000000000 --- a/src/main/java/com/hbm/render/entity/mob/RenderSiegeUFO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.hbm.render.entity.mob; - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.mob.siege.EntitySiegeUFO; -import com.hbm.entity.mob.siege.SiegeTier; -import com.hbm.lib.RefStrings; -import com.hbm.main.ResourceManager; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderSiegeUFO extends Render { - - @Override - public void doRender(Entity entity, double x, double y, double z, float f0, float f1) { - - GL11.glPushMatrix(); - GL11.glTranslated(x, y + 0.25, z); - - EntitySiegeUFO ufo = (EntitySiegeUFO) entity; - - this.bindTexture(getEntityTexture(entity)); - - double rot = (entity.ticksExisted + f1) * 5 % 360D; - GL11.glRotated(rot, 0, 1, 0); - - - if(!ufo.isEntityAlive()) { - float tilt = ufo.deathTime + f1; - GL11.glRotatef(tilt * 5, 1, 0, 1); - } else if(entity.hurtResistantTime > 0) { - GL11.glRotated(Math.sin(System.currentTimeMillis() * 0.01D) * (entity.hurtResistantTime - f1), 1, 0, 0); - } - - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glDisable(GL11.GL_CULL_FACE); - ResourceManager.mini_ufo.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return this.getEntityTexture((EntitySiegeUFO) entity); - } - - protected ResourceLocation getEntityTexture(EntitySiegeUFO entity) { - SiegeTier tier = entity.getTier(); - return new ResourceLocation(RefStrings.MODID + ":textures/entity/ufo_siege_" + tier.name + ".png"); - } -} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderSiegeZombie.java b/src/main/java/com/hbm/render/entity/mob/RenderSiegeZombie.java deleted file mode 100644 index 679d0a9d7..000000000 --- a/src/main/java/com/hbm/render/entity/mob/RenderSiegeZombie.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hbm.render.entity.mob; - -import com.hbm.entity.mob.siege.EntitySiegeZombie; -import com.hbm.entity.mob.siege.SiegeTier; -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelSiegeZombie; - -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.util.ResourceLocation; - -public class RenderSiegeZombie extends RenderBiped { - - public RenderSiegeZombie() { - super(new ModelSiegeZombie(0.0F), 0.5F, 1.0F); - } - - @Override - protected ResourceLocation getEntityTexture(EntityLiving entity) { - return this.getEntityTexture((EntitySiegeZombie) entity); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return this.getEntityTexture((EntitySiegeZombie) entity); - } - - protected ResourceLocation getEntityTexture(EntitySiegeZombie entity) { - SiegeTier tier = entity.getTier(); - return new ResourceLocation(RefStrings.MODID + ":textures/entity/siege_" + tier.name + ".png"); - } - - @Override - protected void func_82421_b() { - this.field_82423_g = new ModelSiegeZombie(1.0F); //armor slots 1, 2, 4 - this.field_82425_h = new ModelSiegeZombie(0.5F); //armor slot 3 - } -} diff --git a/src/main/java/com/hbm/render/model/ModelSiegeZombie.java b/src/main/java/com/hbm/render/model/ModelSiegeZombie.java deleted file mode 100644 index 76bd7c883..000000000 --- a/src/main/java/com/hbm/render/model/ModelSiegeZombie.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.hbm.render.model; - -import com.hbm.entity.mob.siege.EntitySiegeZombie; - -import net.minecraft.client.model.ModelBiped; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; - -public class ModelSiegeZombie extends ModelBiped { - - public ModelSiegeZombie(float p_i1168_1_) { - super(p_i1168_1_, 0.0F, 64, 32); - } - - public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, float p_78087_5_, float p_78087_6_, Entity entity) { - super.setRotationAngles(p_78087_1_, p_78087_2_, p_78087_3_, p_78087_4_, p_78087_5_, p_78087_6_, entity); - - if(entity instanceof EntitySiegeZombie && ((EntitySiegeZombie)entity).getDataWatcher().getWatchableObjectByte(13) != 0) { - float f6 = MathHelper.sin(this.onGround * (float) Math.PI); - float f7 = MathHelper.sin((1.0F - (1.0F - this.onGround) * (1.0F - this.onGround)) * (float) Math.PI); - this.bipedRightArm.rotateAngleZ = 0.0F; - this.bipedLeftArm.rotateAngleZ = 0.0F; - this.bipedRightArm.rotateAngleY = -(0.1F - f6 * 0.6F); - this.bipedLeftArm.rotateAngleY = 0.1F - f6 * 0.6F; - this.bipedRightArm.rotateAngleX = -((float) Math.PI / 2F); - this.bipedLeftArm.rotateAngleX = -((float) Math.PI / 2F); - this.bipedRightArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F; - this.bipedLeftArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F; - this.bipedRightArm.rotateAngleZ += MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F; - this.bipedLeftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F; - this.bipedRightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; - this.bipedLeftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; - } - } -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderPedestalTile.java b/src/main/java/com/hbm/render/tileentity/RenderPedestalTile.java index 6f39d7389..76c606e18 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPedestalTile.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPedestalTile.java @@ -37,10 +37,6 @@ public class RenderPedestalTile extends TileEntitySpecialRenderer { if(!(stack.getItemSpriteNumber() == 0 && stack.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(stack.getItem()).getRenderType()))) { GL11.glTranslated(0, 0.125, 0); GL11.glRotatef(player.prevRotationYaw + (player.rotationYaw - player.prevRotationYaw) * interp + 180, 0.0F, -1.0F, 0.0F); - - if(!RenderManager.instance.options.fancyGraphics) { - GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F); - } GL11.glTranslated(0, Math.sin((player.ticksExisted + interp) * 0.1) * 0.0625, 0); } else { diff --git a/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java b/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java new file mode 100644 index 000000000..c40bf33c4 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java @@ -0,0 +1,72 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.generic.BlockSkeletonHolder.TileEntitySkeletonHolder; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.main.ResourceManager; + +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; + +public class RenderSkeletonHolder extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + + switch(te.getBlockMetadata()) { + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + } + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + RenderHelper.enableStandardItemLighting(); + + bindTexture(ResourceManager.skeleton_holder_tex); + ResourceManager.skeleton_holder.renderPart("Holder1"); + + TileEntitySkeletonHolder pedestal = (TileEntitySkeletonHolder) te; + + if(pedestal.item != null) { + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + ItemStack stack = pedestal.item.copy(); + + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); + + if(stack.getItem() instanceof ItemGunBaseNT) { + GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); + } + + if(!(stack.getItemSpriteNumber() == 0 && stack.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(stack.getItem()).getRenderType()))) { + GL11.glScaled(1.5, 1.5, 1.5); + } + + GL11.glTranslated(0, 0.125, 0); + + EntityItem dummy = new EntityItem(te.getWorldObj(), 0, 0, 0, stack); + dummy.hoverStart = 0.0F; + + RenderItem.renderInFrame = true; + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); + RenderItem.renderInFrame = false; + } + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index d383cdd29..16b57c2ec 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -14,6 +14,7 @@ import com.hbm.blocks.generic.BlockGlyphidSpawner.TileEntityGlpyhidSpawner; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; import com.hbm.blocks.generic.BlockPlushie.TileEntityPlushie; +import com.hbm.blocks.generic.BlockSkeletonHolder.TileEntitySkeletonHolder; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.blocks.generic.BlockSupplyCrate.TileEntitySupplyCrate; import com.hbm.blocks.generic.BlockWandJigsaw.TileEntityWandJigsaw; @@ -212,6 +213,7 @@ public class TileMappings { put(TileEntityLoot.class, "tileentity_ntm_loot"); put(TileEntityPedestal.class, "tileentity_ntm_pedestal"); + put(TileEntitySkeletonHolder.class, "tileentity_ntm_skeleton"); put(TileEntityBobble.class, "tileentity_ntm_bobblehead"); put(TileEntitySnowglobe.class, "tileentity_ntm_snowglobe"); put(TileEntityPlushie.class, "tileentity_ntm_plushie"); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 401f3fcaa..9d6a1ae4b 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -2447,6 +2447,7 @@ item.insert_polonium.name=Poloniumeinlage item.insert_steel.name=Schwere Stahleinlage item.insert_xsapi.name=XSAPI-Einlage item.insert_yharonite.name=Yharoniteinlage +item.item_secret.aberrator.name=Aberrator-Teil item.item_secret.canister.name=Komposit SB-26 item.item_secret.controller.name=Proprietäre Steuereinheit item.item_secret.selenium_steel.name=Selen-Stahl @@ -4889,6 +4890,7 @@ tile.sellafield_slaked.name=Gelöschtes Sellafit tile.semtex.name=Semtex tile.silo_hatch.name=Siloluke tile.silo_hatch_large.name=Große Siloluke +tile.skeleton_holder.name=Oh, ich glaub' der ist tot tile.sliding_blast_door.name=Sprengtür tile.solar_mirror.name=Heliostatspiegel tile.soyuz_capsule.name=Landekapsel diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index c8df9b7ef..25e9ef98a 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -3270,6 +3270,7 @@ item.insert_polonium.name=Polonium Insert item.insert_steel.name=Heavy Steel Insert item.insert_xsapi.name=XSAPI Insert item.insert_yharonite.name=Yharonite Insert +item.item_secret.aberrator.name=Aberrator Part item.item_secret.canister.name=Composition SB-26 item.item_secret.controller.name=Proprietary Control Unit item.item_secret.selenium_steel.name=Selenium Steel @@ -6034,6 +6035,7 @@ tile.sellafield_slaked.name=Slaked Sellafite tile.semtex.name=Semtex tile.silo_hatch.name=Silo Hatch tile.silo_hatch_large.name=Large Silo Hatch +tile.skeleton_holder.name=Oh, that's a dead guy tile.sliding_blast_door.name=Sliding Blast Door tile.solar_mirror.name=Heliostat Mirror tile.soyuz_capsule.name=Cargo Landing Capsule diff --git a/src/main/resources/assets/hbm/models/blocks/skeleton_holder.obj b/src/main/resources/assets/hbm/models/blocks/skeleton_holder.obj new file mode 100644 index 000000000..8b874c6c3 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/skeleton_holder.obj @@ -0,0 +1,330 @@ +# Blender v2.79 (sub 0) OBJ File: 'skeleton_holder.blend' +# www.blender.org +o Holder1 +v -0.007506 0.185094 0.287769 +v -0.369728 0.834613 0.384826 +v -0.039858 0.185094 0.167028 +v -0.402080 0.834613 0.264085 +v 0.097059 0.247594 0.259751 +v -0.265163 0.897113 0.356808 +v 0.064706 0.247594 0.139010 +v -0.297516 0.897113 0.236067 +v 0.365620 0.000000 -0.258745 +v -0.358824 0.000000 -0.064630 +v 0.333268 0.000000 -0.379485 +v -0.391176 0.000000 -0.185371 +v 0.365620 0.125000 -0.258745 +v -0.358824 0.125000 -0.064630 +v 0.333268 0.125000 -0.379485 +v -0.391176 0.125000 -0.185371 +v -0.491581 1.016218 0.267475 +v -0.205884 1.425794 0.242480 +v -0.535159 1.016218 -0.230622 +v -0.249462 1.425794 -0.255617 +v -0.083563 0.729430 0.231779 +v 0.202134 1.139006 0.206783 +v -0.127141 0.729430 -0.266319 +v 0.158556 1.139006 -0.291314 +v -0.491581 1.016218 0.267475 +v -0.205884 1.425794 0.242480 +v -0.535159 1.016218 -0.230622 +v -0.249462 1.425794 -0.255617 +v -0.083563 0.729430 0.231779 +v 0.202134 1.139006 0.206783 +v -0.127141 0.729430 -0.266319 +v 0.158556 1.139006 -0.291314 +v -0.250476 0.114105 0.250000 +v -0.185109 0.861251 0.250000 +v -0.250476 0.114105 -0.250000 +v -0.185109 0.861251 -0.250000 +v -0.499524 0.135894 0.250000 +v -0.434158 0.883040 0.250000 +v -0.499524 0.135894 -0.250000 +v -0.434158 0.883040 -0.250000 +v -0.250476 0.114105 0.250000 +v -0.185109 0.861251 0.250000 +v -0.250476 0.114105 -0.250000 +v -0.185109 0.861251 -0.250000 +v -0.499524 0.135894 0.250000 +v -0.434158 0.883040 0.250000 +v -0.499524 0.135894 -0.250000 +v -0.434158 0.883040 -0.250000 +v 0.333268 -0.000000 0.379485 +v -0.391176 0.000000 0.185371 +v 0.365620 -0.000000 0.258745 +v -0.358824 0.000000 0.064630 +v 0.333268 0.125000 0.379485 +v -0.391176 0.125000 0.185371 +v 0.365620 0.125000 0.258745 +v -0.358824 0.125000 0.064630 +v -0.039858 0.185094 -0.167028 +v -0.402080 0.834613 -0.264085 +v -0.007506 0.185094 -0.287769 +v -0.369728 0.834613 -0.384826 +v 0.064706 0.247594 -0.139010 +v -0.297516 0.897113 -0.236067 +v 0.097059 0.247594 -0.259751 +v -0.265163 0.897113 -0.356808 +vt 0.125000 0.437500 +vt 0.093750 0.062500 +vt 0.125000 0.062500 +vt 0.093750 0.437500 +vt 0.062500 0.062500 +vt 0.062500 0.437500 +vt 0.031250 0.062500 +vt -0.000000 0.437500 +vt 0.000000 0.062500 +vt 0.062500 0.500000 +vt 0.093750 0.437500 +vt 0.093750 0.500000 +vt 0.062500 0.500000 +vt 0.031250 0.437500 +vt 0.125000 0.062500 +vt 0.093750 0.437500 +vt 0.093750 0.062500 +vt 0.062500 0.062500 +vt 0.062500 0.437500 +vt 0.031250 0.062500 +vt 0.031250 0.437500 +vt 0.000000 0.062500 +vt 0.062500 0.437500 +vt 0.093750 0.500000 +vt 0.062500 0.500000 +vt 0.062500 0.500000 +vt 0.500000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.500000 +vt 0.250000 0.500000 +vt 0.250000 0.750000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt -0.000000 0.500000 +vt 0.250000 0.750000 +vt 0.375000 1.000000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 0.750000 +vt 0.500000 0.750000 +vt 0.250000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 0.750000 +vt -0.000000 0.500000 +vt 0.125000 0.750000 +vt 0.375000 1.000000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.375000 +vt 0.437500 0.000000 +vt 0.500000 0.000000 +vt 0.437500 0.375000 +vt 0.437500 0.000000 +vt 0.625000 0.000000 +vt 0.500000 0.375000 +vt 0.312500 0.000000 +vt 0.250000 0.375000 +vt 0.250000 0.000000 +vt 0.437500 0.500000 +vt 0.562500 0.375000 +vt 0.562500 0.500000 +vt 0.437500 0.500000 +vt 0.312500 0.375000 +vt 0.437500 0.375000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.437500 0.375000 +vt 0.500000 0.000000 +vt 0.437500 0.000000 +vt 0.500000 0.375000 +vt 0.625000 0.000000 +vt 0.250000 0.375000 +vt 0.312500 0.000000 +vt 0.250000 0.000000 +vt 0.562500 0.375000 +vt 0.437500 0.500000 +vt 0.562500 0.500000 +vt 0.437500 0.500000 +vt 0.312500 0.375000 +vt 0.312500 0.500000 +vt 0.125000 0.437500 +vt 0.093750 0.062500 +vt 0.125000 0.062500 +vt 0.093750 0.437500 +vt 0.062500 0.062500 +vt 0.062500 0.437500 +vt 0.031250 0.062500 +vt -0.000000 0.437500 +vt 0.000000 0.062500 +vt 0.062500 0.500000 +vt 0.093750 0.437500 +vt 0.093750 0.500000 +vt 0.062500 0.500000 +vt 0.031250 0.437500 +vt 0.125000 0.437500 +vt 0.093750 0.062500 +vt 0.125000 0.062500 +vt 0.062500 0.437500 +vt 0.062500 0.062500 +vt 0.031250 0.062500 +vt 0.031250 0.437500 +vt 0.000000 0.062500 +vt 0.062500 0.500000 +vt 0.093750 0.437500 +vt 0.093750 0.500000 +vt 0.062500 0.500000 +vt 0.062500 0.437500 +vt 0.031250 0.500000 +vt 0.125000 0.437500 +vt -0.000000 0.437500 +vt 0.093750 0.437500 +vt 0.031250 0.500000 +vt 0.500000 0.750000 +vt -0.000000 0.750000 +vt 0.375000 0.750000 +vt 0.125000 1.000000 +vt -0.000000 0.750000 +vt 0.375000 0.750000 +vt 0.125000 1.000000 +vt 0.312500 0.375000 +vt 0.625000 0.375000 +vt 0.437500 0.375000 +vt 0.312500 0.500000 +vt 0.312500 0.375000 +vt 0.625000 0.375000 +vt 0.437500 0.375000 +vt 0.062500 0.437500 +vt 0.031250 0.500000 +vt 0.093750 0.437500 +vt -0.000000 0.437500 +vt 0.062500 0.437500 +vt 0.031250 0.500000 +vn -0.8365 -0.5000 0.2241 +vn -0.2588 -0.0000 -0.9659 +vn 0.8365 0.5000 -0.2241 +vn 0.2588 0.0000 0.9659 +vn 0.4830 -0.8660 -0.1294 +vn -0.4830 0.8660 0.1294 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.9659 0.0000 -0.2588 +vn -0.9659 0.0000 0.2588 +vn -0.8160 0.5736 0.0714 +vn -0.0872 -0.0000 -0.9962 +vn 0.8160 -0.5736 -0.0714 +vn 0.0872 0.0000 0.9962 +vn -0.5714 -0.8192 0.0500 +vn 0.5714 0.8192 -0.0500 +vn 0.9962 -0.0872 0.0000 +vn 0.0000 -0.0000 -1.0000 +vn -0.9962 0.0872 0.0000 +vn -0.0000 0.0000 1.0000 +vn -0.0872 -0.9962 0.0000 +vn 0.0872 0.9962 0.0000 +vn 0.2588 0.0000 -0.9659 +vn -0.2588 0.0000 0.9659 +vn 0.9659 0.0000 0.2588 +vn -0.9659 0.0000 -0.2588 +vn -0.8365 -0.5000 -0.2241 +vn 0.8365 0.5000 0.2241 +vn 0.4830 -0.8660 0.1294 +vn -0.4830 0.8660 -0.1294 +s off +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 7/5/2 3/2/2 +f 8/6/3 5/7/3 7/5/3 +f 5/7/4 2/8/4 1/9/4 +f 3/10/5 5/11/5 1/12/5 +f 4/13/6 6/14/6 8/6/6 +f 9/15/7 12/16/7 11/17/7 +f 12/16/2 15/18/2 11/17/2 +f 16/19/8 13/20/8 15/18/8 +f 14/21/4 9/22/4 13/20/4 +f 15/23/9 9/24/9 11/25/9 +f 12/26/10 14/21/10 16/19/10 +f 17/27/11 20/28/11 19/29/11 +f 20/28/12 23/30/12 19/29/12 +f 24/31/13 21/32/13 23/30/13 +f 22/33/14 17/34/14 21/32/14 +f 23/35/15 17/36/15 19/37/15 +f 20/38/16 22/33/16 24/31/16 +f 25/39/13 28/40/13 26/41/13 +f 31/42/14 28/40/14 27/43/14 +f 29/44/11 32/45/11 31/42/11 +f 25/46/12 30/47/12 29/44/12 +f 25/48/16 31/49/16 27/50/16 +f 30/47/15 28/51/15 32/45/15 +f 35/52/17 34/53/17 33/54/17 +f 39/55/18 36/56/18 35/57/18 +f 37/58/19 40/59/19 39/55/19 +f 33/60/20 38/61/20 37/62/20 +f 33/63/21 39/64/21 35/65/21 +f 40/66/22 34/67/22 36/56/22 +f 42/68/19 43/69/19 41/70/19 +f 44/71/20 47/72/20 43/73/20 +f 48/74/17 45/75/17 47/72/17 +f 46/76/18 41/77/18 45/78/18 +f 47/79/22 41/80/22 43/81/22 +f 48/82/21 42/83/21 46/84/21 +f 50/85/7 51/86/7 49/87/7 +f 52/88/23 55/89/23 51/86/23 +f 56/90/8 53/91/8 55/89/8 +f 53/91/24 50/92/24 49/93/24 +f 51/94/25 53/95/25 49/96/25 +f 52/97/26 54/98/26 56/90/26 +f 58/99/27 59/100/27 57/101/27 +f 59/100/23 64/102/23 63/103/23 +f 64/102/28 61/104/28 63/103/28 +f 62/105/24 57/106/24 61/104/24 +f 59/107/29 61/108/29 57/109/29 +f 60/110/30 62/105/30 64/102/30 +f 2/1/1 4/4/1 3/2/1 +f 4/4/2 8/6/2 7/5/2 +f 8/6/3 6/14/3 5/7/3 +f 5/7/4 6/14/4 2/8/4 +f 3/10/5 7/111/5 5/11/5 +f 4/13/6 2/112/6 6/14/6 +f 9/15/7 10/113/7 12/16/7 +f 12/16/2 16/19/2 15/18/2 +f 16/19/8 14/21/8 13/20/8 +f 14/21/4 10/114/4 9/22/4 +f 15/23/9 13/115/9 9/24/9 +f 12/26/10 10/116/10 14/21/10 +f 17/27/11 18/117/11 20/28/11 +f 20/28/12 24/31/12 23/30/12 +f 24/31/13 22/33/13 21/32/13 +f 22/33/14 18/118/14 17/34/14 +f 23/35/15 21/119/15 17/36/15 +f 20/38/16 18/120/16 22/33/16 +f 25/39/13 27/43/13 28/40/13 +f 31/42/14 32/45/14 28/40/14 +f 29/44/11 30/47/11 32/45/11 +f 25/46/12 26/121/12 30/47/12 +f 25/48/16 29/122/16 31/49/16 +f 30/47/15 26/123/15 28/51/15 +f 35/52/17 36/124/17 34/53/17 +f 39/55/18 40/59/18 36/56/18 +f 37/58/19 38/125/19 40/59/19 +f 33/60/20 34/67/20 38/61/20 +f 33/63/21 37/126/21 39/64/21 +f 40/66/22 38/127/22 34/67/22 +f 42/68/19 44/128/19 43/69/19 +f 44/71/20 48/74/20 47/72/20 +f 48/74/17 46/129/17 45/75/17 +f 46/76/18 42/83/18 41/77/18 +f 47/79/22 45/130/22 41/80/22 +f 48/82/21 44/71/21 42/83/21 +f 50/85/7 52/88/7 51/86/7 +f 52/88/23 56/90/23 55/89/23 +f 56/90/8 54/98/8 53/91/8 +f 53/91/24 54/98/24 50/92/24 +f 51/94/25 55/131/25 53/95/25 +f 52/97/26 50/132/26 54/98/26 +f 58/99/27 60/133/27 59/100/27 +f 59/100/23 60/133/23 64/102/23 +f 64/102/28 62/105/28 61/104/28 +f 62/105/24 58/134/24 57/106/24 +f 59/107/29 63/135/29 61/108/29 +f 60/110/30 58/136/30 62/105/30 diff --git a/src/main/resources/assets/hbm/textures/blocks/dungeon_spawner.png b/src/main/resources/assets/hbm/textures/blocks/dungeon_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..66c1990fc7dba704f3db66eb219fb67ea98f6bf1 GIT binary patch literal 714 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 Hu0mjf#&KdD diff --git a/src/main/resources/assets/hbm/textures/entity/siege_desh.png b/src/main/resources/assets/hbm/textures/entity/siege_desh.png deleted file mode 100644 index 21e5cea377403e3bcd4b625bb6b9d2ecbe4cda13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcmVcwgpl57DKAwQv-ai-+ zkI17Kb`$VWDjslhg02!6m6~%-Fe)|QyAGblympH_F6|ROeg`zUcL0Yfc0h{=ts`c1 zTr<2~;NEqw-;=d45~X*?G`2Pb+u-ss?gz%=21LFko)D}LsBu+O;MIW1+9Zcp>*@ml z{83=8D{!iv`~JY^D^lL45Osk8@zkDwPkv$})N8$If_GtSej)-MN}XB^_vDv+7Rcco z-J0fVT#}!wIh-c!J`R__WG(bs!_ye=bE)70R7wEAFA1S%Qe?RiqARd$<&aYMu)bJv zS2$J%N9fY(G#G0op+tOEIh0t)R>$H)+nm#f9vTwY`M_JPOq8UT>zIm)sGV=TH(IQa}nLT3PlMPxuzS7_?WI9@UayFi}jKhHu4 zq*>9MSI4^T(qL?Z-N&dOXtR@2k}dHVLF#}dp6VD3a)1zGl)_u;=>xzY2Bx|K#o9yv z5A?C``&At=cD)X#E+C~mYR&KCpR*9+oKM=|P?+kUQveuaM@@!4{*As1giwxZO;a`Q z;-AVn6eoCJhhsnp0nRzfvK*XuC0t;k0RVo3V48D9kUv8D33RD!V`??s)f2Xr!5qBQ zyA8TJsA5Pen;bLAYMZ?&%_)B9zU6cOWaWTf0BpKHRu>o>G=1If{?0n zDeG!K7d9>%Pm!5ALz`-uvJV}IWc%>kD}f diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_buff.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_buff.png deleted file mode 100644 index bf5c5145ce6ab82e25ed65dc107f35d25476c926..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 906 zcmV;519kj~P)HLy(l?p1OuhjvMQQ`NCTe4yVqX4coGdI zU_8u0a}kA}dg!U(Mf?ZSBDe~IRHU&IFD)27C3?weO|7sV%C6aUlgy88W@nQREac6; zS!Uk6`R>eQHS|CTaX5L(z~1>_ zoqA&jA3lCYI+KaAZ6hJY(|H#{h~swJw(ZCoHA?g-9%9bry(yp?!T|_&I;aUQ{cPEq z5lIHr8#@4i%a_h$zuRT9Ws?$pKu`l%ZP`Sw0qIPJ$(D_90BWz^VJfZT*wJa&wvAtV zf0%692nXQC>Zazrxaaf=8mldnNTz`G_B|ZO;kIQWEP?<~xOfg%ubAAnOj05n8@KM} zRs)~D?0V&_woKf;0CNy}>nvO=z?{p2*OrN=0fZ2ZcRQ@I22gi8u85vZ=($|ZSI}%W z5iA>YPqx1(k-P;|M!RtTgwj)B>)B7SDPWvE5>;E2L|>eK-27=sR0i-c34rVd z$VOkYANos90&n{LVH0*wvj4)5+kI}*p?j|uRXHwJT@Na&?EU@ZOmM{LVNo0u*|_BMHfKI0)yA4ti{!GqQVpY)r zfL8~SkUbL(=rw3ZG)ZrcNIsPv6{SiwbkX+o@dIuh3Y`LmVT4{X>DT#T_lBW_2GDen zHwdv0087Vsf)M)v95#`QV5w4dW@qxKt#9De=`&#cEh1<P-KNCGWxSKqyL0H zk_;$Ss*cF3NG6(TnvTd`;QGy5zOwJ%zH*O#ZG8hTpRfL>0kpy8(GMjwfTm--;u-rh g!QSomVJwCJ0;Z~-nb^GC0{{R307*qoM6N<$f}^OOOaK4? diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_clay.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_clay.png deleted file mode 100644 index a62854104041739f69f4ac84aaf456b25bc0294b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 925 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 diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_iron.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_iron.png deleted file mode 100644 index 72ac3298e2eedfbb758825115740c4f145972245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 886 zcmV-+1Bv{JP)a8+iJ};I?H_5ZT!HWv{gh+f# zz;HN3qtO6>;C&xi^Jhi*2ms=HnPrum3jsvfdmz&5^#HJkoJ@byG^y*ln(MlO&2rD! z2(T;*mSr(jEQ|iE7gpi$!HqZ08^UzKK;(A!-n2&3`{~fOgO5}ijjZfmUi_8muxEFkwSW>ifTdx)3!%)P35K`Zcd-=y2N@@W2XAtsO01T{@{~! zn(Y&OIR1=$p^#1Z>r6T)#+_|EOMO+2y7tV7FSu zM!nA5K;8UV7&!&#P+QvH|67n)E_L&FT{rZ7pZLBX*{KiwN9qXJt5lHOCz#~VLh38A zje7k&;|!?wr@hYF`#?$pBC%o2xNiQe7{3pYWtsrh4N#3mcUY#fy0ary-=gcQsjSY= zOVziMTT9jF`{_HuF=GwOVp?W(^Ot4deH!l{Ms)KB&d&ra^#F47xYBP!j%_60sxNV2o3*cvuS*NB3gM;xbjoLvTa*+ z8Cfb-5}S$z0HQiD38QDK0da%1M<;3J$mCPmapA6P4&Ai*Z=MP3 z(9kJh+xE~)C8L7B=-x#bp#dxbiY7t(1n>kVk_7D&aM@%og6_&@I6LQ{b$p1Mw@Tps zSw_%An2vy9g)%!lncknB8~;C1WHJKWmCaCQDN+e>94C}H3)r`p2g<&G>j?LL>-Z3@ z#;gA{fHk=y`eB3yummP5p4z_?j32izV=Mdz1Le)6RyDl_00000NkvXXu0mjf!R@RY diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_silver.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_silver.png deleted file mode 100644 index 8584831caa0ae4df044ab192fd4967ea096ab621..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 890 zcmV-=1BLvFP)!24owLzjgwzBCL4Y6#FdB`} z?RK|b$h3d6+2jD=dET164Pgz~hHd_$q$Z#!^FK~_*G2C>kdXk{d1jlxD21;BbU7x# zbO%i1h&+O9rr+;twRghe;!tstHMQyW{c%5F$2gm^n3Y-E{B>DdLCO9xVw*qkzY6p` zPk5hD`8`3~2$LY2fT$F1G#WTNJBvOyH#e!D*=&YhuV8a^H809zu=JUDfJ{U#&HMvlUi;4pPsyeU_qvxmraYOWu z?$eVamse$X1*LRj(dPTUvJP!bK-wKPIp@=Y55H4QLLoFDD|i{7O<11*nZQ(%V0{Aa zn%omWDdnwJiv!>)$9eZ>8wWoEHa-P()V^M?V>}*%QmS<9`@ZsTtB}hGpp+UJzIi}g z*X25Efz@iYcFy;G<-0!~kAcKiJs_^`Dz!i%G(aRU)k4VnJ;C^L`z}i1e>OJSk4f9z QFaQ7m07*qoM6N<$f)QSsMF0Q* diff --git a/src/main/resources/assets/hbm/textures/entity/siege_drill_stone.png b/src/main/resources/assets/hbm/textures/entity/siege_drill_stone.png deleted file mode 100644 index 4cd317e2d4820b0e272b685756101b1f2b99e72a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 920 zcmV;J184k+P)jGMQlI;d7;uQvm3LkJsrR z9OC_l&nT8kS+;E<6j*`}a9!6Af*y~@nKf#W=vlnP+*k{zfNF3jARcsF69STK(VCIT z2IOC>5>G~5a3?7hWGQOAYz=P(|R@$=Uo zDqA$%3AnejulcVY`%yuowMCN26!6}>gYWyywn(@|5CCe|uHe>9li3zYf#+Zo)ZPDh zfKOk(hUK)jNP@EfbrPa=?%b}y+*kvvEs{_JT-ViDkHac!0CCW=!h1KNS1OgMg5hw8 zcv;$SqWyWvWED^utfWd>Swq45kW1&*@wP7EGQ1(GB1w zzK@w_$4NX5b~>FY+qUi0hREhmO6mx(Z5xi`5Wh^6e^M`#>~a$mVB0nf!=P%MO#Y;# zUWl|>EdYSyIEXKoviVz<<$Io|d7c;Ab6<#*5nvbw)jX5UpOn-QU>F9~uoLYc^g3zp z11Sk08Im&llcM}SfR{W0q8lI@<&VSNZWjO$EPqif%L0&oZKelntEyD1Rj&Gad~Fqd zzR&Li7K}bCi)opa&7YSkaiIOjh;07AzcT?zJ%HmoLD>kBK%0PYD_pD9u)4Y$KBLhn z@i{s=!q(Q7RQ>^$WzAd?lQ{Dtr~!a!noPsL-|s75Ut_JjES&i%pqI;K(QOb)J_3%9 zk43jZDBPdP1xlz~*+-=UIwGqM4@Y^PC0l-hVJv_T&3E=HBmgck%k=&VL#} unp_tBP(lMp0%H|V>F)%i$L-VD3jYO1lfacUp@uU60000-@25IhpPv}SmUKR{*1@Ps_UZ=rXSCt$`@e1NAgFq0}B z8B*a0Mbe!BSt#~aXmp^{>Td6l2MC%x80w;jI7^_bN&o=h$0~$r>!C&#@nYKn+jtUS z+X35ncmn*TAE=9d4L_`5F#-D{@`>}(70lw90!%y}o_W3HXn&Rt5NUqJ}Khel7Tvh3B-Hyh6)z8M8M{g!ldRK1l(Q zqjTC!K1Zqd3cNi=90n~BWEWOBcTZr%VR(ulB7#4FDEa@<;W2vv0000P)Nkloc4Z| zV=UJYZZ0TbfQSnbfiVW0a{vGkj+yrr8`KbgtqHWoF9EFyw8qyb;Bod3i0BF)&2Tya zTI(x#G{bKTAmUPU0z_QKaRh7aRxSRxwNLo^3Q)BxfI}A*fQW#I$#Kt!c7bsmx8KgW zw~zJ5&*u}AQd?|qNVdWCWBg>~;)tlrmdN^m9#^#lQ4Mg;6*;_KS04c2O@X?C;?jQTZ`cte#K{j8qP5|8)WymgrBcD zoF<$;4!3}F4vaBit&KjH3NApW2>|#{Lh6|mRc?gB6N1Z@V#Le7-Hm$~@biBR)A?~F~1=n;hbf_jjWd zfRwJmZhWxq4AC~YEoQ&KlpSb|x5OI))d4;3Y7T-NV3f*Jc%AM(0Kk!fv95rzcJ2Fv zfUd}T-vg}+Xnk+ZU*I2E2=RG7HNmHF)<0SRhT-01Sm0m&S)hV)bZQ!_af*L?&Otb# z{5aeIMyYjy(-eG8CS2$=004hMh&`jC%8k%r2ewp>F|`m*x;s0ZD1$3_$vq9GT1mu_ zkW`L27L(N}`&gQz{IIQMS&|&!1R$mRTXlilp!x3^#^?d~muS`n{BokEEYDMUvUcs}+0*4}p1osoCockoOz+reu5Fx=|Le$it TR0^uO00000NkvXXu0mjfzsu5^ diff --git a/src/main/resources/assets/hbm/textures/entity/siege_silver.png b/src/main/resources/assets/hbm/textures/entity/siege_silver.png deleted file mode 100644 index 1be7bb6fa9dcf3d237ce742e22f0f6228e8aab4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 481 zcmV<70UrK|P)-s3=I2v5jcTY!HaU0oFF+0`(+m?5Kt+y?R=GIEMrI} zqY4BNkw-+Z)&esF06@Gh!5E{&pn>=qO<**>2^dXaG(J87kF$S(h*$6!hSLdHmgNc_ z!|-hZBJw>qAR@1|2It(fTEg{cpYZV&pn6w;gefY(7z4(b?0RM-r-0V_`J0)6h<4Y* zbsRezvSV<2nD7BhafmqONECg*jHlXyqy{i^lf#?!^Z@`~6j+)Hl4|$Tk|vyf9UcK@ z25T)i=aScJ1s7n_1OWUcA$P47UA_p#C$N=rPN}ulyK)atxYPz$=+f?Ourx|?L{e5c zM=WQnOYylfm-JzKmUUf=8n8=1$@h<%0`L? z&pr1!f1D!&FJHb~lu9L9tropr4*<{eXt&!qjsrjt1Tl_b7?`FB!0Xqqb6Im-C-PYX zN~ID2g+c+_wsBpTVzG#6ngl_BVHmLu3w+=IJ1f3oWE#M>Z9aegOc;hJrLZhZpSWQd z08Azm{cbj!X`}rM$TWabiej;dQc7>q^E{MNdQ7cW)1M8)U^1CtS=N$Q+(cv=AP55H z^Es7D1>3gu`%0yvHws{yrgr;MsYDP2OWJS~k!b+KFqqHh`U(U=faiG}A0J~`7Ov|8 zP%IWTXFi|*y%k?EG7SK5=guAdEM8Er*ZK103-|Be2QIEkE|+7mSP%q(9=E^0f7NTg zQml0aPESwu>5B)1VTff}F)f(QX8QS`i2|KYXCY$cx-PX^4d3^*!UJq=Z7pd)p-{jy zO_Wkv>?V`R62H^wES@}hLbu!1{09#n=+D=kC**;cc*(QG_{n6#`T03v80zml&jZk> zpT!Tukm+=)CmoN+G5&QT4?iJD?jQXfi5hYZBt;h2zbRQ_9)7x~oXmJU*3VM$ znWo9v*;yrXjEP6GWspL2M4i0ir}`w4=m5e4h~ezV!+ z;NUjis@+ZR2?!tyXKT#Km=8ohU{5(SCw#Hrh|{eSfX=*|IDxz`{R0J*C-f z{#N?E?(Qy!hli9^!F3 znz2PsLLx*OU#dr?RBAsV%CA%^05N{GTGjlt`OnVIXf~VF>vaIaFx32BueY`!=GUp` zqm9n!{k1HMqoX4|PVQy9-Hy5Rty{NHO2u-2IkBUoBN~kc8yg#X{^4*Ky9Srduax5C z}XX!K0c;iuhZ>zW7om9ZAPOJySuwf z{4fl090$`hWBmljad`3K1@GU#r(7;C@np@H^&>9JOq0lUI-P}BPV)ZfBwxRNWpi_r z!C(-xu(&5I|1lznc8HVX*5%*5dza14O}$ycXf#^MZ#J8lrpcp6k5-CcuG8r(WV31Y zytrSo&`IK^@-w5rI{kp;q{(_djsNZ2HvsLvS$xrw`FyS;!k^49>(4^|{QNv7PSt94 zsh;Lyd!C_jm01LRlvtyT+&8%$h0SwN*}!_%ivvopacK7Rc8OZ9wO mKjA9*gTX+5_b2mThW`NH$JF-?)4TZmu6b*Y@$d>XGZ$gp4}BQ{!}E#p1b~p`RTt;zxK?&U9`{aQ)1CK215>k#}-?!I58hlaOkP8 zk6!sc@yZ2|D9{-<%@ZZ~q!ic~lQuDx{oOfj&;L1W9gYnWEFFbuX^Jh+Tuhc;SrZO) z16Yj!NTI-o@QQh7H|^)0eEsZfwwPSAot2+X{WO0j{XDnV=vx~wycs-Q{an^LB{Ts5 D($uz! diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_clay.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_clay.png deleted file mode 100644 index f9736160b73ca5fd503d6a1f6bbc0906be7c2a4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcmeAS@N?(olHy`uVBq!ia0vp^2|%pN!3HD)jM6X;vUIcV-%Hc{9u|k zP5s7=OhF6%^4-~Dn|o9~mrDNQX-q8pZkE1gYrMySsO+F;u5)z1@!u#BVUT2XSmyEf z(CrM7yT);=g=J#zWX_KeGHvjg#vqq>Zn9t4>>eoxH^vDk#Tuq9eClDx`uEu1-}hGO zUYF8!OyOZDdEdON-1gGv*Q^W{&mTBf)$L_y*rc=987Oj#`GgM3h4mgQyk^DU-6Q3Y zrr7XK>gn%0?w{-Dn};udd{FrH(>EvY%#-E+k`=}NbwdB2$N!GLJ69IZ&LAW6j{j(; z>=kFbPyN5M`4tv3oT#|2qY$u><9xrq=jTuJ7qd+WWJuX_Tv=hy@AeEkyUEX<+Pm|D z)M+pnW%?fyy!Lg*jN9>GkqYJ&%eH=hdh3Gsc17DK%Kzo%O&fZcKx!ozG)`~Y+gEUI z>+7js{_Fz#6KE_bP(H-(nCG*n{*1@@)!TU`%zN|Ws?z>S^Bj7W$MiZq4j5Amp00i_ I>zopr0P1qd5&!@I diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_desh.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_desh.png deleted file mode 100644 index ae7851cec912acb3b7578915d15d899fb2c552b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 449 zcmeAS@N?(olHy`uVBq!ia0vp^2|%pN!3HD)L&YSWoH@npA`j*mtA18G&-|P5oh++^8{>pbum2zJmfo~|T)4C4 zW%XO(@I`DBRtgJ8Vh*c8+~TDD%QOCc z|NKmL#@>zln4WFUO|KGn3iAJX!v6jJJzL&}usa>NTxEOxx82I+HBaV$zb*%IUgx?< zhDV{NK5V@$diM1H7AdfpTtCB+^0z$liXw2aK!%hO9@XEg8B;_UW@a$Na$M}s4wk>W z?8}t?KlL?N7>u|YdYBZF84g5Q%ee0Sez;0?@4j_x6M))8KwflX{3E(;b?BEMzpB{U kj02zRFVdQ&MBb@0Fc(cLI3~& diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_dnt.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_dnt.png deleted file mode 100644 index 5ddd978cbb1eb2008a3cde0faf6fa4f70eace72e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 482 zcmV<80UiE{P)W7Eh*~t*a|Bg)7Qr)M$p(RGf&<>CLDg)I&bE{Kc*Ama_78TGv%*M>g24e22t`G5PU1IQ=< zG75l<0f4Hi=4S!t+CEI?tL@&;KN=l)!O zQOM;OgTr^571h_2_wLDKRA_0CxODop7{i?6i;6FwmcC_7dBzm6#$%P&toZwTq#V-p z8s15X{@&B^tlmC9@BH@Z|2EExyZ-EHTDhlu=;kH!K25COU;l}HwEm` z?f=GL#MR)lMT%iVamk$2FTV=ro9h2(Gi~T$Qb?A6e{XTT&xG)kQ~bGpny+94`GnQs zn4jOH{?_9B%|+K;prSJ~7#3%V)$TO=dMVe-|L2MSx7~Ra7BigCU@&3>I`(a62FJqK z^-HE-zY4MqXf#N!VgI4jP}ljq-ukPz^IEKUePhp;L%+nEcky~jTBHGEiGjh>)z4*} HQ$iB}5G2cb diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_iron.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_iron.png deleted file mode 100644 index 52c1584b5a7faef3ac5594c6bf52430dabbddac1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 443 zcmeAS@N?(olHy`uVBq!ia0vp^2|%pN!3HD)FpQXR3ak(*Ni4Ki}KiqGcH_eE-{=*bNc41I6{q@t z?komLRtL2z8>UOU>$@($3^CD%in%dP(5wdzXOUU22WQ%mvv4FO#tN3!2SRL diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_schrab.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_schrab.png deleted file mode 100644 index 5fc11f60a3bc055528dea229b227d3fb353c14f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451 zcmeAS@N?(olHy`uVBq!ia0vp^2|%pN!3HD)Z0&(J_rY|w?>kBPqGB5^d|(f;Gkn>_P(r_cWHyoF^VCxgK}_TF^c zORrz^GCY}+sJM6EJqCxKi#n6y;;+j&Jkx5pE%q_W^XvK5;p`K3awY6>i@cv7`1k#5 z=4-Ei$FJEPd!Vj<{r0u%tL;9`|5Bd6!HqMPV_n=YhfnsuGx!x2Gn}}=81a^={?JQ5 zJ6ZXk@ikW%Q$!eMvb8r?F07dL{zt`$|27_sS ogQ{X{Uo?Ebd~((FxXAx(TkdhaTHD*`1dJ61Pgg&ebxsLQ0JCbw1ONa4 diff --git a/src/main/resources/assets/hbm/textures/entity/ufo_siege_silver.png b/src/main/resources/assets/hbm/textures/entity/ufo_siege_silver.png deleted file mode 100644 index b35162465ca6b15ddb1a2d64cdb9ef9617fad4c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 441 zcmeAS@N?(olHy`uVBq!ia0vp^2|%pN!3HD)tOF80}+@1@k=}Q9y6IBoL=5ArEAXVX_KX5oVXlzzMCktiG7K{0sHQ)8`E5$ z-Ib_o^H{v`po=rd|4pNsPDn89u;t%n`+DNM zczuQh3AUCAAjW|xX_-m$;;+j&Jkx6^bxjJr^r!A~7Q@Wl40+dATzGFf>;K<9D_{S5 z*uC|A_2q4Eo8Rs2e`P5DGyk`EXz1Ef28YOLo>gbu|J}B`#e718!RVkVcSpG9F%w_U z&!6@$0=uQFP^R4Q*6HUN|FRe)SsmOMCwTr7y2t%99_Vb44u(D751!t-(R;h0?K9>7 z`SPX>JxmIV8G!EHa7|Br(P0Cf*Hgdz*(C+i2@U{B)(_zo+;^gZ9*LLwP_?t=+0yiD b`x!PoxxC%xpWG^7OfY!5`njxgN@xNAniIdp diff --git a/src/main/resources/assets/hbm/textures/items/item_secret.aberrator.png b/src/main/resources/assets/hbm/textures/items/item_secret.aberrator.png new file mode 100644 index 0000000000000000000000000000000000000000..dc8901a93a0ac80b7c95c4c0b36c968dc8b827a2 GIT binary patch literal 602 zcmV-g0;T9!$ZPsDNhXuECMhN1aG3r5{aStW(TL;>Y66LPT!uoSQxPc%^qI;!!OwD;g@pyep%AL-lVhWg`BgaJ!N?%ZzE;`p_mfJc+#{d$AQFklo=!hw z;}humJXA{HfMI7@TFbFvX4tkJQ6~_O$K^@#)sx@c=s8rSa5rwba_mx6L;@LR0(q+i#-60w1Ros2BQ(L?VB`1L+s&%S-6#436Un33Bzr z3fqMW%UhN>{J12$y7w?m({%^62_|2@7RQwX9H;uup5`XLZRHV7RZ4o>7OUwDwrw~3 o7cNAjQK=}3R1~G|{{Jg}1B(6KB0W}}@Bjb+07*qoM6N<$g4G-nzyJUM literal 0 HcmV?d00001 From f177c8899a18c24528be78fa3f03fe67f6551c54 Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 27 Mar 2025 22:12:19 +0100 Subject: [PATCH 15/15] i feel so shrigma --- changelog | 3 +- src/main/java/com/hbm/items/ModItems.java | 18 + .../java/com/hbm/items/armor/ArmorTaurun.java | 34 + .../weapon/sedna/factory/Orchestras.java | 2 +- .../java/com/hbm/main/ResourceManager.java | 5 + .../item/weapon/sedna/ItemRenderMAS36.java | 2 +- .../hbm/render/model/ModelArmorTaurun.java | 60 + .../render/model/ModelArmorTrenchmaster.java | 4 + .../com/hbm/util/DamageResistanceHandler.java | 6 + .../assets/hbm/models/armor/taurun.obj | 1871 +++++++++++++++++ .../assets/hbm/textures/armor/taurun_arm.png | Bin 0 -> 731 bytes .../hbm/textures/armor/taurun_chest.png | Bin 0 -> 4779 bytes .../hbm/textures/armor/taurun_helmet.png | Bin 0 -> 2634 bytes .../assets/hbm/textures/armor/taurun_leg.png | Bin 0 -> 957 bytes .../hbm/textures/items/taurun_boots.png | Bin 0 -> 163 bytes .../hbm/textures/items/taurun_helmet.png | Bin 0 -> 308 bytes .../assets/hbm/textures/items/taurun_legs.png | Bin 0 -> 211 bytes .../hbm/textures/items/taurun_plate.png | Bin 0 -> 287 bytes 18 files changed, 2002 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/hbm/items/armor/ArmorTaurun.java create mode 100644 src/main/java/com/hbm/render/model/ModelArmorTaurun.java create mode 100644 src/main/resources/assets/hbm/models/armor/taurun.obj create mode 100644 src/main/resources/assets/hbm/textures/armor/taurun_arm.png create mode 100644 src/main/resources/assets/hbm/textures/armor/taurun_chest.png create mode 100644 src/main/resources/assets/hbm/textures/armor/taurun_helmet.png create mode 100644 src/main/resources/assets/hbm/textures/armor/taurun_leg.png create mode 100644 src/main/resources/assets/hbm/textures/items/taurun_boots.png create mode 100644 src/main/resources/assets/hbm/textures/items/taurun_helmet.png create mode 100644 src/main/resources/assets/hbm/textures/items/taurun_legs.png create mode 100644 src/main/resources/assets/hbm/textures/items/taurun_plate.png diff --git a/changelog b/changelog index 46fa9943d..ad43bb799 100644 --- a/changelog +++ b/changelog @@ -10,4 +10,5 @@ ## Fixed * Fixed taint destroying bedrock -* Fixed ferrouranium plate not being castable \ No newline at end of file +* Fixed ferrouranium plate not being castable +* Fixed bayonet not rendering properly in third person \ No newline at end of file diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index a7bf99f5f..38e67f3ea 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1855,6 +1855,10 @@ public class ModItems { public static Item dns_plate; public static Item dns_legs; public static Item dns_boots; + public static Item taurun_helmet; + public static Item taurun_plate; + public static Item taurun_legs; + public static Item taurun_boots; public static Item trenchmaster_helmet; public static Item trenchmaster_plate; public static Item trenchmaster_legs; @@ -4478,6 +4482,16 @@ public class ModItems { dns_legs = new ArmorDNT(aMatDNS, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_legs").setTextureName(RefStrings.MODID + ":dns_legs"); dns_boots = new ArmorDNT(aMatDNS, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_boots").setTextureName(RefStrings.MODID + ":dns_boots"); + ArmorMaterial aMatTaurun = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 100); + aMatTaurun.customCraftingMaterial = ModItems.plate_iron; + taurun_helmet = new ArmorTaurun(aMatTaurun, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png") + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) + .setStepSize(1) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("taurun_helmet").setTextureName(RefStrings.MODID + ":taurun_helmet"); + taurun_plate = new ArmorTaurun(aMatTaurun, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) taurun_helmet).setUnlocalizedName("taurun_plate").setTextureName(RefStrings.MODID + ":taurun_plate"); + taurun_legs = new ArmorTaurun(aMatTaurun, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) taurun_helmet).setUnlocalizedName("taurun_legs").setTextureName(RefStrings.MODID + ":taurun_legs"); + taurun_boots = new ArmorTaurun(aMatTaurun, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) taurun_helmet).setUnlocalizedName("taurun_boots").setTextureName(RefStrings.MODID + ":taurun_boots"); ArmorMaterial aMatTrench = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 100); aMatTrench.customCraftingMaterial = ModItems.plate_iron; trenchmaster_helmet = new ArmorTrenchmaster(aMatTrench, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png") @@ -6996,6 +7010,10 @@ public class ModItems { GameRegistry.registerItem(dns_plate, dns_plate.getUnlocalizedName()); GameRegistry.registerItem(dns_legs, dns_legs.getUnlocalizedName()); GameRegistry.registerItem(dns_boots, dns_boots.getUnlocalizedName()); + GameRegistry.registerItem(taurun_helmet, taurun_helmet.getUnlocalizedName()); + GameRegistry.registerItem(taurun_plate, taurun_plate.getUnlocalizedName()); + GameRegistry.registerItem(taurun_legs, taurun_legs.getUnlocalizedName()); + GameRegistry.registerItem(taurun_boots, taurun_boots.getUnlocalizedName()); GameRegistry.registerItem(trenchmaster_helmet, trenchmaster_helmet.getUnlocalizedName()); GameRegistry.registerItem(trenchmaster_plate, trenchmaster_plate.getUnlocalizedName()); GameRegistry.registerItem(trenchmaster_legs, trenchmaster_legs.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/armor/ArmorTaurun.java b/src/main/java/com/hbm/items/armor/ArmorTaurun.java new file mode 100644 index 000000000..d927935b4 --- /dev/null +++ b/src/main/java/com/hbm/items/armor/ArmorTaurun.java @@ -0,0 +1,34 @@ +package com.hbm.items.armor; + +import com.hbm.render.model.ModelArmorTaurun; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; + +public class ArmorTaurun extends ArmorFSB { + + public ArmorTaurun(ArmorMaterial material, int slot, String texture) { + super(material, slot, texture); + this.setMaxDamage(0); + } + + @SideOnly(Side.CLIENT) + ModelArmorTaurun[] models; + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { + + if(models == null) { + models = new ModelArmorTaurun[4]; + + for(int i = 0; i < 4; i++) + models[i] = new ModelArmorTaurun(i); + } + + return models[armorSlot]; + } +} diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java b/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java index 9658c3cf4..cceceed9e 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java @@ -1301,7 +1301,7 @@ public class Orchestras { if(timer == 1) { int cba = (stack.getItem() == ModItems.gun_aberrator_eott && ctx.configIndex == 0) ? -1 : 1; SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); - if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.375, aiming ? 0 : -0.125, aiming ? -0.0625 : -0.25D * cba, -0.05, 0.25, -0.05 * cba, 0.01, -10F + (float)entity.getRNG().nextGaussian() * 10F, (float)entity.getRNG().nextGaussian() * 12.5F, casing.getName()); + if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.5, aiming ? 0 : -0.125, aiming ? -0.0625 : -0.25D * cba, -0.05, 0.25, -0.05 * cba, 0.01, -10F + (float)entity.getRNG().nextGaussian() * 10F, (float)entity.getRNG().nextGaussian() * 12.5F, casing.getName()); } } diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 51f55b29f..1b5e83629 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -903,6 +903,7 @@ public class ResourceManager { public static final IModelCustom armor_tail = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/tail_peep.obj")); public static final IModelCustom player_manly_af = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/armor/player_fem.obj")); public static final IModelCustom armor_envsuit = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/envsuit.obj")); + public static final IModelCustom armor_taurun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/taurun.obj")); public static final IModelCustom armor_trenchmaster = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/trenchmaster.obj")); ////Texture Items @@ -1054,6 +1055,10 @@ public class ResourceManager { public static final ResourceLocation rpa_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/rpa_chest.png"); public static final ResourceLocation rpa_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/rpa_arm.png"); + public static final ResourceLocation taurun_helmet = new ResourceLocation(RefStrings.MODID, "textures/armor/taurun_helmet.png"); + public static final ResourceLocation taurun_leg = new ResourceLocation(RefStrings.MODID, "textures/armor/taurun_leg.png"); + public static final ResourceLocation taurun_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/taurun_chest.png"); + public static final ResourceLocation taurun_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/taurun_arm.png"); public static final ResourceLocation trenchmaster_helmet = new ResourceLocation(RefStrings.MODID, "textures/armor/trenchmaster_helmet.png"); public static final ResourceLocation trenchmaster_leg = new ResourceLocation(RefStrings.MODID, "textures/armor/trenchmaster_leg.png"); public static final ResourceLocation trenchmaster_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/trenchmaster_chest.png"); diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java index b43620e10..7d2a59a56 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java @@ -187,7 +187,7 @@ public class ItemRenderMAS36 extends ItemRenderWeaponBase { ResourceManager.mas36.renderPart("Stock"); ResourceManager.mas36.renderPart("Bolt"); if(isScoped(stack)) ResourceManager.mas36.renderPart("Scope"); - GL11.glTranslated(0, -1, -6); + if(type != ItemRenderType.EQUIPPED) GL11.glTranslated(0, -1, -6); if(hasBayonet(stack)) ResourceManager.mas36.renderPart("Bayonet"); GL11.glShadeModel(GL11.GL_FLAT); } diff --git a/src/main/java/com/hbm/render/model/ModelArmorTaurun.java b/src/main/java/com/hbm/render/model/ModelArmorTaurun.java new file mode 100644 index 000000000..282be3f7b --- /dev/null +++ b/src/main/java/com/hbm/render/model/ModelArmorTaurun.java @@ -0,0 +1,60 @@ +package com.hbm.render.model; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; +import com.hbm.render.loader.ModelRendererObj; + +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; + +public class ModelArmorTaurun extends ModelArmorBase { + + public ModelArmorTaurun(int type) { + super(type); + + head = new ModelRendererObj(ResourceManager.armor_taurun, "Helmet"); + body = new ModelRendererObj(ResourceManager.armor_taurun, "Chest"); + leftArm = new ModelRendererObj(ResourceManager.armor_taurun, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + rightArm = new ModelRendererObj(ResourceManager.armor_taurun, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); + leftLeg = new ModelRendererObj(ResourceManager.armor_taurun, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + rightLeg = new ModelRendererObj(ResourceManager.armor_taurun, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + leftFoot = new ModelRendererObj(ResourceManager.armor_taurun, "LeftBoot").setRotationPoint(1.9F, 12.0F, 0.0F); + rightFoot = new ModelRendererObj(ResourceManager.armor_taurun, "RightBoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + } + + @Override + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { + setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + + GL11.glPushMatrix(); + + if(type == 0) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.taurun_helmet); + head.render(par7); + } + if(type == 1) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.taurun_chest); + body.render(par7); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.taurun_arm); + leftArm.render(par7); + rightArm.render(par7); + } + if(type == 2) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.taurun_leg); + GL11.glTranslated(-0.01, 0, 0); + leftLeg.render(par7); + GL11.glTranslated(0.02, 0, 0); + rightLeg.render(par7); + } + if(type == 3) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.taurun_leg); + GL11.glTranslated(-0.01, 0, 0); + leftFoot.render(par7); + GL11.glTranslated(0.02, 0, 0); + rightFoot.render(par7); + } + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/model/ModelArmorTrenchmaster.java b/src/main/java/com/hbm/render/model/ModelArmorTrenchmaster.java index 533190861..16fc1aa88 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorTrenchmaster.java +++ b/src/main/java/com/hbm/render/model/ModelArmorTrenchmaster.java @@ -62,12 +62,16 @@ public class ModelArmorTrenchmaster extends ModelArmorBase { } if(type == 2) { Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.trenchmaster_leg); + GL11.glTranslated(-0.01, 0, 0); leftLeg.render(par7); + GL11.glTranslated(0.02, 0, 0); rightLeg.render(par7); } if(type == 3) { Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.trenchmaster_leg); + GL11.glTranslated(-0.01, 0, 0); leftFoot.render(par7); + GL11.glTranslated(0.02, 0, 0); rightFoot.render(par7); } diff --git a/src/main/java/com/hbm/util/DamageResistanceHandler.java b/src/main/java/com/hbm/util/DamageResistanceHandler.java index 1075f264f..320dcf897 100644 --- a/src/main/java/com/hbm/util/DamageResistanceHandler.java +++ b/src/main/java/com/hbm/util/DamageResistanceHandler.java @@ -151,6 +151,12 @@ public class DamageResistanceHandler { registerSet(ModItems.dns_helmet, ModItems.dns_plate, ModItems.dns_legs, ModItems.dns_boots, new ResistanceStats() .addCategory(CATEGORY_EXPLOSION, 100F, 0.99F) .setOther(100F, 1F)); + registerSet(ModItems.taurun_helmet, ModItems.taurun_plate, ModItems.taurun_legs, ModItems.taurun_boots, new ResistanceStats() + .addCategory(CATEGORY_PROJECTILE, 2F, 0.15F) + .addCategory(CATEGORY_FIRE, 1F, 0.25F) + .addCategory(CATEGORY_EXPLOSION, 0F, 0.25F) + .addExact(DamageSource.fall.damageType, 4F, 0.5F) + .setOther(2F, 0.1F)); registerSet(ModItems.trenchmaster_helmet, ModItems.trenchmaster_plate, ModItems.trenchmaster_legs, ModItems.trenchmaster_boots, new ResistanceStats() .addCategory(CATEGORY_PROJECTILE, 5F, 0.5F) .addCategory(CATEGORY_FIRE, 5F, 0.5F) diff --git a/src/main/resources/assets/hbm/models/armor/taurun.obj b/src/main/resources/assets/hbm/models/armor/taurun.obj new file mode 100644 index 000000000..4590617e3 --- /dev/null +++ b/src/main/resources/assets/hbm/models/armor/taurun.obj @@ -0,0 +1,1871 @@ +# Blender v2.79 (sub 0) OBJ File: 'taurun_scaled.blend' +# www.blender.org +o RightBoot +v -4.625000 24.300001 2.625000 +v 0.625000 24.299999 2.625000 +v -4.625000 24.300001 -2.625000 +v 0.625000 24.299999 -2.625000 +v -3.575000 24.300001 -3.675000 +v -0.425000 24.299999 -3.675000 +v -3.575001 22.200003 -3.675000 +v -0.425001 22.200001 -3.675000 +v -3.575001 21.150002 -2.625000 +v -0.425001 21.150000 -2.625000 +v -4.625000 22.200003 -2.625000 +v 0.624999 22.200001 -2.625000 +v 0.099999 20.100000 -2.100000 +v -4.100001 20.100002 -2.100000 +v 0.099999 20.100000 2.100000 +v -4.100001 20.100002 2.100000 +v -4.625001 20.100002 2.625000 +v 0.624999 20.100000 2.625000 +v -4.625001 20.100002 -2.625000 +v 0.624999 20.100000 -2.625000 +vt 0.000000 0.222222 +vt 0.250000 0.000000 +vt 0.000000 -0.000000 +vt 0.300000 0.044444 +vt 0.500000 0.000000 +vt 0.250000 0.000000 +vt 0.450000 0.133333 +vt 0.450000 0.044444 +vt 0.300000 0.133333 +vt 0.450000 0.177778 +vt 0.525000 0.422222 +vt 0.750000 0.400000 +vt 0.500000 0.400000 +vt 0.500000 0.311111 +vt 0.275000 0.422222 +vt 0.250000 0.400000 +vt 0.500000 0.044444 +vt 0.500000 0.133333 +vt 0.250000 0.133333 +vt 0.250000 0.044444 +vt 0.300000 0.355556 +vt 0.300000 0.177778 +vt 0.775000 0.422222 +vt 1.000000 0.400000 +vt 0.025000 0.422222 +vt 0.000000 0.400000 +vt 0.250000 0.311111 +vt 0.750000 0.222222 +vt 1.000000 0.222222 +vt 0.250000 0.222222 +vt 0.725000 0.422222 +vt 0.500000 0.222222 +vt 0.475000 0.422222 +vt 0.450000 0.355556 +vt 0.975000 0.422222 +vt 0.225000 0.422222 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 -0.0000 -0.7071 +vn -0.5774 -0.5774 -0.5773 +vn 0.5773 -0.5773 -0.5774 +vn 1.0000 -0.0000 -0.0000 +vn 0.0000 0.0000 1.0000 +s off +f 2/1/1 3/2/1 1/3/1 +f 6/4/1 3/5/1 4/6/1 +f 6/4/2 7/7/2 5/8/2 +f 8/9/3 9/10/3 7/7/3 +f 14/11/4 17/12/4 19/13/4 +f 11/14/5 19/13/5 17/12/5 +f 13/15/4 19/13/4 20/16/4 +f 3/17/6 7/7/6 11/18/6 +f 12/19/7 6/4/7 4/20/7 +f 9/10/8 11/18/8 7/7/8 +f 20/16/2 19/13/2 10/21/2 +f 8/9/9 12/19/9 10/22/9 +f 16/23/4 18/24/4 17/12/4 +f 15/25/4 20/16/4 18/26/4 +f 18/26/10 12/27/10 2/1/10 +f 1/28/11 18/24/11 2/29/11 +f 2/1/1 4/30/1 3/2/1 +f 6/4/1 5/8/1 3/5/1 +f 6/4/2 8/9/2 7/7/2 +f 8/9/3 10/22/3 9/10/3 +f 14/11/4 16/31/4 17/12/4 +f 17/12/5 1/28/5 11/14/5 +f 1/28/5 3/32/5 11/14/5 +f 13/15/4 14/33/4 19/13/4 +f 3/17/6 5/8/6 7/7/6 +f 12/19/7 8/9/7 6/4/7 +f 19/13/2 11/14/2 9/34/2 +f 10/21/2 12/27/2 20/16/2 +f 19/13/2 9/34/2 10/21/2 +f 16/23/4 15/35/4 18/24/4 +f 15/25/4 13/36/4 20/16/4 +f 20/16/10 12/27/10 18/26/10 +f 12/27/10 4/30/10 2/1/10 +f 1/28/11 17/12/11 18/24/11 +o LeftBoot +v 4.625000 24.299997 2.625000 +v -0.625000 24.299999 2.625000 +v 4.625000 24.299997 -2.625000 +v -0.625000 24.299999 -2.625000 +v 3.575000 24.299997 -3.675000 +v 0.425000 24.299999 -3.675000 +v 3.574999 22.199999 -3.675000 +v 0.425000 22.200001 -3.675000 +v 3.574999 21.149998 -2.625000 +v 0.424999 21.150000 -2.625000 +v 4.625000 22.199999 -2.625000 +v -0.625001 22.200001 -2.625000 +v -0.100001 20.100000 -2.100000 +v 4.099999 20.099998 -2.100000 +v -0.100001 20.100000 2.100000 +v 4.099999 20.099998 2.100000 +v 4.624999 20.099998 2.625000 +v -0.625001 20.100000 2.625000 +v 4.624999 20.099998 -2.625000 +v -0.625001 20.100000 -2.625000 +vt 0.250000 0.000000 +vt 0.000000 0.222222 +vt 0.000000 -0.000000 +vt 0.250000 0.000000 +vt 0.450000 0.044444 +vt 0.300000 0.044444 +vt 0.300000 0.133333 +vt 0.450000 0.133333 +vt 0.300000 0.177778 +vt 0.750000 0.400000 +vt 0.525000 0.422222 +vt 0.500000 0.400000 +vt 0.500000 0.311111 +vt 0.275000 0.422222 +vt 0.250000 0.400000 +vt 0.500000 0.133333 +vt 0.500000 0.044444 +vt 0.250000 0.044444 +vt 0.250000 0.133333 +vt 0.450000 0.177778 +vt 0.450000 0.355556 +vt 1.000000 0.400000 +vt 0.775000 0.422222 +vt 0.025000 0.422222 +vt 0.000000 0.400000 +vt 0.250000 0.311111 +vt 0.750000 0.222222 +vt 1.000000 0.222222 +vt 0.250000 0.222222 +vt 0.500000 0.000000 +vt 0.725000 0.422222 +vt 0.500000 0.222222 +vt 0.475000 0.422222 +vt 0.300000 0.355556 +vt 0.975000 0.422222 +vt 0.225000 0.422222 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 -0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.5774 -0.5774 -0.5774 +vn -0.5773 -0.5773 -0.5774 +vn -1.0000 0.0000 0.0000 +vn -0.0000 0.0000 1.0000 +s off +f 23/37/12 22/38/12 21/39/12 +f 24/40/12 25/41/12 26/42/12 +f 25/41/13 28/43/13 26/42/13 +f 27/44/14 30/45/14 28/43/14 +f 37/46/15 34/47/15 39/48/15 +f 37/46/16 39/48/16 31/49/16 +f 39/48/15 33/50/15 40/51/15 +f 31/52/17 25/41/17 23/53/17 +f 24/54/18 28/43/18 32/55/18 +f 29/56/19 27/44/19 31/52/19 +f 40/51/13 29/57/13 39/48/13 +f 28/43/20 30/45/20 32/55/20 +f 38/58/15 36/59/15 37/46/15 +f 40/51/15 35/60/15 38/61/15 +f 22/38/21 32/62/21 38/61/21 +f 38/58/22 21/63/22 22/64/22 +f 23/37/12 24/65/12 22/38/12 +f 24/40/12 23/66/12 25/41/12 +f 25/41/13 27/44/13 28/43/13 +f 27/44/14 29/56/14 30/45/14 +f 37/46/15 36/67/15 34/47/15 +f 23/68/16 21/63/16 31/49/16 +f 21/63/16 37/46/16 31/49/16 +f 39/48/15 34/69/15 33/50/15 +f 31/52/17 27/44/17 25/41/17 +f 24/54/18 26/42/18 28/43/18 +f 40/51/13 32/62/13 30/70/13 +f 29/57/13 31/49/13 39/48/13 +f 40/51/13 30/70/13 29/57/13 +f 38/58/15 35/71/15 36/59/15 +f 40/51/15 33/72/15 35/60/15 +f 24/65/21 32/62/21 22/38/21 +f 32/62/21 40/51/21 38/61/21 +f 38/58/22 37/46/22 21/63/22 +o RightArm +v -3.900008 -0.299998 2.100000 +v -3.900008 -0.299998 -2.100000 +v -8.100008 -0.299997 -2.100000 +v -8.100008 -0.299997 2.100000 +v -3.900005 9.150001 2.100000 +v -8.100005 9.150002 2.100000 +v -8.100005 9.150002 -2.100000 +v -3.900005 9.150001 -2.100000 +vt 0.250000 0.692308 +vt 0.000000 0.000000 +vt 0.000000 0.692308 +vt 0.500000 0.692308 +vt 0.250000 0.000000 +vt 1.000000 0.692308 +vt 0.750000 0.000000 +vt 0.750000 0.692308 +vt 0.500000 0.000000 +vt 0.500000 1.000000 +vt 0.250000 1.000000 +vt 1.000000 0.000000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn -0.0000 -1.0000 0.0000 +s off +f 42/73/23 45/74/23 41/75/23 +f 43/76/24 48/77/24 42/73/24 +f 41/78/25 46/79/25 44/80/25 +f 44/80/26 47/81/26 43/76/26 +f 44/82/27 42/73/27 41/83/27 +f 42/73/23 48/77/23 45/74/23 +f 43/76/24 47/81/24 48/77/24 +f 41/78/25 45/84/25 46/79/25 +f 44/80/26 46/79/26 47/81/26 +f 44/82/27 43/76/27 42/73/27 +o RightLeg +v -4.100004 11.700002 2.100000 +v 0.099996 11.700001 2.100000 +v -4.100004 11.700002 -2.100000 +v 0.099996 11.700001 -2.100000 +v 0.099999 20.100000 -2.100000 +v -4.100001 20.100002 -2.100000 +v 0.099999 20.100000 2.100000 +v -4.100001 20.100002 2.100000 +vt 0.225000 0.955556 +vt 0.025000 0.777778 +vt 0.025000 0.955556 +vt 0.225000 0.422222 +vt 0.025000 0.422222 +vt 0.775000 0.422222 +vt 0.975000 0.777778 +vt 0.975000 0.422222 +vt 0.275000 0.777778 +vt 0.475000 0.422222 +vt 0.275000 0.422222 +vt 0.525000 0.777778 +vt 0.725000 0.422222 +vt 0.525000 0.422222 +vt 0.225000 0.777778 +vt 0.775000 0.777778 +vt 0.475000 0.777778 +vt 0.725000 0.777778 +vn -0.0000 -1.0000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +s off +f 51/85/28 50/86/28 49/87/28 +f 50/86/29 53/88/29 55/89/29 +f 56/90/30 50/91/30 55/92/30 +f 52/93/31 54/94/31 53/95/31 +f 51/96/32 56/97/32 54/98/32 +f 51/85/28 52/99/28 50/86/28 +f 50/86/29 52/99/29 53/88/29 +f 56/90/30 49/100/30 50/91/30 +f 52/93/31 51/101/31 54/94/31 +f 51/96/32 49/102/32 56/97/32 +o LeftLeg +v 4.099996 11.700000 2.100000 +v -0.100004 11.700001 2.100000 +v 4.099996 11.700000 -2.100000 +v -0.100004 11.700001 -2.100000 +v -0.100001 20.100000 -2.100000 +v 4.099999 20.099998 -2.100000 +v -0.100001 20.100000 2.100000 +v 4.099999 20.099998 2.100000 +vt 0.025000 0.777778 +vt 0.225000 0.955556 +vt 0.025000 0.955556 +vt 0.225000 0.422222 +vt 0.025000 0.422222 +vt 0.975000 0.422222 +vt 0.775000 0.777778 +vt 0.775000 0.422222 +vt 0.475000 0.422222 +vt 0.275000 0.777778 +vt 0.275000 0.422222 +vt 0.725000 0.422222 +vt 0.525000 0.777778 +vt 0.525000 0.422222 +vt 0.225000 0.777778 +vt 0.975000 0.777778 +vt 0.475000 0.777778 +vt 0.725000 0.777778 +vn -0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 -0.0000 0.0000 +s off +f 58/103/33 59/104/33 57/105/33 +f 61/106/34 58/103/34 63/107/34 +f 63/108/35 57/109/35 64/110/35 +f 62/111/36 60/112/36 61/113/36 +f 64/114/37 59/115/37 62/116/37 +f 58/103/33 60/117/33 59/104/33 +f 61/106/34 60/117/34 58/103/34 +f 63/108/35 58/118/35 57/109/35 +f 62/111/36 59/119/36 60/112/36 +f 64/114/37 57/120/37 59/115/37 +o LeftArm +v 3.899992 -0.300001 2.100000 +v 3.899992 -0.300001 -2.100000 +v 8.099993 -0.300002 -2.100000 +v 8.099993 -0.300002 2.100000 +v 3.899995 9.149999 2.100000 +v 8.099996 9.149997 2.100000 +v 8.099996 9.149997 -2.100000 +v 3.899995 9.149999 -2.100000 +vt 0.000000 0.000000 +vt 0.250000 0.692308 +vt 0.000000 0.692308 +vt 0.250000 0.000000 +vt 0.500000 0.692308 +vt 0.750000 0.000000 +vt 1.000000 0.692308 +vt 0.750000 0.692308 +vt 0.500000 0.000000 +vt 0.500000 1.000000 +vt 0.250000 1.000000 +vt 1.000000 0.000000 +vn -1.0000 0.0000 0.0000 +vn -0.0000 0.0000 -1.0000 +vn -0.0000 0.0000 1.0000 +vn 1.0000 -0.0000 0.0000 +vn -0.0000 -1.0000 0.0000 +s off +f 69/121/38 66/122/38 65/123/38 +f 72/124/39 67/125/39 66/122/39 +f 70/126/40 65/127/40 68/128/40 +f 71/129/41 68/128/41 67/125/41 +f 66/122/42 68/130/42 65/131/42 +f 69/121/38 72/124/38 66/122/38 +f 72/124/39 71/129/39 67/125/39 +f 70/126/40 69/132/40 65/127/40 +f 71/129/41 70/126/41 68/128/41 +f 66/122/42 67/125/42 68/130/42 +o Helmet +v 5.249990 -8.200003 -4.200000 +v 5.249990 -8.200003 4.200000 +v -4.200010 -8.200000 5.250000 +v 4.199989 -8.200002 5.250000 +v -4.200010 -8.200000 -5.250000 +v 4.199989 -8.200002 -5.250000 +v -5.250010 -8.199999 4.200000 +v -5.250010 -8.199999 -4.200000 +v 5.249990 -6.100002 -4.200000 +v 5.249990 -6.100002 4.200000 +v -4.200009 -6.099999 5.250000 +v 4.199990 -6.100002 5.250000 +v -4.200009 -6.099999 -5.250000 +v 4.199990 -6.100002 -5.250000 +v -5.250010 -6.099998 4.200000 +v -5.250010 -6.099998 -4.200000 +v 7.349990 -5.050002 -4.200000 +v 7.349990 -5.050002 4.200000 +v -4.200009 -5.049998 7.349999 +v 4.199991 -5.050001 7.349999 +v -4.200009 -5.049998 -7.349999 +v 4.199991 -5.050001 -7.349999 +v -7.350008 -5.049997 4.200000 +v -7.350008 -5.049997 -4.200000 +v -3.150011 -10.299998 3.150000 +v -3.150011 -10.299998 -3.150000 +v 3.149989 -10.300000 -3.150000 +v 3.149989 -10.300000 3.150000 +v 4.724989 -8.200003 -3.675000 +v 4.724989 -8.200003 3.675000 +v -3.675010 -8.200000 4.725000 +v 3.674989 -8.200002 4.725000 +v -3.675010 -8.200000 -4.725000 +v 3.674989 -8.200002 -4.725000 +v -4.725010 -8.199999 3.675000 +v -4.725010 -8.199999 -3.675000 +v 4.724992 0.199999 -3.675000 +v 4.724992 0.199999 3.675000 +v -3.675008 0.200002 4.725000 +v 3.674992 0.200000 4.725000 +v -3.675008 0.200002 -4.725000 +v 3.674992 0.200000 -4.725000 +v -4.725008 0.200002 3.675000 +v -4.725008 0.200002 -3.675000 +v -3.675007 1.250001 3.675000 +v -3.675007 1.250001 -3.675000 +v 3.674992 1.249999 -3.675000 +v 3.674992 1.249999 3.675000 +v 1.574991 -2.950001 -4.725000 +v -1.575009 -2.950000 -4.725000 +v 1.574992 0.200000 -4.725000 +v -1.575008 0.200001 -4.725000 +v 1.574992 0.200000 -5.775000 +v 1.574991 -1.900000 -5.775000 +v -1.575008 -1.899999 -5.775000 +v -1.575008 0.200001 -5.775000 +v -2.100010 -5.575000 -4.725000 +v -0.736019 -4.787500 -4.725000 +v -0.736019 -3.212499 -4.725000 +v -2.100008 -2.424999 -4.725000 +v -3.463999 -3.212498 -4.725000 +v -3.463999 -4.787499 -4.725000 +v 2.099990 -5.575001 -4.725000 +v 3.463980 -4.787501 -4.725000 +v 3.463981 -3.212501 -4.725000 +v 2.099991 -2.425000 -4.725000 +v 0.736001 -3.212500 -4.725000 +v 0.736001 -4.787501 -4.725000 +v 2.099990 -5.575001 -5.250000 +v 3.463980 -4.787501 -5.250000 +v 3.463981 -3.212501 -5.250000 +v 2.099991 -2.425000 -5.250000 +v 0.736001 -3.212500 -5.250000 +v 0.736001 -4.787501 -5.250000 +v -2.100010 -5.575000 -5.250000 +v -0.736019 -4.787500 -5.250000 +v -0.736019 -3.212499 -5.250000 +v -2.100008 -2.424999 -5.250000 +v -3.463999 -3.212498 -5.250000 +v -3.463999 -4.787499 -5.250000 +v 1.574993 1.377384 -5.467462 +v 1.049993 1.748615 -5.096232 +v -1.050007 1.748616 -5.096232 +v -1.575007 1.377385 -5.467462 +v 1.049992 -0.478770 -7.323617 +v 1.574992 -0.107537 -6.952385 +v -1.575008 -0.107536 -6.952385 +v -1.050008 -0.478769 -7.323617 +v 1.574993 1.377388 -8.437310 +v 1.049992 1.006157 -8.808541 +v 1.049993 3.233541 -6.581155 +v 1.574993 2.862312 -6.952386 +v -1.575007 2.862313 -6.952386 +v -1.050007 3.233542 -6.581155 +v -1.050007 1.006157 -8.808541 +v -1.575007 1.377388 -8.437310 +v 1.049992 -0.478770 -4.353768 +v 0.524992 -0.107536 -3.982538 +v -0.525008 -0.107536 -3.982538 +v -1.050008 -0.478769 -4.353768 +v 0.524992 -1.592463 -5.467462 +v 1.049992 -1.221232 -5.096231 +v -1.050008 -1.221231 -5.096231 +v -0.525008 -1.592462 -5.467462 +v 1.049992 0.263694 -6.581154 +v 0.524992 -0.107536 -6.952386 +v 0.524993 1.377384 -5.467462 +v 1.049992 1.006153 -5.838693 +v -1.050007 1.006153 -5.838693 +v -0.525007 1.377384 -5.467462 +v -0.525008 -0.107536 -6.952386 +v -1.050008 0.263695 -6.581154 +v 1.443740 -6.625000 -5.355000 +v -1.443760 -6.625000 -5.355000 +v 1.443739 -8.200001 -5.355000 +v -1.443760 -8.200001 -5.355000 +vt 0.280000 0.093023 +vt 0.600000 0.046512 +vt 0.600000 0.093023 +vt 0.280000 0.093023 +vt 0.600000 0.046512 +vt 0.600000 0.093023 +vt 0.280000 0.093023 +vt 0.600000 0.046512 +vt 0.600000 0.093023 +vt 0.280000 0.093023 +vt 0.600000 0.046512 +vt 0.600000 0.093023 +vt 0.720000 0.046512 +vt 0.640000 0.093023 +vt 0.640000 0.046512 +vt 0.720000 0.093023 +vt 0.640000 0.046512 +vt 0.720000 0.046512 +vt 0.640000 0.046512 +vt 0.720000 0.093023 +vt 0.640000 0.093023 +vt 0.640000 0.093023 +vt 0.720000 0.046512 +vt 0.720000 0.093023 +vt 0.640000 0.046512 +vt 0.760000 0.000000 +vt 0.600000 0.000000 +vt 0.720000 0.046512 +vt 0.280000 0.000000 +vt 0.600000 0.000000 +vt 0.280000 0.046512 +vt 0.600000 -0.000000 +vt 0.760000 0.000000 +vt 0.280000 0.046512 +vt 0.600000 -0.000000 +vt 0.760000 0.000000 +vt 0.280000 -0.000000 +vt 0.280000 0.046512 +vt 0.560000 0.162791 +vt 0.320000 0.302326 +vt 0.320000 0.162791 +vt 0.560000 0.162791 +vt 0.320000 0.162791 +vt 0.560000 0.162791 +vt 0.680000 0.162791 +vt 0.680000 0.162791 +vt 0.720000 0.093023 +vt 0.680000 0.162791 +vt 0.640000 0.093023 +vt 0.680000 0.162791 +vt 0.320000 0.372093 +vt 0.280000 0.186047 +vt 0.320000 0.186047 +vt -0.000000 0.372093 +vt 0.280000 0.372093 +vt 0.000000 0.744186 +vt 0.280000 0.558140 +vt 0.280000 0.744186 +vt 0.920000 0.558140 +vt 0.960000 0.744186 +vt 0.920000 0.744186 +vt 0.320000 0.558140 +vt 0.320000 0.744186 +vt 0.640000 0.744186 +vt 0.600000 0.744186 +vt 0.640000 0.558140 +vt -0.000000 -0.000000 +vt 0.280000 0.162791 +vt -0.000000 0.162791 +vt -0.000000 0.186047 +vt 0.920000 0.534884 +vt 0.940000 0.534884 +vt 0.960000 0.558140 +vt 0.000000 0.558140 +vt 0.280000 0.534884 +vt 0.300000 0.162791 +vt 0.320000 0.534884 +vt 0.600000 0.558140 +vt 0.300000 0.534884 +vt 0.620000 0.534884 +vt 0.040000 0.441860 +vt 0.160000 0.395349 +vt 0.160000 0.441860 +vt 0.160000 0.372093 +vt 0.040000 0.395349 +vt 0.040000 0.372093 +vt 0.040000 0.465116 +vt 0.160000 0.465116 +vt -0.000000 0.395349 +vt -0.000000 0.465116 +vt 0.200000 0.395349 +vt 0.280000 0.372093 +vt 0.320000 0.418605 +vt 0.280000 0.418605 +vt 0.400000 0.418605 +vt 0.440000 0.372093 +vt 0.440000 0.418605 +vt 0.220000 0.372093 +vt 0.260000 0.418605 +vt 0.220000 0.418605 +vt 0.660000 0.465116 +vt 0.740000 0.418605 +vt 0.740000 0.465116 +vt 0.440000 0.406977 +vt 0.440000 0.360465 +vt 0.460000 0.348837 +vt 0.360000 0.465116 +vt 0.440000 0.418605 +vt 0.440000 0.465116 +vt 0.460000 0.465116 +vt 0.540000 0.418605 +vt 0.540000 0.465116 +vt 0.560000 0.476744 +vt 0.800000 0.406977 +vt 0.740000 0.395349 +vt 0.800000 0.395349 +vt 0.920000 0.406977 +vt 0.860000 0.395349 +vt 0.920000 0.395349 +vt 0.680000 0.406977 +vt 0.620000 0.395349 +vt 0.680000 0.395349 +vt 0.860000 0.406977 +vt 0.620000 0.406977 +vt 0.560000 0.395349 +vt 0.740000 0.406977 +vt 0.770035 0.411685 +vt 0.829965 0.411685 +vt 0.859930 0.441860 +vt 0.620000 0.406977 +vt 0.560000 0.395349 +vt 0.620000 0.395349 +vt 0.740000 0.406977 +vt 0.680000 0.395349 +vt 0.740000 0.395349 +vt 0.800000 0.406977 +vt 0.800000 0.395349 +vt 0.920000 0.406977 +vt 0.860000 0.395349 +vt 0.920000 0.395349 +vt 0.680000 0.406977 +vt 0.860000 0.406977 +vt 0.770035 0.411685 +vt 0.829965 0.411685 +vt 0.859930 0.441860 +vt 0.460000 0.418605 +vt 0.560000 0.465116 +vt 0.560000 0.418605 +vt 0.640000 0.418605 +vt 0.640000 0.465116 +vt 0.340000 0.418605 +vt 0.360000 0.418605 +vt 0.200000 0.418605 +vt 0.200000 0.372093 +vt 0.380000 0.372093 +vt 0.380000 0.418605 +vt 0.340000 0.418605 +vt 0.320000 0.372093 +vt 0.340000 0.372093 +vt 1.000000 0.302326 +vt 0.560000 0.162791 +vt 1.000000 0.162791 +vt 0.280000 0.046512 +vt 0.760000 0.000000 +vt 0.280000 -0.000000 +vt 0.280000 -0.000000 +vt 0.560000 0.302326 +vt 0.320000 0.162791 +vt 0.560000 0.162791 +vt 0.320000 0.162791 +vt 0.280000 -0.000000 +vt 0.640000 0.534884 +vt 0.000000 0.534884 +vt 0.600000 0.534884 +vt 0.200000 0.465116 +vt 0.400000 0.372093 +vt 0.260000 0.372093 +vt 0.660000 0.418605 +vt 0.540000 0.348837 +vt 0.560000 0.360465 +vt 0.560000 0.406977 +vt 0.560000 0.523256 +vt 0.540000 0.534884 +vt 0.460000 0.534884 +vt 0.440000 0.523256 +vt 0.440000 0.476744 +vt 0.560000 0.406977 +vt 0.829965 0.472036 +vt 0.770035 0.472036 +vt 0.740070 0.441860 +vt 0.560000 0.406977 +vt 0.829965 0.472036 +vt 0.770035 0.472036 +vt 0.740070 0.441860 +vt 0.340000 0.465116 +vt 0.560000 0.302326 +vn -0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 -0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.7071 -0.0000 -0.7071 +vn 0.7071 -0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.4082 -0.8165 -0.4082 +vn -0.4082 -0.8165 0.4082 +vn -0.0000 -0.8944 -0.4472 +vn 0.4472 -0.8944 0.0000 +vn 0.4082 -0.8165 0.4082 +vn -0.4472 -0.8944 0.0000 +vn 0.4082 -0.8165 -0.4082 +vn -0.0000 -0.8944 0.4472 +vn -0.0000 -1.0000 0.0000 +vn -0.0000 -0.7071 -0.7071 +vn 0.7071 -0.7071 0.0000 +vn -0.0000 -0.7071 0.7071 +vn -0.7071 -0.7071 0.0000 +vn -0.4851 -0.7276 0.4851 +vn -0.4851 -0.7276 -0.4851 +vn 0.4851 -0.7276 -0.4851 +vn 0.4851 -0.7276 0.4851 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn -0.7071 0.7071 0.0000 +vn -0.5774 0.5774 -0.5774 +vn 0.7071 0.7071 0.0000 +vn 0.5774 0.5774 -0.5774 +vn 0.0000 0.7071 0.7071 +vn 0.5774 0.5774 0.5774 +vn -0.5774 0.5774 0.5774 +vn -0.5000 -0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.7071 -0.5000 -0.5000 +vn 0.7071 -0.5000 -0.5000 +vn 0.7071 0.5000 0.5000 +vn -0.7071 0.5000 0.5000 +s off +f 76/133/43 83/134/43 75/135/43 +f 77/136/44 86/137/44 78/138/44 +f 73/139/45 82/140/45 74/141/45 +f 79/142/46 88/143/46 80/144/46 +f 81/145/47 78/146/47 86/147/47 +f 76/148/48 82/149/48 84/150/48 +f 83/151/49 79/152/49 75/153/49 +f 80/154/50 85/155/50 77/156/50 +f 88/157/51 93/158/51 85/155/51 +f 91/159/52 87/160/52 83/151/52 +f 86/137/53 93/161/53 94/162/53 +f 81/163/54 90/164/54 82/140/54 +f 82/149/55 92/165/55 84/150/55 +f 87/166/56 96/167/56 88/143/56 +f 86/147/57 89/168/57 81/145/57 +f 92/169/58 83/134/58 84/170/58 +f 99/171/59 97/172/59 98/173/59 +f 99/171/60 77/136/60 78/138/60 +f 100/174/61 73/139/61 74/141/61 +f 75/135/62 100/175/62 76/133/62 +f 98/176/63 79/142/63 80/144/63 +f 79/152/64 97/177/64 75/153/64 +f 80/154/65 77/156/65 98/178/65 +f 73/179/66 99/180/66 78/146/66 +f 74/181/67 76/148/67 100/182/67 +f 101/183/47 114/184/47 109/185/47 +f 105/186/44 114/184/44 106/187/44 +f 101/188/45 110/189/45 102/190/45 +f 116/191/50 105/192/50 108/193/50 +f 102/190/48 112/194/48 104/195/48 +f 107/196/46 116/191/46 108/193/46 +f 112/194/43 103/197/43 104/195/43 +f 103/197/49 115/198/49 107/196/49 +f 117/199/68 119/200/68 118/201/68 +f 113/202/69 119/200/69 114/184/69 +f 115/198/70 118/203/70 116/191/70 +f 116/191/71 118/204/71 113/205/71 +f 109/206/72 120/207/72 110/189/72 +f 109/185/73 114/184/73 119/208/73 +f 120/209/74 111/210/74 112/194/74 +f 110/189/75 120/211/75 112/194/75 +f 115/198/76 111/210/76 117/212/76 +f 127/213/44 125/214/44 126/215/44 +f 123/216/68 128/217/68 124/218/68 +f 122/219/60 126/215/60 121/220/60 +f 124/221/46 127/213/46 122/222/46 +f 123/223/45 126/215/45 125/214/45 +f 183/224/60 173/225/60 176/226/60 +f 170/227/74 182/228/74 171/229/74 +f 181/230/46 175/231/46 172/232/46 +f 154/233/74 166/234/74 155/235/74 +f 168/236/69 165/237/69 166/238/69 +f 156/239/46 168/240/46 159/241/46 +f 160/242/60 162/243/60 157/244/60 +f 160/242/62 157/244/62 158/245/62 +f 146/246/77 135/247/77 140/248/77 +f 144/249/78 139/250/78 138/251/78 +f 142/252/45 137/253/45 136/254/45 +f 145/255/46 140/248/46 139/250/46 +f 143/256/79 138/257/79 137/253/79 +f 141/258/80 136/254/80 135/247/80 +f 145/259/44 144/260/44 143/261/44 +f 149/262/79 132/263/79 131/264/79 +f 147/265/80 130/266/80 129/267/80 +f 152/268/77 129/267/77 134/269/77 +f 150/270/78 133/271/78 132/272/78 +f 148/273/45 131/264/45 130/266/45 +f 151/274/46 134/269/46 133/271/46 +f 151/275/44 150/276/44 149/277/44 +f 159/241/81 167/278/81 160/242/81 +f 158/279/82 162/243/82 161/280/82 +f 164/281/83 154/233/83 153/282/83 +f 156/239/84 166/283/84 165/284/84 +f 153/282/45 161/280/45 164/281/45 +f 175/231/81 183/224/81 176/226/81 +f 181/230/84 171/285/84 182/286/84 +f 180/287/83 170/227/83 169/288/83 +f 174/289/82 178/290/82 177/291/82 +f 174/289/45 180/287/45 169/288/45 +f 187/292/44 186/293/44 185/294/44 +f 76/133/43 84/170/43 83/134/43 +f 77/136/44 85/295/44 86/137/44 +f 73/139/45 81/163/45 82/140/45 +f 79/142/46 87/166/46 88/143/46 +f 81/145/47 73/179/47 78/146/47 +f 76/148/48 74/181/48 82/149/48 +f 83/151/49 87/160/49 79/152/49 +f 80/154/50 88/157/50 85/155/50 +f 88/157/51 96/167/51 93/158/51 +f 91/159/52 95/296/52 87/160/52 +f 86/137/53 85/295/53 93/161/53 +f 81/163/54 89/297/54 90/164/54 +f 82/149/55 90/164/55 92/165/55 +f 87/166/56 95/298/56 96/167/56 +f 86/147/57 94/162/57 89/168/57 +f 92/169/58 91/159/58 83/134/58 +f 99/171/59 100/299/59 97/172/59 +f 99/171/60 98/173/60 77/136/60 +f 100/174/61 99/300/61 73/139/61 +f 75/135/62 97/301/62 100/175/62 +f 98/176/63 97/302/63 79/142/63 +f 101/183/47 106/187/47 114/184/47 +f 105/186/44 113/202/44 114/184/44 +f 101/188/45 109/206/45 110/189/45 +f 116/191/50 113/205/50 105/192/50 +f 102/190/48 110/189/48 112/194/48 +f 107/196/46 115/198/46 116/191/46 +f 112/194/43 111/210/43 103/197/43 +f 103/197/49 111/210/49 115/198/49 +f 117/199/68 120/303/68 119/200/68 +f 113/202/69 118/201/69 119/200/69 +f 115/198/70 117/304/70 118/203/70 +f 109/206/72 119/305/72 120/207/72 +f 120/209/74 117/306/74 111/210/74 +f 127/213/44 128/217/44 125/214/44 +f 123/216/68 125/214/68 128/217/68 +f 122/219/60 127/213/60 126/215/60 +f 124/221/46 128/217/46 127/213/46 +f 123/223/45 121/307/45 126/215/45 +f 183/224/60 178/290/60 173/225/60 +f 170/227/74 179/308/74 182/228/74 +f 181/230/46 184/309/46 175/231/46 +f 154/233/74 163/310/74 166/234/74 +f 166/238/69 163/311/69 162/243/69 +f 163/311/69 164/312/69 162/243/69 +f 164/312/69 161/313/69 162/243/69 +f 162/243/69 167/278/69 166/238/69 +f 167/278/69 168/236/69 166/238/69 +f 156/239/46 165/284/46 168/240/46 +f 160/242/60 167/278/60 162/243/60 +f 158/245/62 153/314/62 154/315/62 +f 154/315/62 155/316/62 158/245/62 +f 155/316/62 156/317/62 158/245/62 +f 156/317/62 159/318/62 158/245/62 +f 159/318/62 160/242/62 158/245/62 +f 146/246/77 141/258/77 135/247/77 +f 144/249/78 145/255/78 139/250/78 +f 142/252/45 143/256/45 137/253/45 +f 145/255/46 146/246/46 140/248/46 +f 143/256/79 144/319/79 138/257/79 +f 141/258/80 142/252/80 136/254/80 +f 143/261/44 142/320/44 145/259/44 +f 142/320/44 141/321/44 145/259/44 +f 141/321/44 146/322/44 145/259/44 +f 149/262/79 150/323/79 132/263/79 +f 147/265/80 148/273/80 130/266/80 +f 152/268/77 147/265/77 129/267/77 +f 150/270/78 151/274/78 133/271/78 +f 148/273/45 149/262/45 131/264/45 +f 151/274/46 152/268/46 134/269/46 +f 149/277/44 148/324/44 151/275/44 +f 148/324/44 147/325/44 151/275/44 +f 147/325/44 152/326/44 151/275/44 +f 159/241/81 168/240/81 167/278/81 +f 158/279/82 157/244/82 162/243/82 +f 164/281/83 163/310/83 154/233/83 +f 156/239/84 155/327/84 166/283/84 +f 153/282/45 158/279/45 161/280/45 +f 175/231/81 184/309/81 183/224/81 +f 181/230/84 172/232/84 171/285/84 +f 180/287/83 179/308/83 170/227/83 +f 174/289/82 173/225/82 178/290/82 +f 174/289/45 177/291/45 180/287/45 +f 187/292/44 188/328/44 186/293/44 +o Chest +v 4.199992 -0.300001 2.100000 +v 4.199992 -0.300001 -2.100000 +v -4.200007 -0.299998 -2.100000 +v -4.200007 -0.299998 2.100000 +v 4.199994 7.994998 -2.100000 +v -4.200005 7.995000 -2.100000 +v 4.199995 10.094998 -2.100000 +v -4.200004 10.095000 -2.100000 +v 4.199995 10.094998 -2.625000 +v 4.199994 7.994998 -2.625000 +v -4.200005 7.995000 -2.625000 +v -4.200004 10.095000 -2.625000 +v 4.199994 7.994998 2.100000 +v -4.200005 7.995000 2.100000 +v 4.199995 10.094998 2.100000 +v -4.200004 10.095000 2.100000 +v 4.199994 7.994998 2.625000 +v -4.200005 7.995000 2.625000 +v 4.199995 10.094998 2.625000 +v -4.200004 10.095000 2.625000 +v -4.725005 7.995000 -2.100000 +v -4.725004 10.095001 -2.100000 +v -4.725005 7.995000 2.100000 +v -4.725004 10.095001 2.100000 +v 4.724995 7.994998 -2.100000 +v 4.724996 10.094997 -2.100000 +v 4.724995 7.994998 2.100000 +v 4.724996 10.094997 2.100000 +v -4.200005 9.150001 2.100000 +v -4.200005 9.150001 -2.100000 +v 4.199995 9.149999 2.100000 +v 4.199995 9.149999 -2.100000 +v -4.200000 22.800001 5.250000 +v 4.200000 22.799997 5.250000 +v 5.249998 17.549997 2.100000 +v 5.249998 17.549997 -2.100000 +v -5.250002 17.550001 2.100000 +v -5.250002 17.550001 -2.100000 +v -0.000005 9.150000 -2.100000 +v -4.200002 15.450001 -3.150000 +v -2.100003 15.450001 -3.150000 +v 4.199997 15.449999 -3.150000 +v 2.099997 15.449999 -3.150000 +v 4.199996 12.299998 2.100000 +v 4.199996 12.299998 -2.100000 +v -4.200004 12.300000 -2.100000 +v -4.200004 12.300000 2.100000 +v 3.149995 11.249999 3.150000 +v -3.150004 11.250001 3.150000 +v 3.149992 0.749999 3.150000 +v -3.150007 0.750001 3.150000 +v 3.149992 0.749999 5.250000 +v -3.150007 0.750001 5.250000 +v 3.149993 2.849999 7.349999 +v 3.149995 11.249999 7.349999 +v -3.150004 11.250001 7.349999 +v -3.150007 2.850001 7.349999 +v 4.199993 4.949999 6.300000 +v 4.199995 10.199999 6.300000 +v 4.199995 10.199999 4.200000 +v 4.199993 4.949999 4.200000 +v 3.149995 11.249999 6.300000 +v 3.149993 4.950000 6.300000 +v 3.149995 11.249999 4.200000 +v 3.149993 4.950000 4.200000 +v 3.937494 4.949999 5.512500 +v 3.412494 4.950000 5.512500 +v 3.937494 4.949999 4.987500 +v 3.412494 4.950000 4.987500 +v 3.412493 3.899998 4.987500 +v 3.937493 3.899998 4.987500 +v 3.412493 3.899998 5.512500 +v 3.937493 3.899998 5.512500 +v 4.199993 3.899998 6.300000 +v 4.199993 3.899998 4.200000 +v 3.149993 3.899999 6.300000 +v 3.149993 3.899999 4.200000 +v 4.199992 1.799998 4.200000 +v 3.674992 1.799998 4.200000 +v 3.674992 1.799998 6.300000 +v 4.199992 1.799998 6.300000 +v 3.674993 3.899998 6.825000 +v 4.199993 3.899998 6.825000 +v 3.674993 2.849999 6.825000 +v 4.199993 2.849999 6.825000 +v 4.199993 3.899998 3.675000 +v 3.674993 3.899998 3.675000 +v 4.199993 2.849999 3.675000 +v 3.674993 2.849999 3.675000 +v -4.200006 4.950002 6.300000 +v -4.200004 10.200001 6.300000 +v -4.200004 10.200001 4.200000 +v -4.200006 4.950002 4.200000 +v -3.150006 4.950002 4.200000 +v -3.150004 11.250001 4.200000 +v -3.150006 4.950002 6.300000 +v -3.150004 11.250001 6.300000 +v -3.412506 4.950002 5.512500 +v -3.937506 4.950002 5.512500 +v -3.412506 4.950002 4.987500 +v -3.937506 4.950002 4.987500 +v -3.412507 1.800000 4.987500 +v -3.412507 1.800000 5.512500 +v -3.937507 1.800001 5.512500 +v -3.937507 1.800001 4.987500 +v -3.150007 2.325002 4.725000 +v -3.150007 2.325002 5.775000 +v -4.200006 2.325002 5.775000 +v -4.200006 2.325002 4.725000 +v -3.150007 3.900001 4.725000 +v -3.150007 3.900001 5.775000 +v -4.200006 3.900001 5.775000 +v -4.200006 3.900001 4.725000 +v -3.412507 2.587501 5.775000 +v -3.937507 2.587501 5.775000 +v -3.412507 3.637502 5.775000 +v -3.937506 3.637502 5.775000 +v -3.412507 3.112500 6.825000 +v -3.937507 3.112500 6.825000 +v -3.412507 3.637502 6.825000 +v -3.937506 3.637502 6.825000 +v -3.412507 3.637502 7.875000 +v -3.937506 3.637502 7.875000 +v -3.412506 4.162501 7.875000 +v -3.937506 4.162502 7.875000 +v -3.412507 2.587501 4.725000 +v -3.937507 2.587501 4.725000 +v -3.412507 3.637502 4.725000 +v -3.937506 3.637502 4.725000 +v -3.412507 3.112500 3.675000 +v -3.937507 3.112500 3.675000 +v -3.412507 3.637502 3.675000 +v -3.937506 3.637502 3.675000 +v -3.412507 3.637502 2.625000 +v -3.937506 3.637502 2.625000 +v -3.412506 4.162501 2.625000 +v -3.937506 4.162502 2.625000 +v 4.199993 0.749999 6.300000 +v -4.200007 0.750001 6.300000 +v 4.199993 2.234923 6.915076 +v -4.200006 2.234926 6.915076 +v 4.199994 2.849999 8.400000 +v -4.200006 2.850002 8.400000 +v 4.199993 2.234923 9.884923 +v -4.200006 2.234926 9.884923 +v 4.199993 0.749999 10.500000 +v -4.200006 0.750001 10.500000 +v 4.199991 -0.734926 9.884923 +v -4.200008 -0.734923 9.884923 +v 4.199991 -1.350000 8.400000 +v -4.200008 -1.349997 8.400000 +v 4.199991 -0.734926 6.915076 +v -4.200008 -0.734923 6.915076 +v 2.099995 10.199999 7.349999 +v -2.100004 10.200001 7.349999 +v 2.099994 6.000000 7.349999 +v -2.100006 6.000000 7.349999 +v 2.099994 6.000000 9.450000 +v 2.099995 10.199999 9.450000 +v -2.100004 10.200001 9.450000 +v -2.100006 6.000000 9.450000 +v 2.957832 11.899478 6.163495 +v 3.412495 11.874217 5.902212 +v 3.412496 11.899478 6.163495 +v 3.412495 8.764097 6.466626 +v 3.185164 11.912108 6.294134 +v 3.185163 8.776729 6.597267 +v 3.185164 11.937369 6.555416 +v 3.185163 8.801990 6.858547 +v 3.412496 11.950000 6.686055 +v 3.412495 8.814620 6.989188 +v 3.639827 11.937369 6.555416 +v 3.639826 8.801990 6.858547 +v 3.639827 11.912108 6.294134 +v 3.639826 8.776729 6.597267 +v 2.957832 11.950000 6.686055 +v 3.412495 11.975261 6.947338 +v 3.867158 11.950000 6.686055 +v 3.867158 11.899478 6.163495 +v 4.094491 12.931973 5.931808 +v 3.412496 12.894082 5.539885 +v 4.094491 13.007758 6.715653 +v 3.412496 13.045648 7.107575 +v 2.730501 13.007758 6.715653 +v 2.730501 12.931973 5.931808 +v 4.094491 13.977101 5.830763 +v 3.412496 13.939210 5.438842 +v 4.094491 14.052884 6.614610 +v 3.412496 14.090775 7.006532 +v 2.730501 14.052884 6.614610 +v 2.730501 13.977101 5.830763 +v 2.957832 12.447959 7.446981 +v 3.412496 12.491173 7.188064 +v 3.412496 12.447959 7.446981 +v 3.412495 9.340938 6.928412 +v 3.185164 12.426353 7.576441 +v 3.185163 9.319330 7.057871 +v 3.185164 12.383138 7.835360 +v 3.185163 9.276116 7.316791 +v 3.412496 12.361531 7.964818 +v 3.412495 9.254509 7.446248 +v 3.639827 12.383138 7.835360 +v 3.639826 9.276116 7.316791 +v 3.639827 12.426353 7.576441 +v 3.639826 9.319330 7.057871 +v 2.957832 12.361531 7.964818 +v 3.412496 12.318316 8.223737 +v 3.867159 12.361531 7.964818 +v 3.867159 12.447959 7.446981 +v 4.094491 13.505240 7.490378 +v 3.412496 13.570062 7.102001 +v 4.094491 13.375598 8.267134 +v 3.412496 13.310778 8.655512 +v 2.730501 13.375598 8.267134 +v 2.730501 13.505240 7.490378 +v 4.094491 14.540915 7.663234 +v 3.412496 14.605736 7.274856 +v 4.094491 14.411272 8.439990 +v 3.412496 14.346450 8.828368 +v 2.730502 14.411272 8.439990 +v 2.730502 14.540915 7.663234 +vt 0.333333 0.400000 +vt 0.481481 0.387500 +vt 0.481481 0.400000 +vt 0.240741 0.387500 +vt 0.092593 0.337500 +vt 0.240741 0.337500 +vt 0.240741 0.325000 +vt 0.092593 0.325000 +vt 0.092593 0.400000 +vt 0.240741 0.400000 +vt 0.092593 0.325000 +vt 0.166667 0.125000 +vt 0.166667 0.325000 +vt 0.203704 0.325000 +vt 0.351852 0.000000 +vt 0.351852 0.325000 +vt 0.481481 0.325000 +vt 0.333333 0.337500 +vt 0.333333 0.325000 +vt 0.481481 0.337500 +vt 0.333333 0.387500 +vt 0.009259 0.400000 +vt 0.083333 0.387500 +vt 0.083333 0.400000 +vt 0.083333 0.325000 +vt 0.009259 0.337500 +vt 0.009259 0.325000 +vt 0.250000 0.400000 +vt 0.324074 0.387500 +vt 0.324074 0.400000 +vt 0.324074 0.325000 +vt 0.250000 0.337500 +vt 0.250000 0.325000 +vt 0.324074 0.337500 +vt 0.083333 0.337500 +vt 0.092593 0.387500 +vt 0.083333 0.400000 +vt 0.083333 0.325000 +vt 0.000000 0.325000 +vt -0.000000 0.337500 +vt 0.009259 0.387500 +vt -0.000000 0.387500 +vt 0.000000 0.400000 +vt 0.324074 0.325000 +vt 0.324074 0.400000 +vt 0.240741 0.325000 +vt 0.250000 0.387500 +vt 0.240741 0.400000 +vt 0.388889 0.325000 +vt 0.462963 0.125000 +vt 0.462963 0.325000 +vt 0.203704 0.000000 +vt 0.388889 0.125000 +vt 0.481481 0.325000 +vt 0.518519 0.175000 +vt 0.555556 0.325000 +vt 0.074074 0.325000 +vt 0.037037 0.175000 +vt 0.074074 0.175000 +vt 0.481481 0.175000 +vt 0.092593 0.125000 +vt 0.296296 0.400000 +vt 0.444444 0.700000 +vt 0.296296 0.700000 +vt 0.222222 0.700000 +vt 0.074074 0.700000 +vt 0.222222 0.400000 +vt 0.000000 0.700000 +vt 0.074074 0.400000 +vt 0.222222 0.800000 +vt 0.555556 0.775000 +vt 0.444444 0.525000 +vt 0.555556 0.525000 +vt 0.629630 0.825000 +vt 0.740741 0.775000 +vt 0.740741 0.825000 +vt 0.740741 0.725000 +vt 0.814815 0.525000 +vt 0.814815 0.775000 +vt 0.740741 0.525000 +vt 0.629630 0.425000 +vt 0.740741 0.425000 +vt 0.629630 0.725000 +vt 0.629630 0.525000 +vt 0.629630 0.775000 +vt 0.592593 0.775000 +vt 0.537037 0.850000 +vt 0.500000 0.900000 +vt 0.500000 0.850000 +vt 0.555556 0.900000 +vt 0.546296 0.875000 +vt 0.555556 0.875000 +vt 0.500000 0.775000 +vt 0.500000 0.825000 +vt 0.490741 0.800000 +vt 0.018519 0.850000 +vt 0.055556 0.875000 +vt 0.018519 0.875000 +vt 0.453704 0.775000 +vt 0.444444 0.800000 +vt 0.444444 0.775000 +vt 0.018519 0.700000 +vt 0.055556 0.725000 +vt 0.018519 0.725000 +vt 0.462963 0.775000 +vt 0.453704 0.800000 +vt 0.074074 0.850000 +vt 0.074074 0.700000 +vt 0.472222 0.800000 +vt 0.462963 0.800000 +vt 0.537037 0.912500 +vt 0.500000 0.912500 +vt 0.481481 0.775000 +vt 0.472222 0.775000 +vt 0.000000 0.850000 +vt 0.000000 0.700000 +vt 0.055556 0.850000 +vt 0.537037 0.825000 +vt 0.537037 0.775000 +vt 0.555556 0.850000 +vt 0.546296 0.850000 +vt 0.546296 0.837500 +vt 0.537037 0.900000 +vt 0.546296 0.800000 +vt 0.546296 0.825000 +vt 0.490741 0.850000 +vt 0.481481 0.875000 +vt 0.481481 0.850000 +vt 0.481481 0.900000 +vt 0.490741 0.875000 +vt 0.490741 0.900000 +vt 0.490741 0.837500 +vt 0.055556 0.725000 +vt 0.018519 0.850000 +vt 0.018519 0.725000 +vt 0.611111 0.887500 +vt 0.629630 0.912500 +vt 0.611111 0.912500 +vt 0.000000 0.850000 +vt 0.000000 0.700000 +vt 0.074074 0.850000 +vt 0.055556 0.850000 +vt 0.055556 0.700000 +vt 0.018519 0.875000 +vt 0.564815 0.850000 +vt 0.574074 0.862500 +vt 0.564815 0.862500 +vt 0.583333 0.775000 +vt 0.574074 0.850000 +vt 0.574074 0.775000 +vt 0.564815 0.775000 +vt 0.555556 0.850000 +vt 0.555556 0.775000 +vt 0.592593 0.775000 +vt 0.583333 0.850000 +vt 0.629630 0.825000 +vt 0.611111 0.850000 +vt 0.611111 0.825000 +vt 0.629630 0.887500 +vt 0.648148 0.850000 +vt 0.666667 0.887500 +vt 0.648148 0.887500 +vt 0.592593 0.850000 +vt 0.592593 0.887500 +vt 0.666667 0.862500 +vt 0.675926 0.837500 +vt 0.675926 0.862500 +vt 0.666667 0.887500 +vt 0.675926 0.887500 +vt 0.694444 0.887500 +vt 0.703704 0.862500 +vt 0.703704 0.887500 +vt 0.685185 0.862500 +vt 0.694444 0.862500 +vt 0.685185 0.887500 +vt 0.675926 0.825000 +vt 0.685185 0.837500 +vt 0.703704 0.837500 +vt 0.694444 0.837500 +vt 0.694444 0.862500 +vt 0.685185 0.837500 +vt 0.694444 0.837500 +vt 0.694444 0.887500 +vt 0.685185 0.862500 +vt 0.703704 0.862500 +vt 0.703704 0.887500 +vt 0.666667 0.887500 +vt 0.675926 0.862500 +vt 0.675926 0.887500 +vt 0.685185 0.887500 +vt 0.675926 0.837500 +vt 0.685185 0.825000 +vt 0.703704 0.837500 +vt 0.666667 0.862500 +vt 0.814815 0.662500 +vt 0.962963 0.700000 +vt 0.814815 0.700000 +vt 0.962963 0.737500 +vt 0.814815 0.737500 +vt 0.962963 0.437500 +vt 0.814815 0.475000 +vt 0.814815 0.437500 +vt 0.962963 0.475000 +vt 0.814815 0.512500 +vt 0.962963 0.512500 +vt 0.814815 0.550000 +vt 0.962963 0.550000 +vt 0.814815 0.587500 +vt 0.937455 0.253064 +vt 0.962963 0.238801 +vt 0.962963 0.336199 +vt 0.962963 0.625000 +vt 0.814815 0.625000 +vt 0.962963 0.662500 +vt 0.937455 0.421935 +vt 0.937455 0.353064 +vt 0.988471 0.353064 +vt 0.814815 0.225000 +vt 0.740741 0.325000 +vt 0.740741 0.225000 +vt 0.740741 0.375000 +vt 0.814815 0.325000 +vt 0.814815 0.375000 +vt 0.814815 0.175000 +vt 0.740741 0.175000 +vt 0.851852 0.325000 +vt 0.851852 0.225000 +vt 0.703704 0.225000 +vt 0.703704 0.325000 +vt 0.425926 0.800000 +vt 0.435185 0.825000 +vt 0.425926 0.825000 +vt 0.398148 0.787500 +vt 0.388889 0.800000 +vt 0.388889 0.787500 +vt 0.398148 0.712500 +vt 0.407407 0.800000 +vt 0.416667 0.825000 +vt 0.407407 0.825000 +vt 0.425926 0.787500 +vt 0.435185 0.800000 +vt 0.407407 0.787500 +vt 0.444444 0.800000 +vt 0.435185 0.787500 +vt 0.407407 0.712500 +vt 0.416667 0.787500 +vt 0.398148 0.850000 +vt 0.398148 0.825000 +vt 0.416667 0.800000 +vt 0.416667 0.712500 +vt 0.397836 0.706250 +vt 0.391360 0.711298 +vt 0.391360 0.701202 +vt 0.388889 0.825000 +vt 0.435185 0.712500 +vt 0.398148 0.800000 +vt 0.444444 0.787500 +vt 0.390314 0.856394 +vt 0.398148 0.850287 +vt 0.405982 0.856394 +vt 0.416667 0.850000 +vt 0.444444 0.825000 +vt 0.435185 0.850000 +vt 0.388889 0.850000 +vt 0.407407 0.850000 +vt 0.425926 0.850000 +vt 0.425926 0.800000 +vt 0.435185 0.825000 +vt 0.425926 0.825000 +vt 0.398148 0.787500 +vt 0.388889 0.800000 +vt 0.388889 0.787500 +vt 0.388889 0.712500 +vt 0.407407 0.800000 +vt 0.416667 0.825000 +vt 0.407407 0.825000 +vt 0.435185 0.787500 +vt 0.425926 0.787500 +vt 0.407407 0.712500 +vt 0.407407 0.787500 +vt 0.444444 0.800000 +vt 0.435185 0.800000 +vt 0.444444 0.787500 +vt 0.416667 0.712500 +vt 0.416667 0.787500 +vt 0.398148 0.850000 +vt 0.398148 0.825000 +vt 0.416667 0.800000 +vt 0.389201 0.706250 +vt 0.391360 0.701202 +vt 0.397836 0.706250 +vt 0.398148 0.800000 +vt 0.388889 0.825000 +vt 0.425926 0.712500 +vt 0.435185 0.712500 +vt 0.393625 0.851924 +vt 0.402671 0.851924 +vt 0.402671 0.873076 +vt 0.416667 0.850000 +vt 0.444444 0.850000 +vt 0.435185 0.850000 +vt 0.388889 0.850000 +vt 0.407407 0.850000 +vt 0.425926 0.850000 +vt 0.490741 0.825000 +vt -0.000000 0.325000 +vt 0.444444 0.400000 +vt 0.000000 0.400000 +vt 0.074074 0.800000 +vt 0.444444 0.775000 +vt 0.777778 0.775000 +vt 0.546296 0.900000 +vt 0.055556 0.700000 +vt 0.481481 0.800000 +vt 0.074074 0.700000 +vt 0.018519 0.700000 +vt 0.055556 0.875000 +vt 0.592593 0.850000 +vt 0.629630 0.850000 +vt 0.666667 0.850000 +vt 0.666667 0.837500 +vt 0.685185 0.825000 +vt 0.675926 0.825000 +vt 0.666667 0.837500 +vt 0.962963 0.587500 +vt 0.988471 0.253064 +vt 0.999037 0.287500 +vt 0.988471 0.321936 +vt 0.937455 0.321936 +vt 0.926890 0.287500 +vt 0.926889 0.387500 +vt 0.962963 0.338801 +vt 0.999036 0.387500 +vt 0.988471 0.421936 +vt 0.962963 0.436199 +vt 0.388889 0.712500 +vt 0.425926 0.712500 +vt 0.395677 0.701202 +vt 0.395677 0.711298 +vt 0.389201 0.706250 +vt 0.444444 0.712500 +vt 0.405982 0.868606 +vt 0.398148 0.874712 +vt 0.390314 0.868606 +vt 0.444444 0.850000 +vt 0.398148 0.712500 +vt 0.444444 0.825000 +vt 0.395677 0.701202 +vt 0.395677 0.711298 +vt 0.391360 0.711298 +vt 0.444444 0.712500 +vt 0.407194 0.862500 +vt 0.393625 0.873076 +vt 0.389102 0.862500 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.9923 -0.1240 0.0000 +vn -0.0000 -0.2249 0.9744 +vn 0.0000 0.0000 1.0000 +vn 1.0000 -0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 -0.0000 0.7071 +vn 0.7071 -0.0000 -0.7071 +vn -0.9923 -0.1240 0.0000 +vn 0.8740 -0.1093 0.4734 +vn -0.8740 -0.1093 0.4734 +vn 0.0000 -0.1644 -0.9864 +vn -0.7960 -0.0995 -0.5970 +vn 0.7960 -0.0995 -0.5970 +vn -0.0000 -0.7071 0.7071 +vn 0.0000 -0.4472 0.8944 +vn -0.8729 -0.2182 -0.4364 +vn 0.7071 0.7071 0.0000 +vn -0.9701 -0.2425 0.0000 +vn 0.0000 -0.4472 -0.8944 +vn -0.7071 0.7071 0.0000 +vn 0.0000 -0.8944 0.4472 +vn 0.0000 0.8944 -0.4472 +vn 0.0000 -0.8944 -0.4472 +vn 0.0000 0.8944 0.4472 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.9239 0.3827 +vn 0.0000 0.3827 0.9239 +vn -0.0000 -0.3827 0.9239 +vn -0.0000 -0.9239 0.3827 +vn -0.0000 -0.9239 -0.3827 +vn -0.0000 -0.3827 -0.9239 +vn 0.9774 -0.2106 0.0204 +vn -0.0000 -0.9954 0.0962 +vn -0.5000 -0.0833 -0.8620 +vn -0.4887 -0.1292 0.8628 +vn 0.4887 -0.2921 -0.8221 +vn -0.5000 0.0833 0.8620 +vn 0.5000 0.0833 0.8620 +vn -0.4887 -0.2921 -0.8221 +vn 0.4887 -0.1292 0.8628 +vn 0.5000 -0.0833 -0.8620 +vn -0.9774 -0.2106 0.0204 +vn 0.0000 0.9954 -0.0962 +vn 0.9774 -0.2087 -0.0348 +vn -0.0000 -0.9864 -0.1646 +vn -0.5000 0.1426 -0.8542 +vn -0.4887 -0.3481 0.8000 +vn 0.4887 -0.0694 -0.8697 +vn -0.5000 -0.1426 0.8542 +vn 0.5000 -0.1426 0.8542 +vn -0.4887 -0.0694 -0.8697 +vn 0.4887 -0.3481 0.8000 +vn 0.5000 0.1426 -0.8542 +vn -0.9774 -0.2087 -0.0348 +vn 0.0000 0.9864 0.1646 +vn -0.8729 -0.2182 0.4364 +s off +f 201/329/85 206/330/85 202/331/85 +f 198/332/86 200/333/86 197/334/86 +f 195/335/87 200/333/87 196/336/87 +f 194/337/85 198/332/85 193/338/85 +f 220/339/88 223/340/88 219/341/88 +f 219/342/89 221/343/89 217/344/89 +f 204/345/87 207/346/87 203/347/87 +f 208/348/90 205/349/90 207/346/90 +f 202/350/85 209/351/85 194/352/85 +f 196/353/87 212/354/87 204/355/87 +f 193/356/85 215/357/85 201/358/85 +f 203/359/87 214/360/87 195/361/87 +f 215/357/91 214/360/91 216/362/91 +f 209/351/92 212/354/92 210/363/92 +f 209/351/93 200/333/93 199/364/93 +f 194/337/85 209/365/85 199/364/85 +f 196/336/87 200/333/87 210/366/87 +f 204/355/87 212/354/87 208/367/87 +f 208/368/94 211/369/94 206/370/94 +f 202/350/85 206/371/85 211/369/85 +f 203/347/87 207/346/87 216/372/87 +f 215/357/95 207/346/95 205/349/95 +f 201/329/85 215/373/85 205/349/85 +f 195/361/87 214/360/87 197/374/87 +f 197/334/96 213/375/96 198/332/96 +f 193/356/85 198/376/85 213/375/85 +f 217/377/97 226/378/97 218/379/97 +f 219/342/98 223/340/98 222/380/98 +f 217/344/99 221/343/99 225/381/99 +f 218/382/100 229/383/100 227/384/100 +f 220/385/100 231/386/100 230/387/100 +f 218/379/101 226/378/101 228/388/101 +f 220/339/102 230/387/102 224/389/102 +f 232/390/90 192/391/90 189/392/90 +f 190/393/91 232/390/91 189/392/91 +f 191/394/86 233/395/86 190/393/86 +f 192/396/92 234/397/92 191/394/92 +f 189/398/85 191/394/85 190/393/85 +f 238/399/86 237/400/86 236/401/86 +f 238/402/85 241/403/85 239/404/85 +f 245/405/92 237/406/92 239/407/92 +f 244/408/87 236/409/87 237/410/87 +f 244/408/90 242/411/90 243/412/90 +f 240/413/103 245/405/103 241/403/103 +f 242/411/91 240/414/91 238/399/91 +f 262/415/91 266/416/91 263/417/91 +f 268/418/104 273/419/104 272/420/104 +f 267/421/105 265/422/105 277/423/105 +f 249/424/85 251/425/85 253/426/85 +f 256/427/86 258/428/86 257/429/86 +f 252/430/106 247/431/106 248/432/106 +f 254/433/91 259/434/91 256/427/91 +f 251/435/90 247/431/90 250/436/90 +f 254/433/90 260/437/90 261/438/90 +f 266/416/85 268/439/85 267/440/85 +f 257/441/92 260/437/92 255/442/92 +f 248/432/86 253/443/86 252/444/86 +f 246/445/91 248/432/91 247/431/91 +f 264/446/87 263/417/87 265/422/87 +f 265/422/107 268/447/107 264/446/107 +f 270/448/90 273/419/90 271/449/90 +f 262/415/87 270/450/87 271/449/87 +f 262/415/91 273/419/91 269/451/91 +f 264/446/94 272/452/94 270/453/94 +f 274/454/86 277/455/86 275/456/86 +f 267/457/108 276/458/108 266/459/108 +f 263/417/87 275/460/87 265/422/87 +f 263/417/91 276/458/91 274/454/91 +f 280/461/92 278/462/92 279/463/92 +f 296/464/85 294/465/85 295/466/85 +f 279/463/90 284/467/90 285/468/90 +f 280/461/86 282/469/86 281/470/86 +f 279/463/109 283/471/109 280/461/109 +f 281/470/85 284/472/85 278/462/85 +f 292/473/85 290/474/85 291/475/85 +f 288/476/86 293/477/86 289/478/86 +f 287/479/90 291/480/90 286/481/90 +f 289/478/92 292/473/92 287/479/92 +f 286/482/91 290/483/91 288/476/91 +f 298/484/87 300/485/87 299/486/87 +f 300/485/92 297/487/92 296/464/92 +f 298/488/91 295/489/91 294/490/91 +f 297/487/86 298/488/86 294/490/86 +f 299/491/90 296/464/90 295/492/90 +f 308/493/91 310/494/91 306/495/91 +f 304/496/91 306/495/91 302/497/91 +f 305/498/87 308/499/87 304/500/87 +f 305/498/92 307/501/92 309/502/92 +f 302/497/110 307/501/110 303/503/110 +f 312/504/90 311/505/90 310/494/90 +f 309/502/111 312/506/111 308/499/111 +f 309/502/92 311/505/92 313/507/92 +f 306/495/110 311/505/110 307/501/110 +f 320/508/91 322/509/91 324/510/91 +f 316/511/91 318/512/91 320/508/91 +f 316/511/87 321/513/87 317/514/87 +f 317/515/92 319/516/92 315/517/92 +f 315/517/112 318/512/112 314/518/112 +f 323/519/86 324/520/86 322/509/86 +f 320/508/113 325/521/113 321/513/113 +f 321/522/92 323/519/92 319/516/92 +f 318/512/112 323/519/112 322/509/112 +f 326/523/114 329/524/114 328/525/114 +f 328/525/115 331/526/115 330/527/115 +f 331/528/116 332/529/116 330/530/116 +f 333/531/117 334/532/117 332/529/117 +f 335/533/118 336/534/118 334/532/118 +f 337/535/119 338/536/119 336/534/119 +f 333/537/92 331/538/92 339/539/92 +f 338/536/120 341/540/120 340/541/120 +f 340/541/121 327/542/121 326/523/121 +f 340/543/91 328/544/91 332/545/91 +f 348/546/90 346/547/90 347/548/90 +f 344/549/85 349/550/85 345/551/85 +f 343/552/87 347/548/87 342/553/87 +f 345/554/92 348/546/92 343/555/92 +f 342/556/91 346/547/91 344/557/91 +f 366/558/122 368/559/122 370/560/122 +f 354/561/123 351/562/123 352/563/123 +f 352/563/124 355/564/124 354/561/124 +f 364/565/125 371/566/125 372/567/125 +f 360/568/123 367/569/123 366/558/123 +f 355/564/92 356/570/92 354/561/92 +f 351/571/126 368/559/126 367/569/126 +f 362/572/123 351/571/123 367/569/123 +f 357/573/127 358/574/127 356/570/127 +f 372/567/92 379/575/92 373/576/92 +f 360/568/123 365/577/123 358/574/123 +f 359/578/128 360/568/128 358/574/128 +f 353/579/123 361/580/123 357/581/123 +f 351/562/129 373/576/129 369/582/129 +f 360/568/91 363/583/91 362/572/91 +f 366/558/130 371/566/130 365/577/130 +f 354/561/123 364/565/123 350/584/123 +f 363/583/131 352/585/131 362/572/131 +f 356/570/123 365/577/123 364/565/123 +f 364/565/132 373/576/132 350/584/132 +f 377/586/133 376/587/133 374/588/133 +f 370/560/128 377/589/128 371/566/128 +f 369/590/131 374/591/131 368/559/131 +f 369/582/124 379/575/124 375/592/124 +f 371/566/127 378/593/127 372/567/127 +f 370/560/91 374/591/91 376/594/91 +f 396/595/134 398/596/134 400/597/134 +f 384/598/135 381/599/135 382/600/135 +f 383/601/136 384/598/136 382/600/136 +f 394/602/137 401/603/137 402/604/137 +f 392/605/135 396/595/135 390/606/135 +f 384/598/92 387/607/92 386/608/92 +f 381/609/138 398/596/138 397/610/138 +f 382/611/135 397/610/135 392/605/135 +f 386/608/139 389/612/139 388/613/139 +f 402/604/92 409/614/92 403/615/92 +f 390/606/135 395/616/135 388/613/135 +f 389/612/140 390/606/140 388/613/140 +f 389/617/135 387/618/135 383/619/135 +f 380/620/141 399/621/141 381/599/141 +f 391/622/91 392/605/91 390/606/91 +f 395/616/142 400/597/142 401/603/142 +f 384/598/135 394/602/135 380/620/135 +f 393/623/143 382/611/143 392/605/143 +f 386/608/135 395/616/135 394/602/135 +f 380/620/144 402/604/144 403/615/144 +f 406/624/145 404/625/145 409/626/145 +f 400/597/140 407/627/140 401/603/140 +f 398/596/143 405/628/143 404/629/143 +f 399/621/136 409/614/136 405/630/136 +f 401/603/139 408/631/139 402/604/139 +f 398/596/91 406/632/91 400/597/91 +f 272/452/146 264/446/146 268/447/146 +f 277/423/93 265/422/93 275/633/93 +f 201/329/85 205/349/85 206/330/85 +f 198/332/86 199/364/86 200/333/86 +f 195/335/87 197/334/87 200/333/87 +f 194/337/85 199/364/85 198/332/85 +f 220/339/88 224/389/88 223/340/88 +f 219/342/89 222/380/89 221/343/89 +f 204/345/87 208/348/87 207/346/87 +f 208/348/90 206/330/90 205/349/90 +f 202/350/85 211/369/85 209/351/85 +f 196/353/87 210/363/87 212/354/87 +f 193/356/85 213/375/85 215/357/85 +f 203/359/87 216/362/87 214/360/87 +f 215/357/91 213/375/91 214/360/91 +f 209/351/92 211/369/92 212/354/92 +f 209/351/93 210/363/93 200/333/93 +f 208/368/94 212/354/94 211/369/94 +f 215/357/95 216/362/95 207/346/95 +f 197/334/96 214/360/96 213/375/96 +f 217/377/97 225/381/97 226/378/97 +f 218/382/100 228/388/100 229/383/100 +f 220/385/100 227/634/100 231/386/100 +f 232/390/90 235/635/90 192/391/90 +f 190/393/91 233/395/91 232/390/91 +f 191/394/86 234/397/86 233/395/86 +f 192/396/92 235/636/92 234/397/92 +f 189/398/85 192/637/85 191/394/85 +f 238/399/86 239/638/86 237/400/86 +f 238/402/85 240/413/85 241/403/85 +f 239/407/92 241/639/92 245/405/92 +f 245/405/92 244/408/92 237/406/92 +f 244/408/87 243/412/87 236/409/87 +f 244/408/90 245/405/90 242/411/90 +f 240/413/103 242/411/103 245/405/103 +f 238/399/91 236/401/91 242/411/91 +f 236/401/91 243/412/91 242/411/91 +f 262/415/91 269/451/91 266/416/91 +f 268/418/104 269/640/104 273/419/104 +f 249/424/85 246/445/85 251/425/85 +f 256/427/86 259/434/86 258/428/86 +f 252/430/106 250/641/106 247/431/106 +f 254/433/91 261/438/91 259/434/91 +f 251/435/90 246/445/90 247/431/90 +f 254/433/90 255/442/90 260/437/90 +f 266/416/85 269/451/85 268/439/85 +f 257/441/92 258/642/92 260/437/92 +f 248/432/86 249/424/86 253/443/86 +f 246/445/91 249/424/91 248/432/91 +f 264/446/87 262/415/87 263/417/87 +f 265/422/107 267/421/107 268/447/107 +f 270/448/90 272/420/90 273/419/90 +f 262/415/87 264/446/87 270/450/87 +f 262/415/91 271/449/91 273/419/91 +f 274/454/86 276/458/86 277/455/86 +f 267/457/108 277/455/108 276/458/108 +f 263/417/87 274/454/87 275/460/87 +f 263/417/91 266/416/91 276/458/91 +f 280/461/92 281/470/92 278/462/92 +f 296/464/85 297/487/85 294/465/85 +f 279/463/90 278/462/90 284/467/90 +f 280/461/86 283/643/86 282/469/86 +f 279/463/109 285/644/109 283/471/109 +f 281/470/85 282/645/85 284/472/85 +f 292/473/85 293/477/85 290/474/85 +f 288/476/86 290/483/86 293/477/86 +f 287/479/90 292/473/90 291/480/90 +f 289/478/92 293/477/92 292/473/92 +f 286/482/91 291/646/91 290/483/91 +f 298/484/87 301/647/87 300/485/87 +f 300/485/92 301/647/92 297/487/92 +f 298/488/91 299/648/91 295/489/91 +f 297/487/86 301/647/86 298/488/86 +f 299/491/90 300/485/90 296/464/90 +f 308/493/91 312/649/91 310/494/91 +f 304/496/91 308/493/91 306/495/91 +f 305/498/87 309/502/87 308/499/87 +f 305/498/92 303/503/92 307/501/92 +f 302/497/110 306/495/110 307/501/110 +f 312/504/90 313/650/90 311/505/90 +f 309/502/111 313/507/111 312/506/111 +f 309/502/92 307/501/92 311/505/92 +f 306/495/110 310/494/110 311/505/110 +f 320/508/91 318/512/91 322/509/91 +f 316/511/91 314/518/91 318/512/91 +f 316/511/87 320/508/87 321/513/87 +f 317/515/92 321/522/92 319/516/92 +f 315/517/112 319/516/112 318/512/112 +f 323/519/86 325/651/86 324/520/86 +f 320/508/113 324/510/113 325/521/113 +f 321/522/92 325/652/92 323/519/92 +f 318/512/112 319/516/112 323/519/112 +f 326/523/114 327/542/114 329/524/114 +f 328/525/115 329/524/115 331/526/115 +f 331/528/116 333/531/116 332/529/116 +f 333/531/117 335/533/117 334/532/117 +f 335/533/118 337/535/118 336/534/118 +f 337/535/119 339/653/119 338/536/119 +f 331/538/92 329/654/92 339/539/92 +f 329/654/92 327/655/92 339/539/92 +f 327/655/92 341/656/92 339/539/92 +f 339/539/92 337/657/92 335/658/92 +f 335/658/92 333/537/92 339/539/92 +f 338/536/120 339/653/120 341/540/120 +f 340/541/121 341/540/121 327/542/121 +f 340/543/91 326/659/91 328/544/91 +f 328/544/91 330/660/91 332/545/91 +f 332/545/91 334/661/91 336/662/91 +f 336/662/91 338/663/91 332/545/91 +f 338/663/91 340/543/91 332/545/91 +f 348/546/90 349/550/90 346/547/90 +f 344/549/85 346/547/85 349/550/85 +f 343/552/87 348/546/87 347/548/87 +f 345/554/92 349/550/92 348/546/92 +f 342/556/91 347/548/91 346/547/91 +f 366/558/122 367/569/122 368/559/122 +f 354/561/123 350/584/123 351/562/123 +f 352/563/124 353/664/124 355/564/124 +f 364/565/125 365/577/125 371/566/125 +f 360/568/123 362/572/123 367/569/123 +f 355/564/92 357/573/92 356/570/92 +f 351/571/126 369/590/126 368/559/126 +f 362/572/123 352/585/123 351/571/123 +f 357/573/127 359/578/127 358/574/127 +f 372/567/92 378/593/92 379/575/92 +f 360/568/123 366/558/123 365/577/123 +f 359/578/128 361/665/128 360/568/128 +f 357/581/123 355/666/123 353/579/123 +f 353/579/123 363/667/123 361/580/123 +f 361/580/123 359/668/123 357/581/123 +f 351/562/129 350/584/129 373/576/129 +f 360/568/91 361/665/91 363/583/91 +f 366/558/130 370/560/130 371/566/130 +f 354/561/123 356/570/123 364/565/123 +f 363/583/131 353/669/131 352/585/131 +f 356/570/123 358/574/123 365/577/123 +f 364/565/132 372/567/132 373/576/132 +f 374/588/133 375/670/133 377/586/133 +f 375/670/133 379/671/133 377/586/133 +f 379/671/133 378/672/133 377/586/133 +f 370/560/128 376/594/128 377/589/128 +f 369/590/131 375/673/131 374/591/131 +f 369/582/124 373/576/124 379/575/124 +f 371/566/127 377/589/127 378/593/127 +f 370/560/91 368/559/91 374/591/91 +f 396/595/134 397/610/134 398/596/134 +f 384/598/135 380/620/135 381/599/135 +f 383/601/136 385/674/136 384/598/136 +f 394/602/137 395/616/137 401/603/137 +f 392/605/135 397/610/135 396/595/135 +f 384/598/92 385/674/92 387/607/92 +f 381/609/138 399/675/138 398/596/138 +f 382/611/135 381/609/135 397/610/135 +f 386/608/139 387/607/139 389/612/139 +f 402/604/92 408/631/92 409/614/92 +f 390/606/135 396/595/135 395/616/135 +f 389/612/140 391/622/140 390/606/140 +f 387/618/135 385/676/135 383/619/135 +f 383/619/135 393/677/135 391/678/135 +f 391/678/135 389/617/135 383/619/135 +f 380/620/141 403/615/141 399/621/141 +f 391/622/91 393/623/91 392/605/91 +f 395/616/142 396/595/142 400/597/142 +f 384/598/135 386/608/135 394/602/135 +f 393/623/143 383/679/143 382/611/143 +f 386/608/135 388/613/135 395/616/135 +f 380/620/144 394/602/144 402/604/144 +f 404/625/145 405/680/145 409/626/145 +f 409/626/145 408/681/145 407/682/145 +f 407/682/145 406/624/145 409/626/145 +f 400/597/140 406/632/140 407/627/140 +f 398/596/143 399/675/143 405/628/143 +f 399/621/136 403/615/136 409/614/136 +f 401/603/139 407/627/139 408/631/139 +f 398/596/91 404/629/91 406/632/91 diff --git a/src/main/resources/assets/hbm/textures/armor/taurun_arm.png b/src/main/resources/assets/hbm/textures/armor/taurun_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..121b5cae30e543d66773000bab9c3862dd960df5 GIT binary patch literal 731 zcmV<10wn#3P)`&Hal~r1g3IUNv%}^N zNM4m+?ygE2?(cbw*(9F5c%znYl~e$NAa`6`?EWnY*XvE0W##ceg6ltUAcz;bNFvuF zU=P3nzI^qzx)JqF0JNY7K?3gHX)^Vj5#J?nMC><5T~+)yP*2C{3za-p<5-;Oiv?)Tk`Mr_)9u5oS%u6nJtiqcs}2mpP#> z8guxhNy!j|O8%|pi-<;fsyv?7Jz2gJY8qzn>2Mfp*h?Yjl^KR1ZtH1x^XhF&A89xq z$BG}v>qYpq**xi(={c0e`e8`rD%HdTzj3&3AgP?m_)i}{V87qv>$mTV@vRJV0l|&1 zuD>@APN#(Rj0dsb?*RbAFf7LN`Ppmb5}C4;WVOET6?{+JR$_mL{{?qaKLP~>ulxW2 N002ovPDHLkV1oEHONIad literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/armor/taurun_chest.png b/src/main/resources/assets/hbm/textures/armor/taurun_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..696b0e7a78812a9b3a10a6f2b06182cbcb8865b3 GIT binary patch literal 4779 zcmV;c5>)MpP)#3dMMzFj=mV}p(vb_k#mF^NL;vw_7WHc8WaKA$dXOTl1w>qtjLNjF zRA)H*a^jBK4M}9sYpj+kNlNyqWp_&NtsY0tYz20S<70103K02ROh1zTlv} zZosJU$}6w1{{7l(uWi}aS6_XV0pR@k^ZR;C^1W_A-KY|(dVUz;_B+0G1e=vE?<<0C2QR(&U4G-jzZ0+`w6w%RAY%*wM?7Yy8LnKpvM&fD5>`b&iL0tP!TIy&>7^IHn_LsZ4RSiFb?voN zVvZa+0wO||WjK2DD5j>SKtwRcV0wCbFWZ*jpT4z%JO9?~IgT1ap!4U?(_Rw`@G4QH ziHMNrd62X`-#bL!M71^{ac0T)1!nOG``P zJTrrcz|2@)UfxwA=0#Beh(t5Sgob8WwwrC)6-PekFo{s2Iy(;0bt ztH`AR)>>F=lSTr-sl`8HFaRQe-PiT|zw2As;mM-_7}hcX23y9JEB`xE4jg2Yb_!z* z@;t}H#6-|EB26M))>^EuuRqLVc8pvIB~n#|wG1LSVlkt$-Wup3&d$#9O9GUx!Xw6w&RKKK{_ z!nMW4MSkzS_maxB8Way&tHSDig8BJ*7Gld-Uc7j*Rt=Nu2bX1;5Y4&w7R&_n;p9Px z9qDC&xoer*w|RG&zqZ@SXx@*YM?+9S`(0n0yAhE zzp${t0D>wdB5Z7I)ZX8mnFEoefzo+#NF1@Y$0&75*H#cFYc`wVxn)@fwI)Ptx7(p# z)>@2@j{|Uh?smI4bLI@c`|i7;(d+B$Jp?ODr{aYH1gB4*W&pwVWmz^d8t$OUg@9y2*$_9K}0Bu0%y;jWdK1EtNjo{ zm1P;~TwGjasi)a&_L!A(=g#rw<|ew`F1p<=rl+T|o!?cJnz!5S&?sq)h<>ZpLY7Tp zJL*t6wo@Vx!XRfst0{S&9$+C_qtQUO+YRozs7txl>2%QTc0--|qitc;=@1p$Y&Lg= zL33jamY0`lVPS!f9617JMyu7r)vH(OmZ zkDlkAIB|l7FhC?AkWO*|1e=rRc_5fv)8)s;#uD`@QY*|XA5GvvPFvl`8BHvldX9+* zYi%bPSw4lurEfAI+)92L_8=5+_eduem;RW=%e1x(*W6&*ge!^syaxb<&bwz{ym|*G z=FhU&Q)UKR3t%&puTD*>zjcJ7O601&YBrnUe3oTkW)wvc>R4Z2?@RDe!$e)54HfBj z`yP(XJdWAfxgN^R&d%}7SDrw-z3S#|!AVK$3=tI~5Xg;xr8b6_4r{@-^fsdm5)%fP zkht&F_E&#b)tQ!}encZ8G#U*UV}fdw(4Bn5x!En`HFr6nSIq*hd`Rknki#F77=Wf>Zc#+Grn_$>ccaaLvONs{Og{+0 zq3I3%gw+Ehwkif>X~>{d?Ns%AKl@iDl-$>^Zh?fwWMVx^417o`a@OS3 zqqud;5p8DXafk#y_SkXU`ScbJ9exDN?ml4zaTXGUXE}Qn#v`c1)RsEQ>t&*?7+9-0 z*QYr6+6C9Hzph)xMaKm-s>IP{bsOqN4$s+QgN(^SgQOGI3egyc4mqOSzWr+ej#$zz z*YQ;4upJzaa|Dm`HD^yFu{2?#%7i~RSQTm&SS6U)rD}VsfnFd@nb0au7@=z4gh?dw zG8%$;`@oDaPjU^7OAE$O!u8CI@$pFz5$=3?3jolZnDU(kh}aLP0gMG$>wc+*0ir;k zKtKWviw&{jzXEXWh?1#js~}E;mK1Tn^)ga5^dy6=e^>9-j)~5L5m#T|SB;9)1@8+J z0OxvZwGlflDlJCs<(`Q{M*slp>;H#C6OSZ%$`Qc;u*m=dPMTy&LFDISXqElDcHNpg52H$}||T>^YZ}(<4MO1}4k4RD%G*x)>0N zA_3t+j)S&sdd{U+n`MqxbwD(+<+o;-Q6LXC!5A1$ImO2upx3p;j=cWXuL5_y{?@Og zlu}a_mE#E$?UWA-*?z9IXB=g3Qby`;(B(dfK4?klSEi~4bv=4%28aP|2~&xb$*P7< zAJBO*bt5+>cea9}B)N_|M?}xjm~EI$J9QPW#X)c@)Ff^^#MZbn)`}zG?$geND=!`@ z`VfjMWn#H@yB((x%ptft2JkEOY-|J-EK&VYA&;D3 zf@dZJJKmi1o*Jc-9s*u}>zAS7@*Q5HoX6+}*O2kvV40{UW{JwnJWQ5xv<(zh%)$F~ z-mJ9K;?ku{wX(6~CH4znNq^-W09?CvZOiAMJ9n;DW0pir14k2rIy97p*qwu@B`xyN z^OO4m5s1L7)CqI&5Gm31{yu9HCF|NE#PVKhV66HLJ2Qus<0`?b9-yp;?IsepD|O#x z1{Ar=7=j@KLxh)~e^LqsFHze&AjTNwy9+V-@KVLd6S=y{NY+sn2$>*M@9wV~VzVYD zCc;Nnl$*_Fk_xa}YhW6Qgvo%D(tyE{T`3yBo--jvvQlvw;p8Xrh}Oi;iS1A{qScK7a70)~~ZtNuEXWmyOw zSEKs+o_@tA9slf`3_w!6GW_H}*SA%E`1N5&#&h5Q8`kIF_~D!TLPF|*NSP*H zzVpGl55UD1Kf304z1f_4h{3Pt_+`PM{pI>Dkcw&C+FAhZ{Ws9pX|8aflkN64NeQs z&XoAg-QNOZ!0it9oM?N2&iyrX?$_%A4U)2llCWE!cal|?y(ZRPNLXuw@#{PNH|Y=C zPrVb+(@!sQ-e|ZVD)~kxg;%fqf=({{ArqM-Fe*nW^WNp32hz(?bB#_T;SB4(;EPlg_*c&YbxtY7PhoKD<_is$bQYN za?!6mOO}wbt8;pKx<}H?%7^b$p*q50Jxs;QST+=h6ncsDDy~Y9xRM;t={yX;FaN9D z4xM*Mrgw4DO1W4FvesrOO@Whk%5%sV*s{RQmC?QE?0er{006x7SKq3=ZcQ}5dnFE{ z-a!)12X&@%F1*TNN%M9%F@Kgdu>%oA)k;1G#dI>+>>&0@C^>)f*&gw=LE0T+UWiK3 z^UET!Z=;W@i)6j|)8!y-4~x~+)#L;CSYlap(P%W3{!jNO>%}@*ftIXXRJKrtK@SA# zlRDu4rcRCx7e$JyX<~`(3|hHgf~W;7U{#93DAgelB}*i2?f%Z+(XqO^x^?jP=FO`# z_snT-G#W_F0XgrCEy_|dpnz(^XqpUa0jjPQaeAcQdUnY z$*UubPXnPKjIL~NIb)2=^swSRrZ+iB>~SoeBSx(juiein74U zhogH5<)~tbgHYLePv{oiWN`C5@5vqlklGr5l+A#lJOGeUPDmJi#BAQdIq3bemfUxj zSZY~X65C|U(y2sCDCOBB#wcQmgOCu+c~Y_of{|s$Z=cOl$w+KcZyGaz7_DG&yJK!5 zv)klHX7FIT_jII2%ViGxA7mgKHssmtH@p)pEEy2W0kih{u!qq7gUtNcL zLrxi{9yeF6eyODkc)!)4BRG+ZR9wGS?>?|EDr);r z0{xvacQU@N!6D62ujH-!@RVK^I6y>g1S?Amq5^r|2!JyD8Jx1BpG7cY~Bg ziPC=gorwoUZTn^VsjR352TO`xCyTE+id$lt?MNdPUo_OZ!Kt5HtyinH8f>qvCaTcd z5;l01v00;fLCF^twG!<5wM(?Q*$H;3-}{!*ZLsX)kM16mWyrGJFYRZrWr>xQ1L@MJ z{ofb4_i%`svti9j7BTy6r!~YOe5E7xzfbP^gQ9kV72OR09D>I3ss=!Nl2O8d7;Dt= z%A(jrS?>NW{r!%SsGFzfmV#(F34+gNl6f!Te*1SA8$TQyA`^1Is$;FijqCgC|8VXH zjO0JM72VB{Zbn2Qw?ZVXv+kB6WH~>Ae3+1u#GV60{6Bef@kSKF7bXAz002ovPDHLk FV1g#nLU#ZF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/armor/taurun_helmet.png b/src/main/resources/assets/hbm/textures/armor/taurun_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..656f40f8ba21247216e596cdb6862a9ad738f374 GIT binary patch literal 2634 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/armor/taurun_leg.png b/src/main/resources/assets/hbm/textures/armor/taurun_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e595eeb30c4dce4637f743aa24d1a894733174 GIT binary patch literal 957 zcmV;u148_XP)b9w_{_3lr?ikq1p9ulLUw{9T-c$PV{TqD_oVVh5 zQf3EeaDWV5Z}iP_SJ(gmh9^VdGIYDd20#HE0@vVRm)HR88T@nk@(fB9`(}v>0MPw1 z?pECIRbFM?ez{G(jr-td>usEapRKoX6@Rwgp20nXdj|iP4Ekn?s_A6>NCxF3S?x*R zXoe0=manI`uDy5kzI+b;CkCsggTD1NS^i-RZgiUwuik|CjIBL3E5Uu+{d00NHR4>=!W6deZUy+;V4hsSyEF&>Y_FfSk?QEr+BF-DYSDPU7dXxmmc zBO=LJGgVbcCfB+nAn~U zH|LrjwPU)nIR~A!7Ij^V0#_!3T*bmFAtEdmi{3MbkE6rSPft%`TaTQp*4mdo$Q8?r zxj)}n1&p?(+AYt)<@L_=%-EI9-u>l~t!O5-9PcD+_behVtL{SttKR?HKJjQ4=!o|e}ilRWC=Qut- z-mIe55SmOTNi(SX5etX<=;#PlRSDDjtj_Zs&(F`ey}jLT4(b~Uv&JC#o$gHlP?jZt z*Va%~l{{}-1mKY94Y|to(Z|B;H)-hWiUH8uROg_+x$vk@02Y0YZ(E$T7R%)lS(f#{ zaDQyu79j-8=X07&CJ6u*i$(9Gh%w^v@evOX4_mKdIz2s2`q<%o)U0qG@`XZQnYjA7 f)!g6TZx!Uf?iUac;L5Oe|b`YcT4LXr|(O4zgqPnnR&~s6X>ge_r0oJ|Rj{Z*Tox%jwm zI=M`qsS*9N^m)=V(&d?Tbo_lDmdKI;Vst E05O?;-T(jq literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/taurun_legs.png b/src/main/resources/assets/hbm/textures/items/taurun_legs.png new file mode 100644 index 0000000000000000000000000000000000000000..0be64f1d76b393f3518f2a64796df0dd58bf0399 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfwOK2Dmc%rlh0A`p(ym=vR|$Dq~!!$cb*F1o3?>5bMiW#rw6*5r-~gAjo^8E zPMqCkcYNj7R@*gND}>g|e0Ul6^SDG?J;B4{8TY(kfg0Z=-&K}^63NHo+?AcZQa znILis6bf|4IS3Tc@GJZL|G#hh;O}8%F&IV_K%S*$98D{!m!%~LLIBR`!T3C9Fc?Oa zkVFJHq25a^&r;L!;|Nj6Woc^(GzXw&pv8Uy-{hkKz%m}WZp(PoM0>n}-`&T%E7aaV z3zJ#@