Feb 272015
 
(Placeholder for now)

(Placeholder for now)

Hey there. I’ve been asked to do something for Forge (as opposed to Bukkit) that deals with PvP servers and their needs.
So I made a factions mod. :)

Check it out:

This mod requires Forge.

Overview

This adds various items to start a faction, claim territory in the name of that faction and then have a go at other player’s territories.
Claimed territories contain basic building protection. That is, anyone not part of your faction cannot place or break blocks in it.
Killing you, however, blowing things up remotely, rummaging through your chest or trampling your crops and such is not prevented.
Build accordingly.



Showcases

By DarkWolf Gaming, showing off Build 5 for 1.7.10

Teratorial Dealings mod showcase! "Claim & protect your land!" [Minecraft 1.7.10]



The Items

StartFactionDeedNew Faction Deed

This is the start. This item cannot be crafted. Instead it has to be made available by a server op. (The item is in the creative menu under Tools.)
With this you can start a new faction in an unoccupied chunk, declaring yourself the faction leader and claiming that chunk as your own.
Every faction needs at least one chunk to their name, or they will be disbanded.
Only members of your faction can edit that chunk now, assuming the protection is up. (I’ll get to that further down.)

 


ClaimOrderClaim Order

This is the next step. This thing can only be crafted by a faction leader. With each order a new chunk can be claimed for your territory.
The claimed chunk has to be adjacent to your existing territory.

This is also where the hostile intentions come through. You can try to lay claim to someone else’s territory, starting a hostile takeover. This will by default take 90 seconds (configurable) of continuous control attempts, during which all members of the enemy faction will be informed about this attempt and where it’s happening.
Once the enemy’s control strength of that territory has been depleted that chunk will return to neutral and can be claimed as normal.

If a faction has no chunks left under their control it will be disbanded and their valuables will be dropped in the form of Payment Orders at either the leader’s position (if available) or at some member’s position.

Chunk control strength regenerates in regular intervals (one ingame day by default) by a set amount (+15 strength by default) up to its maximum.
By default territories cannot be attacked without at least one member of that faction being online. (Amount and requirement is configurable.)

The claim order additionally also informs you about whose chunk you’re currently standing in and what the control strength of that chunk looks like (via its durability bar).

ClaimOrder_Recipe

Shapeless

 


PaymentOrderPayment Order

The third step. Each chunk under a faction’s control requires upkeep in regular intervals (by default once per ingame day for 1 valuable per chunk). The Payment Order can only be crafted by the faction leader and only they can use it to add valuables to the faction vault. However, anyone else can add valuables to the order itself by crafting it with either emeralds, diamonds or gold ingots. Blocks of all three types are also fine.

If the upkeep payment fails (eg, you don’t have enough valuables in the vault) chunk protection will be disabled for this territory and everyone else can lay claim to these chunks or build/mine in them without opposition until the next upkeep payment interval succeeds.

PaymentOrder_Recipe

Shapeless

 


PlayerIDPlayer ID Card

The fourth step. The Player ID Card us used to deal with faction members. Anyone can craft these and then use them to sign ’em.
Hand this card to a faction leader so they can use it to add you to their faction.
If you’re the faction leader: Keep the card safe, because you’ll need it to remove this player from your faction later.
The card is also used to leave the faction you are currently in. (If you don’t have it anymore just make a new one as a member, sign it and crouch-use it if you want to leave.)
If the leader leaves a faction that faction will be disbanded and their territory claims removed. All valuables left in the faction vault will be spilled at the leader position in the form of Payment Orders.

PlayerID_Recipe

 


FactionNameOrderFaction Name Order

An optional item. This thing can only be crafted by a faction leader and is used to rename the faction.
Make sure to hammer a name into it on an anvil first.

RenameOrder_Recipe

 


OverviewCardOverview Card

Another optional item. This card is only usable in creative mode and cannot be crafted. When used it gives an overview of all existing factions, their chunks, valuables and members. Additionally it can be crouch-used to enable or disable chunk protection for any given faction until the next upkeep payment check.

 


 

InheritanceDeedInheritance Deed

