promotional bannermobile promotional banner

CIS Factions

The Factions mod designed for the Create Industries SMP. Factions, war, jobs and paperwork and with a 3D territory map.

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

The CIS Factions Team

profile avatar
  • 4
    Projects
  • 590
    Downloads

More from iamquacko