Patbox / get-off-my-lawn-reserved

Keep people off your lawn with claims! Built for Fabric.
MIT License
14 stars 10 forks source link

Get Off My Lawn ReServed

Get Off My Lawn ReServed is a take on the popular concept of player claims for Survival/Freebuild Fabric servers. This mod works fully server side (no client mod required!) while being compatible with major Fabric modpacks

This project is a fork Get Off My Lawn by Draylar, with focus on improving and building on top of the original.

Video Showcase

Getting started

To get started, you'll have to craft a Claim Anchor. Each anchor has a different (configurable by admin) claim radius; after placing one, a box around it will be formed. This box is yours!

To see claim areas, you'll have to craft a Goggles of (Claim) Revealing

When this item equipped in the helmet, mainhand or offhand slot, claim outlines become visible.

Recipes

Claim configuration:

To configure your claim, you can interact with the anchor block. A UI will appear that offers several configuration options:

Claim upgrades:

To upgrade your claim, place an Anchor Augment next to the core Claim Anchor. Anchor Augments available include:

Config:

You can find config file in ./config/getoffmylawn.json. To reload it, just type /goml admin reload in chat/console.

{
  "makeshiftRadius": 10,                // Radius of makeshift claim
  "reinforcedRadius": 25,               // Radius of reinforced claim
  "glisteningRadius": 50,               // Radius of glistening claim
  "crystalRadius": 75,                  // Radius of crystal claim
  "emeradicRadius": 125,                // Radius of emeradic claim
  "witheredRadius": 200,                // Radius of withered claim
  "claimProtectsFullWorldHeight": false,// Makes claim protect area from bottom of the world to top
  "dimensionBlacklist": [               // Allows to blacklist specific dimensions
    "example:dim"
  ],             
  "regionBlacklist": {                  // Allows to blacklist specific regions
    "example:dim": [
      {
        x1: -200,
        y1: -64,
        z1: -200,
        x2: 200,
        y2: 512,
        z2: 200,
      }
    ]
  },
  "enabledAugments": {                  // Allows to enable/disable augments per their id
    "goml:lake_spirit_grace": true,
    "goml:angelic_aura": true,
    "goml:greeter": true,
    "goml:force_field": true,
    "goml:village_core": true,
    "goml:withering_seal": true,
    "goml:ender_binding": true,
    "goml:heaven_wings": true,
    "goml:chaos_zone": true
  },
  "allowedBlockInteraction": [          // Allows to interact with specific blocks in claim
    "somemod:store"
  ],
  "allowedEntityInteraction": [         // Allows to interact with specific entities in claim
    "minecraft:villager"
  ],
  "messagePrefix": "<dark_gray>[<#a1ff59>GOML</color>]", // Default prefix used in messages
  "placeholderNoClaimInfo": "<gray><italic>Wilderness",
  "placeholderNoClaimOwners": "<gray><italic>Nobody",
  "placeholderNoClaimTrusted": "<gray><italic>Nobody",
  "placeholderClaimCanBuildInfo": "${owners} <gray>(<green>${anchor}</green>)",
  "placeholderClaimCantBuildInfo": "${owners} <gray>(<red>${anchor}</red>)",
  "claimColorSource": "location"        // either "location" or "player" - "location" will chose the color based on the location of the claim (hash of coordinates), "player" will chose the color based on the owner of the claim (hash of UUID).
}

License

Get Off My Lawn ReServed is available under the MIT license. The project, code, and assets found in this repository are available for free public use (as long as credited).