Minecraft / Mods

States - [Land/Terrain Protection || 1.12.x || FORGE MOD]

  • 19
  • 13
  • comment31
  • playlist_add
  • share
  • more_horiz
avatar FEX___96
Level 74 : Legendary Engineer
353
States
This is a multi-layer land protection mod, with powerful in-built off-the-go features, and more being worked on.
This mod is not "completely done", but as it does work, and do it's job, I decided to post it.


Terrain in "States" consists of "Chunks", those can be claimed by a "Municipality" (village/city/town/etc) and assigned to a "District", as such, Municipalities consists of Districts and districts consist of Chunks.
Municipalities can be united together by Forming a "State", as such, States do consist of Municipalities.


Relatively highly configurable!
Every "Level" of a Municipality can be configured in the Config file, as such, you can setup the Municipality's title based on the citizen count, and also based on that, the amount of allowed Districts! Default titles/levels are "Hamlet, Village, Town, City" and so on.
A Municipality's max chunk amount depends on how many citizens inhabit it, the chunk-per-citizen ratio is also configurable, aswel as chunk prices.

Chunk properties and linking!
Chunks can have an owner, as example a player, the player can assign than others to the "whitelist" for them to access their chunk. By default, some blocks like Chests, Furnaces and similar will be locked.

Chunks can also be owned by the District, Municipality or State, the access to the blocks in whem will be then allowed to the District Manager, Mayor or State leader respectively.
Chunks can also be "linked", meaning, that changes made to the "core" chunk will be applied to the linked chunks, be it adding someone to the whitelist, or selling them all together as property.

GUIS!
All these commands are irritating? No clue what you claimed and what not?

Perhaps I can't guarantee simple commands, but I'll provide fancy GUIs for claiming,
or general overview of your area, with various map modes!

Protect all the Blocks!
By default all blocks in "Wilderness" (unclaimed land) are protected, meaning unless anyone claims them, they won't be accessible for placing/breaking/interacting, this can be disabled ofcourse.

What to do if you want to build a road to another town, which is a mile away? No worries!
Just "temp-claim" your way to them! A temporary claim only costs 10% of the Chunk's price (default chunk prices also are configurable) and gives you access to a fraction of the chunk (the level/s on which the chunk can be accessed are also configurable)!
This way, you can temp-claim your way to your neighbors, build a road, and do not worry, the chunk will automatically unclaim the next day!

More? Coming soon.
this mod is not on the priority list though, so no time/quickness guarantee

Tutorials? Guides?
Oh.. yer got me there, there are no tutorials, but you could take a look at the GitHub Repository, and play around with the commands, like in the good old says, but I'll give you this:
  • /ck - general command for Chunk related things
  • /dis - general command for District related things
  • /mun - general command for Municipality related things
  • /st - general command for State related things
  • /st-debug - statistics/similar
  • Help in making Guides/Wiki is kinda, welcome.

Other Features:

  • Discord Integration - chat with your players on the server directly from discord, and the other way around!
  • Override of the default Chat Style
  • Nick Names
  • Chunk Loaders (chunk-force-loading), with global per-municipality limit
  • Chunks rest claimed, for ever (unless admin interaction), meaning once it's claimed, it remains part of something, you can change it's district or municipality though!
  • THERE MAY BE SOME FEATURES I FORGOT EVEN I MADE THEM,LIKE THE SHOP SIGNS AND SUCH, so making suggestions may remind me I actually did that already!


Planned Features:
  • Tax, scheduled either daily, weekly or monthly.
  • Tax for Chunk Loaders
  • Companies! Alternative protection layer, to allow a group of players to own properties in even various countries, also based on their "type" they won't be able to settle in specific areas. As example, an "industrial" company can't buy land in "residental" districts, or an "agricultural" company won't be in the "commercial" district!
  • You can suggest things! Just join our discord!


Dependencies?
- FCL - Fexcraft Common Library
- FSMM - Fex's Small Money Mod
By the way, FSMM allows you to define own money items, or set items of other mods/vanilla as valid money items. FSMM is used as the main Money/Balance management mod in "States".


WAR MODE?

