mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-08-10 17:55:44 +00:00
commit
7805bacbd0
@ -50,6 +50,7 @@ public class StructureConfig {
|
||||
public static int radioSpawnWeight = 30;
|
||||
public static int forestChemSpawnWeight = 30;
|
||||
public static int forestPostSpawnWeight = 30;
|
||||
public static int towerBaseSpawnWeight = 30;
|
||||
|
||||
public static int spireSpawnWeight = 2;
|
||||
public static int craneSpawnWeight = 20;
|
||||
@ -115,6 +116,7 @@ public class StructureConfig {
|
||||
oceanNullWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.38_oceanNullWeight", "Null spawn weight for ocean biomes", 35);
|
||||
craneSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.39_craneSpawnWeight", "Spawn weight for crane structure.", 20);
|
||||
broadcastingTowerSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.40_broadcastingTowerSpawnWeight", "Spawn weight for broadcasting tower structure.", 25);
|
||||
towerBaseSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.41_towerBaseSpawnWeight", "Spawn weight for tower base.", 30);
|
||||
|
||||
|
||||
structureMinChunks = CommonConfig.setDef(structureMinChunks, 4);
|
||||
|
||||
@ -82,6 +82,7 @@ public class StructureManager {
|
||||
public static final NBTStructure forest_chem = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/forest_chem.nbt"));
|
||||
public static final NBTStructure plane1 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crashed_plane_1.nbt"));
|
||||
public static final NBTStructure plane2 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crashed_plane_2.nbt"));
|
||||
public static final NBTStructure tower_base = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/tower_base.nbt"));
|
||||
|
||||
public static final NBTStructure factory = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/factory.nbt"));
|
||||
public static final NBTStructure crane = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crane_mod.nbt"));
|
||||
|
||||
@ -241,6 +241,11 @@ public class NTMWorldGenerator implements IWorldGenerator {
|
||||
structure = new JigsawPiece("NTMRuinsJ", StructureManager.ntmruinsJ, -1) {{conformToTerrain = true;}};
|
||||
spawnWeight = StructureConfig.enableRuins ? StructureConfig.ruinsJSpawnWeight : 0;
|
||||
}});
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("tower_base") {{
|
||||
canSpawn = biome -> biome.heightVariation <= 0.3F && !isInvalidBiome(biome);
|
||||
structure = new JigsawPiece("tower_base", StructureManager.tower_base, -6);
|
||||
spawnWeight = StructureConfig.towerBaseSpawnWeight;
|
||||
}});
|
||||
|
||||
NBTStructure.registerNullWeight(0, StructureConfig.plainsNullWeight, biome -> biome == BiomeGenBase.plains);
|
||||
NBTStructure.registerNullWeight(0, StructureConfig.oceanNullWeight, biome -> BiomeDictionary.isBiomeOfType(biome, Type.OCEAN));
|
||||
|
||||
@ -487,6 +487,39 @@ public class LogicBlockActions {
|
||||
}
|
||||
};
|
||||
|
||||
public static Consumer<LogicBlock.TileEntityLogicBlock> DEAD_GUY_BASE_TOWER = (tile) -> {
|
||||
World world = tile.getWorldObj();
|
||||
int x = tile.xCoord;
|
||||
int y = tile.yCoord;
|
||||
int z = tile.zCoord;
|
||||
if(tile.phase == 1) {
|
||||
world.setBlock(x, y, z, ModBlocks.skeleton_holder);
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
EntityPlayer player = (EntityPlayer) world.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y - 2, z + 1).expand(25, 25, 25)).get(0);
|
||||
|
||||
if (te instanceof BlockSkeletonHolder.TileEntitySkeletonHolder) {
|
||||
BlockSkeletonHolder.TileEntitySkeletonHolder skeleton = (BlockSkeletonHolder.TileEntitySkeletonHolder) te;
|
||||
int roll = world.rand.nextInt(100);
|
||||
|
||||
if (roll < 44) {
|
||||
skeleton.item = new ItemStack(ModItems.ammo_standard, 3, 91);
|
||||
|
||||
} else if (roll < 71) {
|
||||
skeleton.item = new ItemStack(ModItems.ammo_standard, 1, 92);
|
||||
|
||||
} else if (roll < 92) {
|
||||
skeleton.item = new ItemStack(ModItems.ammo_standard, 1, 73);
|
||||
|
||||
} else if (roll < 96) {
|
||||
skeleton.item = new ItemStack(ModItems.item_secret, 1, 3);
|
||||
|
||||
} else {
|
||||
skeleton.item = new ItemStack(ModItems.item_secret, 1, 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static List<String> getActionNames(){
|
||||
return new ArrayList<>(actions.keySet());
|
||||
}
|
||||
@ -506,6 +539,7 @@ public class LogicBlockActions {
|
||||
actions.put("BOMB_TRAP", BOMB_TRAP);
|
||||
actions.put("BOMB_CRANE", BOMB_CRANE);
|
||||
actions.put("DEAD_GUY_CRANE", DEAD_GUY_CRANE);
|
||||
actions.put("DEAD_GUY_TOWER_BASE", DEAD_GUY_TOWER_BASE);
|
||||
|
||||
//Mob Block Actions
|
||||
actions.put("SKELETON_GUN_TIER_1", SKELETONS_GUN_TIER_1);
|
||||
|
||||
BIN
src/main/resources/assets/hbm/structures/tower_base.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/tower_base.nbt
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user