diff --git a/Minecraft.Client/ServerLevel.h b/Minecraft.Client/ServerLevel.h index 792132a4..4ef2d4a5 100644 --- a/Minecraft.Client/ServerLevel.h +++ b/Minecraft.Client/ServerLevel.h @@ -138,12 +138,21 @@ private: // 4J - added for implementation of finite limit to number of item entities, tnt and falling block entities public: - static const int MAX_HANGING_ENTITIES = 400; - static const int MAX_ITEM_ENTITIES = 200; - static const int MAX_ARROW_ENTITIES = 200; - static const int MAX_EXPERIENCEORB_ENTITIES = 50; - static const int MAX_PRIMED_TNT = 20; - static const int MAX_FALLING_TILE = 20; + static const int MAX_HANGING_ENTITIES = 800; + static const int MAX_ITEM_ENTITIES = 400; + static const int MAX_ARROW_ENTITIES = 400; + static const int MAX_EXPERIENCEORB_ENTITIES = 100; + static const int MAX_PRIMED_TNT = 40; + static const int MAX_FALLING_TILE = 40; + + //static const int MAX_HANGING_ENTITIES = 400; + //static const int MAX_ITEM_ENTITIES = 200; + //static const int MAX_ARROW_ENTITIES = 200; + //static const int MAX_EXPERIENCEORB_ENTITIES = 50; + //static const int MAX_PRIMED_TNT = 20; + //static const int MAX_FALLING_TILE = 20; + + int m_primedTntCount; int m_fallingTileCount; diff --git a/Minecraft.World/MobCategory.cpp b/Minecraft.World/MobCategory.cpp index cde98dc4..0dbfcba2 100644 --- a/Minecraft.World/MobCategory.cpp +++ b/Minecraft.World/MobCategory.cpp @@ -63,18 +63,18 @@ void MobCategory::setMaxInstancesPerLevel(int max) m_maxPerLevel = max; } -int MobCategory::maxAnimalsWithBreeding() { return creature->getMaxInstancesPerLevel() + 20; } -int MobCategory::maxChickensWithBreeding() { return creature_chicken->getMaxInstancesPerLevel() + 8; } -int MobCategory::maxMushroomCowsWithBreeding() { return creature_mushroomcow->getMaxInstancesPerLevel() + 20; } -int MobCategory::maxWolvesWithBreeding() { return creature_wolf->getMaxInstancesPerLevel() + 8; } +int MobCategory::maxAnimalsWithBreeding() { return (creature->getMaxInstancesPerLevel() + 20)*2; } +int MobCategory::maxChickensWithBreeding() { return (creature_chicken->getMaxInstancesPerLevel() + 8)*2; } +int MobCategory::maxMushroomCowsWithBreeding() { return (creature_mushroomcow->getMaxInstancesPerLevel() + 20)*2; } +int MobCategory::maxWolvesWithBreeding() { return (creature_wolf->getMaxInstancesPerLevel() + 8)*2; } -int MobCategory::maxAnimalsWithSpawnEgg() { return maxAnimalsWithBreeding() + 20; } -int MobCategory::maxChickensWithSpawnEgg() { return maxChickensWithBreeding() + 10; } -int MobCategory::maxWolvesWithSpawnEgg() { return maxWolvesWithBreeding() + 10; } -int MobCategory::maxMonstersWithSpawnEgg() { return monster->getMaxInstancesPerLevel() + 20; } -int MobCategory::maxMushroomCowsWithSpawnEgg() { return maxMushroomCowsWithBreeding() + 8; } -int MobCategory::maxSquidsWithSpawnEgg() { return waterCreature->getMaxInstancesPerLevel() + 8; } -int MobCategory::maxAmbientWithSpawnEgg() { return ambient->getMaxInstancesPerLevel() + 8; } +int MobCategory::maxAnimalsWithSpawnEgg() { return (maxAnimalsWithBreeding() + 20)*2; } +int MobCategory::maxChickensWithSpawnEgg() { return (maxChickensWithBreeding() + 10)*2; } +int MobCategory::maxWolvesWithSpawnEgg() { return (maxWolvesWithBreeding() + 10)*2; } +int MobCategory::maxMonstersWithSpawnEgg() { return (monster->getMaxInstancesPerLevel() + 20)*2; } +int MobCategory::maxMushroomCowsWithSpawnEgg() { return (maxMushroomCowsWithBreeding() + 8)*2; } +int MobCategory::maxSquidsWithSpawnEgg() { return (waterCreature->getMaxInstancesPerLevel() + 8)*2; } +int MobCategory::maxAmbientWithSpawnEgg() { return (ambient->getMaxInstancesPerLevel() + 8)*2; } Material *MobCategory::getSpawnPositionMaterial() { diff --git a/Minecraft.World/MobCategory.h b/Minecraft.World/MobCategory.h index d5eab0c3..eafbc962 100644 --- a/Minecraft.World/MobCategory.h +++ b/Minecraft.World/MobCategory.h @@ -7,9 +7,9 @@ class MobCategory { public: // 4J - putting constants for xbox spawning in one place to tidy things up a bit - all numbers are per level - static const int CONSOLE_MONSTERS_HARD_LIMIT = 50; // Max number of enemies (skeleton, zombie, creeper etc) that the mob spawner will produce - static const int CONSOLE_ANIMALS_HARD_LIMIT = 50; // Max number of animals (cows, sheep, pigs) that the mob spawner will produce - static const int CONSOLE_AMBIENT_HARD_LIMIT = 20; // Ambient mobs + static const int CONSOLE_MONSTERS_HARD_LIMIT = 100; // Max number of enemies (skeleton, zombie, creeper etc) that the mob spawner will produce + static const int CONSOLE_ANIMALS_HARD_LIMIT = 100; // Max number of animals (cows, sheep, pigs) that the mob spawner will produce + static const int CONSOLE_AMBIENT_HARD_LIMIT = 40; // Ambient mobs static const int MAX_XBOX_CHICKENS = 8; // Max number of chickens that the mob spawner will produce static const int MAX_XBOX_WOLVES = 8; // Max number of wolves that the mob spawner will produce @@ -20,7 +20,7 @@ public: static const int MAX_CONSOLE_BOSS = 1; // Max number of bosses (enderdragon/wither) // 4J Villager breeding/egg limits - villagers are not a MobCategory so these stay hardcoded - static const int MAX_VILLAGERS_WITH_BREEDING = 35; + static const int MAX_VILLAGERS_WITH_BREEDING = 70; static const int MAX_XBOX_VILLAGERS_WITH_SPAWN_EGG = MAX_VILLAGERS_WITH_BREEDING + 15; // Breeding headroom above the natural spawn cap. Read at call time so these