WARNING:
If you are using a version before
v1.5.9
, you should read the changelog ofv1.5.9
.
The version number of fuji follows
semver
now: https://semver.org/
Welcome our new contributors:
- @notlin4
- @Kaysil
- feature: add
/send-custom
command, which sends thecustom text
to a player, with pagination feature. (echo.send_custom module)- send custom text as a
book
:/send-custom as-book <player> guide --author "alice" --title "<rb>The Guice" --giveBook true --openBook true
- send custom text as a
message
:/send-custom as-message <player> guide
- send custom text as a
- docs: add many examples into the docs.
- fix: add the null-check to avoid other mods trigger the CommandNode#getRequiremnt too early.
WARNING:
If you are using a version before
v1.5.9
, you should read the changelog ofv1.5.9
.
The version number of fuji follows
semver
now: https://semver.org/
Welcome our new contributors:
- @notlin4
- @Kaysil
- feature: add
named cooldown
feature forcommand cooldown module
, now supports to createnamed cooldown
to associate cooldown with commands.- create a named cooldown:
/command-cooldown create example 3000
- test a named cooldown:
/command-cooldown test example <player> --onFailed "say false %fuji:command_cooldown_left_time 1%/%fuji:command_cooldown_left_usage 1%" say true
- create a named cooldown:
- feature: improve the kit giving logic:
- first: try to insert item in specified slot.
- second: try to insert item in any slot.
- third: drop the item in the ground with the player as its thrower.
- feature: allow to use the
delimiter |
to separatecommand string
intocommand list
. (command_meta module) - feature: unify the style of error messages for all registered fuji placeholders.
- build: now this project will follow the
semver
specification: https://semver.org/
WARNING:
If you are using a version before
v1.5.9
, you should read the changelog ofv1.5.9
.
- feature: better command feedback for
meta cmmands
, now the command feedback will be passed down, not only sends the error to the command executor, but also sends the error to the command initiator. (command_meta module and its submodules)- e.g.:
/run as console bad command
- e.g.:
- feature: now the command
/chain
will copy and passthe command source
to the next chain. (in the past,the first level of chain
is theinitiating command source
, andthe deeper levels
are always executed asthe console
.)- e.g.
run as player <player> chain test-level-perm %player:name% 4 chain say value is true)
- e.g.
- feature: add
/send-bossbar
command. (echo.send_bossbar module)- send a bossbar with attached commands to players.
- all in one example:
/send-bossbar <player> --stepType BACKWARD --totalMs 5000 --color PURPLE --style NOTCHED_6 --notifyMeOnComplete true --commandList "say the player %player:name% is healed|heal %player:name%" <rb>Healing is coming [elapsed_time]/[total_time]/[left_time]
- feature: add
interruptile
option, now you can configure theinterrupt disance
,interrupt on damage
andinterrupt in combat
per command and usingregex
to match them from up to downin order
. (command_warmup module)- You will need to re-configure the
config/fuji/modules/command_warmup/config.json
file.
- You will need to re-configure the
- feature: add
/fuji inspect
command, to inspect inner states of the server. (fuji module)- add
/fuji inspect server-commands
: inspect all registered commands in the server. - add
/fuji inspect fuji-commands
: inspect all commands registered byfuji
mod. - add
/fuji inspect modules
: inspect enabled/disabled modules of fuji.
- add
- feature: add optional target player argument for
/heal
andfeed
, (command_toolbox.heal
andcommand_toolbox.feed
module) - feature: update the
fabric loader
version fromv0.15.11
tov0.16.5
- feature: now will keep silent on adding missing language keys for language files, to avoid console spam.
- feature: simplify the placeholder module. (placeholder module)
- add
/placeholder list
: a gui to list all registered placeholders in server. - add
/placeholder parse
: to parse a given string with a given player.
- add
- feature: add
predicate module
, which provides commands to test conditions.- add
/test-level-perm
command - add
/test-string-perm
command
- add
- feature: enhance the
date parser
to support complex period, e.g.1s2m3h4d5w6M7y
. (temp-ban module) - refactor: rename
/helpop
into/help-op
. (command_toolbox.help_op module) - refactor: rename
/fuji list-commands
into/fuji inspect server-commands
. (fuji module) - fix: the
%fuji:inv%
,%fuji:item%
and%fuji:ender%
can't be resolved if the contextual player is null - fix: remove the unusable
type string
:ctx
,command-source
andsource
. (command_bundle module)
WARNING:
If you are using a version before
v1.5.9
, you should read the changelog ofv1.5.9
.
- feature: add
/tppos --targetPlayer <player>
optional argument. (tppos module) - feature: add
%fuji:protect%
placeholder. - fix: failed to reload data packs on command
/reload
.
WARNING:
If you are using a version before
v1.5.9
, you should read the changelog ofv1.5.9
.
- feature: a detailed exception feedback for
/run as console
,/run as player
and/run as fake-player
- also read the changelog of
v1.6.5
WARNING:
If you are using a version before
v1.5.9
, you should read the changelog ofv1.5.9
.
- feature: add
command bundle
module. (command-bundle module)- a user-friendly DSL to create new custom commands easily, with the interoperation of
variables
,placeholders
andselectors
. - support complex
command argument type
:required argument
,literal argument
and even theoptional argument
with a default value. - a powerful type-system to ensure the
type-safe
input, with fully command suggestion. - register and un-register commands on the fly, without the server restart!
- new commands:
/command-bundle list
,/command-bundle list-type-strings
...
- a user-friendly DSL to create new custom commands easily, with the interoperation of
- feature: add
log_debug_messages
option incore
inconfig.json
. - fix: the y finder for chunk teleportation. (top_chunks module)
WARNING:
If you are using a version before
v1.5.9
, you should read the changelog ofv1.5.9
.
- feature: add
/world list
command, to list all loaded worlds. (world module) - feature: add
/fuji list-commands
command, to query all commands registered in the server. (fuji module) - feature: add sign cache for
color.sign
module, making thesign text edit
reversible, don't lose your edit work! (color.sign module) - fix: ensure the requirement of commands is wrapped by command permission module after the server restart. (command_permission module)
- fix: the
anti_build
mixin doesn't work insingle-player world
in the client. (anti_build module) - fix: the
command spy
doesn't work insingle-player world
in the client. (command spy module)
WARNING:
If you are using a version before
v1.5.9
, you should read the changelog ofv1.5.9
.
- feature: add
/command-permission
command, which provides a user-friendly gui to query registered commands. (command permission module) - feature: add
/glow
command. (glow module) - feature: add
/freeze
command. (freeze module) - feature: improve the implementation of command permission module, this also allows the neo-forge to use this module via sinytra-connector. (command permission module)
- feature: add
spy_on_console
option. (command spy module) - feature: improve the command spy listener, now ensures all commands will be spied on. (command spy module)
- feature: now you can click the chunk score to teleport to the chunk position. (top_chunks module)
- feature: improve the compatibility with other mods. (chat module)
- feature: add soft fail for tickWeather() mixin, this also allow the neo-forge to use this module via sinytra-connector. (world module)
- feature: now will also copy the requirement of the root of the target command node, so that there will be no a dummy command for players without permission. (command alias module)
- feature: improve the priority of command warmup module. (better compatibility with other mods)
- feature: now requires the permission level 4 to use
/fly
,/god
,/jump
commands. - fix: possible concurrent modification exception if a player enter/leave the server. (tab_list module)
- fix: create multiple bossbar after issue
/world delete
. (teleport warmup module) - fix: in-correct max pages display after the search operation in a paged gui.
- fix: the
/world reset
command will not reset theforce-loading chunks
in the target world. - refactor: no longer depends on the
fabric-api
mod. - refactor: make
chat
module a sub-modulechat.style
module, this also allows to use thechat.display
andchat.history
module withStyledChat
mod, without thechat.style
module. - refactor: move the directory
config/fuji/modules/motd/motd/icon
intoconfig/fuji/modules/motd/icon
. (motd module)
WARNING:
If you are using a version before
v1.5.9
, you should read the changelog ofv1.5.9
.
- feature: add
/fiji about
command. (fuji module) - feature: use vanilla way to hide nametag if the player is sneaking. (nametag module)
- feature: locales for keyword in language file.
- refactor: rename
config module
intofuji module
. - fix: can't fetch online skin if the uuid exists in
usercache.json
is wrong. (head module)
WARNING:
If you are using a version before
v1.5.9
, you should read the changelog ofv1.5.9
.
- feature: improve the performance of parsing text from language file, also avoid many un-necessary copy operation.
- feature: now use the placeholder provided by
spark mod
to display/profiler
command. (profiler module) - feature: report error in the console if failed to parse args for a language value.
- feature: add locale language keys for
deathlog module
. - feature: now allow to enable
color module
insingle-player world
. - fix: the
escape parser
can't escape thefuji:random
placeholder. (e.g./run as console foreach give %fuji:escape player:name% minecraft:diamond %fuji:escape fuji:random 8 32 1%
)
WARNING:
If you are using a version before
v1.5.9
, you should read the changelog ofv1.5.9
.
Change Log
- feature: allow to attach commands into an entity. (command attachment module)
- feature: allow to attach commands into a block, also a new input type
STEP_ON
can be specified. (command attachment module)
Migration Guide:
If you are using a version before
v1.5.9
, you should install this version to migrate the old configuration files.
- The data structure and semantics remains the same as previous versions.
- The file
config/fuji/config.json
will be migrated automatically.- Files
config/fuji/pvp.json
,config/fuji/scheduler.json
,config/fuji/warp.json
,config/fuji/home.josn
,config/fuji/world.json
,config/fuji/seen.json
,config/fuji/skin.json
,config/fuji/head.json
,config/fuji/nickname.json
,config/fuji/chat.json
will be migrated automatically.- Some files require you to move them into the new place manually:
- move
config/fuji/kit
directory intoconfig/fuji/modules/kit/kit-data
- move
config/fuji/deathlog
directory intoconfig/fuji/modules/deathlog/death-data
- move
config/fuji/skin
directory intoconfig/fuji/modules/skin/skin-data
- move
config/fuji/skin.json
file intoconfig/fuji/modules/skin/config.json
ChangeLog
- feature: add the configuration migrator layer, to help our user migrate version more easily. (it's less painful now.)
- feature: split the big file
confug/fuji/config.json
into small pieces locates inconfig/fuji/modules
. (see the migration guide above.) - feature: unify the
json key
naming policy, now all json keys use thelower case underscore style
. (The old keys are migrated automatically.) - feature: add
/tppos offline <player>
command to teleport to the offline position of a player. - feature: use lazy loading way to initialize all managers.
- feature: now will skip the un-necessary nametag making for a dead player. (nametag module)
- feature: now
backup
service will keep the originalfile structure
in file system. - feature: soft fail if failed to load an extra dimension. (world module)
- feature: add locales for
deathlog module
- fix: ensure that all jobs used to save configuration on server stopping phase will be triggered anyway.
- fix: the
invulnerable
is always treated astrue
. (afk.effect module) - fix: suppress the
console error logging
on a new player joined the server. (skin module) - refactor: use compile-time module graph, to boost the process of computing module path.
- refactor: rewrite the configuration system, now it's much more clear.
- refactor: remove the
functional.enchantment.override_power
module, now it's the part offunctional.enchantment
module. - build: add more tests to test symbol reference. (the reference relation between modules are stricter now, and the compatibility with other mods are enhanced.)
- feature: allow partial locale. (if a language key is missing in player's client-side language, then we fall back this language key to default_language.)
- refactor: rename the
languafe files
. (e.g. fromen_us.json
toen_US.json
) - fix: use default_language as fallback if the server can't support the client-side language. (language module)
- fix: possible to trigger ConcurrentModificationException in UpdateNametagJob if using
/fuji reload
. (nametag module) - refactor: extract the configuration of
skin module
fromconfig.json
intoskin.json
file. - add: the most top 30 used languages into the default generated languages files.
- feature: add
secutiry
option for security purpose. (shell module) - feature: add a dependency checker to check the dependency reference. (enhance the compatibility with other mods.)
- feature: optimize the packet sending logic. (nametag module)
- feature: a more unified style for console logging.
- feature: log the console on writing default configuration files.
- feature: log the console if a language key is missing in a language file.
- feature: use orange color for the command execution exception, instead of the red color.
- feature: add a fuji exception catcher to catch exceptions during the execution of fuji commands, and provide a user-friendly exception report, to the command source, and the console.
- feature: fix many typos in language keys and language values for language files.
- feature: soft fail if the target dimension not found. (works module)
- refactor: optimize the build script of project. (reduce the size of released jar)
- feature: use compile-time reflection to boost the module loader at server start up stage, and also improve the compatibility with other mods.
- feature: pass the compatibility with sinytra-connector mod.
- feature: improve the
zh_tw
language support (by @yichifauzi).
- refactor: use the vanilla minecraft functions to implement the nametag module. (better performance)
- feature: adjust the nametag initial position so that the new joined player will not see the riding animation.
- refactor: use a better random number generator. (performance improved)
- refactor: use a pixel art image for project icon.
- refactor: use alternatives to apache compress library. (reduce the size of released jar file)
- feature: now a detailed version number is provided.
- docs: fix typos.
- refactor: rename "common" into "core" in "config.json'
- fix: the time diff logic. (afk module)
- add: moved wrongly disabler module
- feature: allow to custom the mention job. (tpa module)
- refactor: move
send-message
,send-broadcast
,send-actionbar
,send-title
andsend-toast
into moduleecho
. - fix: new joined player will be marked as afk wrongly. (afk module)
- feature: warning if fuji can't find the target node in
command alias module
. - feature: 'disable_all_modules' option for debug purpose.
- featiure: add the command prefix for command_syp module
- feature: a user-friendly command feedback for command exception.
- add: send-chat module
- add: view module