Nope. I had quite a few servers in the past and I generally got bad experience with it, as for one, it is hard for a decent war-mode in Minecraft (not even the Towny-Plugin ever got it, as far I am aware) but for other I'm generally against it, just look at the real world! How messed up it is.
No way to make my annoying neighbor suffer?
Oh perhaps, do use some economy! Take your Geological location to your advantage (implying your server has a fancy large map and generator settings as mine)! Rule the trade!


Or perhaps, when the "Companies" feature will be added, add tolls and other fancy things, like even banning them.

DISCORD?
https://discord.gg/AkMAzaA

GITHUB?
https://github.com/Fexcraft/States

LICENSE?
https://fexcraft.net/license?id=mods

Donations?

I sure could need those, I guess.
I mean, people pay (literally) dozens for some shady bukkit-plugin dev kid to get some shady plugin done, and need to keep them as staff so they will do "maintenance" on it. Or people do pay (literally) dozens for fancy models for entities, blocks, items.
But who will pay that developer/programmer, who spends his free time and nerves for making an relatively high quality mod, follows the EULA and doesn't sell it, and gives it for free?

:thinking: < no discord emoji here sadly




> Paypal > [url=www.paypal.com/cgi-bin/webscr?cmd=_donations&[email protected]&item_name=Fexcraft+Network&item_number=Support+Developement¤cy_code=EUR]Click Here[/url]

> Patreon > https://www.patreon.com/fex96
Progress95% complete
Game VersionMinecraft 1.12.2
Tags

4 Update Logs

Update #4 : 10/29/2018 4:11:19 pmOct 29th, 2018

1.3.1 (1.12.x)
- fix for crash with fake-players or players without gameprofile (theoretically, untested)
1.3.2 (1.12.x)
- added "protection level" config
- added new protection level implementation
- changed location of adjustation of data save location and related
- updated to latest FCL
LOAD MORE LOGS

Comments : 31

star Login or register to post a comment.

Show Comments

1 - 31 of 31

  • kkp101
  • Level 1
  • New Miner
  • February 3, 2019, 8:34 pm

Hi there! I'm in the process of setting up a server with your awesome mod on it! Though, I'm running into a bit of an issue that I can't seem to solve on my own.

As the admin, I'm trying to claim a good amount of chunks to create the spawn point, but despite having PLENTY in my personal bank account, it says I can't claim any more chunks because I don't have enough funds in my Municipality. I've tried playing around with the commands for about an hour now and I simply can't figure out how I transfer funds from my account to my Municipality to claim these chunks before opening the server to the public. This has also prevented me from creating a state, which I'm eager to do before opening the server to the public.




Anyway, many thanks in advance!
  • FEX___96
  • Level 74
  • Legendary Engineer
  • February 3, 2019, 10:24 pm
Use the ATM, the FSMM commands aren't reliable.

The ATM is a block.
Also, in the GUI input field, 1000 equals 1$.
  • kkp101
  • Level 1
  • New Miner
  • February 4, 2019, 6:52 am
I was using the ATM. I was trying to somehow use the "Transfer" option to transfer funds to my municipality but it seems to only want to transfer to other players. Am I missing something?

Because when I deposit funds, it only deposits them into my personal funding account, and not my municipality's account, making it currently impossible to claim chunks or create a state
  • FEX___96
  • Level 74
  • Legendary Engineer
  • February 4, 2019, 7:04 am
Do you have discord? (In case of more questions/issues)

Did you select the minicipality's account from the menu in the ATM as the receiver?
  • kkp101
  • Level 1
  • New Miner
  • February 4, 2019, 9:58 am
I do have Discord! And I didn't seem to see that option on the ATM..
  • Sycrax463
  • Level 1
  • New Miner
  • January 27, 2019, 10:48 am
Looks pretty neat. Actually it would make a great addon for Millenaire mod i guess.

is there any chance your mod would be Millenaire compatible so Millenaire Civs would claim their land and stuff like that?
  • FEX___96
  • Level 74
  • Legendary Engineer
  • January 28, 2019, 11:39 am
I guess that's something the Millenaire folks would need to do?
At least, I do not know Millenaire's code-base, but I suppose it shouldn't be too hard.

States has an API, which also uses "modern" things like Forge Capabilities.
  • Sycrax463
  • Level 1
  • New Miner
  • February 1, 2019, 3:20 am
But are they allowed to? i mean if they really want to make it an real thing in Millenaire?
  • FEX___96
  • Level 74
  • Legendary Engineer
  • February 2, 2019, 12:17 am
I think so? If they find the States API lacks anything they need, they can contact me.

And as long they wouldn't break the license or anything I don't see a problem them making a mod Compatible with States. :thinking:

What other point is there in adding an api..
If war mode is added. I will use Custom NPC's mod and I will make war zone with this mode.
  • FEX___96
  • Level 74
  • Legendary Engineer
  • January 26, 2019, 1:31 am
As I said, I won't add war mode.
  • drpiston
  • Level 1
  • New Miner
  • January 6, 2019, 8:05 pm
I'm new to this whole modding thing so bear with me. I'm able to get the currency working and have figured out some commands but no GUIs are available to me? I can find the mail system and claim chunks but for the life of me I cannot find a way to access the GUIs. Help!
  • FEX___96
  • Level 74
  • Legendary Engineer
  • January 6, 2019, 9:18 pm
./ck claim <district-id>
That should open the claiming GUI, also note the number id is required.
  • PartumCreed
  • Level 21
  • Expert Warrior
  • October 10, 2018, 11:18 am
This should be implemented in vanilla Minecraft.
  • FEX___96
  • Level 74
  • Legendary Engineer
  • October 10, 2018, 3:37 pm
I'm worried by the way Mojang would do that.
  • PartumCreed
  • Level 21
  • Expert Warrior
  • October 12, 2018, 5:16 am
Why?
  • FEX___96
  • Level 74
  • Legendary Engineer
  • October 12, 2018, 1:29 pm
I don't like some of the new Minecraft content or implementations, that's all.
  • Scott
  • Level 38
  • Artisan Droid
  • October 10, 2018, 6:45 am
Saw this pop up in the popular feed and thought "I bet this is a Fex mod".
Nice work,
Sodex
  • FEX___96
  • Level 74
  • Legendary Engineer
  • October 10, 2018, 3:37 pm
Did the textures give it away? :thinking:
  • Scott
  • Level 38
  • Artisan Droid
  • October 11, 2018, 10:24 am
The diagram did :P
  • FEX___96
  • Level 74
  • Legendary Engineer
  • October 11, 2018, 12:28 pm
Uhh, that's what I meant. :D
[Insert HOI4 reference here]
  • FEX___96
  • Level 74
  • Legendary Engineer
  • October 7, 2018, 10:31 am
haven't played HoI4 as much to understand that 0.o
Also, I wanted to say. I have been waiting for a mod like this to come out! I will use it on a Europe map save I have!

(Hoi4 Is a map game where you can play as a nation in the time of WW2)
  • FEX___96
  • Level 74
  • Legendary Engineer
  • October 7, 2018, 2:34 pm
Hmm I see.
Well I know what HoI4 is, but as I haven't played it much was anyway a cracked copy I got from someone I thought there may be some reference I don't know about xD
  • aagp
  • Level 1
  • New Explorer
  • August 3, 2018, 8:33 am
Well, I Just Installed The 2 Mods And It Didn't Even Try To Load......Here's Log: ---- Minecraft Crash Report ----

WARNING: coremods are present:
MicdoodlePlugin (MicdoodleCore-1.12.2-4.0.1.181.jar)
Contact their authors BEFORE contacting forge

// Ouch. That hurt :(

Time: 8/3/18 12:33 PM
Description: Initializing game