An item, used when change is required. A leader can craft and sign this deed and then hand it to another player to transfer leadership of their faction to them. They themselves will remain regular faction members.

Recipe_InheritanceDeed

Shapeless

 


 

FactionLedgerFaction Ledger

A charter of your group. It displays everything to know about your faction, once this ledger has been crafted and signed by a leader.
Beware: anyone can read the ledger.

Recipe_FactionLedger

Shapeless

 


 

ReturnOrderReturn Order

This order can be crafted and set by leaders only and then handed out to faction members. It will instantly return them to the set point.
The return point must be in your territory when set.

Shapeless, using a blank map.

Shapeless, using a blank map.

 


 

TerritoryMapTerritory Map

This map has been modified to display all faction territory within its range. It can be crafted by anyone, but requires claim orders to make.

Recipe_Map

A compass at the center for orientation.

 



Download


Modpack Permissions

Using this mod in modpacks is granted by default, assuming the usual crediting policies. (Name drop and link.)
I do like hearing about packs that use it, so drop me a line when you do so. :)


Changelog

Changelog

  • Build 5 – Initial Release
    27.02.15
  • Build 6
    – Save, refresh and upkeep ticks should now persist across restarts
    – Adjusted the Player ID Card description slightly. (To indicate that leaders can both add AND remove players to/from their faction with this.)
    27.02.15
  • Build 7
    – Fixed the Renaming Order not being consumed on use.
    – Fixed the chunk protection not being enabled by default on faction creation. (It would kick in after the first upkeep payment.)
    – Added debug output for faction renaming, if that is enabled.
    – Did some code cleanup and refactoring here and there.
    – Added the Overview Card, a creative mode item that gives that player an overview over all factions and their chunks, valuables and members.
    -> That card can also be used to disable/enable chunk protection of a faction until the next upkeep payment check.
    27.02.15
  • Build 8
    – Added some more console output when debug mode is enabled
    – The Player ID Card should now no longer have a durability bar. (No point in having one.)
  • Build 9
    – Fixed players not actually being recognized as unique. Turns out I had to use player.getGameProfile().getId() instead of player.getUniqueID(). Hrm.
    – Additionally I accidentally made two variables static, causing everyone to pay into the same vault. That is fixed as well.
    – Also fixed another payment order calculation bug that would not pay in enough.
    – Added protection against non-faction members interacting with things in claimed territory. (Also added a config option to turn that off if you so desire.)
    (10.04.15)
  • Build 10
    – Fixed gold blocks not adding their value to payment orders
    – Did a medium sized code overhaul to simplify things and make it faster. The downside is that existing faction data won’t be restored. Clean slate. Prepare accordingly. :S
    (25.07.15)
  • Build 11
    – Did some more internal code changes for cleanliness.
    – Hopefully improved how Leader-only recipes are being handled. Now they shouldn’t even show up in the output anymore if you’re not the leader of a faction
    – Added the Inheritance Deed, used to transfer leadership of a faction to someone else.
    – Added the Faction Ledger, used to display information about a specific faction.
    – Added the Return Order, used to immediately return to a leader-set position
    (26.07.15)
  • Build 12
    – Adjusted the block interaction protection slightly. Now it also monitors left clicks.
    – Added the Territory Map, to display claimed chunks on. Unfortunately it can’t be displayed in item frames, due to the way MC is coded.
    (The item frame renderer compares against the map item specifically instead of an instance of it or isMap().)
    (13.08.15)
  • Build 13
    – Updated to 1.9
    – Change: Not sending any chat messages on payday if the upkeep cost is set to 0. (Since nothing gets deducted.)
    (24.04.16)
  • Build 14
    – Fixed client-side model loading happening on server side (Doesn’t really work, now does it?)
    (29.04.16)
  • Build 15
    – Did some minor adjustments, to be compatible with Forge build 1907.
    – Fixed client side chat formatting being called on server side
    – Did another minor adjustment, so save and upkeep don’t tick faster than they should. Let’s hope that works!
    (01.06.16)
  • Build 15b
    – Some more adjustments to the whole chat formatting thing. Looks like I missed a few calls.
    (01.06.16)
  • Build 16
    – Minor fix: Tried to cancel an event that cannot be cancelled. That should be fixed now. (But the function itself is still a hackish workaround. Still pondering how to improve upon that.)
    (?)
  • Build 17
    – Updated to 1.10.* and made some preparations for an internal overhaul.
    (26.07.16)

