
56
1
Список изменений
Allium v0.1.8
Wiki: https://github.com/castledking/Allium/wiki
Highlights
- Citizens NPC locator bar suppression — Allium now sets
WAYPOINT_RECEIVE_RANGE = -1on all Citizens NPCs at server startup, preventing them from appearing on the vanilla locator bar without affecting NPC body visibility. - All NPC-specific handling code removed — All hand-rolled NPC filtering code has been stripped from PartyManager and CrowBarDataSender since Citizens API handles suppression natively.
- Fly permission fix —
/flynow accepts bothallium.flyandallium.tflypermissions, fixing a regression where players with the old permission could not use the command. - Flight restoration on cross-world teleport — Flight state is now captured before teleport and properly restored when the tfy module is active, preventing flight loss when changing worlds via portals or commands.
Citizens NPC Waypoint Suppression
- Added
setupCitizensNpcWaypointRange()in PluginStart that runs 5 seconds after server startup. - Uses reflection to call
CitizensAPI.getNPCRegistry()(no compile dependency on Citizens). - Iterates all NPCs and sets
Attribute.WAYPOINT_RECEIVE_RANGE = -1on spawned Player-type entities. - NPC bodies remain fully visible — the attribute only suppresses the locator bar waypoint on the client side.
- Gracefully handles absence of Citizens plugin with a debug log.
Removed NPC Handling Code
- PartyManager: Removed
isCitizensNpcUuid()method. NPCs are no longer special-cased inupdatePlayerVisibilityorhidePlayerAndRefreshTab. - CrowBarDataSender: Removed NPC UUID filter and
isCitizensNpcUuid()method. NPC data is now sent to CrowBar clients like any other player (CrowBar client also had its own NPC filtering stripped).
Fly Permission Fix
CommandManager.hasPermissionForCommand()now checks bothallium.flyandallium.tflyfor the/flycommand.- Removed the special-case in
getDerivedPluginCommandPermission()that mappedallium.flytoallium.tfly, since the check now happens at the permission evaluation level instead. - Fixes a regression where players with only
allium.fly(the documented permission) would get "You don't have permission" when running/fly.
Flight Restoration (World Teleport)
- Added
PlayerTeleportEventhandler to captureallowFlightstate before cross-world teleport. onPlayerChangedWorldnow uses the pre-teleport state for the allow-flight check, fixing false restorations when the player was not flying before the world change.- Added re-check that tfy is still enabled before restoring flight, preventing stale restores if the player toggled tfy off during the world transition.
Config And Dependencies
- VaultUnlockedAPI changed from
compile(shaded) toprovidedscope — the actual plugin's classes are used at runtime, reducing JAR size. - Version bumped to
0.1.8a.
Internal
- All Citizens/ZNPCs NPC filtering consolidated into a single
setupCitizensNpcWaypointRange()reflection call, eliminating distributed UUID-pattern checks across PartyManager and CrowBarDataSender.
Файлы
Allium-0.1.8a.jar(1.53 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
0.1.8a
Загрузчики
BukkitFoliaPaperPurpurSpigot
Версии игры
1.20–26.1.2
Загрузок
2
Дата публикации
31.05.2026
