Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Configuration file
- ##########################################################################################################
- # Commands
- #--------------------------------------------------------------------------------------------------------#
- # Command documentation:
- # There are a few substitutions available to use in the commands:
- # Basic number substitutions from world data:
- # {DIMENSION}
- # {SPAWN_X}
- # {SPAWN_Y}
- # {SPAWN_Z}.
- #
- # Also {SPAWN_POINT_X} etc. that return the spawn point instead of the possible spawn coordinate (like in the End).
- # Any occurences of those strings will be replaced by the current dimension ID,
- # or the coordinates of the spawn point respectively.
- #
- # Random numbers, integer and double type: {RAND:min,max},
- # for example {RAND:5,15} or {RAND:1.2,3.9} (the max value is exclusive)
- #
- # Real time/clock values:
- # {TIME_Y} => year (4 digits: 2017)
- # {TIME_M} => month (2 digits: 03)
- # {TIME_D} => day (2 digits: 04)
- # {TIME_H} => hour (2 digits: 09)
- # {TIME_I} => minute (2 digits: 05)
- # {TIME_S} => second (2 digits: 07)
- # {TIME_TICK} => current world total time in ticks
- # {TIME_TICK_DAY} => current world/day time in ticks
- #
- # The y-coordinate of the top-most block in the world in the given coordinates
- # (actually the air block above it): {TOP_Y:x,z} for example: {TOP_Y:-37,538}
- #
- # The x y z coordinates of the top-most block in the world in a random location around a given x,z location
- # (again, actually the air block above it): {TOP_Y_RAND:x,z;x-range,z-range}
- # for example: {TOP_Y_RAND:-37,538;32,32} would be the top block at a random location within
- # 32 blocks of x = -37, z = 538. That substitution will be replaced with a string like '-49 72 544' (without the quotes)
- #
- # For the player-specific commands, the following substitutions are available:
- # {PLAYER_X}, {PLAYER_Y}, {PLAYER_Z} and {PLAYER_NAME}
- #
- # Also {PLAYER_BED_X}, {PLAYER_BED_Y} and {PLAYER_BED_Z} for the last set (bed) spawn point.
- # There are also {PLAYER_BED_SPAWN_X}, {PLAYER_BED_SPAWN_Y} and {PLAYER_BED_SPAWN_Z} that also check that the bed exists,
- # or otherwise they will revert to the fallback world spawn point.
- # Note that these will thus load that one chunk to check for the bed.
- #
- # The player-specific commands can be targeted to specific counts (like the 6th respawn for example)
- # or a multiple of a count (similarly to the dim-loading-command prefix)
- # by prefixing the command like so: 'worldprimer-tracked-command-nth <count> <actual command>'
- # For example in the playerRespawnCommands:
- # worldprimer-tracked-command-nth 3 say The player {PLAYER_NAME} has respawned for the third time at {PLAYER_X}, {PLAYER_Y}, {PLAYER_Z}
- # worldprimer-tracked-command-nth %5 say The player {PLAYER_NAME} has respawned for some multiple of 5 times
- #
- # Note that the above only applies to the other player-specific commands, but not the playerChangedDimension commands.
- # For the playerChangedDimension commands, the same format works instead as for the dimension loading commands:
- # worldprimer-dim-command-nth 3 1 say The player {PLAYER_NAME} has entered The End (dimension {DIMENSION}) for the third time
- #
- # The substitutions also support very basic arithmetic operations [+-*/].
- # So you can do for example:
- # fill {SPAWN_X}-2 {SPAWN_Y}+3 {SPAWN_Z}-2 {SPAWN_X}+2 {SPAWN_Y}+7 {SPAWN_Z}+2 minecraft:emerald_block
- #
- # Note however that there is no actual order of operations/priorities/grouping.
- # The commands are parsed/substituted from the left, and if there is an arithmetic
- # operation immediately following the closing curly brace of a substitution, then the value
- # of the following string interpreted as a number is added to the substituted value.
- # That string following the arithmetic operation is first substituted recursively though,
- # which means that the order of operations is actually starting from the right.
- #
- # Both the substitutions and the arithmetic operations following them can be escaped by a preceding backslash '\',
- # if it should actually appear in the command as-is and not be substituted.
- # For example: 'say Foo bar \{SPANW_X}' would become 'say Foo bar {SPANW_X}' in the final command.
- # Or 'say Foo bar {SPAWN_X}\+16' would become 'say Foo bar 34+16', assuming the spawn x-coordinate is 34.
- #
- # Note, that the earlyWorldCreationCommands and the earlyWorldLoadingCommands
- # DO NOT have a world available yet, so the substitutions will NOT happen for those commands.
- # Thus, those commands also can't do anything that would require a world.
- # An example of this is setting the game rules - those are kept in the WorldInfo object,
- # which is stored in the World, so the overworld specifically needs to be loaded for changing any game rules.
- #
- # Additionally, the postWorldCreationCommands and the postWorldLoadingCommands will use
- # the Overworld (or whichever world is dimension 0) for the substitutions.
- #
- # So it's mostly the dimension loading commands that benefit from the {DIMENSION} substitution.
- #
- # Note also, that by default in vanilla/Forge, ALL dimensions use the WorldInfo from the overworld,
- # which means that they will have the exact same spawn coordinates and game rules etc. as the overworld.
- # Some mods may change this so that dimensions can have separate spawn points, game rules etc.
- # One such mod is Just Enough Dimensions.
- ##########################################################################################################
- Commands {
- # Commands to run when a dimension gets loaded.
- # You can target these to only be run when a specific dimension loads
- # by specifying the command as 'worldprimer-dim-command <dimId> <command>'.
- # So for example: 'worldprimer-dim-command 1 say The End has loaded!'.
- # You can also run a command only when a dimension loads for specific number of times:
- # 'worldprimer-dim-command-nth <load count> <dim id> <command>'.
- # This would run the command only when the dimension loads for the 'load count'-th time.
- # The count is incremented before the commands are parsed, so in other words the first load is 1, not 0.
- # You can also run the command every count-th time the dimension loads,
- # by prefixing the count with a '%', so for example:
- # worldprimer-dim-command-nth %5 1 say The End has loaded some multiple of 5 times!
- # An asterisk '*' can be used as the dimension ID to run
- # the command in all dimensions (mostly makes sense for the nth variant).
- S:dimensionLoadingCommands <
- say Dimension {DIMENSION} is loading
- #worldprimer-dim-command 1 say The End has loaded!
- #worldprimer-dim-command 1 worldprimer-load-chunks -1 -1 0 0
- #worldprimer-dim-command 1 fill 10 0 10 -10 7 -10 minecraft:bedrock
- #worldprimer-dim-command 1 fill 9 1 9 -9 6 -9 minecraft:air
- #worldprimer-dim-command 1 say Finished building your room
- #worldprimer-dim-command -1 say The Nether has loaded!
- #worldprimer-dim-command -1 worldprimer-load-chunks 100 100 100 100
- #worldprimer-dim-command -1 fill 1600 130 1600 1615 140 1615 minecraft:diamond_block
- #worldprimer-dim-command-nth 3 1 say The End has loaded for the 3rd time!
- #worldprimer-dim-command-nth %4 1 say The End has loaded a multiple of 4 times!
- #worldprimer-dim-command-nth 4 -1 say The Nether has loaded for the 4th time!
- #worldprimer-dim-command-nth %5 -1 say The Nether has loaded a multiple of 5 times!
- #worldprimer-dim-command-nth 1 6 worldprimer-load-blocks {SPAWN_X}-3 {SPAWN_Z}-3 {SPAWN_X}+3 {SPAWN_Z}+3
- #worldprimer-dim-command-nth 1 6 fill {SPAWN_X}-3 {SPAWN_Y}-1 {SPAWN_Z}-3 {SPAWN_X}+3 {SPAWN_Y}-1 {SPAWN_Z}+3 minecraft:stone variant=smooth_diorite
- #worldprimer-dim-command-nth 1 6 say Test{SPAWN_X} Test\{SPAWN_X} Spawn: {SPAWN_X} \{SPAWN_X} {SPAWN_X}+10 {SPAWN_X}\+10 \{SPAWN_X}+10 {SPAWN_X}-10 {SPAWN_X}\-10 \{SPAWN_X}-10
- #worldprimer-dim-command-nth 1 0 testruin testtree 0 120 0
- #worldprimer-dim-command-nth 1 0 worldprimer-load-chunks -1 -1 0 0
- #worldprimer-dim-command-nth 1 0 say Finished building your ruins!
- worldprimer-dim-command-nth 1 0 say Dim 0 loading
- worldprimer-dim-command-nth 1 0 gamerule spawnRadius 0
- worldprimer-dim-command-nth 1 0 worldprimer place-structure {SPAWN_X}+8 {SPAWN_Y}-2 {SPAWN_Z} concrete_factory none none centered
- >
- # Commands to run on initial world creation, before the spawn chunks have been generated or loaded.
- # If dimension load tracking is enabled, then this happens even before any dimensions have been loaded/initialized yet.
- S:earlyWorldCreationCommands <
- >
- # Commands to run every time the world gets loaded.
- # These are run when the server is starting, before any worlds have been loaded.
- S:earlyWorldLoadingCommands <
- >
- # Commands to run when a player enters a dimension while changing dimensions.
- # Note that these will NOT run when a player joins the game or respawns after dying.
- # You can use the 'worldprimer-dim-command <dimId>' (or the -nth variant) prefix to target entering a specific dimension.
- S:playerChangedDimensionEnterCommands <
- >
- # Commands to run when a player leaves a dimension while changing dimensions.
- # Note that these will NOT run when a player leaves the game/server.
- # You can use the 'worldprimer-dim-command <dimId>' (or the -nth variant) prefix to target leaving a specific dimension.
- # NOTE: These commands will run AFTER the player is already in the new dimension!!
- S:playerChangedDimensionLeaveCommands <
- >
- # Commands to run when a player dies
- S:playerDeathCommands <
- >
- # Commands to run when a player joins (connects to) the server
- S:playerJoinCommands <
- tell {PLAYER_NAME} Test foo bar, dim: {DIMENSION} !
- worldprimer-tracked-command-nth 1 tell {PLAYER_NAME} First login!
- >
- # Commands to run when a player disconnects from the server
- S:playerQuitCommands <
- >
- # Commands to run when a player respawns after dying
- S:playerRespawnCommands <
- >
- # Commands to run on initial world creation, after the spawn chunks have been generated and loaded.
- S:postWorldCreationCommands <
- fill {SPAWN_X}-3 {SPAWN_Y}-1 {SPAWN_Z}-3 {SPAWN_X}+3 {SPAWN_Y}-1 {SPAWN_Z}+3 minecraft:stone variant=smooth_diorite
- say Test{SPAWN_X} Test\{SPAWN_X} Spawn: {SPAWN_X} \{SPAWN_X} {SPAWN_X}+10 {SPAWN_X}\+10 \{SPAWN_X}+10 {SPAWN_X}-10 {SPAWN_X}\-10 \{SPAWN_X}-10
- >
- # Commands to run every time the world gets loaded.
- # These are run when the server has started and the overworld spawn chunks have been loaded.
- S:postWorldLoadingCommands <
- say Post world loading
- #fill 253 68 253 257 72 257 minecraft:iron_block
- #fill {SPAWNX}-20 {SPAWNY}+8 {SPAWNZ}-20 {SPAWNX}-16 {SPAWNY}+12 {SPAWNZ}-16 minecraft:gold_block
- #fill {SPAWNX} {SPAWNY}+20 {SPAWNZ} {SPAWNX} {SPAWNY}+24 {SPAWNZ} minecraft:diamond_block
- #fill {SPAWNX}-2 {SPAWNY}+3 {SPAWNZ}-2 {SPAWNX}+2 {SPAWNY}+17 {SPAWNZ}+2 minecraft:emerald_block
- >
- # Commands to run based on the world time.
- # Must be in the format: 'worldprimer-timed-command <time> <dimension> <command>',
- # where <time> is the total world time in ticks when the command should run.
- # The time can be prefixed with a '%' to make it run periodically, with that interval (basically a modulo).
- # With the periodic time, you can also use offsets, like so:
- # worldprimer-timed-command %1200-80 0 say Something happens in 4 seconds!
- # worldprimer-timed-command %1200 0 say Something happens now!
- # worldprimer-timed-command %1200+80 0 Say something happened 4 seconds ago!
- S:timedCommands <
- worldprimer-timed-command 1 0 say Timed ruin commands start
- worldprimer-timed-command 1 0 worldprimer-load-chunks -1 -1 0 0
- worldprimer-timed-command 1 0 testruin testtree 0 120 0
- worldprimer-timed-command 1 0 say Timed ruin commands end
- >
- }
- Generic {
- # The default command sender name used when executing the commands.
- # The name can be overridden per-command by using the prefix 'worldprimer-command-sender "<name>"'.
- # Note: The quotes are required if the desired name contains spaces!
- # This prefix must come AFTER any possible tracked or dim command
- # prefixes, ie. just before the actual command.
- # Example command: worldprimer-dim-command-nth 1 123 worldprimer-command-sender "Tooth Fairy" say Test Foo Bar Baz in dimension {DIMENSION}
- S:commandSenderName=WorldPrimer
- # Enables saving any Chisels & Bits blocks in the cross-world compatible format
- # in the 'create-structure' command when using the Schematic format
- B:enableChiselsAndBitsCrossWorldFormat=true
- # Enables tracking of dimension load counts, player join counts etc. by storing the counts in a file in worlddir/worldprimer/data_tracker.nbt
- B:enableDataTracking=true
- # Enables verbose logging for debug purposes
- B:enableDebugLogging=true
- }
- Toggles {
- # Enables the dimension loading commands
- B:enableDimensionLoadingCommands=false
- # Enables early world creation commands, which are executed before any dimensions
- # have been loaded and thus before any chunks have been generated or loaded.
- B:enableEarlyWorldCreationCommands=false
- # Enables early world loading commands, which are executed once at each server start,
- # before the overworld spawn chunks have been loaded.
- B:enableEarlyWorldLoadingCommands=false
- # Enables running the playerChangedDimensionEnterCommands
- B:enablePlayerChangedDimensionEnterCommands=false
- # Enables running the playerChangedDimensionLeaveCommands
- B:enablePlayerChangedDimensionLeaveCommands=false
- # Enables running the playerDeathCommands
- B:enablePlayerDeathCommands=false
- # Enables player join commands
- B:enablePlayerJoinCommands=true
- # Enables running the playerQuitCommands
- B:enablePlayerQuitCommands=false
- # Enables running the playerRespawnCommands
- B:enablePlayerRespawnCommands=false
- # Enables late world creation commands, which are executed after the overworld spawn chunks have been generated
- B:enablePostWorldCreationCommands=false
- # Enables late world loading commands, which are executed once at each server start,
- # after the overworld spawn chunks have been loaded.
- B:enablePostWorldLoadingCommands=false
- # Enables running commands tied to the world time
- B:enableTimedCommands=false
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement