Spooky season is here. Happy Halloween from Lattice!
Lattice
Docs/LatUnwrap

LatUnwrap

Wrap items into presents that burst open in an animated show.

No reviews yet

Overview

Module id
gift-wrap
Version
1.0.0
Platforms
paper
Price
$3.99
Authors
Atlantis Services

Install

  1. Install Lattice on a Paper or Folia server, if it is not there yet.
  2. Drop the LatUnwrap jar into plugins/Lattice/modules/. It loads straight away.
  3. Put your license key in lattice.yml, then run /lat license refresh.
  4. Edit config/global/gift-wrap/ and apply it with /lat reload gift-wrap.

Commands

Command names and aliases are set in config.yml, so yours may differ. <required> [optional]

Command Description Permission
/wrap
also /giftwrap
Wrap items into a gift giftwrap.use

Permissions

Permission Lets a player use
giftwrap.use
/wrap

config.yml

Written to config/global/gift-wrap/config.yml on first start. Edit it, then /lat reload gift-wrap.

# Gift wrapping: /wrap packs up to nine stacks into a present that anyone can open.

# Generated from GiftSettings. Keys you delete return to their default;
# keys that are not in the schema are ignored and reported on load.

command:
  # Command that opens the wrapping menu. Takes effect on restart.
  name: "wrap"
  aliases:
    - "giftwrap"
  permission: "giftwrap.use"
# Title of the /wrap menu.
menu-title: "<gradient:#ff4d4d:#ffd700><bold>Wrap a gift</bold></gradient>"
# More materials that cannot be wrapped, e.g. ELYTRA. They go back to the player.
# Shulker boxes, bundles, filled containers and other gifts can never be wrapped.
blocked: []
# How a wrapped gift looks in the inventory.
present:
  # Item name. {from} is the name of the player who wrapped it.
  name: "<gradient:#ff4d4d:#ffd700><bold>Gift</bold></gradient>"
  # Item lore. {from} is the wrapper, {count} the number of stacks inside.
  lore:
    - "<gray>From <white>{from}"
    - "<gray>{count} stack(s) inside"
    - ""
    - "<yellow>Right-click to open!"
  # Head textures: base64 values from a head database site. Each gift picks one at random.
  # Empty for a plain player head.
  textures:
    - "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjFiYzlkNDJiMDA0MWU4Zjk1Y2I5YjI2NjI4ZmRhZjUwY2QwZTM2ZjdiYjlkNmIzYTRkMmFmMzk0OWRhOTdkNiJ9fX0="
    - "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmIxZWM3ZGM3NTMwNjFjYTE3NDQyNGVhNDVjZjk0OTBiMzljZDVkY2NhNDc3ZDEzOGE2MDNlNmJlNzU1ZWM3MiJ9fX0="
  # Played when a gift is wrapped. Empty for none.
  wrap-sound: "item.bundle.insert"
# The unwrapping animation. Times are in ticks, twenty to a second.
animation:
  # Blocks in front of the player where the gift appears, 1 to 6.
  distance: 2.2
  # Size of the gift. 1 is a normal head.
  present-size: 1.6
  # Size of each item while it floats.
  item-size: 0.7
  # Radius, in blocks, of the ring the items form after the burst.
  ring-radius: 0.9
  # Ticks the gift takes to rise and spin in.
  appear-ticks: 15
  # Ticks the gift shakes before it bursts.
  shake-ticks: 35
  # Ticks the items float in a ring after the burst.
  reveal-ticks: 35
  # Ticks each item takes to fly to the player.
  fly-ticks: 12
  # Ticks between one item leaving the ring and the next.
  fly-stagger: 3
  sounds:
    # Played as the gift appears. Empty for none, here and below.
    appear: "entity.item.pickup"
    # Played every few ticks while the gift shakes, rising in pitch.
    shake: "block.note_block.chime"
    burst: "entity.firework_rocket.blast"
    # Played with the burst, as the items appear.
    reveal: "block.amethyst_block.chime"
    # Played as each item reaches the player.
    collect: "entity.item.pickup"
    # Played when the last item arrives.
    finish: "entity.player.levelup"

Messages

Every line players see, in config/global/gift-wrap/messages.yml. Uses MiniMessage formatting.

Show messages.yml (10 lines)
# Player-facing text for gift-wrap.
# Placeholders in {braces} are filled in by the module.
# A key you delete falls back to its built-in default.

damaged: This gift's contents could not be read. Ask staff to look at it.
opened: <body>You opened a gift from <accent>{from}</accent>!
players-only: Only a player can wrap a gift.
refused: <accent>{count}</accent> stack(s) cannot be wrapped and went back to your
  inventory.
wrapped: <body>Wrapped <accent>{count}</accent> stack(s) into a gift.