header

Description

ClaimIt

for Minecraft Forge 1.12 to 1.12.2

                                                                                                    

Documentation Status

 

This project is dependent on ClaimIt API. Ensure it is installed.

 

Sponsored by PebbleHost

 

Why is this mod special?

This mod is built with the idea of creating easy compatibility that allows mods to integrate properly with the claiming system to avoid the need for banning items. It also includes an in-depth but configurable permission system to allow full control over who can do what, and what is allowed where, as well as in-depth administration tools.

 

Do my users need to download ClaimIt?

No. It's server side only, but loads on integrated servers (singleplayer/LAN) just fine.

 

I have questions/need support! Where can I get help?

The best places to get help are the ingame help command, this article, and my Discord server.

 

API

ClaimIt has an expansive API for integration and addition. You can view the documentation here. It can be found on Curse hereThe API is required for the mod to function.

 

Video Overview (From old development versions)

 

Using the base mod

ClaimIt is the base mod, which the API is completely independent of. ClaimIt handles protections and hooks/commands.
ClaimIt includes an expansive ingame help command, accessed with /claimit help. You can also view all of the sections below for a general outline of commands, permissions, features, and configuration.

Right click two corners with the claiming item to create a claim! The default item is shears.

 

FAQ

Q: How do I make claims?
A: Use the claiming item and click two corners. By default, the claiming item is shears. Do /claimit help topic claiming to learn more.

Q: How do I make x permission public (how can I make it so all players can do this in my claim)?
A: Use Toggle permissions or Member Toggle permissions (read below). For example, to make all players have "use", do /claimit claim toggle use while in your claim. You can also make toggles on or off by default or by force in the configuration.

Q: "/ci" doesn't work for me, it gives a "no permission" error, or clears my inventory.
A: This is caused by Nucleus or ForgeEssentials interfering with the ClaimIt alias and replacing it with clear inventory. Get around this by using /claimit.

Q: How do I "untrust" people?
A: "/claimit trust" is a shortcut command for "/claimit claim permission add modify,use,entity (player)". You will need to remove these permissions using the "permission remove" command, or the interactive permission management in "/claimit claim manage"

Q: How do I change how many claim blocks players have?
A: You can change the default value (the amount granted for joining the server) in the configuration ("default_max_claim_blocks"). You can change the amount per person by using the "/claimit claimblocks" commands.

Q: Players don't have permission to create claims! Why?
A: When you use Sponge, you need to grant players permission to "claimit.claim.create" and "claimit.subclaim.create".

Member Permissions

Member permissions are a subclass of permission that can be assigned to a player in a group or claim. Different member permissions grant different permissions and abilities. You can give players these permissions with /claimit claim permission <add/remove> <permission> <player>. It also supports wildcards (*) and multiple arguments. Example: /ci claim permission add modify,use Player23,Player43 or /ci claim permission remove * *

  • modify: Allows modification of blocks - placing and breaking.
  • use: Allows use of items (flint and steel, buckets, etc), interactions with blocks (chests, furnaces, doors, levers), and some interactions with entities (shearing sheep, milking cows, etc, which also require entity).
  • entity: Allows damaging entities and interactions with entities (shearing sheep, milking cows, etc, which also require use)
  • pvp: Allows damaging other players. Can be disabled by server admin in the config.
  • manage_perms: Allows use of toggle commands as well as adding or removing members in a claim

 

Toggle Permissions

