Skip to content
Florian Frauenfelder edited this page Mar 18, 2022 · 14 revisions

Usage details

On this wiki page, you will find detailed information on how to use the plugin correctly.

Table of Contents

Commands

This plugin contains multiple commands. They can be entered like any other vanilla Minecraft command and then trigger different actions.

In this section, the use of each of the commands is explained in detail.

The mentioned aliases can be used instead of the full command name while entering a command to save time.

Syntax explanations

The following symbols are used in the syntax details:

  • (...): Simple grouping
  • ... | ...: Alternation; use left or right side
  • [...]: Optional; use once or not at all
  • <...>: Placeholder; do not use text literally

If not marked or mentioned otherwise, all text in the syntax details is to be used literally.

Freely after EBNF.

position

The command position is used for saving, viewing and deleting positions that every player on the server can access and edit freely.

The alias for this command is pos.

The syntax for this command is: /position <name> | list | clear | (tp | del <name>).

  • <name> stands for the name of a saved or new position. Every connected String of upper- and lowercase letters, digits and underscores is allowed as a position name. To save a new position at your current location or see the coordinates of a saved position, simply enter the name of the position as the only argument. If a position name is used in combination with another argument, it must be the name of a saved position.
  • list shows a list of all saved positions.
  • clear deletes all saved positions irrevocably.
  • tp teleports the player to the position given as 2nd argument if they have server OP rank.
  • del deletes the position given as 2nd argument.

personalposition

The command personalposition is used for the same purpose and in the exact same way as the command position, with one change: All saved personal positions are only visible for the player who saved them.

The alias for this command is ppos.

The syntax for this command is (the same as for the command position): /personalposition <name> | list | clear | (tp | del <name>). Details on the syntax are available here.

makeAccessibleGlobally

If the setting makeAccessibleGlobally is set to true, the player's personal position is accessible by every other player and the console. To see another player's personal position, type /personalposition <playername> <positionname>, where <playername> is the name of the player the personal position belongs to and <positionname> is the name of the personal position.

This particular usage of the command does not have tab completion. This is to ensure that players can only access other players personal positions if they know the exact name.

sendposition

The command sendposition is used for sending your current location to other players.

The alias for this command is spos.

The syntax for this command is: /sendposition [<playername>], where <playername> is the name of any other online player.

If the command is used without an argument, your current location is sent to all online players (and the console). To send your current location only to one specific player, enter the name of this player as the first and only argument.

timer

The command timer is used for controlling the timer. This timer is displayed as a bossbar at the top of your screen.

The alias for this command is tmr.

The syntax for this command is: /timer visible | running | reverse | reset | (set | add [[[<d>] <h>] <min>] <s>).

  • visible toggles the per-player visibility of the timer. If the timer is not visible for a player, this player cannot control the timer (e.g. use any other command than /timer visible), except the player has server OP rank.
  • running toggles the timers running state. While the timer is running, the time displayed in the bossbar is counting. While the timer is paused (and the respective settings are set to true), the players cannot interact with the world nor move through it.
  • reverse toggles the reverse state of the timer. If the timer is running in reverse mode (counting backwards) and reaches 0, it stops (except the respective setting is set to true).
  • reset sets the time to 0 and pauses the timer.
  • set and add respectively set and add the time given as following arguments. The time to be set/added can be expressed in seconds alone, in minutes and seconds, in hours, minutes and seconds or in days, hours, minutes and seconds. Depending on how many additional arguments you pass (from one up to four), these are interpreted differently.

personaltimer

The command personaltimer ist used for the same purpose and in the exact same way as the command position, with one change: Each player's personal time is only visible for the player itself, except when they permit another player to see their timer.

The alias for this command is ptmr.

The syntax for this command is (the same as for the command timer, except for the additionally possible argument <playername>): /personaltimer (invite | join | leave | remove <playername>) | visible | running | reverse | reset | (set | add [[[<d>] <h>] <min>] <s>). Details on the remaining syntax are available here.

  • invite | join <playername> either permits another player to see ones own personal timer or attempts to join another player's personal timer (the latter is only possible if the respective setting joinable is set to true).
  • leave | remove <playername> either leaves another player's personal timer or removes another player from the own personal timer.

reset

The command reset is used for resetting the whole world. When the command is entered, a countdown of 10 seconds starts at the end of which all players are kicked from the server and all world files are deleted (at the next server startup). If the respective setting is set, the plugin tries to restart the server instantly.

The syntax for this command is: /reset [confirm].

If the respective setting is set, confirm is needed as the first and only argument for the command to work.

settings

The command settings is used for setting options to control the plugin's behavior.

The alias for this command is stg.