[collapse]

Installation

  • pre1. Get the latest Forge Installer
  • pre2. Use said Installer, it will guide you through. Then select the Forge profile in the launcher
  • pre3. Let the game run once, so it can set itself up properly. (make sure to quit the game afterwards)
  • 1. Get the latest Territorial Dealings file. Then add the zip/jar unaltered to the mods folder, which can by default be found under “C:\Users\YOURUSERNAME\AppData\Roaming\.minecraft\mods”
  • 2. Start the game, yo. You’re good to go.

  66 Responses to “[Minecraft Forge] Territorial Dealings”

  1. quite interesting, wish I played it

  2. Oh, a Forge equivalent of Factions by you, Domochewski? Why am I not informed of these things!? xDD

    I’ll take a look at this right now, maybe I’ll give you some suggestions. Any chance of getting some of the GriefPrevention features (non pvp “server admin” territories for starters) in there?

    • Domochevsky

      Possibly? What would those features be? :)

      • Ok, here’s the shopping list, from my years of factions’ fight. Careful, incoming brick!

        The most relevant (from my point of view) are:

        – Land of nobody: server claims where pvp is disabled. Useful for server hubs.
        – Faction embassies: depending on how powerful a faction is, they can have a certain number of separated single chunk claims. These are useful for watch towers, embassies in neutral towns, “discrete” secondary bases, etc.
        – Siege mode: when a faction tries to attack another faction claim, they can break certain weak blocks (sand, gravel, wood planks). The most resilient materials like stone bricks will withstand most of the attacks. For players not in a siege, the blocks in another faction claim are untouchable.
        – “I’m trapped, get me out of here” bug out command. Some of us faction’s engineers made trap like false back doors on our bases, to kill unsuspecting attackers and pick as much of their gear as possible. If they reacted quick enough, there was a command to teleport them out, back to a safe place (a water pond was usually used for this, as it helped with fire traps’ effects). This may be accomplished by a faction teleport anchor (further down), or a generic “get me back to spawn” command. Cooldown after use would be a great extra.
        – Hability to pass the faction leadership to another faction member, without disbanding the faction.

        Then it comes the “useful but not needed” list:

        – Faction teleport anchor: pay certain object/s to get teleported back to base. Faction leader may define where’s this anchor, only in faction controlled main chunks (not embassies). Works like a scroll of escape, somehow.
        -Ability to allow other valuables in the Payment List: I think of an op command that adds the item in hand to the valid valuables list (with the worth indicated by parameter in the command) like the config commands of Universal Coins. That would make modpack integration really easy. Do I want to let the faction members to pay with Biomes o’plenty’s amethysts or Universal Coins’ large coin bags? I pick one from creative, throw the command, done.
        – Per dimention PvP definition: How about servers where pvp is only allowed on the Nether? Or a server with an End terraformed into a “final diablo 2 campaign basecamp” with PvP is disabled and the rest of the dimensions are war zones? By allowing the server ops to define where are the war fronts, there’s room for mixed PvE/PvP servers, roleplay, etc.

        And then it comes the “wild dream” list. These are mod synergies I feel that could work great, but I feel these are long down the road, if even done:
        – Instead of the claim order, add an object that, when worn (baubles?) or in inventory shows in screen (small message in corner) when you enter a faction chunk.
        – Allong the same line of the previous one, some kind of faction terrain map. Old factions plugin used ASCII art to draw a chunk map around you on command, coloring your faction chunks and enemy chunks. Some kind of vanilla map that shows colored squares over faction chunks would be great for war rooms and explorers.
        – Public doors and password/keypad protected doors. I presume only faction members can open doors in a faction chunk, but how about a public door to let the players enter a faction shop. Remember my server’s quiver bow show with your impersonator, Domochewski? The same but without the redstone system to keep the shop open during the day. Equally, a Rust style door that can be locked with a keypad (and the password temporally shared with wannabe-allies) is a plus. Not required (first use case can be done with redstone, second is not too much game changing anyway).
        – Quiver’s bow Arms Assistant integration: heal beam AAs will heal faction partners. Any member of your faction can reload your AA. Command for the communications upgrade to call for reinforcements (“a member of faction xxx enters my area”). I’m sure there are uses for some tricks like that.
        – Protection against typical quarry mods. Computercraft’s turtles, Buildcraft’s and Ancient Warfare’s quarries, Openblock’s ender quarry, Thaumcraft’s ancient bore and wands… (is there a generic way to protect that?).
        – Faction defined colors: the chest and pants could have a certain colour tint over them, defined by faction leader. Essentially is hacking the same effect of the colored leather armors, but for all (and I suspect that can’t be done, or not at least in a clean way; anything similar than this? Maybe name tag colors?).

      • Domochevsky

        1. This mod doesn’t deal with PvP directly. By default it doesn’t prevent anyone from killing anyone else. It just protects the land from being edited. So build accordingly. :)
        (By extension, everything can be used and interacted with currently, so people can open doors and rummage through chests. I may implement optional protection against that as well later on.)

        2. No embassies. Single chunk claims require a fresh deed by a third party.

        3. Sieges: Explosions can still break terrain. Non-faction-members are just not allowed to dig/place blocks. So if you wanna shell someone with a TNT cannon from the outside… ;)

        4. Trapped/Return: *adds to the list of things to do* A return order, craftable only by the leader. One use item that teleports the user back to the leader-defined point in their own territory. Seems reasonable.

        5. Inheritance Order. Also sensible. *adds to the list*

        6. Custom valuables: I’ve been pondering how to go about that, but I’m not sure yet. I want to avoid commands in general, but for admin use they may be a valid idea. In general a config file to add new payment entries and their value to would be good.

        7. Again, this doesn’t deal with PvP settings currently. Vanilla servers can set that up just fine as it is. :)

        8. Showing where you are: Seems sensible, but I got no idea how to set that up yet. Or if it fits the setup. *adds to the long end of the list as a maybe*

        9. A faction map: Oh yes, adding a map that shows claimed chunks is already on my list as well, but I don’t know how to do that at all, so… hum. I don’t even know where to start with that. :S

        10. Right now all doors are “public”, unless I implement that additional interaction protection.

        11. AA integration: Hm… also sensible. Right now you’d have to give each of them an updated book with all members to not riddle them with whatever they got handy. Of course the logistics of that are a bit more complicated. Do I add the AA to that faction? Does the AA have to wait for the owner to be online to be able to check their faction and figure out whether or not to shoot at somebody?

        12. Quarries… yeah, that will be the key issue here. I can only protect against that if all quarry mod makers adhere to the default forge hooks, so I can intercept them. See an example of that here -> https://github.com/rwtema/extrautilities/issues/517
        This will be an issue of making mod makers aware of these hooks and implementing them.

        13. Faction colors: Nah, players can already sort that out themselves with vanilla tools. :) (Dye and team settings.)

      • Ok, sounds fair. The “teleport to faction leader” only has a flaw from my point of view… if the faction leader is an active warlord, he’s unprotected during sieges! Not too much of a problem, there are mods that can act as a workaround (teleport tomes, simple ender thing’s escape tome, etc). But the nice thing would be to not have to rely on other mods… say, how about making the scroll teleport to the place (dimension and coords) where the scroll was built?

        And if it makes the “additional interaction protection” issue easier, a faction only door (can only be opened/closed/broken by the same faction than the player it placed) would make up for the all the points related to protecting base infrastructure; players can build obsidian bunkers to secure key equipment. The only missing part really is the secure door.

      • Domochevsky

        Teleport to faction leader? No, I meant that the leader gets to define a teleportation point inside their territory that other people (and them) then can teleport back to via that return order. :)

        As for adding blocks into the world in the form of doors… hum. Iunno about that. I’ll likely instead go with the PlayerInteract event instead that’s already in Forge. Maybe make that a territory upgrade of sorts that the leader can activate (that raises the cost per chunk), either territory-wide or for single chunks.

      • Tested for some hours, now. I really miss a way to change the delay between unkeeps. Right now it looks like it was several times per minecraft day.

        Not a problem, I can play with the value from diamods/emeralds/gold and the max valuables per income card. But it kind of spams a little the faction leader chat. Besides, at this pace, a four chunks base would drain 27 diamonds in a matter of hours. Needs a little tweaking from my point of view.

      • Domochevsky

        Did you check out the config file for that particular section? You can set how often it demands upkeep. :)
        (The default value is every 24k ticks, which is 20 min. So one ingame day.)

        (How do you get from 4 chunks to 27 diamonds?)

      • Oh, and another idea (sorry, doublepost). how about a config mode where players only can attack other players if both are on factions? That way it’s a PvE server, unless you get to a faction (then you are a PVP player, and can fight with other factions). Would it be possible something like that?

      • Domochevsky

        Hm… I’m not sure actually. Possibly? Of course the question then becomes, how do you prevent that from being abused? That is, someone leaving their faction to suddenly become un-attackable and wander around, for example.

      • I think I didn’t used the right words. The plan was, all players are out of PvP UNTIL they join a faction. From that point ahead, no matter if they are in a faction or not, they will be vulnerable to other players’ damage.

        The idea is first joining players can have some time to read the server rules before being under fire, and giving players preferring a PvE game the option of keeping themselves out of the factions fight.

      • Domochevsky

        Ah. Hm… I’m not even sure how that’d be implemented right now. Essentially freshly joined and not yet known players would have to be added to a “do not pvp” list, which then gets switched over to “do pvp” when they join a faction.

        I’ll have to look into how PvP is done internally by MC currently.

      • Wait, wouldn’t the faction value for the player do the trick?

        I mean, a player tries to attack another player. First check: does the attacker belong to a faction? If they do, does a attacked player belong to a faction? If both are true, deal the damage. The only missing part is a “id 0” faction for “player that leaved their faction”. If they have a non null faction id, that means the player either belongs to a faction, or it belonged to one but left.

        Would that make sense?

  3. I was using this in a mod pack and have encountered mod breaking bug… The vaults for all Factions are shared, anytime someone puts money in their vault and everyone’s shows the same number. Then if one person Disbands their Faction they get everything from the vault, rendering all factions broke at the same time.

    • Domochevsky

      WAT. D:

      *searches code* Why’d no one tell me… “>_>

      Edit: …weird, I can’t reproduce that. Found a different bug, though. *fixes*

      Edit 2: And I found out why I can’t reproduce that. Mother effer. “player.getUniqueID() is not what you think it is.”

      Edit 3: Fixed, I think. Also fixed another bug.

      • Thanks I will keep testing and let you know if there is anything else. Is there any way to make an option where it protects blocks from all damage even TNT and other non player source. i.e. currently it protects from wand of excavation but not primal wand.

      • Domochevsky

        Only to a limited extent, I’m afraid. I think I can add optional protection against explosions if desired.
        For mod items I’m dependent on them sending the proper Forge event (BlockEvent.BreakEvent). If they don’t, they fly right under the radar. Many mods that include quarries have that issue, and their authors need to be informed about that :S

      • Adding optional protections would be nice it might solve the few things i have found so far that can bypass the normal set up, most of them are explosive related. Some people might want fire ticks turned off, i just use the game rule my self. I’m using very limited mods when it comes to terrain destruction due to greifing issues in general.

      • Domochevsky

        Mind you, the option to explode your way past the terrain protection right now is intended, but yeah, I’m gonna add some optional protection that you can turn on against that. :)

      • Hey just found out that if you have a claimed chunk with no interact, people standing out side of that chunk can still interact just not when they are in the chunk.. not sure if this is fixable,

        but just so people know in order to make sure people cant reach their chests or other things from a non claimed area they should have at least one claimed chunk in between anything important. .

      • Domochevsky

        …huh, that is pretty weird. The player’s position should not matter. Only the position of the chest should. o_O

  4. “territory deal” mod weird bugs
    – server config value doesn’t change “Payment order” max value, is it have to be changed also in client config (it works in that way) or just a bug?
    -server config changes in values of valuables does not applied in vanilla craft table & Applied Energistics 2 (rv2-stable-3) but works in Thaumcraft crafting table(Oo)

    • *Applied Energistics 2 (rv2-stable-3) crafting terminal*

    • Domochevsky

      The server ultimately has the last word in what the value is, but if you want the client to reflect that as well then their config has to be adjusted too, yeah.
      (So the player sees what’s up.)

      As for those crafting tables… I got nuthin. Crafting in Minecraft is generally a bit messy. o_O

  5. not sure if its just me but using a gold block doesn’t add any value to the payment order but diamond blocks do

    • Domochevsky

      Huh, that’s weird. What version are you using? Are any other blocks not paying in as well?

      • using TerritorialDealings_1.7.10_b9, Gold ingots, diamonds diamond blocks, emeralds and emerald blocks all work. its just the gold block that doesn’t, it eats the gold block but doesn’t change the value.

      • Domochevsky

        That is even weirder. All these thing use the same system to register as recipes and add values. oO
        What does the config file say about their values?

        Edit: Hold on… I think I found a bug here. The internal value table has a copypasta error. Tch. Will be fixed in the next build.

  6. Any chance you can add support for this Storage Drawers Mod?

    • Domochevsky

      Support of what kind? Is something not working?

      • with no interact on you can still take and put objects from these containers when your not allowed to the protection

      • Actualy you can still take them out not put them back you punch to get them out and right click to put them back it looks like the left my inventory but after re-log were not put back

      • Domochevsky

        Ah… that mod author needs to fire a certain event when people interact with it so I can react to it. Lemme find it…

        …there it is:

        net.minecraftforge.event.entity.player.PlayerInteractEvent

        So the author needs to call a version of this when a player uses a storage drawer:


        PlayerInteractEvent event = ForgeEventFactory.onPlayerInteract(player, Action.RIGHT_CLICK_BLOCK, x, y, z, face, world);

        if (event.isCanceled())
        {
        thisPlayerMP.playerNetServerHandler.sendPacket(new S23PacketBlockChange(x, y, z, world));
        return false;
        }

      • do your protections apply to players interacting with left click? the Right click is disabled for this mod when we have no interact on but the left click still works. It seems to be the same for Jabba barrels as well

      • Domochevsky

        That’s the thing. A left click does not count as “interaction” by default, hence why the mod author needs to pretend that it is, in order for this protection to apply.

        Alternatively I could look into left click interaction and see if I can do something about that as well. (But that is usually punch and mine. So you wouldn’t be able to attack anything, which I’d rather avoid.)

      • Ok that makes since I’m fairly clueless on the code side

  7. Is it possible to have an item or a way to visually see your protected area?

    Also is there a way to make public and private areas of a clan so you can set off limit areas and other areas they can still change?

    • Domochevsky

      1. Not currently, no. It’s still on my list of things to do, but I have not figured out yet how to do it.

      2. Also no. Kinda defeats the point of claiming areas. :)
      (But what I could do at some point is a way to unclaim chunks. There are a couple reasons I can think of for doing so.)

  8. First – this mod is GREAT. i was looking for something like it for forge servers , but we could not find any. This is great work!

    1. Can we have another valuable added by configs? like block of copper or block of tin or block of iron, simple minecraft item by name :)

    2. Can we define how deep in enemy teritory can one make hostile takeover ? (maybe only on chunks that have neutral or friendly chunk next to it ?

    • Domochevsky

      Glad to see that you like it. :D

      1. Other valuables… hm. Not currently, but I may be able to figure this out later. Going strictly by unique name might be sufficient, yeah.

      2. That’s already the default behavior, if I didn’t make any mistakes. You cannot attack chunks that are entirely surrounded by claimed area of the same type, to prevent you walking straight into someone’s HQ and ripping holes into their defenses. :)

      • ad2 – true ;)

        ad1 – i can help to code it :) if you are interested i can get thre few lines miself. We have small server for friends, and it is very nice to have use for other things that we have. Having this thing configurable in file would make a difference.

        I can try to help with dynmap overlay for this mod also.

      • Domochevsky

        What would dynmap overlay be?

        (Getting some hint about how to aquire the unique name of an item would be useful. I suspect that’s in the “modmaker:item_name” format.)

      • minecraft:glass_pane, minecraft:stick, minecraft:snowball, minecraft:snow_layer, minecraft:snow, IC2:blockScaffold

        from ic2 config :)

        and overlay would be just coloring outlines of claimed chunk areas with some color.

      • actually you could leave this open as text, so one can add more items with values assigned.

  9. First off, thanks very much for making this mod, its great to have this functionality on Forge.

    I’m running into an issue on the 1.7.10 version of the mod, though. I wanted to set the upkeep payments to only happen once every 24 real-time hours, but once I set the length in ticks to anything over 100K it gets confused. For example, setting it to 72,000 makes upkeep happen every 40 mins, roughly. Seems to be accurate. But setting it to 108,000 results in upkeep every 15 minutes, roughly, when it should be every 60 minutes.

    Any way you know of to work around this in order to specify longer periods between upkeeps? Thanks!

    • Domochevsky

      Hum… that is odd. The value is read and used as an integer, which should have a maximum range of about 32 mil. Are autosave and control strength refresh affected the same way? How many dimensions do you have? (I’m vaguely suspecting that it’s accelerated by having more dimensions ticking. But that’s just a shot into the blue.)

    • I set autosave and control refresh to match the upkeep value as well, haven’t tried tinkering with them individually. I believe there are 4 dimensions on this server, but the only one that might have people in it at this stage would be the Nether – the server is brand new. And during my tests it was just me in the overworld.

    • Domochevsky

      Hum… I’m not entirely sure where to start with that one then. Every 15 min would be 18000 ticks. So unless you forgot to add a 0 inbetween there, I got nuthin’ at the moment. o_O

    • Alright, I see what’s happening. I timed it, and the timer hits right at 20 minutes, the default setting. After checking, I noticed that for some reason the territorychevsky.cfg file is getting overwritten at the 20 minute mark with a second line under each of my edits, see pastebin at:

      http://pastebin.com/sU7AYVHf

      I’ve tried deleting the file and starting from scratch several times. The file is fine immediately after restart – I’ve started the server and stopped it after a few seconds and the config file looks exactly as it did when I updated it. But at the 20 minute mark the upkeep message gets posted in chat, and the config file looks like what you can see in the pastebin.

      Any idea what might cause this? I’ve never seen config files change on the fly before.

    • Domochevsky

      Uh… I don’t even know what’s up with that. Haven’t seen that sort of behavior before. This kinda looks like a Forge issue of sorts, but I couldn’t say how or why. What version of that are you using? o_O

      Edit: OH! I got an idea:

      I:”How long is each upkeep consumption interval? (default 108000 ticks, for once per ingame day.)”=108000 < - in that line you changed both the NAME of the config option and the option itself. That way my mod isn't recognizing it anymore and creates a new one with default values. You need to set it to I:"How long is each upkeep consumption interval? (default 24000 ticks, for once per ingame day.)"=108000 (Only editing the stuff after the = )

    • Ah, okay, I’ll give that a shot. Find/replace wasn’t a smart move, I guess. :) I’ll let you know how it turns out.

    • Good news, figured out what was going on. Turns out that after a server restart, the mod always takes an upkeep payment 20 minutes after startup. After that, it uses the time specified in the config file. Just have to make sure I time my server restarts properly and it shouldn’t be a problem.

      Thanks for the help!

    • Domochevsky

      Ah… good to hear. And something I certainly should fix the next time I get around to it.

  10. Hi, i try to play with my mate on my hosted server and i get this on server side every try i want to make my faction with faction deed :
    It works in LAN and solo perfectly
    I tried to:
    -Change version of forge
    -change java 7 to 8
    -fiddling out with the configs files

    java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: com/mojang/realmsclient/gui/ChatFormatting
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_92]
    at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_92]
    at net.minecraft.util.Util.func_181617_a(SourceFile:46) [g.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:664) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:386) [la.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:609) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:467) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92]
    Caused by: java.lang.NoClassDefFoundError: com/mojang/realmsclient/gui/ChatFormatting
    at com.domochevsky.territorialdealings._Territory.setLeader(_Territory.java:104) ~[_Territory.class:?]
    at com.domochevsky.territorialdealings.TerritoryHandler.addFaction(TerritoryHandler.java:89) ~[TerritoryHandler.class:?]
    at com.domochevsky.territorialdealings.TerritoryHandler.tryToAddFaction(TerritoryHandler.java:74) ~[TerritoryHandler.class:?]
    at com.domochevsky.territorialdealings.item.StartFactionDeed.func_77659_a(StartFactionDeed.java:44) ~[StartFactionDeed.class:?]
    at net.minecraft.item.ItemStack.func_77957_a(ItemStack.java:159) ~[adq.class:?]
    at net.minecraft.server.management.PlayerInteractionManager.func_187250_a(PlayerInteractionManager.java:361) ~[ls.class:?]
    at net.minecraft.network.NetHandlerPlayServer.func_147346_a(NetHandlerPlayServer.java:712) ~[mb.class:?]
    at net.minecraft.network.play.client.CPacketPlayerBlockPlacement.func_148833_a(SourceFile:32) ~[jh.class:?]
    at net.minecraft.network.play.client.CPacketPlayerBlockPlacement.func_148833_a(SourceFile:9) ~[jh.class:?]
    at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[fh$1.class:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_92]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_92]
    at net.minecraft.util.Util.func_181617_a(SourceFile:45) ~[g.class:?]

    Thanks for the reply mate

    • by the way :
      forge version: 1.9-12.16.1.1905
      Minecraft: 1.9
      modversion :b14

    • Domochevsky

      Ah… yeah, that is a known issue. Turns out that chat formatting doesn’t exist on server side. That’s fixed in the next build. >_>

  11. okay thanks mate !!! you mean your mod build ?

  12. Yes B15 first !!! thanks mate tell you if it works now ;)

  13. Works perfect now

  14. ah still the faction ledger comes with a problem server side but you fixed the faction deeds !

    [12:39:04] [Server thread/FATAL]: Error executing task
    java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: com/mojang/realmsclient/gui/ChatFormatting
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_92]
    at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_92]
    at net.minecraft.util.Util.func_181617_a(SourceFile:46) [g.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:664) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:386) [la.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:609) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:467) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92]
    Caused by: java.lang.NoClassDefFoundError: com/mojang/realmsclient/gui/ChatFormatting
    at com.domochevsky.territorialdealings.item.FactionLedger.displayFactionInfo(FactionLedger.java:121) ~[FactionLedger.class:?]
    at com.domochevsky.territorialdealings.item.FactionLedger.func_77659_a(FactionLedger.java:56) ~[FactionLedger.class:?]
    at net.minecraft.item.ItemStack.func_77957_a(ItemStack.java:159) ~[adq.class:?]
    at net.minecraft.server.management.PlayerInteractionManager.func_187250_a(PlayerInteractionManager.java:361) ~[ls.class:?]
    at net.minecraft.network.NetHandlerPlayServer.func_147346_a(NetHandlerPlayServer.java:712) ~[mb.class:?]
    at net.minecraft.network.play.client.CPacketPlayerBlockPlacement.func_148833_a(SourceFile:32) ~[jh.class:?]
    at net.minecraft.network.play.client.CPacketPlayerBlockPlacement.func_148833_a(SourceFile:9) ~[jh.class:?]
    at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[fh$1.class:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_92]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_92]
    at net.minecraft.util.Util.func_181617_a(SourceFile:45) ~[g.class:?]

  15. Hi, i think this mod will bet a lot better, in terms of playability, if you updated: Quivermods, and some of your other utility mods :P really, i would love it XD

    (Think 5 guys, one with explosive knucles, and Shell armor, the rest with varied weapons, attacking the base of 4 guys deffending their base with arrow mortars, and assistant arms :P)

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required, but doesn't need to be accurate)