Fuji (Essentials)

Fuji (Essentials)

Mod

A mod that ports EssentialsX / CMI from bukkit to fabric.

Server DecorationGame MechanicsManagementOptimizationTechnologyUtilityWorld Generation

6,119 downloads
38 followers
Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...
Filter channels...

The version number of fuji follows semver now: https://semver.org/

  • feature: now the command suggestion for dynamic contents will be updated on the fly, without the server restart.
  • feature: now will put a default kit set into a created new empty kit, as the slot placeholder to reduce the confusion. (kit module)
  • feature: enhance the render function of bossbar, so that an instant bossbar will not be drawn in the client-side screen, if it's aborted in the first game-tick. (teleport warmup module and command warmup module)
  • feature: now will not send the Operation Success as the command feedback if it has nothing to say. (follow the no news is good news rule.)
    • Influence: /send-title, /send-toast, /command-attachment, /attachment, /burn, /freeze and /json
  • feature: now will not info the console on loading head categories, reducing the console spam. (head module)
  • feature: a clearer gui design, now making the helper button using book item.
  • feature: skip the un-necessary nametag making while the player is changing dimension. (nametag module)
  • feature: set the default requirement of commands registered by predicate module to level 4, since these commands is useless for default player. (predicate module)
  • fix: the player stats of interact with functional blocks doesn't get increased when interact these functional blocks using functional commands: /anvil, /grindstone, /stonecutter. (functional module)
  • fix: now will not create a new kit using /kit give command if the kit is not-exist. (kit module)
  • fix: ensure the kit item will be given even the specified slot is not empty. (kit module)
  • refactor: simplify the fake player manager module. (carpet.fake_player_manager module)

WARNING:

If you are using a version before v1.5.9, you should read the changelog of v1.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 the custom 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
  • 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 of v1.5.9.

The version number of fuji follows semver now: https://semver.org/

Welcome our new contributors:

  • @notlin4
  • @Kaysil
  • feature: add named cooldown feature for command cooldown module, now supports to create named 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
  • 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 separate command string into command 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 of v1.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
  • feature: now the command /chain will copy and pass the command source to the next chain. (in the past, the first level of chain is the initiating command source, and the deeper levels are always executed as the console.)
    • e.g. run as player <player> chain test-level-perm %player:name% 4 chain say value is true)
  • 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 the interrupt disance, interrupt on damage and interrupt in combat per command and using regex to match them from up to down in order. (command_warmup module)
    • You will need to re-configure the config/fuji/modules/command_warmup/config.json file.
  • 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 by fuji mod.
    • add /fuji inspect modules: inspect enabled/disabled modules of fuji.
  • feature: add optional target player argument for /heal and feed, (command_toolbox.heal and command_toolbox.feed module)
  • feature: update the fabric loader version from v0.15.11 to v0.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.
  • feature: add predicate module, which provides commands to test conditions.
    • add /test-level-perm command
    • add /test-string-perm command
  • 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 and source. (command_bundle module)

WARNING:

If you are using a version before v1.5.9, you should read the changelog of v1.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 of v1.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 of v1.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 and selectors.
    • support complex command argument type: required argument, literal argument and even the optional 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...
  • feature: add log_debug_messages option in core in config.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 of v1.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 the sign 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 in single-player world in the client. (anti_build module)
  • fix: the command spy doesn't work in single-player world in the client. (command spy module)

WARNING:

If you are using a version before v1.5.9, you should read the changelog of v1.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 the force-loading chunks in the target world.
  • refactor: no longer depends on the fabric-api mod.
  • refactor: make chat module a sub-module chat.style module, this also allows to use the chat.display and chat.history module with StyledChat mod, without the chat.style module.
  • refactor: move the directory config/fuji/modules/motd/motd/icon into config/fuji/modules/motd/icon. (motd module)

WARNING:

If you are using a version before v1.5.9, you should read the changelog of v1.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 into fuji 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 of v1.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 in single-player world.
  • fix: the escape parser can't escape the fuji: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 of v1.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.

  1. The data structure and semantics remains the same as previous versions.
  2. The file config/fuji/config.json will be migrated automatically.
  3. 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.
  4. Some files require you to move them into the new place manually:
    1. move config/fuji/kit directory into config/fuji/modules/kit/kit-data
    2. move config/fuji/deathlog directory into config/fuji/modules/deathlog/death-data
    3. move config/fuji/skin directory into config/fuji/modules/skin/skin-data
    4. move config/fuji/skin.json file into config/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 in config/fuji/modules. (see the migration guide above.)
  • feature: unify the json key naming policy, now all json keys use the lower 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 original file 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 as true. (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 of functional.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. from en_us.json to en_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 from config.json into skin.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.

1.5.2

by SakuraWald on Sep 4, 2024
Download
  • 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)

Project members

SakuraWald

Owner

Details

Licensed GPL-3.0-only
Published a year ago
Updated 2 days ago