ChangeLog for HSP 2.0
- Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk. Jenkins
v2.0 - in development - ALPHA - (use Jenkins)
- Major refactor
- Primary benefit: Server API abstraction layer - HSP is no longer tightly coupled to Bukkit. MC-API, Spout etc can be supported from 90% of the same codebase, so HSP can support other server platforms from the same code. This follows the pattern of other well-established plugins like dynmap, LWC and WorldEdit.
- HSP Bukkit implementation; this is a thin API implementation layer that allows HSP to run on Bukkit
- Implement Dependency Injection (IoC pattern) - easier to manage code and write test cases. This make supporting different server environments much easier to do.
- Maven modules for different CraftBukkit versions, a single Bukkit JAR supports all CraftBukkit versions
- Capability to use separate config files rather than one massive config.yml; easier to focus on one thing at a time
- Annotations for strategies, it's now very clean and self-contained for someone to contribute new strategies
- The previously monolithic "HomeSpawnUtils" class has been eradicated in favor of OOP principles where it makes sense, or smaller more specific util classes where common algorithms are used across multiple objects. This is much easier code to maintain.
- Changes an admin might notice from 1.7
- if you want to use new multi-file config, just move your config.yml out of the way, HSP will create defaults in config directory
- per-permission processing is now consistent across types. 0-values will be respected and only if there is no entry at all will HSP keep looking through the next tier (permission, world, global).
- The entry name for per-permission entries is now used as part of default permissions that are checked if no "permissions" section exists. As an example, for an entry named "entry1", HSP will check for the permissions "hsp.type.entry1" (where type is the type such as homeLimit, cooldown, etc), "hsp.entry.entry1" and "group.entry1". The latter is obviously convenient if you just name your entries after your groups. All 3 are checked so you can just choose the one that makes the most sense for the way you want to use it.
- No more explicit PEX or Perm2 support. Use Vault, WEPIF or Superperms.
- core.defaultPermissions is now valid for all permission modes. So any permissions listed here will be applied to everyone for HSP permission checks.