CIS Factions is a complete territory, government and warfare system.
Factions are founded by operators and filled afterwards, the same way the vanilla
/team command works, so nobody creates a faction by accident and no server ends
up with four hundred one-player factions. From there it is up to the players:
claim ground, hand out ranks, put people to work, issue papers at the border, and
take land off the neighbours when talking stops working.
Everything runs through one panel. Press K.
THE PANEL
--------------------------------------------------------------------------------
A bordered window with a navigation column down the left and a stack of full
width, colour-coded action bars on the right. Eleven sections:
Overview Your faction at a glance, and the shortcuts you use daily
Faction Invites, members, ranks, tier upgrades, flag, capital
Land Claiming, homes, territory flags, the maps
War & Defense Justification, declaration, sieges, rally, peace
Diplomacy Alliances, truces, enemies, standing offers
Jobs Posts, wages, work orders, job stations
Identity ID cards, passports, visas, border control
Info & Stats Server and faction figures, the full tier ladder
Factions List Every faction on the server with its standing to you
Tutorial Six steps from founding to war
Settings Themes and map preferences (client only)
Every button is backed by a command, so anything you can click you can also type,
bind to a macro or run from a command block.
The server builds each page and the client draws it. That means permissions and
limits are checked in exactly one place, a modified client can never do more than
the player could do by typing, and the interface can never drift out of sync with
the rules. The panel refreshes once a second, so siege bars, treasuries and
rosters move while you watch, and it stops refreshing while you are typing into a
field so it never eats your input.
THE 3D TERRITORY MAP
--------------------------------------------------------------------------------
The map is not a grid of coloured squares.
The server reads the real surface height and the real terrain colour out of the
world, and the client draws every chunk as a raised isometric tile with its two
visible sides, back to front. Hills, coastlines, ravines and mountains are all
visible in the shape of the land, with ownership painted over the terrain rather
than replacing it. Chunks that are not loaded stay dark and flat, and the map
never forces a chunk to load, so opening it costs the server nothing.
Your land green
Allies purple
Truces green, darker
Enemies and war red
Neutral blue
Safezone gold
Warzone orange
Personal plots cyan
Wilderness grey
Your own chunk is outlined in white. A capital, or a chunk currently under siege,
is outlined in red. Hover any tile to see the owner, the chunk and block
coordinates, the surface height, and whatever is happening there.
There are two maps, and both use the same renderer:
- TERRITORY MAP, from the Land tab. Read-only by default. Switch Targeting on
during a war and a click on a tile becomes an attack order on that chunk.
- 3D CLAIM MAP, also from the Land tab. Every tile is live: click wilderness to
claim it, click your own land to release it. Claims still have to touch land
you already own, and you can only pick chunks within twelve of where you are
standing, so the map is a convenience and never a way to claim remotely.
Zoom with the buttons or the scroll wheel, from one chunk per tile up to eight.
Relief cycles Flat, Low and High, and the whole 3D view can be switched off in
Settings if you would rather have a plain flat grid.
ELEVEN RANKS
--------------------------------------------------------------------------------
Recruit > Citizen > Member > Veteran > Sergeant > Officer >
Captain > Commander > Minister > Co-Leader > Leader
Ranks carry a weight, so you can only promote, demote or kick somebody below your
own. You can never hand out a rank equal to or above your own.
Each rank carries a set of permissions, and there are twenty-seven of them:
interact build containers use_home
set_home claim unclaim invite
kick promote demote bank_deposit
bank_withdraw relations declare_war conquer
flags upgrade_tier manage_ranks manage_jobs
assign_jobs issue_id issue_passport grant_visa
border_control edit_profile disband
Every faction can rewrite which rank holds which permission, one at a time, and
reset any rank back to the defaults. A job can also grant extra permissions on
top of a rank, so a Recruit working as a Customs Officer can stamp passports
without being promoted.
Ranks unlock with tier. A Team tops out at Officer; only an Empire can appoint a
Leader.
TWELVE TIERS
--------------------------------------------------------------------------------
Tier Chunks Members Homes Plots Attacks Top rank Cost
------------ ------ ------- ----- ----- ------- ---------- ---------
Team 9 5 1 1 1 Officer 0
Camp 16 8 1 2 1 Officer 2,500
Colony 25 12 2 3 2 Captain 6,000
Village 40 16 2 4 2 Captain 12,000
Town 64 24 3 6 3 Commander 24,000
City 100 32 4 8 3 Commander 45,000
County 150 40 5 10 4 Minister 80,000
Province 220 56 6 14 4 Minister 140,000
Country 320 72 7 18 5 Co-Leader 240,000
Kingdom 460 96 8 24 6 Co-Leader 400,000
Empire 640 128 10 32 8 Leader 700,000
Dominion 900 160 12 48 10 Leader 1,200,000
Upgrading needs both the money and the headcount. Small factions run raids
against a single objective; from Colony upward a faction wages a proper war,
holds a capital, and can be defeated outright.
WAR THAT TAKES GROUND
--------------------------------------------------------------------------------
War is four steps, and each one is a real decision.
1. JUSTIFY. Draw up a casus belli against a target, with a written reason. It
costs money out of the treasury and it expires after thirty minutes, so you
cannot bank grievances forever.
2. DECLARE. The war siren sounds, both factions are told, the server is told,
and relations flip to war. A full war needs a nominated capital first.
3. ATTACK. Pick a border chunk and hold it. Attackers standing in the chunk
push the bar up, and more attackers push it faster, up to a limit. A single
defender standing in it freezes the bar completely. An empty chunk lets the
bar fall back, and an abandoned attack collapses and scores for the
defender. Only border chunks can be attacked, so wars eat inwards from the
edge rather than teleporting into somebody's vault.
4. WIN. Take the chunk, and it changes hands. Take the enemy capital, and the
war is over: the loser hands across half their treasury and loses the seat
of government.
Tier decides how many attacks you can run at once, from one to ten, so a large
faction can open several fronts and a small one cannot.
Around the fighting: rally points that ping every online member with a location,
alliances and truces that need both sides to agree, unilateral hostility that
does not, white peace offers, and surrender with reparations. Factions flagged
peaceful cannot be attacked at all, which makes a workable protected-server mode.
PAPERS, PLEASE
--------------------------------------------------------------------------------
Identity is a real system rather than a cosmetic one.
ID CARDS carry the holder, their faction, rank, job, department, any custom
title, the issue date, the issuing officer and an expiry. Every card has a
serial.
PASSPORTS are written books with a cover page, an identity page, visa pages and a
stamped travel history. Entering and leaving border-controlled territory stamps
the book automatically, as does being turned away.
VISAS come in six kinds: transit, work, trade, residence, diplomatic and
permanent, each with its own expiry.
BORDER CONTROL is a territory flag. Switch it on and outsiders need a valid,
unexpired visa on a passport they are actually carrying. Without one they are
turned back at the line, the attempt is stamped in their book, and your officers
are notified. Allies and truces pass freely, which is configurable.
The clever part is that documents are ordinary paper and written books carrying a
single data field, so anybody can read one and no new items are registered. The
item is only a printout. The record lives on the server, which is what lets a
verification catch a forged serial, a revoked card, or a card that was genuine
when printed but is now out of date because the holder changed faction or rank.
JOBS
--------------------------------------------------------------------------------
A job is a post with a title, a department, a description, a salary, a minimum
rank, a headcount limit and a set of extra permissions. Payroll runs on a timer
and pays out of the faction treasury; when the treasury is empty everybody is
told exactly that.
Operators can also create GOVERNMENT POSTS that sit outside any faction and are
paid by the server rather than by a treasury, for medics, couriers, referees or
whatever your server needs to exist above the factions.
JOB STATIONS
--------------------------------------------------------------------------------
This is the colony-mod flavoured part, except the workers are players.
Register any block on your land as a workplace, then right-click it. The station
menu lets a worker clock in, hand work orders over the counter, and watch the
place grow. Handing in an order takes the items out of your inventory, pays you
from the treasury and gives the station experience. Stations level up to five,
and each level pays twenty per cent more, so a well-used workshop becomes worth
working at.
A job with a station only pays people who actually clocked on, which turns wages
into something you earn rather than something you collect for existing.
A starter pack installs a working economy in one command: farmer, lumberjack,
miner, blacksmith, mason, baker, fisher, alchemist, archivist, guard and customs
officer, each bound to a sensible vanilla block, each with its own orders.
CREATE SUPPORT
--------------------------------------------------------------------------------
A second pack adds seven Create jobs:
Andesite Smith mechanical press andesite alloy, shafts, cogwheels
Brass Founder mechanical mixer brass ingots, brass sheets, zinc
Sheet Presser mechanical press copper, iron and golden sheets
Millwright millstone wheat flour
Precision Machinist mechanical crafter precision mechanisms, tubes
Track Layer track station track, railway casing
Kinetic Engineer depot andesite and brass casing
This is a soft integration. Create is not required to build or run the mod, every
item and station block is looked up by id when the pack is installed, and the
pack simply installs less of itself if Create is absent. Nothing is pinned to a
specific Create build, so any Create 6.x for 1.21.1 works.
FACTION FLAGS
--------------------------------------------------------------------------------
Flags work the way colony banners do. Design a banner at a loom, hold it, and
adopt it as the emblem of your faction.
The flag flies beside your faction name at the top of the panel, painted from the
banner design itself: the base colour plus every pattern layer, so stripes,
crosses, borders, halves, triangles, gradients, squares and rhombi all come
through. Members can take a copy of the flag to fly over their own buildings.
THEMES
--------------------------------------------------------------------------------
Six themes ship with the panel:
Terminal the default, green on near-black
Midnight cold blue
Ember warm orange on brown
Sandstone parchment and gold
Orchid violet
High Contrast pure white on black, for readability
They restyle the border, the window chrome, the navigation column, the text and
the chips. The semantic button colours stay put deliberately, so purple is always
justification, red is always war and gold is always an attack, and the interface
reads the same way whichever theme you pick.
Themes, the 3D map toggle and the relief setting live on the Settings tab, which
is handled entirely on the client and never touches the server. Your choice is
saved on your own machine.
LAND PROTECTION
--------------------------------------------------------------------------------
Inside a claim the mod protects block breaking and placing, containers, doors and
buttons, item frames, armour stands, paintings, animals, vehicles and explosions,
and it governs player versus player damage including projectiles.
Eleven per-faction flags decide the rules of your ground:
pvp explosions fire_spread
public_build public_interact public_containers
border_control announce_entry open
peaceful mob_spawning
Four kinds of claim: faction land, personal plots that belong to one player and
cannot be conquered, safezones for spawn and shops, and warzones for free-for-all
fighting.
Allies can build on each other's land. Everyone else obeys the public flags.
Operators can toggle a bypass on themselves for administration.
ALSO INCLUDED
--------------------------------------------------------------------------------
- A faction treasury, personal wallets, transfers between players and payroll
- Faction and alliance chat channels, either as a mode or a one-off message
- Faction homes with a warm-up, a cooldown and a per-home minimum rank
- War points, kill and death tracking, and a faction leaderboard
- Faction tags and colours mirrored into vanilla scoreboard teams, so names are
colour-coded in chat and above heads for everyone
- An entry banner in the action bar as you cross a border
- Autoclaim, claim radius, orphan-claim cleanup and admin land tools
- Around fifty server settings in a plain, commented JSON config
- All data stored as readable JSON under the world folder, written atomically
REQUIREMENTS
--------------------------------------------------------------------------------
Minecraft 1.21.1
NeoForge 21.1.x
Optional Create 6.x, for the Create job pack
Install it on the server. Installing it on the client as well gives you the
panel, the 3D map and the themes.
Players without the mod are not locked out. The network channel is registered as
optional, so they can still join and get the same interface drawn as a container
menu, and everything else, including documents, protection and faction name
colours, works for them exactly the same.
COMMANDS
--------------------------------------------------------------------------------
The panel covers all of this, but every button is a command underneath.
FACTION
/f open the panel
/f create <id> [name] operator only, does not join the creator
/f join <faction> <player> [rank] operator adds members
/f leave [players] leave, or an operator removes people
/f empty <faction> clear the roster
/f disband <faction>
/f list | info | members | top
/f invite | uninvite | kick <player>
/f rank set <player> <rank>
/f rank perm <rank> <permission> allow|deny|reset
/f promote | demote <player>
/f title <player> <text>
/f desc | motd | tag | color
/f banner set | give | clear
/f modify <faction> <option> <value> operator overrides
/f chat public|faction|ally
/fc <message> /ac <message>
LAND
/f claim [radius] /f unclaim /f unclaimall /f auto
/f claimat <x> <z> /f unclaimat <x> <z>
/f map /f here
/f sethome <name> /f home [name] /f homes /f delhome <name>
/f flag <flag> <true|false> /f flags
/f conquer
MONEY AND TIERS
/f bank balance | deposit <n> | withdraw <n>
/f pay <player> <amount>
/f tier /f upgrade
WAR
/f war justify <faction> <reason>
/f war declare <faction>
/f war attack [chunkX chunkZ]
/f war status
/f war whitepeace <faction> /f war surrender <faction>
/f rally call /f capital set | clear
/f relation ally|truce|neutral|enemy|war <faction>
JOBS
/job list | mine | info <job> | who <job>
/job create <id> <title>
/job set <job> salary|title|description|department|slots|minrank|grant
/job assign <player> <job> /job unassign <player>
/job templates vanilla /job templates create
/job government create|delete|salary|assign|unassign
/jobsite create <job> /jobsite list /jobsite remove
IDENTITY
/id issue <player> /id inspect /id verify /id reprint <serial>
/id revoke <serial> [reason] /id lookup <serial> /id list <player>
/passport issue <player> /passport print /passport inspect
/passport visa grant <player> <kind> [days]
/passport visa revoke <player> /passport visa list [player]
/passport visa request <faction>
/passport stamp <player> [note] /passport revoke <serial> [reason]
ADMINISTRATION
/cisfactions stats | save | reload | bypass
/cisfactions claim safezone|warzone|personal|faction
/cisfactions unclaim [radius] /cisfactions label <text>
/cisfactions purge orphans
/cisfactions eco give|take|set <player> <amount>
======================================================================
made by iamquacko

