Module fr.fidorial
@NullMarked
module fr.fidorial
Public API for writing Fidorial plugins.
Fidorial has no Forge, no Fabric and no Mixin. A plugin implements
Plugin, receives a
PluginContext on load, then subscribes to
events and registers services from there.
Getting started
fr.fidorial.plugin— plugin entry point and contextfr.fidorial.event— observe and cancel server eventsfr.fidorial.service— replace default server behaviourfr.fidorial.entity.mob— bend the built-in mobs, or write new onesfr.fidorial.scheduler— hand long work off the region threadsfr.fidorial.dialog— show modal windows and read what players fill infr.fidorial.registry.keys— generated keys for blocks, items and more
Threading
The world is split into independent 32×32-chunk regions, each ticking at 20 TPS on its own thread. Event listeners run on the thread of the region owning the block or entity — never block inside one, hand long work to the scheduler.
Nullability
This module is NullMarked: every type is
non-null unless explicitly annotated @Nullable.
- See Also:
-
Packages
ExportsPackageDescriptionRoot of the Fidorial API: theServerand its entry points.Attribute modifiers carried by items.Chat types: how messages sent to players are decorated.Damage sources and the combat service.Brigadier commands: registration, sources and senders.Argument types for Brigadier commands.Custom argument types built on top of native ones.Predicates produced by argument types.Number ranges produced by argument types.Files in this package are derived from Paper's resolvers package Originally contributed in #8235, licensed under the MIT license.Files in this package are derived from Paper's selector package Originally contributed in #8235, licensed under the MIT license.Dialogs: modal windows shown to players, and the values they send back.Entities and players, online or offline.Goals and pathfinding driving mobs.Bending the built-in mobs, and writing new ones.The event bus: subscribing to, posting and cancelling events.Events fired when blocks are placed or broken.Events fired about entities.Events fired about a single player.Events fired about the server as a whole.Game rules, server-wide and per world.Containers and the inventories of players.Item stacks and the item registry.Values of the data components items carry.Data components: the typed data attached to item stacks.Bans and the whitelist.Permission nodes, their defaults and how they are resolved.Plugin entry point, context and metadata.Read-only registries and the keys addressing them.Running tasks on the region threads, and their performance.Services: the pieces of server behaviour plugins can replace.Sound events played by the server.The status shown in the multiplayer server list.Persistence backends for player data, inventories and enderchests.Scenario tests run against a real server.Annotations marking scenario tests.Rendering translatable components.Worlds, chunks and positions.Biome definitions and the biome registry.Block types, block states and their behaviour.Traits of block states, one per common property.Block states of specific blocks, combining several traits.Environment attributes of dimensions and biomes.Fluids and their simulation.World generators and the chunks they fill.Datapack structures and templates.The day/night cycle of worlds.The weather of worlds.