Skip to content

Releases: salmjak/DynamicSpawn

v0.0.8-beta

12 Aug 20:58

Choose a tag to compare

Version 0.0.8

  • Changed from using GameStoppedServerEvent to GameStoppingServerEvent.

v0.0.7-beta

09 Aug 19:52

Choose a tag to compare

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

09 Aug 17:11

Choose a tag to compare

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

08 Aug 10:49

Choose a tag to compare

v0.0.4-alpha Pre-release
Pre-release

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

07 Aug 17:10

Choose a tag to compare

v0.0.3-alpha Pre-release
Pre-release

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

03 Aug 10:13

Choose a tag to compare

v0.0.2-alpha Pre-release
Pre-release
Delete DynamicSpawn-0.0.2.jar