Tags
Creators
Details
Licensed GPL-3.0-only
Published 10 months ago
Updated 2 weeks ago
All versions
0.3
Alpha
PoliticsMod 0.3 (Fabric 1.21.1)last month 45
Compatibility
Minecraft: Java Edition
1.21.1
Platform
Fabric
Supported environments
Client and server
Required content
Any compatible version
Any compatible version
Any compatible version
Changes
Changelog
v0.3 โ Fabric, Market & Management
๐ New Features
Fabric Support
- PoliticsMod now runs on Fabric as well as NeoForge (Minecraft 1.21.1), built from a single codebase with Architectury.
Trade Warehouse โ Inter-Country Market
- The Trade Warehouse has been completely reworked into a global market between nations.
- Selling: any citizen can list the item in their hand for a price. The item is held by the market until it's sold or withdrawn.
- Buying: leaders and mayors buy goods from other nations with the treasury. Items go straight to the buyer's inventory, and the money goes to the seller's treasury.
- Diplomacy matters: nations at war can't trade (embargo). Allies trade without the market fee.
- The seller's online citizens are notified of every sale.
- Listings are stored in world data, so breaking a warehouse doesn't remove your goods.
Server Configuration
- New
config/politicsmod.jsonwith 18 settings: claim prices, upkeep, tax income, economy cycle length, war cost and cooldown, vault and embassy bonuses, radar range, and market fee and limits. - Invalid values are corrected automatically, and missing keys are added after updates.
- New command:
/politicsmod reloadreloads the config without a restart (operators only).
๐ฎ Gameplay & Security
Survival Support (first step)
- The Trade Warehouse now works in Survival mode: it has a crafting recipe (chest, gold ingots and planks), drops when broken, and is mined faster with an axe.
- Other PoliticsMod blocks remain Creative-only for now.
Anti-Exploit Protection
- All market actions are validated on the server: role, treasury funds, embargo and listing availability.
- Items are removed from the player's hand at the moment of listing, so they can't be duplicated.
- Market actions only work while standing next to a warehouse.
๐ฅ๏ธ UI & Localization
Dashboard Overhaul (K)
- Three new tabs:
- Citizens: member list with roles and online status. Invite, kick, and promote or demote mayors.
- Diplomacy: relations with every nation. Declare war, propose an alliance or peace, and accept or reject incoming proposals.
- Economy: treasury and limit, income breakdown (tax blocks, federal tax, embassies), upkeep, tribute and net result per cycle. Leaders can adjust the federal tax rate with ยฑ1/ยฑ5 buttons.
- Actions are shown according to your role and follow exactly the same rules as the chat commands.
Market Screen
- New Trade Warehouse interface with Market and Our Listings tabs, item tooltips and pagination.
๐ Bug Fixes
- Fixed a crash on dedicated servers during startup (
invalid dist DEDICATED_SERVER) caused by client-side GUI classes being loaded on the server. - Fixed
/politicsmod infoshowing an incorrect net income: it ignored embassy bonuses and counted city tax blocks as national income. It now matches the actual economy cycle. - Fixed claim prices being defined separately for the
/politicsmod claimcommand and the map GUI, which could make them disagree. - Fixed claim messages showing hardcoded amounts (500$ / 100$) instead of the real price.
- Fixed player roles appearing in Russian on the dashboard regardless of game language.
โ ๏ธ Important Notes
- New required dependency: Architectury API on both loaders. Fabric also requires Fabric API. GeckoLib is still required.
- The old 27-slot Trade Warehouse has been removed. Any items stored in previously placed warehouses will be lost.
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:gFmbdJ1F:3tyXjCVk"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:gFmbdJ1F:3tyXjCVk"
}