Toggle permissions are a subclass of permission that can be enabled or disabled per claim, and are stored per claim. They can control certain global protections for claims, such as explosions. They can be modified with /claimit claim toggle [toggle name]. To change values or force claims to values see the API Configuration 1 section below.

  • living_modify (Default OFF): Turning on allows zombies to break doors, enderman to take blocks, and other entity interactions that break blocks.

  • drop_item (Default ON): Turning on allows players to drop items.
  • pickup_item (Default ON): Turning on allows players to pick up items.
  • allow_projectiles (Default OFF): Turning on allows projectiles to impact - this may make animals vulnerable to enchantments like Flame, since they ignore damage events!
  • entity_spawn (Default OFF): Turning on allows mobs and animals to spawn.
  • pressure_plate (Default ON): Disabling blocks pressure plates for all reasons except players with USE. Having on still prevents players without USE from using them, but allows mobs to use them. Be aware dropping items to put plates down works while this is on.
  • explosion (Default OFF): Enabling allows explosions to damage entities and blocks inside the claim.
  • fire_create (Default OFF): Enabling allows fire to be created and spread inside/on the border of the claim.
  • fire_create_on_obsidian (Default ON): Allows creation of fire on obsidian blocks, mostly for nether portals.
  • allow_fake_player_bypass (Default ON): Grants fake players permissions in the claim. This applies to things like BC Quarries or "Block Breakers"
  • mob_grief (Default OFF): Allows mobgriefing (respecting gamerule) within claim.
  • mob_grief_villager (Default ON): Allows mobgriefing (not respecting gamerule) from villagers.

 

 

 

Member Toggle Permissions

There can also be toggle perms sharing names with member perms. Toggling these "member toggles" to ON makes that member permission publicly available. E.g. toggling the modify toggle will allow anyone to place and break blocks in that claim. Not all member permissions have a toggle.

 

Commands

ClaimIt includes an abundance of commands both for player use and admin use. You can find the use and purpose of all of the commands below by hovering them in the ingame context menus, or using the help commands.

List of commands:

  • Base Commands

    • /claimit admin
    • /claimit cancel
    • /claimit claim [subcommand]
    • /claimit claimblocks [subcommand]
    • /claimit config [config) (value]
    • /claimit confirm
    • /claimit subclaim [subcommand]
    • /claimit trust <username> [claimname]
    • /claimit group [subcommand]
    • /claimit help [subcommand]

    Claim Commands

    • /claimit claim delete [claimname]
    • /claimit claim deleteall
    • /claimit claim info [claimname]
    • /claimit claim list
    • /claimit claim manage [claimname] [member] [playername]
    • /claimit claim permission <add/remove> <permission> <playername> [claimname]
    • /claimit claim permission list [claimname]
    • /claimit claim setname <name>
    • /claimit claim toggle [togglename] [claimname]

    Subclaim Commands

    • /claimit subclaim delete [claimname) (subclaimname]
    • /claimit subclaim deleteall [claimname]
    • /claimit subclaim info [claimname) (subclaimname]
    • /claimit subclaim list [claimname]
    • /claimit subclaim permission <add/remove> <permission> <username> [claimname) (subclaimname]
    • /claimit subclaim permission list [claimname) (subclaimname]
    • /claimit subclaim setname <name>
    • /claimit subclaim toggle [toggle name] [claim name) (subclaim name]

    Group Commands

    • /claimit group claim <add/remove> <groupname> [claimname]
    • /claimit group create <groupname>
    • /claimit group delete <groupname>
    • /claimit group info <groupname>
    • /claimit group list
    • /claimit group permission <add/remove> <permission> <playername> <groupname>
    • /claimit group setname <groupname> <newname>
    • /claimit group settag <groupname> <tag>
    • /claimit group setprimary <groupname>

    Help Commands

    • /claimit help command <command string>
    • /claimit help permission <member/toglge> [permission]
    • /claimit help topic [topicname]
    • /claimit help userconfig [configname]

    Claim Blocks

    • /claimit claimblocks view
    • /claimit claimblocks setallowed <player> <amount>
    • /claimit claimblocks addallowed <player> <amount>

 

Permissions

ClaimIt has basic Sponge/Spigot integration (yes, LuckPerms included!)
With Sponge present, most of the default command permissions are allowed by default.

You will need to give users access to claimit.claim.create and claimit.subclaim.create when using Sponge!

 

List of all permissions:

List of non default non admin permissions (Sponge only):

  • claimit.claim.create - Allows creating claims
  • claimit.subclaim.create - Allows creating subclaims

