Difference between revisions of "Updates"

m (10.4.2)
Line 7: Line 7:
== 10.4 - Scripts 2.1 ==
== 10.4 - Scripts 2.1 ==
=== 10.4.2 (2020/01/10) ===
==== Bugfixes ====
: Fixed 100% not being attainable, due to aliased maps counting twice to total points.
=== 10.4.1 (2020/01/06) ===
=== 10.4.1 (2020/01/06) ===
==== Bugfixes ====
==== Bugfixes ====
Line 88: Line 92:
: Fixed c_dric's bug, where setting a field would spawn multiple script runners (causing delays to be skipped).
: Fixed c_dric's bug, where setting a field would spawn multiple script runners (causing delays to be skipped).
: Fixed tab-completion of namespaces only showing namespaces that begin with lowercase letters.
: Fixed tab-completion of namespaces only showing namespaces that begin with lowercase letters.
== 10.3 - Cosmetics Part 2 ==
== 10.3 - Cosmetics Part 2 ==

Revision as of 20:40, 10 January 2020

A log of changes since the 10.0.0 Minr Scripts 2 + 1.13 update.



Command update (10.?) Large internal overhaul (10.?) Scripts 2.1 (10.?)

10.4 - Scripts 2.1

10.4.2 (2020/01/10)


Fixed 100% not being attainable, due to aliased maps counting twice to total points.

10.4.1 (2020/01/06)


Fixed default values of relative variables not being loaded (and therefore being lost after a restart).

10.4.0 (2019/12/20) - Scripts 2.1


Added lists types.
They are automatically created for every non-list type.
Lists are defined using X[], where X[] is a list of type X (e.g. Int[]).
Lists can be initialised with X[a, b, ..., z]. (Where a, b, ..., z are zero, one, or more instances of X)
Values can be retrieved using X[index]; to set a value simply assign to this (e.g. X[0] = 1).
List indicies are zero-based.
To append to a list, simply assign a value to an index one greater than the last item in the list.
e.g., if @define Int[] x = Int[1, 2, 3], append to x with @var x[x.length()] = 4.
Accessing an out of bound index will yield an IndexOutOfBoundsException (which will terminate the script).
Lists have the following methods:
List.length(), which reports the number of items in the list.
List.remove(Int index), which removes the item at the specified index from the list.
List.clear(), which removes all items from the list.
List.reverse(), which reveres the order of the items in the list.
List.shuffle(), which will randomise the order of the items in the list.

List Namespace
A range() function was added to a new list namespace as a convenience.
Int[] range(Int start, Int end) will generate a list of numbers from start (inclusive) to end (exclusive).
This allows you to iterate through every index in a list with @for Int i in range(0, list.length())

Added for-in loops, to iterate over any iterable.
Lists are the only iterable at this time.
Loops are defined with @for X item in X[], and terminated with @done
This example loop will print 1, 2, 3, 4 and 5 to the player (on separate lines).
@for Int i in Int[1, 2, 3, 4, 5]
@player {{i}}
To loop through a range of numbers (like for (int i = 0; i < 10; i++)), use list::range().
@for Int i in range(0, 10)

Relative Variables
It is now possible to retrieve the value of a relative variable for specific players.
Simply use relativeVar[Player]. (Where Player is an instance of a Player type: e.g., Player("rickyboy320"))
Note that as this requires a Player instance, UUIDs will be required for retrieving values when players are offline. (Will fail otherwise)
Like lists, assigning to relativeVar[Player] will set their value.

Whitespace will now be preserved when importing from Hastebin, and will be exported as well.

Script Creation
When creating a script, the co-ordinates of the script will be displayed. If you accidentally misplace a script this will allow you to easily remove the script.

Math Namespace
Added Int floor(Double x) and Int ceil(Double x), which floor and ceiling a number respectively.

Player Type
Added sendMessage(String message) to send a raw message directly to a player.


Added /challenge join <challenge> <player> and /challenge finish <challenge> <player> for administrators.
Fixed /checkpoint removealltimes not working on maps.


/discord verify now correctly instructs the player to post their verification code in #verify_here, instead of #general_discussion.

Server Configuration