java.lang.NoClassDefFoundError: Lnet/fexcraft/mod/fsmm/api/Account;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredField(Unknown Source)
at net.minecraftforge.fml.common.FMLModContainer.parseSimpleFieldAnnotation(FMLModContainer.java:479)
at net.minecraftforge.fml.common.FMLModContainer.processFieldAnnotations(FMLModContainer.java:431)
at net.minecraftforge.fml.common.FMLModContainer.constructMod(FMLModContainer.java:607)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:218)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:135)
at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:593)
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:225)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:466)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:377)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Caused by: java.lang.ClassNotFoundException: net.fexcraft.mod.fsmm.api.Account
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 42 more
Caused by: java.lang.NullPointerException
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
... 44 more


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Client thread
Stacktrace:
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredField(Unknown Source)
at net.minecraftforge.fml.common.FMLModContainer.parseSimpleFieldAnnotation(FMLModContainer.java:479)
at net.minecraftforge.fml.common.FMLModContainer.processFieldAnnotations(FMLModContainer.java:431)
at net.minecraftforge.fml.common.FMLModContainer.constructMod(FMLModContainer.java:607)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:218)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:135)
at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:593)
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:225)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:466)

-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:377)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

-- System Details --
Details:
Minecraft Version: 1.12.2
Operating System: Windows 10 (x86) version 10.0
Java Version: 1.8.0_171, Oracle Corporation
Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
Memory: 117579896 bytes (112 MB) / 332374016 bytes (316 MB) up to 1060372480 bytes (1011 MB)
JVM Flags: 6 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx1G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.42 Powered by Forge 14.23.4.2705 10 mods loaded, 10 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

| State | ID | Version | Source | Signature |
|:----- |:------------------- |:------------ |:----------------------------------------- |:---------------------------------------- |
| UC | minecraft | 1.12.2 | minecraft.jar | None |
| UC | mcp | 9.42 | minecraft.jar | None |
| UC | FML | 8.0.99.99 | forge-1.12.2-14.23.4.2705.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| UC | forge | 14.23.4.2705 | forge-1.12.2-14.23.4.2705.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| UC | micdoodlecore | | minecraft.jar | None |
| UC | bibliocraft | 2.4.4 | BiblioCraft[v2.4.4][MC1.12.2].jar | None |
| UC | fcl | XII.42 | Fexcraft+Common+Library-XII.42.jar | None |
| UC | galacticraftcore | 4.0.1.181 | GalacticraftCore-1.12.2-4.0.1.181.jar | None |
| UC | galacticraftplanets | 4.0.1.181 | Galacticraft-Planets-1.12.2-4.0.1.181.jar | None |
| U | states | 1.2.1 | States-1.2.1.jar | None |

Loaded coremods (and transformers):
MicdoodlePlugin (MicdoodleCore-1.12.2-4.0.1.181.jar)
micdoodle8.mods.miccore.MicdoodleTransformer
GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 391.01' Renderer: 'GeForce GTX 660/PCIe/SSE2'
Launched Version: 1.12.2-forge1.12.2-14.23.4.2705
LWJGL: 2.9.4
OpenGL: GeForce GTX 660/PCIe/SSE2 GL version 4.6.0 NVIDIA 391.01, NVIDIA Corporation
GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

Using VBOs: Yes
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs:
Current Language: Español (Venezuela)
Profiler Position: N/A (disabled)
CPU: 4x Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz
  • FEX___96
  • Level 74
  • Legendary Engineer
  • August 3, 2018, 2:39 pm
You do not seem to have FSMM installed.
  • aagp
  • Level 1
  • New Explorer
  • August 2, 2018, 2:45 pm
Doesn't Work At All, It's Like The Mod Wasn't There!

Edit: VERY VERY VERY SORRY!! I ACCIDENTALLY REMOVED THE MOD!!!

New Edit: Now Fexcraft* Common** Library (FCL) Didn't Work Properly, I'm Going To Try To Reinstall The Mod And FCL And If I Don't, Cloud You See And Fix What's Wrong? Thank You.

  • FEX___96
  • Level 74
  • Legendary Engineer
  • August 2, 2018, 3:45 pm
0.o
Is there anyway this could be back ported to 1.7.10 ? Would it be to hard of a change code wise ? Wonderful mod BTW ! Seems fun, but will it work with most other mods ?
  • FEX___96
  • Level 74
  • Legendary Engineer
  • July 25, 2018, 4:02 pm
Most issueful parts are mostly things which are reliant on new Forge features which would need to be replaced, the mod itself could be ported, but the dependencies may be harder.

1 - 31 of 31

Show Comments

Planet Minecraft

Browse

Site

© 2010 - 2019
planetminecraft.com

Welcome