0.2.3
Compatibility
Changes
CivilizationsMC
CivilizationsMC adds a server-side economy to NeoForge 1.21.1. You can form a clan, earn coins by selling to the server, list items on a multi-page auction house, set up your own player shop, and work through a tiered 30-quest ladder. Your balance, clan, and current quest set all show on a per-player sidebar HUD.
Most of the mod runs server-side and uses vanilla container GUIs. The custom shop block is the only piece that renders on the client.
Commands
/clan create|invite|accept|leave|disband|list/balance,/balance give|set(op),/pay <player> <amount>/bankopens a withdraw/deposit GUI for paper banknotes/ahopens the auction-house GUI./ah sell|buy|cancel|list|minealso work as direct commands./sellopens the cart GUI./sell handand/sell allsell instantly,/sell listopens a paged price catalog./questsshows your active quest set and lets you claim rewards.- Right-click a placed Shop block. Buyers see a vanilla villager trade screen, owners see a config GUI.
Features
Clans
- Create a clan, invite players, accept invites, leave, disband, see the list of active clans
- Members can still hurt each other in PvP (friendly fire is on by default)
Currency and Bank
- Per-player coin balance stored with the world
/payfor peer-to-peer transfers/banklets you withdraw your balance as paper banknotes and deposit them back. Banknotes are vanilla paper with custom data so any client can read them.
Auction House
- Vanilla 6-row chest GUI with Browse, Sell, My Listings, and Returns pages, plus a 3-row Confirm Cancel modal
- Browse sort cycle (Newest, Price low to high, Price high to low) with right-click to go backwards
- Each listing's lore shows the price, seller, an expiry countdown, and a colored call-to-action line
- 5% listing tax and 10% sale tax act as money sinks
- 48-hour listing expiry. Expired items go straight to Returns and you can claim them whenever.
- Enchantments, custom names, and
custom_datasurvive a listing round-trip
Player Shops
- Custom Shop block crafted from 6 planks and an emerald, with its own model and texture
- Has a
HORIZONTAL_FACINGblockstate so the front of the block always points at whoever placed it - First right-click claims ownership
- Owners get a chest-style config GUI for adding and removing offers, setting prices with step buttons, and depositing stock from their inventory
- Buyers get the vanilla villager trade screen. Payment comes out of
/balanceand splits 90% to the owner, 10% to a sink.
Server Sell-Shop (the money faucet)
/sellopens a cart GUI. Click an item in your inventory to add it to the cart, click Sell to open the confirm modal, click Confirm to mint the coins./sell handand/sell allfor fast sales without the GUI/sell listopens a paged catalog showing every sellable item and its price- Around 80 items in the price list. Rare and non-farmable items (diamond, netherite, beacon, dragon head, and so on) pay well. Farmable items pay 1 coin.
Quests
- 30 quests in 6 tiers of 5. Finish all 5 in your current set and the next set unlocks.
- Sell, list, and buy quests use lifetime counters, so your progress carries over between sets
- Click a completed quest in
/queststo claim its coin reward
Sidebar HUD
- Per-player scoreboard sidebar showing your Balance, your Clan, and your active quest set with live progress
- Refreshes about every two seconds and uses vanilla scoreboard packets
Polish
- Every system message uses a colored prefix:
CLANS | ...,ECONOMY | ...,BANK | ...,AUCTION | ...,SHOP | ...,QUESTS | ... - Hover any sellable item anywhere in the game and the tooltip shows
Sells for: X coins - Network version check rejects clients running the wrong mod version at the handshake
Anti-Dupe Protection
- All display containers are read-only at the
Containerlevel.setItem,removeItem,removeItemNoUpdate, andclearContentall refuse external writes. - Every display item is stamped with a hidden marker. Any marked item that lands in a player inventory, on the cursor, or as a dropped
ItemEntitygets deleted within a single server tick. - Stops inventory extract/sort mods (Quark's Inventory Sorting buttons, Sophisticated Backpacks' Pickup upgrades, and so on) from pulling items out of the GUIs
Requirements
- Minecraft 1.21.1
- NeoForge 21.1.230 or newer
- Java 21
- Required on both the server and the client (custom block and version check)
Clans
- Create and run a clan, invite/accept/leave/disband
- Members are friends in chat-prefix style but can damage each other (friendly fire is ON by default)
Currency and Bank
- Per-player long-integer coin balance, persisted in the world save
/paypeer-to-peer transfers/bankGUI for withdrawing paper banknotes (item-based currency) and depositing them back; works on any vanilla client because banknotes are just paper with custom data
Auction House
- Vanilla 6-row chest GUI with Browse / Sell / My Listings / Returns pages and a 3-row Confirm Cancel modal
- Browse sort cycle (Newest / Price low→high / Price high→low) with right-click to go backwards
- Per-item lore shows price, seller, expiry countdown, and a colored call-to-action
- 5% listing tax + 10% sale tax (configurable money sinks)
- 48-hour listing expiry — expired items automatically go to Returns, claim them anytime
- Preserves enchantments, custom names, and
custom_dataend-to-end
Player Shops (custom block)
- Custom Shop block (crafted with 6 planks + an emerald) with its own model, texture, and
HORIZONTAL_FACINGso the storefront always faces the placer - First right-click claims ownership
- Owners get a chest-style config GUI: add/remove offers, set prices with step buttons, deposit stock from inventory
- Buyers get the vanilla villager trade screen — pays from
/balance, splits 90 % to the owner / 10 % sink
Server Sell-Shop (the money faucet)
/sellopens a cart GUI: click inventory items to add them to the sale, Sell opens a confirm modal, Confirm mints coins/sell handand/sell allfor quick sales/sell listpaged price catalog of every sellable item- ~80-item curated price list — rare/non-farmable items pay well (diamond, netherite, beacon, dragon head, etc.), farmable items pay 1 coin
Quests
- 30 quests across 6 tiers (Sets 1–6 of 5 quests each) — finish all 5 in your current set to auto-unlock the next
- Lifetime counters for selling, listing, and buying so progress carries across tiers
- Click a completed quest in
/queststo claim its coin reward
Sidebar HUD
- Per-player scoreboard sidebar showing Balance, your Clan, and your current quest set with live progress
- Refreshes every 2 seconds; sent via vanilla scoreboard packets
Polish
- Every chat message goes through a unified prefix system:
CLANS | …,ECONOMY | …,BANK | …,AUCTION | …,SHOP | …,QUESTS | …, each with its own color - Price tooltips: hover any sellable item anywhere and see
Sells for: X coins - Network version check — clients on the wrong mod version are rejected at the handshake
Anti-Dupe Protection
- All display containers are read-only at the
Containerlevel —setItem,removeItem,removeItemNoUpdate, andclearContentall refuse external writes - Display items are stamped with a hidden marker; any marked item that lands in a player inventory, on the cursor, or as a dropped
ItemEntityis deleted within one tick - Designed to defeat extract/sort mods like Quark's Inventory Sorting and Sophisticated Backpacks' Pickup upgrades
Requirements
- Minecraft 1.21.1
- NeoForge 21.1.230 or newer
- Java 21
- Required on both server and client (custom block + version check)
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:1yKvn3L9:bwzm55iv"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:1yKvn3L9:bwzm55iv"
}