List of default permissions:

  • claimit.command
  • claimit.command.claimit
  • claimit.command.claimit.claim
  • claimit.command.claimit.claim.info
  • claimit.command.claimit.claim.delete
  • claimit.command.claimit.claim.deleteall
  • claimit.command.claimit.claim.list
  • claimit.command.claimit.claim.manage
  • claimit.command.claimit.claim.permission
  • claimit.command.claimit.claim.permission.list
  • claimit.command.claimit.claim.setname
  • claimit.command.claimit.claim.toggle
  • claimit.command.claimit.group
  • claimit.command.claimit.group.create
  • claimit.command.claimit.group.claim
  • claimit.command.claimit.group.delete
  • claimit.command.claimit.group.info
  • claimit.command.claimit.group.list
  • claimit.command.claimit.group.permission
  • claimit.command.claimit.group.setname
  • claimit.command.claimit.group.setprimary
  • claimit.command.claimit.group.settag
  • claimit.command.claimit.group.settag.color
  • claimit.command.claimit.group.settag.formatting
  • claimit.command.claimit.config
  • claimit.command.claimit.cancel
  • claimit.command.claimit.confirm
  • claimit.command.claimit.claimblocks
  • claimit.command.claimit.claimblocks.view
  • claimit.command.claimit.help
  • claimit.command.claimit.help.topic
  • claimit.command.claimit.help.permission
  • claimit.command.claimit.help.command
  • claimit.command.claimit.help.userconfig
  • claimit.command.claimit.subclaim
  • claimit.command.claimit.subclaim.delete
  • claimit.command.claimit.subclaim.deleteall
  • claimit.command.claimit.subclaim.info
  • claimit.command.claimit.subclaim.list
  • claimit.command.claimit.subclaim.permission
  • claimit.command.claimit.subclaim.permission.list
  • claimit.command.claimit.subclaim.setname
  • claimit.command.claimit.subclaim.toggle
  • claimit.command.claimit.trust

The list of non default admin permissions:

  • claimit.admin - Required for all of the below, allows enabling admin mode via /claimit admin
  • claimit.claim.manage.others - This grants the ability to bypass protections as admin. This is also required for most "claim.*.others" permissions

The list of default admin permissions (these require one of the above, but are default. You can set these to false to block a specific one):

  • claimit.command.claimit.claim.manage.others - View manage dialog for other's claims as admin
  • claimit.command.claimit.claim.delete.others - Allow deleting other's claims as admin
  • claimit.command.claimit.claim.deleteall.others - Allow deleting all of another's claims as admin
  • claimit.command.claimit.claim.list.others - Allow listing all claims for a user or all claims on a server as admin
  • claimit.command.claimit.claim.permission.others - Allow editing members on other's claims as admin
  • claimit.command.claimit.claim.permission.list.others - Allow viewing members of another's claims as admin
  • claimit.command.claimit.claim.setname.others - Allow setting the name of other's claims as admin
  • claimit.command.claimit.claim.toggle.others - Allow editing of toggles on other's claims as admin
  • claimit.command.claimit.claim.info.others - Allow getting info for claims via true name as admin. Note you can still view info at a given location.
  • claimit.command.claimit.group.claim.others - Allow adding claims to groups you are not a member of as admin
  • claimit.command.claimit.group.delete.others - Allow deleting claims you do not own as admin
  • claimit.command.claimit.group.list.others - Allow listing all groups on the server or all groups owned by a player as admin
  • claimit.command.claimit.group.permission.others - Allow editing members on groups you cannot as admin
  • claimit.command.claimit.group.setname.others - Allow renaming groups you don't own as admin
  • claimit.command.claimit.group.settag.others - Allow setting the tag on groups you don't own as admin
  • claimit.command.claimit.claimblocks.setallowed - Allow setting maximum claim blocks as admin
  • claimit.command.claimit.claimblocks.addallowed - Allow adding to maximum claim blocks as admin
  • claimit.command.claimit.claimblocks.view.others - Allow viewing claim blocks of other players as admin
  • claimit.command.claimit.subclaim.delete.others - Allow deleting other's subclaims as admin
  • claimit.command.claimit.subclaim.deleteall.others - Allow deleting all of a claim's subclaims as admin
  • claimit.command.claimit.subclaim.info.others - Allow getting info for subclaims in claims via true name as admin. Note you can sitll view info at a given location inside a claim.
  • claimit.command.claimit.subclaim.permission.others - Allow editing members on any subclaim as admin
  • claimit.command.claimit.subclaim.permission.list.others - Allow viewing members on any subclaim as admin
  • claimit.command.claimit.subclaim.setname.others - Allow setting the name of any subclaim as admin
  • claimit.command.claimit.subclaim.toggle.others - Allow editing of toggles on any subclaim as admin.

