From 22aefff48d5839e7de10fd0f8e8ca377236f36d1 Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Tue, 6 May 2025 23:18:28 +0200 Subject: [PATCH 1/3] get to work on the mob spawners bugboy --- .../java/com/hbm/main/StructureManager.java | 2 +- .../com/hbm/world/gen/NTMWorldGenerator.java | 16 ++++++++++------ .../assets/hbm/structures/radio_house.nbt | Bin 0 -> 17417 bytes 3 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 src/main/resources/assets/hbm/structures/radio_house.nbt diff --git a/src/main/java/com/hbm/main/StructureManager.java b/src/main/java/com/hbm/main/StructureManager.java index 5c3f93090..601b3c44f 100644 --- a/src/main/java/com/hbm/main/StructureManager.java +++ b/src/main/java/com/hbm/main/StructureManager.java @@ -53,7 +53,6 @@ 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")); @@ -61,6 +60,7 @@ public class StructureManager { public static final NBTStructure beached_patrol = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/beached_patrol.nbt")); public static final NBTStructure lighthouse = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/lighthouse.nbt")); public static final NBTStructure dish = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/dish.nbt")); + public static final NBTStructure radio_house = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/radio_house.nbt")); public static final NBTStructure spire = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/spire.nbt")); diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index bb1c7b3d3..aefeedf4e 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -39,6 +39,7 @@ public class NTMWorldGenerator implements IWorldGenerator { final List oceanBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.ocean, BiomeGenBase.deepOcean }); final List beachBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.beach, BiomeGenBase.stoneBeach, BiomeGenBase.coldBeach }); final List lighthouseBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.ocean, BiomeGenBase.deepOcean, BiomeGenBase.beach, BiomeGenBase.stoneBeach, BiomeGenBase.coldBeach }); + final List flatbiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.plains, BiomeGenBase.icePlains, BiomeGenBase.desert }); /// SPIRE /// NBTStructure.registerStructure(0, new SpawnCondition() {{ @@ -102,18 +103,21 @@ public class NTMWorldGenerator implements IWorldGenerator { spawnWeight = 8; }}); - NBTStructure.registerNullWeight(0, 2, oceanBiomes::contains); //why the fuck did this change - NBTStructure.registerStructure(0, new SpawnCondition() {{ - canSpawn = biome -> biome == BiomeGenBase.plains; + canSpawn = flatbiomes::contains; structure = new JigsawPiece("dish", StructureManager.dish, -10); minHeight = 53; maxHeight = 65; - spawnWeight = 1; + spawnWeight = 4; }}); - NBTStructure.registerNullWeight(0, 2, biome -> biome == BiomeGenBase.plains); - NBTStructure.registerNullWeight(0, 2, oceanBiomes::contains); + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = flatbiomes::contains; + structure = new JigsawPiece("radio_house", StructureManager.radio_house, -6); + spawnWeight = 40; + }}); + + NBTStructure.registerNullWeight(0, 4, oceanBiomes::contains); Map bricks = new HashMap() {{ put(ModBlocks.meteor_brick, new MeteorBricks()); diff --git a/src/main/resources/assets/hbm/structures/radio_house.nbt b/src/main/resources/assets/hbm/structures/radio_house.nbt new file mode 100644 index 0000000000000000000000000000000000000000..394ac3b228623e6b38ff8ddc6674efa8440fb2cb GIT binary patch literal 17417 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 izm9AYJx Date: Wed, 27 Aug 2025 16:04:30 +0200 Subject: [PATCH 2/3] BOIIIIIIIIIIIIIIIIII TS (type soul) getting a 20 hog code ( setro and minors? like in minecraft? I know nothing of association with setro and minors.) --- src/main/java/com/hbm/config/WorldConfig.java | 6 ++--- src/main/java/com/hbm/lib/HbmWorldGen.java | 22 +++++++++---------- .../com/hbm/world/gen/NTMWorldGenerator.java | 4 ++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index 0eb14c026..f6faf2856 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -81,7 +81,7 @@ public class WorldConfig { public static boolean enableSulfurCave = true; public static boolean enableAsbestosCave = true; - public static int radioStructure = 500; +// public static int radioStructure = 500; public static int antennaStructure = 250; public static int atomStructure = 500; public static int dungeonStructure = 64; @@ -204,7 +204,7 @@ public class WorldConfig { enableAsbestosCave = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.C01_enableAsbestosCave", "Toggles asbestos caves", true); final String CATEGORY_DUNGEON = CommonConfig.CATEGORY_DUNGEONS; - radioStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.00_radioSpawn", "Spawn radio station on every nTH chunk", 500); +// radioStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.00_radioSpawn", "Spawn radio station on every nTH chunk", 500); antennaStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.01_antennaSpawn", "Spawn antenna on every nTH chunk", 250); atomStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.02_atomSpawn", "Spawn power plant on every nTH chunk", 500); dungeonStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.04_dungeonSpawn", "Spawn library dungeon on every nTH chunk", 64); @@ -245,7 +245,7 @@ public class WorldConfig { craterBiomeOuterRad = (float) CommonConfig.createConfigDouble(config, CATEGORY_BIOMES, "17.R02_craterBiomeOuterRad", "RAD/s for the outer crater biome", 0.5D); craterBiomeWaterMult = (float) CommonConfig.createConfigDouble(config, CATEGORY_BIOMES, "17.R03_craterBiomeWaterMult", "Multiplier for RAD/s in crater biomes when in water", 5D); - radioStructure = CommonConfig.setDefZero(radioStructure, 1000); +// radioStructure = CommonConfig.setDefZero(radioStructure, 1000); antennaStructure = CommonConfig.setDefZero(antennaStructure, 1000); atomStructure = CommonConfig.setDefZero(atomStructure, 1000); dungeonStructure = CommonConfig.setDefZero(dungeonStructure, 1000); diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 6bdbc7b8b..25d85495b 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -223,17 +223,17 @@ public class HbmWorldGen implements IWorldGenerator { } } - if(biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) { - if(WorldConfig.radioStructure > 0 && rand.nextInt(WorldConfig.radioStructure) == 0) { - for(int a = 0; a < 1; a++) { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - new Radio01().generate(world, rand, x, y, z); - } - } - } +// if(biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) { +// if(WorldConfig.radioStructure > 0 && rand.nextInt(WorldConfig.radioStructure) == 0) { +// for(int a = 0; a < 1; a++) { +// int x = i + rand.nextInt(16); +// int z = j + rand.nextInt(16); +// int y = world.getHeightValue(x, z); +// +// new Radio01().generate(world, rand, x, y, z); +// } +// } +// } if(biome.temperature >= 0.4F && biome.rainfall <= 0.6F) { if(WorldConfig.antennaStructure > 0 && rand.nextInt(WorldConfig.antennaStructure) == 0) { diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index aefeedf4e..baf4a1a1b 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -47,7 +47,7 @@ public class NTMWorldGenerator implements IWorldGenerator { structure = new JigsawPiece("spire", StructureManager.spire, -1); spawnWeight = 2; }}); - + NBTStructure.registerStructure(0, new SpawnCondition() {{ canSpawn = biome -> !invalidBiomes.contains(biome); start = d -> new MapGenNTMFeatures.Start(d.getW(), d.getX(), d.getY(), d.getZ()); @@ -114,7 +114,7 @@ public class NTMWorldGenerator implements IWorldGenerator { NBTStructure.registerStructure(0, new SpawnCondition() {{ canSpawn = flatbiomes::contains; structure = new JigsawPiece("radio_house", StructureManager.radio_house, -6); - spawnWeight = 40; + spawnWeight = 30; }}); NBTStructure.registerNullWeight(0, 4, oceanBiomes::contains); From 848ac39463735dcf6a5e24a11dc2ad66aedec76f Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Wed, 27 Aug 2025 17:24:58 +0200 Subject: [PATCH 3/3] resolve hopefully i hope --- src/main/java/com/hbm/world/gen/NTMWorldGenerator.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index 049428707..9ea1272e2 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -40,6 +40,7 @@ public class NTMWorldGenerator implements IWorldGenerator { final List oceanBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.ocean, BiomeGenBase.deepOcean }); final List beachBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.beach, BiomeGenBase.stoneBeach, BiomeGenBase.coldBeach }); final List lighthouseBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.ocean, BiomeGenBase.deepOcean, BiomeGenBase.beach, BiomeGenBase.stoneBeach, BiomeGenBase.coldBeach }); + final List flatbiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.plains, BiomeGenBase.icePlains, BiomeGenBase.desert }); /// SPIRE /// NBTStructure.registerStructure(0, new SpawnCondition("spire") {{ @@ -113,6 +114,12 @@ public class NTMWorldGenerator implements IWorldGenerator { spawnWeight = 1; }}); + NBTStructure.registerStructure(0, new SpawnCondition("radio") {{ + canSpawn = flatbiomes::contains; + structure = new JigsawPiece("radio_house", StructureManager.radio_house, -6); + spawnWeight = 30; + }}); + NBTStructure.registerNullWeight(0, 2, biome -> biome == BiomeGenBase.plains); NBTStructure.registerNullWeight(0, 2, oceanBiomes::contains);