Cat spawning options

This commit is contained in:
William Blake Galbreath
2025-01-05 14:19:12 -08:00
committed by granny
parent e4247eb565
commit e7fcac7035
3 changed files with 45 additions and 71 deletions

View File

@@ -0,0 +1,39 @@
--- a/net/minecraft/world/entity/npc/CatSpawner.java
+++ b/net/minecraft/world/entity/npc/CatSpawner.java
@@ -27,7 +_,7 @@
if (this.nextTick > 0) {
return 0;
} else {
- this.nextTick = 1200;
+ this.nextTick = level.purpurConfig.catSpawnDelay; // Purpur - Cat spawning options
Player randomPlayer = level.getRandomPlayer();
if (randomPlayer == null) {
return 0;
@@ -61,8 +_,12 @@
private int spawnInVillage(ServerLevel serverLevel, BlockPos pos) {
int i = 48;
- if (serverLevel.getPoiManager().getCountInRange(holder -> holder.is(PoiTypes.HOME), pos, 48, PoiManager.Occupancy.IS_OCCUPIED) > 4L) {
- List<Cat> entitiesOfClass = serverLevel.getEntitiesOfClass(Cat.class, new AABB(pos).inflate(48.0, 8.0, 48.0));
+ // Purpur start - Cat spawning options
+ int range = serverLevel.purpurConfig.catSpawnVillageScanRange;
+ if (range <= 0) return 0;
+ if (serverLevel.getPoiManager().getCountInRange(holder -> holder.is(PoiTypes.HOME), pos, range, PoiManager.Occupancy.IS_OCCUPIED) > 4L) {
+ List<Cat> entitiesOfClass = serverLevel.getEntitiesOfClass(Cat.class, new AABB(pos).inflate(range, 8.0, range));
+ // Purpur end - Cat spawning options
if (entitiesOfClass.size() < 5) {
return this.spawnCat(pos, serverLevel);
}
@@ -73,7 +_,11 @@
private int spawnInHut(ServerLevel serverLevel, BlockPos pos) {
int i = 16;
- List<Cat> entitiesOfClass = serverLevel.getEntitiesOfClass(Cat.class, new AABB(pos).inflate(16.0, 8.0, 16.0));
+ // Purpur start - Cat spawning options
+ int range = serverLevel.purpurConfig.catSpawnSwampHutScanRange;
+ if (range <= 0) return 0;
+ List<Cat> entitiesOfClass = serverLevel.getEntitiesOfClass(Cat.class, new AABB(pos).inflate(range, 8.0, range));
+ // Purpur end - Cat spawning options
return entitiesOfClass.size() < 1 ? this.spawnCat(pos, serverLevel) : 0;
}