I'll say it again.
You will need to give users access to claimit.claim.create and claimit.subclaim.create when using Sponge!

 

Administration

ClaimIt provides an abundance of administration tools, namely the ability to bypass protections and modify claim toggles, members, etc. Read the admin permissions above for a general idea of what you'll need. In order to use ANY admin features you will need admin enabled. To do so, run /claimit admin. So long as this is enabled and you have claimit.claim.manage.others, you can bypass protections. Setting block limits is very easy, and can be done via the /claimit claimblocks (setallowed/addallowed) (player) (amount) command, so long as you have permission.

 

Configuration

ClaimIt provides many configurable features. Currently, there are three configs, all of which are in the config folder.

 

API Configuration 1 (claimit_api.cfg)

This configuration allows forcing values to toggles in all claims. This means you can for example force pickup_item to allowed (true) in all claims.

Setting do_force_toggle_name_value to true will ensure that all claims have toggle_name set to whatever the value of force_toggle_name_value is. You can also set the default values for toggles in claims by changing the value of default_value under the relevant toggle's category (true = ON, false = OFF)

 

API Configuration 2 (claimitapi-2.cfg)

Currently this configuration contains only one value.

Setting enable_subclaims to false will remove any existing subclaims and destroy the data, and prevent creation and interaction with subclaims, including /claimit subclaim and any subcommands.

 

ClaimIt Configuration (claimit.cfg)

This is the most useful configuration for most users. This allows setting a variety of values.

claim_blocks_accrual_amount represents the amount of claimblocks that will be accrued per claim_blocks_accrual_period, given that both is greater than 0.
claim_blocks_accrual_period is a number represented in ticks (1/20 of a second) in which claimblocks will be rewarded, based on the time in which the user joined, meaning the exact award time is different for each player.
claim_create_item is the item ID that will be used for creating claims and subclaims. By default it is minecraft:shears, but it can be any valid item.
claim_create_display is a piece of text that will be displayed as the claiming item when a user runs /claimit. It does not necessarily have to match the actual item name, but it generally should so your users know what to do.
claim_entry_message is the text shown in the action bar upon entering a claim. Supports & color/formatting codes. Use %1 for owner name/uuid and %2 for claim name.
claim_exit_message is the text shown in the action bar upon exiting a claim. Supports & color/formatting codes. Use %1 for owner name/uuid and %2 for claim name.
default_max_claim_area is the amount of claimblocks in which users will start with.
forceNoPVPInClaim is a boolean that when set to true will make all claims block PVP, regardless of any settings or memberships.
max_show_borders_seconds is a number, in seconds, representing the length of time which /claimit showborders will display borders for. This is set at 30 for network performance reasons (each claim is ~12 to 30 packets per second).
max_tag_length is the maximum length of a group's tag (excluding formatting codes)
min_tag_length is the minimum length of a group's tag (excluding formatting codes)
prune_unclaimed_chunks is a boolean that when enabled will regenerate (remove constructions/modifications) of any chunks that do not contain a claim. This is a HIGHLY destructive operation that fires exactly once after the server starts with this enabled. After completion, it should promptly be set back to false. I am NOT responsible for data loss from this option. Do not take this one lightly.
show_borders_cooldown is a number, in seconds, representing how long you must wait between using /ci showborders. Keep in mind the shorter this is the more network performance problems you may have.
tag_prefix is the text put before a tag in the chat. Supports color and formatting codes with &
tag_suffix is the text put after a tag in the chat. Supports color and formatting codes with &

 

Maven: https://bintray.com/itsmeow/maven/ClaimIt/

My website: https://itsmeow.dev/

Discord Server: https://discord.gg/zrjXjP5