Releases: salmjak/DynamicSpawn
v0.0.8-beta
Version 0.0.8
- Changed from using GameStoppedServerEvent to GameStoppingServerEvent.
v0.0.7-beta
Version 0.0.7
-
NPC Trainer pokemon now spawn correctly (previously overriden).
-
Max pokemon per player is now changed when "max per player * online players > max on server" to even out pokemon spawns better when the server has many players (i.e. so that the scenario "One player with max per player spawns and another with zero spawns" doesn't happen).
-
Known bug: Overrides spawning from commands (e.g. /pokespawn will not work if the spawn limits are already reached).
v0.0.6-beta
Version 0.0.6
-
(Hopefully) improved performance by removing Math.Sqrt() from the distance getter and squaring the distance to check instead.
-
(Hopefully) improved performance by getting entities from chunks within range instead of iterating over all spawned entities (chunks already keep an internal list over the entities in that chunk, and accessing chunks (assuming it's implementas as a 3 dimensional array) should be O(1)).
v0.0.4-alpha
Version 0.0.4
-
Reduced error-messages by listening to Forges EntityJoinWorldEvent instead.
-
Added a limit on air persistent and water pokemon (as a percentage of max per player).
-
Added options for always allowing spawning of legendaries and bosses (true/enabled by default).
TODO Before Beta: Optimize performance of searches.
v0.0.3-alpha
Version 0.0.3
Finally done with this.
-
Reworked the spawn system by listening to Sponges SpawnEntityEvent-event.
- Finds all players within spawn radius (Probably O(n)-time (where n = number of entities), depending on how sponge retrieves players).
- Makes an average position of the players found and finds all pixelmon within view distance + the distance between two players furthest apart (O(n)-time (where n = number of entities)).
- Checks if the amount of pixelmon are less than max allowed per area and max allowed per player.
- Either allows spawning or sets the entity to dead. -
KNOWN BUGS: Sometimes spam error-message "fetching addPacket for removed entity". Attempt to reduce this by continously changing the maxSpawnTickRate.
-
TODO:
Optimize entity search (Grid? Quadtree? Locality sensitive hashing?).
Find a better way to remove entities.
"Individual" spawn rate to avoid instances of many player in the same area causing a "false high" spawn rate?
v0.0.2-alpha
Delete DynamicSpawn-0.0.2.jar