DUXPLIMA Documentation

Day files

Every key of a day file, the lines a reward is written in, the values they can use, and the shipped 28 days.

Every day is a file in days/, named after its number: days/7.conf is day 7.

icon {
  material   = "DIAMOND"
  model-data = 0
  glow       = true
}

reward = [
  "[console] give %player% diamond 2",
  "[give-money] exp 110"
]

ranks {
  vip { reward = [ "[console] give %player% diamond 4", "[give-money] exp 220" ] }
  mvp { reward = [ "[console] give %player% diamond 6", "[give-money] exp 330" ] }
}

The keys

KeyDefaultWhat it does
icon.material"CHEST"The day's own icon. The shipped window draws a day by its state instead; see Calendar window
icon.model-data0A resource pack model for the day's tile; 0 for none
icon.glowfalseThe day's tile shines, whatever its state
reward[]What everybody gets, as action lines
ranks.<rank>.rewardWhat that rank gets instead of reward. See Ranks

The name and the description of a day are not in the file: they are lines of the messages files, so they can be translated. See Messages.

Writing a line

A line is [verb] payload, the same lines every UXM plugin runs.

VerbPayloadDoes
[console]<command>Runs a command as the server, without the slash
[player]<command>Runs a command as the player
[give-money]<economy> <amount>Pays into an economy: exp, levels, vault, vault-unlocked, playerpoints, ecobits:<currency>, treasury. See Economies
[take-money]<economy> <amount>Takes from one
[message]<text>Sends the text to the player
[broadcast]<text>Sends the text to everybody; an @ line is read by each in their own language
[actionbar]<text>Shows the text over the hotbar
[title]<text>Shows the text across the middle of the screen
[subtitle]<title> | <subtitle> [in stay out]A title with a line under it. The times are seconds, 0.5 3.5 1 when left out
[bossbar]<seconds> [colour] [overlay] [drain] | <text>A bar across the top of the screen for that long
[sound]<key> [volume] [pitch]Plays a sound to the player
[effect]<effect> <seconds> [level] [hidden]Gives a potion effect
[particle]<name> [count] [spread] [data]Particles where the player stands; data is a colour #ff0000, a block or an item
[take-item]<item> [amount]Takes items from the player's inventory
[close]Closes the window the player has open

Text that starts with @ names a line of the messages files, read in the player's language with <day> and <streak> filled in. Any other text is MiniMessage with the theme roles.

A brace block after the verb says when a line runs: {delay=20} in ticks, {repeat=3, every=10}, {chance=0.1}, or {if=<left> <operator> <right>} with ==, !=, >=, <=, >, < or ?=, where a side may be a PlaceholderAPI placeholder or %mcmmo_level_<skill>%.

Values

TokenBecomes
%player%The player's name; %player_name%, <player> and {player} work too
%day%The day claimed
%streak%The streak after this claim

They are filled in before the line runs, in every verb. For a player whose name is not a plain account name (letters, digits and _, up to 16, with one leading mark such as a Bedrock .), the lines that name the player are skipped with a warning, so a command never runs against the wrong account.

The older form

A day written for an earlier release, with lines such as console: give %player% bread 8 or money: exp 50, still works: console:, player:, message:, money: <economy> <amount>, sound: <key> [volume] [pitch], title: <title> | <subtitle> | <in> | <stay> | <out> (spans such as 500ms or 3s) and particle: <name> [count] [spread] [data] are read as the lines above. A money: amount may not be negative.

When a line is wrong

A line the plugin cannot read is left out and named in the console with its file, at start and on reload; the rest of the day still pays. A line naming an economy the server does not run is reported once at start and pays nothing. A line that fails while it runs is logged, and the lines after it still run.

The shipped days

Every shipped day gives an item with a give command and experience points; vip gets twice and mvp three times the everyday reward. Days 7, 14, 21 and 28 glow.

DayIconEverybodyvipmvp
1BREAD8 bread, 50 exp16, 100 exp24, 150 exp
2IRON_INGOT4 iron_ingot, 60 exp8, 120 exp12, 180 exp
3COAL16 coal, 70 exp32, 140 exp48, 210 exp
4COOKED_BEEF8 cooked_beef, 80 exp16, 160 exp24, 240 exp
5IRON_INGOT8 iron_ingot, 90 exp16, 180 exp24, 270 exp
6GOLD_INGOT4 gold_ingot, 100 exp8, 200 exp12, 300 exp
7DIAMOND, glowing2 diamond, 110 exp4, 220 exp6, 330 exp
8IRON_INGOT6 iron_ingot, 120 exp12, 240 exp18, 360 exp
9COAL18 coal, 130 exp36, 260 exp54, 390 exp
10COOKED_BEEF10 cooked_beef, 140 exp20, 280 exp30, 420 exp
11IRON_INGOT10 iron_ingot, 150 exp20, 300 exp30, 450 exp
12GOLD_INGOT6 gold_ingot, 160 exp12, 320 exp18, 480 exp
13BREAD10 bread, 170 exp20, 340 exp30, 510 exp
14EMERALD, glowing8 emerald, 180 exp16, 360 exp24, 540 exp
15COAL20 coal, 190 exp40, 380 exp60, 570 exp
16COOKED_BEEF12 cooked_beef, 200 exp24, 400 exp36, 600 exp
17IRON_INGOT12 iron_ingot, 210 exp24, 420 exp36, 630 exp
18GOLD_INGOT8 gold_ingot, 220 exp16, 440 exp24, 660 exp
19BREAD12 bread, 230 exp24, 460 exp36, 690 exp
20IRON_INGOT8 iron_ingot, 240 exp16, 480 exp24, 720 exp
21NETHERITE_SCRAP, glowing2 netherite_scrap, 250 exp4, 500 exp6, 750 exp
22COOKED_BEEF14 cooked_beef, 260 exp28, 520 exp42, 780 exp
23IRON_INGOT14 iron_ingot, 270 exp28, 540 exp42, 810 exp
24GOLD_INGOT10 gold_ingot, 280 exp20, 560 exp30, 840 exp
25BREAD14 bread, 290 exp28, 580 exp42, 870 exp
26IRON_INGOT10 iron_ingot, 300 exp20, 600 exp30, 900 exp
27COAL22 coal, 310 exp44, 620 exp66, 930 exp
28NETHERITE_INGOT, glowing1 netherite_ingot, 320 exp2, 640 exp3, 960 exp

Related: Ranks, The calendar, Calendar window