MC 26.1 ; Java 25 ; Jaloquent#41
Merged
Merged
Conversation
- Bump project version 2.4.1 → 3.0.0 - Set maven.compiler.release to 25 - Update Paper API dependency to 26.1.2.build+ - Switch MockBukkit artifact to mockbukkit-v26.1 (dev-d245e0a) - Enable compiler fork for Java 25 compatibility - Update api-version in plugin.yml to 26.1
- AfkStateFeatureTest: core AFK state machine - MoveListenerAntiBypassFeatureTest: water/vehicle/bubble-column bypass detection - PlayerActivityListenerAllEventsTest: all tracked activity event types - PlayerAfkStatusChangeEventFeatureTest: cancellable API event - PlayerQuitAfkFlushTest: AFK time flush on player disconnect - PlaceholderExpansionTest: all 16 PlaceholderAPI placeholders - EconomyManagerTest: entry and recurring cost logic - LastActiveStateTest: last-active timestamp state - ZoneCacheTest / ZoneContainsTest: zone lookup and containment
Add docs/features/ directory with a dedicated page for each plugin feature, following the afk-kick-warnings style (config snippet + bullet explanations + How It Works + Related). New pages: - features/index.md: section overview with feature summary table - features/afk-detection.md: idle timeout, broadcasts, titles, display names, sound - features/anti-bypass.md: water flow, vehicle, bubble column detection - features/afk-kick.md: kick system, enabledWhenFull, timeout - features/gui.md: gui.yml reference, all action types, filler, back button - features/afk-zones.md: zones.yml, all three reward types, management commands - features/economy-costs.md: entry/recurring costs, Vault requirements - features/leaderboard.md: AFK time tracking, flush interval, /afk top
…e content Navigation: - Move afk-kick-warnings.md parent: Configuration → Features (nav_order: 4) - Bump nav_order: permissions 5→6, messages 6→7, mysql 7→8, integrations 8→9, faq 9→10 - Add Features row to index.md documentation table - Add Features row to getting-started.md next steps Cross-links: - configuration.md: add feature-page links per config section; remove has_children - permissions.md: rewrite with feature-grouped sections and links - afk-kick-warnings.md: add Related section Integrations: - PlaceholderApiIntegration.md: replace all wrong placeholder names (%ezafk_is_afk%, %ezafk_afk_time%, %ezafk_afk_reason%) with the 16 real placeholders sourced from EzAfkPlaceholderExpansion.java - EconomyIntegration.md: add config snippet, setup steps, and feature cross-links
bbcode-topic.md: - Update versions: v3.0.0, Minecraft 26.1, Java 25 - Replace GitHub Releases link with Modrinth download link - Add AFK Zones, German translation (de), and zone commands to feature list - Expand permissions and commands tables to include zone management - Update config spoiler to current v3.0.0 structure - Remove stale version badges pointing to GitHub releases API topics/modrinth-topic.md (new): - Full Markdown description suitable for Modrinth/Hangar plugin pages - Sections: overview, feature table, installation, commands, permissions, PlaceholderAPI placeholders, configuration overview, integrations, links docs/ezafk-bbcode.txt: remove (superseded by bbcode-topic.md at repo root)
- Replace all em dashes with colons or plain punctuation throughout all documentation pages, feature pages, integration pages, API pages, bbcode-topic.md, and topics/modrinth-topic.md - Remove (bool), (integer, seconds), (string), (decimal) type annotations from config field descriptions so server owners can read them easily - Simplify How It Works sections: replace Bukkit/Java internal references (PlayerMoveEvent, VehicleMoveEvent, Player#kickPlayer(), session map) with plain behaviour descriptions - Fix TabIntegration.md: convert informal 'Steps — X' headers to proper ### headings; remove stray AI-assistant prompt paragraph at the end - Use direct language throughout the non-API docs
Replace raw JDBC/YAML implementations with Jaloquent's Model/ModelRepository pattern. Each backend now implements Jaloquent's DataStore or JdbcStore interface and delegates all CRUD to a ModelRepository<AfkTimeModel>. - Add AfkTimeModel (extends Model) with getSeconds/setSeconds - Add YamlDataStore (DataStore + QueryableStorage) for YAML persistence - Rewrite YamlStorage: YamlDataStore + ModelRepository (flat-map path) - Rewrite MySQLStorage: JdbcStore + ModelRepository (SqlDialect.MYSQL) - Rewrite SQLiteStorage: JdbcStore + ModelRepository (SqlDialect.SQLITE) - Shade Jaloquent/JavaQueryBuilder under com.gyvex.ezafk.libs.ezframework
Models:
- AfkTimeModel now implements HasFactory and declares setFillable("seconds")
to guard against mass-assignment of unexpected attributes
- Static factory() method delegates to Factory.discover() for test fixture
generation via AfkTimeModelFactory
Migrations:
- Migration interface: version(), description(), up(JdbcStore)
- SqlMigration record: executes a single SQL string as a migration
- MigrationRunner: ensures schema_migrations tracking table exists, then
runs any pending migrations in ascending version order exactly once
- MySQLStorage and SQLiteStorage: replace manual CREATE TABLE IF NOT EXISTS
with MigrationRunner (v1 migration per dialect)
Factories:
- AfkTimeModelFactory (test scope): extends Factory<AfkTimeModel>; generates
random AFK time fixtures using Jaker's NumberProvider
- Add jaker 1.0.0 and jaker-data-en-US 1.0.0 as test-scoped dependencies
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.