Sueta

Magic Doors

v1.1.6

Create Families of linked "Magic Doors"

·Plugin

V1.1.5 Added Key Chain



    • Keep all your keys in one place
    • Teleport to specific child door

To store keys in the key chain, just pick up the key and drop into onto the key chain.

YouTube


* The bone must be a skeleton-key item

key-chain:[/B]
[B]    name: Key Chain
    locales:
    - de
    - es
    - fr
    de:
      name: Schlüsselanhänger
    es:
      name: llavero
    fr:
      name: Porte-clés
    rows:
    - ABA
    - ASA
    - AMA
    mats:
    - B=BONE
    - A=AIR
    - S=STRING
    - M=EMPTY_MAP
    item-has-nbt-key:
    - 1=skeleton-key
    output: TRIPWIRE_HOOK
    listeners:
    - com.blocktyper.magicdoors.KeyChainListener

Code snapshot

Version 1.1.4
YouTube

Configuration
All recipes and item names are configurable.

All "Door Families" names are constructed using a random prefix and a random suffix (set in the config file), so you can somewhat customize the names of the "Door Families" on your server. So you could create a theme of your own. By default the list is full of a few dozen famous last names and over 100 adjectives to use as prefixes.

*In the below description, I refer to "Child" doors, but in some of the example material, I refer to such doors as "^Root Door Copy". They are interchangeable terms and the actual name of the item can be changed by the server owner via configuration.

Game Play

  1. Craft a "Root Door"
  2. Craft a "Child Door" using a "Root Door" (By default, you will keep the root door in the crafting area when successfully crafting a "Child Door"). This door is not imprinted to the "Root Door" yet, as you can only imprint children after the "Root Door" is placed.
  3. Craft a "Door Key" using a "Child Door" (By default, you will keep the "Child Door in the crafting area when successfully crafting a "Door Key"). The key is immediately able to be used on any placed "Root Doors" or "Child Doors". (i.e. keys are universal)
  4. Place the "Root Door"
  5. Hit the base of the "Root Door" with a "Child Door" in order to imprint the child
  6. Place the "Child Door"
  7. Hit the base of either door with a key in order to teleport between the two doors

Default Recipes
Root Door

recipe.root-door.name: √Root
recipe.root-door.rows:
- DDD
- DID
- DDD
recipe.root-door.mats:
- D=DIAMOND
- I=IRON_DOOR
recipe.root-door.output: IRON_DOOR

Owned Root

recipe.owned-root-door.name: √Owned Root
recipe.owned-root-door.rows:
- DED
- DID
- DDD
recipe.owned-root-door.mats:
- D=DIAMOND
- E=EMERALD
- I=IRON_DOOR
recipe.owned-root-door.output: IRON_DOOR

Root Door Copy (Child Door)

recipe.root-door-copy.name: ^RootDoorCopy
recipe.root-door-copy.rows:
- OEO
- ODO
- OWO
recipe.root-door-copy.mats:
- E=EMERALD
- O=OBSIDIAN
- W=WATER_BUCKET
- D=IRON_DOOR
recipe.root-door-copy.output: IRON_DOOR
recipe.root-door-copy.item.starts.with:
- 4=√Root
recipe.root-door-copy.keep:
- NYN
- NYN
- NNN

Door Key

recipe.door-key.name: ^DoorKey
recipe.door-key.rows:
- AYA
- ADA
- ALA
recipe.door-key.mats:
- Y=YELLOW_FLOWER
- A=AIR
- D=IRON_DOOR
- L=LAVA_BUCKET
recipe.door-key.item.starts.with:
- 4=^RootDoorCopy
recipe.door-key.output: YELLOW_FLOWER
recipe.door-key.item.starts.with: []
recipe.door-key.keep:
- NNN
- NYN
- NNN

Skeleton Key

recipe.skeleton-key.name: ^SkeletonKey
recipe.skeleton-key.rows:
- ABA
- ADA
- ALA
recipe.skeleton-key.mats:
- B=BONE
- A=AIR
- D=IRON_DOOR
- L=LAVA_BUCKET
recipe.skeleton-key.item.starts.with:
- 4=^RootDoorCopy
recipe.skeleton-key.output: BONE
recipe.skeleton-key.item.starts.with: []
recipe.skeleton-key.keep:
- NNN
- NYN
- NNN

Nuances

  • Any key will work on any "Root Door" and any "Child Door" (i.e. There is no ownership of doors of "Root Doors") *
    New "Owned Root Doors" allow for ownership. Hit one of your Owned Root doors with a DoorKey and the the "Named Key" will now work with the "Owned Root Door" . You can give these keys to your friends. Alternatively, make your self a "Skeleton Key" and this key will work on all public doors and any "Owned Root Door" of your own. This will help with bag space, as the only "Named Keys" you will need are for other people's doors.
  • Adding more than one child to a "Root Door" will cause teleportation from the root door to a child door to randomly pick a child.
  • Hitting a "Root Door" with a stack of "Child Doors" will imprint the entire stack.
  • Destroying a door does not remove the ability to teleport to where it was.
  • Placing a regular door of the same type of the "Root" or the "Child" door type (iron_door by default) will re-establish the door (i.e. the user can click it again to teleport.
  • Placing a "Root Door" in the exact same place as a destroyed "Root Door" will cause two roots to exist in that space which will cause players to teleport to a random child of either of the two roots.

Similar projects

Plugin →