The syntax for this command is: /settings <commandname> <setting> true | false.

  • <commandname> stands for one of the plugin's commands whose settings should be changed.
  • <setting> stands for one of the command's settings.
  • true and false are the two options for each setting. It is also possible to set the settings to null (no tab completion) to remove them. Warning: This may break the plugin and is not advised for inexperienced users.

Options

This is a complete list of all the possible options that can be set via the command settings. The default values are set when loading the plugin for the first time or for new settings after an update. All the descriptions are taken and lightly modified from the Javadoc that can be found here.

List of all options
  • position
    • saveAuthor: Saves the author of a position on creation (default: false)
  • personalposition
    • makeAccessibleGlobally: Makes the player's personal positions accessible for everyone else (without tab completion) (default: false)
  • timer
    • addPlayerOnJoin: Add a player to the timer automatically when joining (makes the timer visible for the player, default: true)
    • startOnPlayerJoinIfWasRunninng: Start the timer automatically when the first player joins if the timer was running when the last player left the last time (default: false)
    • progressMinute: Timer progress bar displays the progress of the current minute instead of hour (default: false)
    • allowBelowZero: Allows the timer to go below zero into negative values (default: false)
    • disableInteractionsOnPause: Disables player interactions when timer is paused (default: true)
    • disableMovementOnPause: Disables player movement when timer is paused (default: false)
    • pauseOnDragonDeath: Timer pauses when the ender dragon is defeated (default: true)
  • personaltimer:
    • visibleOnJoin: Shows the personal timer automatically when the player joins the world (default: false)
    • startOnPlayerJoinIfWasRunning: Starts the timer automatically when the player joins the world (default: false)
    • progressMinute: Timer progress bar displays the progress of the current minute instead of hour (default: false)
    • allowBelowZero: Allows the timer to go below zero into negative values (default: false)
    • pauseOnDragonDeath: Timer pauses when the ender dragon is defeated (default: true)
    • joinable: Makes the personal timer joinable for other players (default: false)
  • reset
    • needOp: Player needs server OP rank to reset the server (default: true)
    • needConfirm: Reset command needs confirm as first and only argument to start resetting world (default: true)
    • deletePositions: Deletes all positions on server reset (default: true)
    • resetSettings: Resets settings to default values on server reset (default: false)
    • restartAfterReset: Restarts the server after the reset command has been entered (default: true)
  • settings
    • needOp: Player needs server OP rank to change settings (default: true)

Listeners and Event Handlers

The plugin also contains so-called listeners. These listen to specific events and pass them to so-called event handlers that decide if and what should happen with the triggered event (the events are handled).

In this section, all the listeners and event handlers are explained in detail.

On Player Join

When a player joins, a small welcome message is sent to this player, the default settings are set if needed, and the player's personal timer is initiated. If the respective settings are set to true, the player is also added to the global timer and the latter is started.

On Player Death

When a player dies, a message containing the coordinates of death is sent to the player.

On Ender Dragon Death

When the ender dragon is defeated, a message is sent to the player that killed the dragon and another message to all players that they won the game. If the respective setting is set to true, the timer is paused.

When Timer Is Paused

If the timer is not running and the respective setting is set to true, all interactions between player and world that can be cancelled are cancelled. Example: blocks cannot be set and destroyed when the timer is paused.

All events that are cancelled in alphabetical order:
  • AreaEffectCloudApplyEvent
  • EnchantItemEvent
  • EntityAirChangeEvent
  • EntityDamageByEntityEvent
  • EntityDamageEvent
  • EntityExhaustionEvent
  • EntityPickupItemEvent
  • EntityPotionEffectEvent
  • EntityRegainHealthEvent
  • EntityShootBowEvent
  • EntityTameEvent
  • EntityToggleGlideEvent
  • HangingBreakByEntityEvent
  • InventoryClickEvent
  • InventoryDragEvent
  • ItemDespawnEvent
  • PlayerBucketEmptyEvent
  • PlayerBucketFillEvent
  • PlayerDropItemEvent
  • PlayerEditBookEvent
  • PlayerFishEvent
  • PlayerInteractEntityEvent
  • PlayerInteractEvent
  • PlayerItemConsumeEvent
  • PlayerItemDamageEvent
  • PlayerItemMendEvent
  • PlayerPortalEvent
  • PlayerSwapHandItemsEvent
  • PlayerTakeLecternBookEvent
  • ProjectileHitEvent
  • ProjectileLaunchEvent
  • RaidTriggerEvent
  • VehicleDamageEvent
  • VehicleExitEvent

If the timer is not running and the respective setting is set to true, all movements of all players are cancelled (camera movements included). Warning: movements are cancelled with a small delay, which results in heavy flickering.