Updated to 1.15.1 (Paper #15)


Fixed c_dric's bug, where setting a field would spawn multiple script runners (causing delays to be skipped).
Fixed tab-completion of namespaces only showing namespaces that begin with lowercase letters.

10.3 - Cosmetics Part 2

10.3.6 (2019/10/30)


Fixed a player's map timer being saved as invalid if their challenge timer was invalid.

10.3.5 (2019/09/01)


Updated checkpoints to Hardcore 9.0.
Old checkpoints will automatically be converted.


Display names of items are now accessible.
Use Boolean Item.hasDisplayName() and String Item.getDisplayName().


Self-targetting /rocket is now restricted to mods and ops due to abuse.
Using /rocket as a non-operator no longer invalidates runs.

10.3.4 (2019/08/23)

Team Chat

Added /teamchat (aliases are /teammsg, /tchat, /tm and /t).
Overrides the vanilla command for better Minr-specific support.
/teamchat <message> will send a message to everyone on your team.
Players must be on a team that isn't a rank team to send or receive a message.
Alternatively, one can subscribe to a team channel for a team they aren't on.
Subscribers can send and receive messages in any channel they are subscribed to, regardless of the team.
The syntax is: /teamchat <team> <message>.
Subscribers are not preserved between restarts.
Subscribers can be added with /teamchat subscribe <team> <player>.
Subscribers can be removed with /teamchat unsubscribe <team> <player>.
Subscribers can be listed with /teamchat subscribe <team>.


Hats now support player heads with custom skins.
Cosmetic GUI items now also support player heads with skins.

10.3.3 (2019/07/22)


Addition of the /spectator command for Moderators.
Player names in many places (notably in the in-game player list and nameplates above other players) are now coloured by the player's rank.
The in-game player list is now sorted by rank.

Server Configuration

Updated to 1.14.4 (Paper #137)


Command Block Minecarts no longer break when trying to execute Minr commands.

10.3.2 (2019/06/21)


Added announcements and special effects when obtaining 10%, 25%, 50%, 75% and 100% of all points.


Updated HC checkpoint converter to HC 8.1.
HC checkpoint converter is now more verbose and informs the player of the change.


Added expiration feedback to the call request.


Added support for coloured player and objective names in the MSC Scoreboard API.

Server Configuration

All schematics have been converted to the 1.13 schematic format (.schem), which should fix irregularities in blocks and crashes (such as in Inaros).
Updated to Paper 1.13.2 #632


Fixed issue with the command '/prefix reset' not taking arguments as intended.
Fixed command usage of the /type constructor define command: removed <returnType>.
Fixed 'This person has not requested a teleport to you within the last 5 minutes' message in /call: it now reflects the actual 1 minute expiration time.
Fixed adding of maps to a Challenge failing, but the message saying it succeeded: added more checks on the command to inform of failure.
Fixed removal of empty namespaces displaying a failing message, while the action succeeded.
Fixed attempts of removing a built-in namespace throwing a console exception.

10.3.1 (2019/05/24)


Players can no longer see their own titles on occasion, which prevented interaction with the environment.

10.3.0 (2019/05/18)

Particle Trails

Adjusted the vertical offset for particle spawns (0.8 -> 1.2).
Adjusted the vertical offset for particle spawns when swimming or gliding (0 -> 0.2).
The period for particle spawns can now be customised.
Particle trails now have rarities.
Fixed particle trails now being applied on join.


Added hats, cause why not?
Hats are cosmetic items, where various blocks appear on the player's head.
They can be deactivated easily by clicking on them while inside the inventory screen.


Prefixes are now time-based. They will be automatically removed are the period expires.
Removing prefixes has been simplified significantly (no longer requires magic word).
Commands are now: /prefix set <player>

Cosmetics GUI

Expanded the GUI to 27 slots.
Rearranged item positions slightly.
The item icons can now be customised.
Items now have a coloured name derived from their rarity.
Item lore has been significantly reformatted, and now displays requirements, rarity and multi-line descriptions.
Items can now be properly unobtainable.
Items are now sorted, first by rarity then alphabetically.
Items are now enchanted in the shop when active.


Split rarities from Titles, so they can now be used by anything.
Swapped the colours of UNCOMMON and HEROIC.
Rarity names are now displayed in game.


Cosmetic commands now have unified syntax, and are now ops-only.
They also all now support targetting other players, and all have "current" subcommands.
Additionally, cosmetic names within said commands are now displayed in colour.
Cosmetics can now be reloaded without a server restart, though this is not guaranteed to be safe.
Going to /spawn now resets you like entering a map does (triggering scripts when this happens in the future?).

10.2 - Cosmetics Update and Valentine Event

10.2.3 (2019/04/20)


Fixed issue with loading Player variables from disk.
Fixed issue where an area script would crash the server on load when the region was deleted.
Fixed issue where User Types would break when default values were not set.

10.2.2 (2019/03/21)

Scoreboard Namespace

Added a new built-in namespace for manipulating scoreboards.
You can add or remove objectives and scores, and set the display slots of objectives.
Unlike using vanilla commands, there is no one-tick delay when using these functions.

Global Points

Updated global points to be somewhat more representative of top times.
Renewed formula is:
. Everyone's score for this map is then rescaled according to the amount of completions:

Everyone can now use /checkpoint gpoints <player> <map>.


Removed references to Valentines event.


Added /adventure as a counterpart to /survival.


Fixed an error when deverifying a deleted Discord account.
Fixed an issue where tabbing did not work for /checkpoint gpoints.
Mapnames can now be used for /checkpoint gpoints

10.2.1 (2019/02/15)


Valentine Leaderboard is now sorted by each couple's love points total.
Valentine Leaderboard now no longer opens the Challenge Leaderboard when pressing next page.

10.2.0 (2019/02/14)


Soul Link
New challenge modifier: Soul Link.
Soul Link challenges require two linked people to join.
Use /marry <player> to link yourself with another player.
If one player dies, the linked player will also die.
Soul Link challenges reward Love Points as well as Challenge Points.
Use /divorce do decouple yourself from another player.
Soul Link is fully compatible with other challenge modifiers.


Particle Trails.
Added particle trails. When you move, a trail of particles will be left behind you.
Added "Love Trail" particle trail, which requires 300 Love Points.
Added "Completionist" particle trail, which requires 100% of all points obtained.
Cosmetics GUI
Added new GUI for managing cosmetics, openable with /cosmetics (alias: /shop).
The ability to buy cosmetics will be added later.


A special Valentines event is running from Febuary 14th to March 14th, centred around Soul Link challenges. The top five couples with the most Love Points at the end of the event will unlock an exclusive title. Gain 300 Love Points to unlock the "Love Trail" particle trail.


Alias: /shop
Opens the Cosmetic GUI.

Alias: /trails
Operators Only:
/trail give <player> <trail> gives a player a particle trail.
/trail take <player> <trail> takes a particle trail from a player.

The following commands were also added for everyone, but may be removed at a later date.
/trail set <trail> enables a particle trail.
/trail list shows all your particle trails.
/trail clear disables your currently active particle trail.

/titles list was changed to be similar to /trail list.

/valentine ranks shows the current event leaderboard.
/valentine completed <player> shows the current event leaderboard.

Soul Link
/marry <player> to link with another player.
/divorce to unlink with your linked player.

/hide <player> hides a player from you.
If a player relogs they will become visible again.


Titles no longer persist after logout in a vehicle.

Titles have more debug measures such that it is easier to track the cause of persisting titles.

Fix valid Scripts throwing OutdatedException when slay (and others) is used as a parameter in @bypass​.

10.1 - Difficulty Rework

10.1.5 (2019/01/08)


Fixed repeating challenges subtracting challenge points.

10.1.4 (2019/01/08)


Fixed repeating challenges having an extreme reward.

10.1.3 (2019/01/07)


Fixed recent invalid times overwriting valid times.

Fixed leaderboards not updating on removal of completions.

10.1.2 (2019/01/04)


Fixed force joining challenges skipping requirements check.

Invalid but legitimate times on maps are now saved.

Fixed /whois showing the executor's points instead of the target's.

10.1.1 (2019/01/02)


A breakdown of where challenge points have been otained is now shown in /c points.


Fixed an error when regenerating a challenge before the leaderboard is setup.

10.1.0 (2018/12/31)

Difficulty Brackets

Added new difficulty brackets, white and black. Rebalanced the number of points awarded by each bracket. Renamed some of the brackets.

The difficulty spectrum is now as follows:

  • White, "Very Easy" - awards 1 point
  • Blue, "Easy" - awards 2 point
  • Green, "Novice" - awards 4 point
  • Yellow, "Moderate" - awards 7 point
  • Orange, "Hard" - awards 12 point
  • Red, "Very Hard" - awards 18 point
  • Black, "Very Expert" - awards 25 point

Completions of black maps are now announced in chat like red maps. FFA Points have now been renamed to Points.


Whities are now automatically promoted to Blue once they meet the Hardcore point threshold, before entering Hardcore.

Entry to Hardcore now requires 35 points plus completion of the FAQ Quiz.

Completions of individual Hardcore maps are now announced.


Local variables have been reworked internally. Chat scripts should behave properly now as a result.

Improved error messages when an exception occurs while importing a script.

If an exception occurs when adding or importing a script, the script will not be modified.


Fixed issues when redefining or removing regions with scripts bound to them.

Methods now work on fields.

/type constructors and /type methods can now be used on built-in types.

10.0 - Minr Scripts 2 (and Minecraft 1.13)


Prior to 10.0.0

Please consult the announcements forum. https://forums.minr.org/forums/news-announcements.18/