ShatteredScrolls icon

ShatteredScrolls -----

Teleport and warp with scrolls, in style!



[​IMG]
[​IMG]
[​IMG] [​IMG] [​IMG]

ShatteredScrolls is an RPG-themed replacement for warps and homes, by using scroll items that can be bound to any location or set to transport to specific spots!

Crafting
[​IMG]
Binding and Teleporting
[​IMG]
Warp System
[​IMG]
Backup Image Links

Version 2 Information
As of version 2, the entire plugin has been rewritten to be a little more robust, and allow for expansion by other developers. A short summary of changes includes:



    • You now need ShatteredCore. You can get that here. I'll post it to Spigot soon for Aternos users.
    • Scrolls now can be given out that are bound to Essentials warps, and an API exists to add other warp providers.
    • Scrolls now can be bound in different ways, and that can also be expanded through an API.
    • Scrolls now have arbitrary costs, and more can be added through an API.
    • Scrolls now can be refueled with a configurable item, and each use of the item can give a configurable number of charges back.
    • Scrolls now can have a crafting recipe set.
    • There are now unlimited types of scrolls.
    • This *should* convert without issues from v1, but that's the part I worry about the most. Back up your configs.
Here is what the new scroll config looks like:
Code (json (Unknown Language)):
[
  {
    "id": "BindingScroll",
    "name": "Unbound Scroll",
    "material": "PAPER",
    "bindingData": {
      "type": "unbound",
      "data": {}
    },
    "displays": {
      "location": {
        "name": "\u0026rTeleportation Scroll",
        "preserveName": false,
        "lore": [
          "\u00267It goes to \u0026f%x% %y% %z% \u00267 in \u0026f%world%\u00267.",
          "\u0026f%charges% \u00267charges.",
          "\u00267Right click to teleport."
        ],
        "glow": false,
        "customModelData": 4
      },
      "unbound": {
        "name": "\u0026rUnbound Scroll",
        "preserveName": false,
        "lore": [
          "\u0026f%charges% \u00267charges.",
          "\u00267Right click to bind to your location."
        ],
        "glow": false,
        "customModelData": 2
      },
      "warp": {
        "name": "\u0026rWarp Scroll",
        "preserveName": false,
        "lore": [
          "\u0026f%charges% \u00267charges.",
          "\u00267Right click to warp to \u0026f%warp%\u00267."
        ],
        "glow": false,
        "customModelData": 2
      }
    },
    "crafting": {
      "recipe": {
        "items": [
          " E ",
          "EPE",
          " E "
        ],
        "mapping": {
          "P": "PAPER",
          "E": "ENDER_PEARL"
        }
      },
      "repairMaterial": "ENDER_PEARL",
      "repairAmount": 2,
      "craftAmount": 1
    },
    "cost": {
      "type": "none",
      "data": {}
    },
    "infinite": false,
    "defaultCharges": 5
  }
]
 

