Releases: kainovaii/MineVote
Releases · kainovaii/MineVote
Release list
v1.5
MineVote 1.5
What's new
Major refactor focused on stability, consistency and maintainability. No functional regressions.
Improvements
Architecture
- All repositories moved to instance — no more scattered static methods
BoostManagerinjected likeConfigManager— single shared instanceMineVotenow exposesgetBoostManager(),getVoterRepository(),getRewardRepository()
Domain
- Typed getters/setters on all models —
voter.getName()instead ofvoter.getString("name") @Tableadded onVoter,Reward,Transaction,ServiceTransactionandServiceimplemented — shop purchase logs and per-site vote logs
BoostManager
- Counter stored in memory — no longer written to
config.yml staticfields removed — consistent behaviour regardless of instance- Scheduler cleaned up
VotifierListener
- Dead code removed
- Boost logic fixed —
if/if→if/else - Redundant
player.isOnline()removed
ShopGui
- Massive duplication removed —
buildBase(),applyExtras(),fillShulker()shared notifyPurchase()extracted
Misc
SQLite: fake singleton removed, properly injectedPlayerJoinListener:System.out.printlnremoved- Javadoc added on all classes and non-trivial methods
Breaking Changes
VoterRepository: static methods removed — useplugin.getVoterRepository()BoostManager: no-arg constructor removed —new BoostManager(plugin, configManager)requiredSQLite: no-arg constructor removed —new SQLite(plugin)required
