
PerformanceX
Struggling with LAG??? Look no further! PX is an All-in-one server performance suite - 50 modules including item/mob despawn timers, AI throttling, lag machine detection, auto backups, Discord webhooks, Geyser support, and more. 1.8.8-26.2.
Список изменений
v1.1.92 - Performance improvements round 2
Performance Fixes
-
Farm Limiter - spawner nearby mob check: The spawner spawn event handler was calling
world.getLivingEntities()(full-world O(n) scan) to count nearby mobs before deciding whether to cancel the spawn. On farm servers with many active spawners this fires constantly — every spawner spawn scanned every entity in the entire world. Replaced withgetNearbyEntities()which uses Bukkit's chunk-based spatial index and is O(entities in radius) instead of O(all entities in world). -
Collision Limiter - transition-only setCollidable() calls: The periodic sweep task (every 600 ticks) and EntitySpawnEvent handler both called
setCollidable()via reflection on every matching entity every pass, even when their collision state was already correct. Added a UUID tracking set so the reflective API is only invoked on actual state transitions (enabled to disabled or vice versa).restoreAll()on module disable now also iterates only the entities it actually modified instead of scanning all world entities. -
Mob Clear - pre-compute player distances before sort: When
kill_priority: furthest_from_playeris configured, the sort comparator was callinggetPlayers()and com✨g distance to all players for every comparison in the sort — O(n log n x players). Player distances are now pre-computed once per clear into a UUID map and looked up O(1) during the sort, reducing the complexity to O(n x players + n log n).