All messages can be customized through messages.yml:
Code (YAML):
prefix : "&2ShatteredScrolls &7» &f"
no-console
: "&cConsole is not allowed to use this command."
not-enough-args
: "&cNot enough arguments. Got &f%argc%&c, expected &f%argx%&c."
not-enough-args-nc
: "&cNot enough arguments."
no-permission
: "&cYou don't have permission to use that."
no-blank
: "&f%key% &ccannot be blank."
invalid-integer
: "&cInvalid number '&f%offender%&c.' Expected a valid integer."
invalid-float
: "&cInvalid number '&f%offender%&c.' Expected a valid float."
invalid-double
: "&cInvalid number '&f%offender%&c.' Expected a valid double."
invalid-world
: "&cInvalid world '&f%offender%&c.'"
invalid-player
: "&cInvalid player '&f%offender%&c.'"
invalid-choice
: "&cInvalid option '&f%offender%&c.' Valid choices are &f%choices%."
invalid-scroll
: "&cInvalid scroll type '&f%offender%&c.' Valid options are &f%options%&c."
invalid-warp
: "&cInvalid warp '&f%offender%&c.' Valid options are &f'%options%&c."
invalid-binding-type
: "&cInvalid binding type '&f%offender%&c.' Valid options are &f%options%&c."
invalid-cost-type
: "&cInvalid cost type '&f%offender%&c.' Valid options are &f%options%&c."
infinite
: "∞"
create-warp
: "Created &a%name%&f. Use &a/scrolls warp goto %id%&f to get back to it."
delete-warp
: "Deleted &a%id%&f."
goto-warp
: "Teleported to &a%name%&f."
edit-warp
: "Set &a%key%&f on &a%name%&f to &a%value%&f."
get-scroll
: "Giving %count%x &a%name% (%id%)&f to you with &a%charges%&f charges."
give-scroll
: "Giving %count%x &a%name% (%id%)&f to &a%name%&f with &a%charges%&f charges."
edit-scroll
: "Set &a%key%&f on &a%name%&f to &a%value%."
create-scroll
: "Created &a%name%&f. Use &a/scrolls scroll edit %id%&f to edit it."
delete-scroll
: "Deleted &a%name%&f."
no-delete-default
: "&cThe default scroll type cannot be deleted."
external-warp-delete
: "&cCould not delete &f%id%&c because it is managed by another plugin."
external-warp-edit
: "&cCould not edit &f%id%&c because it is managed by another plugin."
load
: "&eReplacing data with data saved on disk."
save
: "&eSaving data to disk."
unsafe-location-unbind
: "&cThat teleport location was unsafe. The scroll has been unbound."
unsafe-location-cancel
: "&cThat teleport location was unsafe. You could not be teleported."
unknown-warp-unbind
: "&cThe warp that this was bound to no longer exists. The scroll has been unbound."
unknown-warp-cancel
: "&cThe warp that this was bound to no longer exists. You could not be teleported."
unknown-world-unbind
: "&cThe world that this was bound to no longer exists. The scroll has been unbound."
unknown-world-cancel
: "&cThe world that this was bound to no longer exists. You could not be teleported."
scroll
:
  name
: "name"
  id
: "id"
  charges
: "charges"
  infinite
: "infinite"
  cost
: "cost"
  binding
: "binding"
  display
:
    name
: "%display% name"
    lore
: "%display% lore"
    glow
: "%display% glow"
    model
: "%display% model"
command
:
  base
: |
   &2ShatteredScrolls
    &7- &a/%label% scroll &8- &fCommands dealing with scrolls.
    &7- &a/%label% warp &8- &fCommands dealing with warps.
    &7- &a/%label% load &8- &fReplaces current plugin data with data on disk.
    &7- &a/%label% save &8- &fSaves current plugin data to disk.

  version
: |
   &2ShatteredScrolls &7v%version%%update-status%
    &fAuthor:&a UberPilot
    &fSupport:&9 https://discord.gg/zUbNX9t
    &fDonate:&e https://patreon.com/UberPilot

  warp
:
    base
: |
     &2ShatteredScrolls &7- &aWarps
      &7- &a/%label% goto &8- &fTeleport to a warp.
      &7- &a/%label% send &8- &f to a warp.
      &7- &a/%label% create &8- &fCreate a warp.
      &7- &a/%label% edit &8- &fEdit an existing warp.
      &7- &a/%label% remove &8- &fRemove a warp.
      &7- &a/%label% convert &8- &fConvert an external warp to an internal warp.

    goto
: |
     &2ShatteredScrolls &7- &aGoto Warp
      &7About: &fTeleports you to the warp with &aid&f.
      &7Usage: &f/%label% <id>
      &7Permission: &f%permission%

    create
: |
     &2ShatteredScrolls &7- &aGoto Warp
      &7About: &fTeleports you to the warp with &aid&f.
      &7Usage: &f/%label% <id>
      &7Permission: &f%permission%

    edit
