Tags
Creators
Details
Licensed ARR
Published 5 months ago
Updated 3 months ago
All versions
1.0.2
Release
Aeronautics Delivery Quests 1.0.2 (NeoForge 1.21.1)5 months ago 199
Compatibility
Minecraft: Java Edition
1.21.1
Platform
NeoForge
Supported environments
Client-side
Server-side
Required content
Any compatible version
Any compatible version
Changes
Aeronautics Delivery Quests (ADQ) - v1.0.2 Changelog
Quest & Location Generation Configuration Toggles
- Generation Mode Toggle: Replaced the sliding scale
customQuestsChancewith an enum-basedquestGenerationModeconfig toggle (CUSTOMorPROCEDURAL).- CUSTOM: Spawns structured quests exactly as defined in
custom_quests.json. - PROCEDURAL: Dynamically mixes names, descriptions, mass classes, schematics, and rewards from across the pool of valid templates in
custom_quests.json.
- CUSTOM: Spawns structured quests exactly as defined in
- Location Mode Selector: Replaced
randomQuestGenwith an enum-basedquestLocationModeconfig toggle (VILLAGE,ANY_STRUCTURE, orRANDOM).- ANY_STRUCTURE: Performs an Overworld-wide search using the registries to locate any valid registered structure (top level only) for cargo pickup and delivery.
Expanded Default Assets & Balanced Economy
- 6 Default Cargo Schematics: Expanded the programmatically generated cargo NBT schematics list to 6, adding
light_food_crate,medium_ore_crate, andheavy_industrial_boiler. - 6 Default Packaged Quests: Expanded example templates to 6 default quests in
custom_quests.json. - Balanced Emerald Economy: Reduced default emerald payouts for all 6 example quests to a balanced range of 10β50 emeralds. Scaled default config payouts for procedural generation to 15 (Light), 30 (Medium), and 50 (Heavy).
Command Cooldowns & Concurrency Safety
- 5-Second Command Cooldown: Enforces a 5-second cooldown on all player
/adqcommand executions. - Quest Generation Lock: Implemented an execution lock (
AtomicBoolean) to prevent starting quest generation twice concurrently, with dynamic play button greying out on the client UI.
Config Auto-Healing
- Auto-Healing Configuration: If an outdated version of
custom_quests.jsonis detected (with old legacy emerald payouts of300or640), it is automatically upgraded and rewritten with the balanced 1.0.2 rewards on server startup.
Quest Board Clipboard UI Polish
- Multi-Reward Display: Enhanced the Quest Board clipboard to display all reward items. Details are parsed into a clean comma-separated list and wrapped dynamically to fit within ledger slots and the active quest details view.
- Ledger Spacing Refactor: Reduced quest items displayed per page from 3 to 2, scaling card heights to 68px (originally 48px) to cleanly prevent reward text from spilling over.
- Dynamic State Updates: Accept buttons refresh active states dynamically when a player's quest cooldown ticks down to zero.
C2ME Concurrency & Thread Safety
- Asynchronous Random Safety: Replaced thread-bound
level.getRandom()with isolatedRandomSource.create()inside the background quest generation thread. This completely resolves threading crashes andConcurrentModificationExceptionconflicts when running alongside the C2ME (Concurrent Chunk Management Engine) mod.
Aeronautics Delivery Quests (ADQ) - v1.0.1 Changelog
Core Mechanics & Standalone Architecture
- Standalone Mod: Stripped all FTB Chunks, Teams, and Library requirements from compilation, config, and runtime scripts, making ADQ 100% independent.
- Safe Air Spawning: Re-engineered physical spawning to check solid surface footprints and ensure 100% empty air columns. Cargo spawns 3 blocks in the air and drops cleanly under gravity.
- Vertical Spawning Safety Fallback: Added a sky fallback (spawns cargo 4 blocks above solid ground) if flat ground is unavailable, preventing clipping into village structures/ground. Removed legacy floating grass block placements.
Custom Quest JSON Configurations
- Admins JSON Pool (
custom_quests.json): Added a dedicated GSON database atconfig/aeronautics_delivery_quests/custom_quests.json(auto-generates example templates on startup) allowing custom names, descriptions, mass classes, NBT templates, and rewards. - Mix Ratio Tuning: Added
customQuestsChance(default 0.5) double config parameter underADQConfigto set the percentage ratio of custom JSON quests versus procedural generation. - Instant Hot-Reloads: Integrated JSON reloader directly into the
/adq reloadcommand and chest-GUI reload button for real-time refreshes without a server restart.
Exploit Protection & Chest-GUI Command Panel
- Anti-Loot Balance: Swapped
minecraft:netherite_blockin the Heavy schematic withminecraft:polished_deepslateand programmed the manager to overwrite legacy/OP config files on startup. Guaranteed all default schematics use exactlysimulated:rope_connector. - Chest-GUI Redesign: Restructured the board to limit quest maps to slots 0β17 (respecting
maxActiveQuestsPerBoard). Converted the bottom row (slots 18β25) into a command dashboard for Reissuing Compass, Cancelling Contract, and OP-level 2 Admin Commands (Generate, Delete All, Reload).
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:tEL1KmWB:AameskB0"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:tEL1KmWB:AameskB0"
}