: |
     &2ShatteredScrolls &7- &aEdit Warp
      &7About: &fEdits a warp to have &akey&f set equal to &avalue&f. Note that changing &aid&f may result in broken scrolls.
      &7Options: &fid, name, location
      &7Usage: &f/%label% <id> <key> <value>
      &7Permission: &f%permission%

    remove
: |
     &2ShatteredScrolls &7- &aGoto Warp
      &7About: &fTeleports you to the warp with &aid&f.
      &7Usage: &f/%label% <id>
      &7Permission: &f%permission%

    convert
: |
     &2ShatteredScrolls &7- &aConvert Warp
      &7About: &fCreates a new warp from external warp &aid&f with new id &anew id&f.
      &7Usage: &f/%label% <id> <newid>
      &7Permission: &f%permission%

  scroll
:
    base
: |
     &2ShatteredScrolls &7- &aScrolls
      &7- &a/%label% get &8- &fGive yourself a scroll.
      &7- &a/%label% give &8- &fGive someone else a scroll.
      &7- &a/%label% create &8- &fCreate a new scroll.
      &7- &a/%label% edit &8- &fEdit an existing scroll.
      &7- &a/%label% remove &8- &fRemove an existing scroll.

    get
: |
     &2ShatteredScrolls &7- &aGet Scroll
      &7About: &fGives a scroll of type &aScroll Type&f to you.
      &7Usage: &f/%label% <Scroll Type> [Charges = 5] [Count = 1] [Binding Type] [Binding Type Args...]
      &7Permission: &f%permission%

    give
: |
     &2ShatteredScrolls &7- &aGive Scroll
      &7About: &fGives a scroll of type &aScroll Type&f to &aPlayer&f.
      &7Usage: &f/%label% <Player> <Scroll Type> [Charges = 5] [Count = 1] [Binding Type] [Binding Type Args...]
      &7Permission: &f%permission%

    create
: |
     &2ShatteredScrolls &7- &aCreate Scroll
      &7About: &fCreates a scroll type with &aid&f and default values for everything else.
      &7Usage: &f/%label% <id>
      &7Permission: &f%permission%

    edit
: |
     &2ShatteredScrolls &7- &aEdit Scroll
      &7About: &fEdits a scroll type to have &akey&f set equal to &avalue&f. Note that changing &aid&f may result in broken scrolls, scrolls reverting to default types, or plugin issues.
      &7Options: &fid, name, material, customModelData, glow, cost, infinite, defaultCharges, bindingData, display
      &7Usage: &f/%label% <id> <key> <value>
      &7Permission: &f%permission%

    edit-display
: |
     &2ShatteredScrolls &7- &aEdit Scroll Display
      &7About: &fEdits a scroll display to have &akey&f set equal to &avalue&f on binding type &atype&f.
      &7Options: &fname, lore, glow, model
      &7Usage: &f/%label% <type> <key> <value>
      &7Permission: &f%permission%

    delete
: |
     &2ShatteredScrolls &7- &aDelete Scroll
      &7About: &fDeletes the scroll type with &aid&f. Note that deleting types may cause scrolls to revert to the default type, or be removed if that does not exist.
      &7Usage: &f/%label% <id>
      &7Permission: &f%permission%

up-to-date
: " &f(Current)"
update-available
: " &a(Update %version% Available!)"
 

And here's the config:
Code (json (Unknown Language)):
{
  "cancelMode": "UNBIND",
  "defaultType": "BindingScroll",
  "safetyCheck": false,
  "cooldown": 1000,
  "allowedWorlds": [
    "world",
    "world_nether",
    "world_the_end"
  ]
}
 
Resource Information
Author:
----------
Total Downloads: 748
First Release: Jan 9, 2020
Last Update: May 19, 2024
Category: ---------------
All-Time Rating:
6 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings