Trait ServerEvent

Source
pub trait ServerEvent:
    Send
    + Sync
    + 'static {
    type SystemData<'a>: SystemData<'a>;

    const NAME: &'static str = _;

    // Required method
    fn handle(
        events: impl ExactSizeIterator<Item = Self>,
        data: Self::SystemData<'_>,
    );
}

Provided Associated Constants§

Source

const NAME: &'static str = _

Required Associated Types§

Source

type SystemData<'a>: SystemData<'a>

Required Methods§

Source

fn handle( events: impl ExactSizeIterator<Item = Self>, data: Self::SystemData<'_>, )

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl ServerEvent for AuraEvent

Source§

type SystemData<'a> = (Storage<'a, Auras, FetchMut<'a, MaskedStorage<Auras>>>, Storage<'a, EnteredAuras, FetchMut<'a, MaskedStorage<EnteredAuras>>>)

Source§

impl ServerEvent for BonkEvent

Source§

type SystemData<'a> = (Write<'a, BlockChange>, Read<'a, VolGrid2d<Chonk<Block, TerrainChunkSize, TerrainChunkMeta>>, PanicHandler>, Read<'a, ProgramTime, PanicHandler>, Read<'a, EventBus<CreateObjectEvent>>, Read<'a, EventBus<ShootEvent>>)

Source§

impl ServerEvent for BuffEvent

Source§

type SystemData<'a> = (Read<'a, Time>, Storage<'a, Buffs, FetchMut<'a, MaskedStorage<Buffs>>>, Storage<'a, Body, Fetch<'a, MaskedStorage<Body>>>, Storage<'a, Health, Fetch<'a, MaskedStorage<Health>>>, Storage<'a, Stats, Fetch<'a, MaskedStorage<Stats>>>, Storage<'a, Mass, Fetch<'a, MaskedStorage<Mass>>>)

Source§

impl ServerEvent for ChangeAbilityEvent

Source§

type SystemData<'a> = (Storage<'a, ActiveAbilities, FetchMut<'a, MaskedStorage<ActiveAbilities>>>, Storage<'a, Inventory, Fetch<'a, MaskedStorage<Inventory>>>, Storage<'a, SkillSet, Fetch<'a, MaskedStorage<SkillSet>>>)

Source§

impl ServerEvent for ChangeBodyEvent

Source§

type SystemData<'a> = Storage<'a, Body, FetchMut<'a, MaskedStorage<Body>>>

Source§

impl ServerEvent for ChangeStanceEvent

Source§

type SystemData<'a> = Storage<'a, Stance, FetchMut<'a, MaskedStorage<Stance>>>

Source§

impl ServerEvent for ComboChangeEvent

Source§

type SystemData<'a> = (Read<'a, Time>, Read<'a, EventBus<Outcome>>, Storage<'a, Combo, FetchMut<'a, MaskedStorage<Combo>>>, Storage<'a, Uid, Fetch<'a, MaskedStorage<Uid>>>)

Source§

impl ServerEvent for CreateSpriteEvent

Source§

type SystemData<'a> = (Write<'a, BlockChange, PanicHandler>, Write<'a, ScheduledBlockChange, PanicHandler>, Read<'a, VolGrid2d<Chonk<Block, TerrainChunkSize, TerrainChunkMeta>>, PanicHandler>, Read<'a, Time, PanicHandler>)

Source§

impl ServerEvent for DestroyEvent

Handle an entity dying. If it is a player, it will send a message to all other players. If the entity that killed it had stats, then give it exp for the kill. Experience given is equal to the level of the entity that was killed times 10.

Source§

impl ServerEvent for DialogueEvent

Source§

type SystemData<'a> = (Storage<'a, Uid, Fetch<'a, MaskedStorage<Uid>>>, Storage<'a, Pos, Fetch<'a, MaskedStorage<Pos>>>, Storage<'a, Client, Fetch<'a, MaskedStorage<Client>>>, Storage<'a, Agent, FetchMut<'a, MaskedStorage<Agent>>>, Storage<'a, Inventory, FetchMut<'a, MaskedStorage<Inventory>>>, Read<'a, AbilityMap, PanicHandler>, Read<'a, MaterialStatManifest, PanicHandler>)

Source§

impl ServerEvent for DownedEvent

Source§

type SystemData<'a> = (Read<'a, EventBus<BuffEvent>>, Storage<'a, CharacterState, FetchMut<'a, MaskedStorage<CharacterState>>>, Storage<'a, Health, FetchMut<'a, MaskedStorage<Health>>>)

Source§

impl ServerEvent for EnergyChangeEvent

Source§

type SystemData<'a> = Storage<'a, Energy, FetchMut<'a, MaskedStorage<Energy>>>

Source§

impl ServerEvent for EntityAttackedHookEvent

Source§

impl ServerEvent for ExplosionEvent

Source§

impl ServerEvent for GroupManipEvent

Source§

type SystemData<'a> = (Read<'a, EntitiesRes>, Write<'a, GroupManager>, Read<'a, IdMaps>, Storage<'a, Group, FetchMut<'a, MaskedStorage<Group>>>, Storage<'a, Client, Fetch<'a, MaskedStorage<Client>>>, Storage<'a, Uid, Fetch<'a, MaskedStorage<Uid>>>, Storage<'a, Alignment, Fetch<'a, MaskedStorage<Alignment>>>, Storage<'a, MapMarker, Fetch<'a, MaskedStorage<MapMarker>>>)

Source§

impl ServerEvent for HealthChangeEvent

Source§

impl ServerEvent for HelpDownedEvent

Source§

impl ServerEvent for InitiateInviteEvent

Source§

type SystemData<'a> = (Read<'a, EntitiesRes>, Write<'a, Trades>, Read<'a, Settings>, Read<'a, IdMaps>, Read<'a, GroupManager>, Storage<'a, PendingInvites, FetchMut<'a, MaskedStorage<PendingInvites>>>, Storage<'a, Agent, FetchMut<'a, MaskedStorage<Agent>>>, Storage<'a, Invite, FetchMut<'a, MaskedStorage<Invite>>>, Storage<'a, Uid, Fetch<'a, MaskedStorage<Uid>>>, Storage<'a, Client, Fetch<'a, MaskedStorage<Client>>>, Storage<'a, Pos, Fetch<'a, MaskedStorage<Pos>>>, Storage<'a, Group, Fetch<'a, MaskedStorage<Group>>>, Storage<'a, Health, Fetch<'a, MaskedStorage<Health>>>, Storage<'a, CharacterState, Fetch<'a, MaskedStorage<CharacterState>>>)

Source§

impl ServerEvent for InventoryManipEvent

Source§

impl ServerEvent for InviteResponseEvent

Source§

impl ServerEvent for KillEvent

Source§

type SystemData<'a> = Storage<'a, Health, FetchMut<'a, MaskedStorage<Health>>>

Source§

impl ServerEvent for KnockbackEvent

Source§

type SystemData<'a> = (Read<'a, EntitiesRes>, Storage<'a, Client, Fetch<'a, MaskedStorage<Client>>>, Storage<'a, PhysicsState, Fetch<'a, MaskedStorage<PhysicsState>>>, Storage<'a, Mass, Fetch<'a, MaskedStorage<Mass>>>, Storage<'a, Vel, FetchMut<'a, MaskedStorage<Vel>>>)

Source§

impl ServerEvent for LandOnGroundEvent

Source§

type SystemData<'a> = (Read<'a, Time>, Read<'a, MaterialStatManifest, PanicHandler>, Read<'a, EventBus<HealthChangeEvent>>, Read<'a, EventBus<PoiseChangeEvent>>, Storage<'a, PhysicsState, Fetch<'a, MaskedStorage<PhysicsState>>>, Storage<'a, CharacterState, Fetch<'a, MaskedStorage<CharacterState>>>, Storage<'a, Mass, Fetch<'a, MaskedStorage<Mass>>>, Storage<'a, Inventory, Fetch<'a, MaskedStorage<Inventory>>>, Storage<'a, Stats, Fetch<'a, MaskedStorage<Stats>>>)

Source§

impl ServerEvent for MakeAdminEvent

Source§

type SystemData<'a> = (Storage<'a, Admin, FetchMut<'a, MaskedStorage<Admin>>>, Storage<'a, Player, Fetch<'a, MaskedStorage<Player>>>)

Source§

impl ServerEvent for MineBlockEvent

Source§

type SystemData<'a> = (Write<'a, BlockChange, PanicHandler>, Read<'a, VolGrid2d<Chonk<Block, TerrainChunkSize, TerrainChunkMeta>>, PanicHandler>, Read<'a, MaterialStatManifest, PanicHandler>, Read<'a, AbilityMap, PanicHandler>, Read<'a, EventBus<CreateItemDropEvent>, PanicHandler>, Read<'a, EventBus<SoundEvent>, PanicHandler>, Read<'a, EventBus<Outcome>, PanicHandler>, Read<'a, ProgramTime, PanicHandler>, Read<'a, Time, PanicHandler>, Storage<'a, SkillSet, FetchMut<'a, MaskedStorage<SkillSet>>>, Storage<'a, Uid, Fetch<'a, MaskedStorage<Uid>>>)

Source§

impl ServerEvent for NpcInteractEvent

Source§

type SystemData<'a> = (Storage<'a, Agent, FetchMut<'a, MaskedStorage<Agent>>>, Storage<'a, Pos, Fetch<'a, MaskedStorage<Pos>>>, Storage<'a, Uid, Fetch<'a, MaskedStorage<Uid>>>)

Source§

impl ServerEvent for ParryHookEvent

Source§

type SystemData<'a> = (Read<'a, Time>, Read<'a, EventBus<EnergyChangeEvent>>, Read<'a, EventBus<PoiseChangeEvent>>, Read<'a, EventBus<BuffEvent>>, Storage<'a, CharacterState, FetchMut<'a, MaskedStorage<CharacterState>>>, Storage<'a, Uid, Fetch<'a, MaskedStorage<Uid>>>, Storage<'a, Stats, Fetch<'a, MaskedStorage<Stats>>>, Storage<'a, Mass, Fetch<'a, MaskedStorage<Mass>>>, Storage<'a, Inventory, Fetch<'a, MaskedStorage<Inventory>>>)

Source§

impl ServerEvent for PoiseChangeEvent

Source§

type SystemData<'a> = (Read<'a, EntitiesRes>, Storage<'a, CharacterState, Fetch<'a, MaskedStorage<CharacterState>>>, Storage<'a, Poise, FetchMut<'a, MaskedStorage<Poise>>>)

Source§

impl ServerEvent for RegrowHeadEvent

Source§

type SystemData<'a> = (Read<'a, EventBus<HealthChangeEvent>>, Read<'a, Time>, Storage<'a, Heads, FetchMut<'a, MaskedStorage<Heads>>>, Storage<'a, Health, Fetch<'a, MaskedStorage<Health>>>)

Source§

impl ServerEvent for RemoveLightEmitterEvent

Source§

type SystemData<'a> = Storage<'a, LightEmitter, FetchMut<'a, MaskedStorage<LightEmitter>>>

Source§

impl ServerEvent for RequestPluginsEvent

Send missing plugins to the client

Source§

type SystemData<'a> = (Read<'a, PluginMgr, PanicHandler>, Storage<'a, Client, Fetch<'a, MaskedStorage<Client>>>)

Source§

impl ServerEvent for RequestSiteInfoEvent

Source§

type SystemData<'a> = (Read<'a, IndexOwned, PanicHandler>, Storage<'a, Client, Fetch<'a, MaskedStorage<Client>>>)

Source§

impl ServerEvent for RespawnEvent

Source§

type SystemData<'a> = (Read<'a, SpawnPoint>, Storage<'a, Health, FetchMut<'a, MaskedStorage<Health>>>, Storage<'a, Combo, FetchMut<'a, MaskedStorage<Combo>>>, Storage<'a, Pos, FetchMut<'a, MaskedStorage<Pos>>>, Storage<'a, PhysicsState, FetchMut<'a, MaskedStorage<PhysicsState>>>, Storage<'a, ForceUpdate, FetchMut<'a, MaskedStorage<ForceUpdate>>>, Storage<'a, Heads, FetchMut<'a, MaskedStorage<Heads>>>, Storage<'a, Client, Fetch<'a, MaskedStorage<Client>>>, Storage<'a, Hardcore, Fetch<'a, MaskedStorage<Hardcore>>>, Storage<'a, Waypoint, Fetch<'a, MaskedStorage<Waypoint>>>)

Source§

impl ServerEvent for SetLanternEvent

Source§

type SystemData<'a> = (Storage<'a, LightEmitter, FetchMut<'a, MaskedStorage<LightEmitter>>>, Storage<'a, Inventory, Fetch<'a, MaskedStorage<Inventory>>>, Storage<'a, Health, Fetch<'a, MaskedStorage<Health>>>)

Source§

impl ServerEvent for SetPetStayEvent

Source§

type SystemData<'a> = (Storage<'a, Agent, FetchMut<'a, MaskedStorage<Agent>>>, Storage<'a, CharacterActivity, FetchMut<'a, MaskedStorage<CharacterActivity>>>, Storage<'a, Pos, Fetch<'a, MaskedStorage<Pos>>>, Storage<'a, Alignment, Fetch<'a, MaskedStorage<Alignment>>>, Storage<'a, Is<Mount>, Fetch<'a, MaskedStorage<Is<Mount>>>>, Storage<'a, Uid, Fetch<'a, MaskedStorage<Uid>>>)

Source§

impl ServerEvent for SoundEvent

Source§

type SystemData<'a> = (Read<'a, EventBus<Outcome>, PanicHandler>, Storage<'a, Agent, FetchMut<'a, MaskedStorage<Agent>>>, Storage<'a, Pos, Fetch<'a, MaskedStorage<Pos>>>)

Source§

impl ServerEvent for StartTeleportingEvent

Source§

type SystemData<'a> = (Read<'a, Time>, Storage<'a, Teleporting, FetchMut<'a, MaskedStorage<Teleporting>>>, Storage<'a, Pos, Fetch<'a, MaskedStorage<Pos>>>, Storage<'a, Object, Fetch<'a, MaskedStorage<Object>>>)

Source§

impl ServerEvent for TeleportToEvent

Source§

type SystemData<'a> = (Read<'a, IdMaps>, Storage<'a, Pos, FetchMut<'a, MaskedStorage<Pos>>>, Storage<'a, ForceUpdate, FetchMut<'a, MaskedStorage<ForceUpdate>>>)

Source§

impl ServerEvent for TeleportToPositionEvent

Source§

type SystemData<'a> = (Read<'a, IdMaps>, Storage<'a, Is<VolumeRider>, FetchMut<'a, MaskedStorage<Is<VolumeRider>>>>, Storage<'a, Pos, FetchMut<'a, MaskedStorage<Pos>>>, Storage<'a, ForceUpdate, FetchMut<'a, MaskedStorage<ForceUpdate>>>, Storage<'a, Is<Rider>, Fetch<'a, MaskedStorage<Is<Rider>>>>, Storage<'a, Presence, Fetch<'a, MaskedStorage<Presence>>>, Storage<'a, Client, Fetch<'a, MaskedStorage<Client>>>)

Source§

impl ServerEvent for ToggleSpriteLightEvent

Source§

type SystemData<'a> = (Write<'a, BlockChange, PanicHandler>, Read<'a, VolGrid2d<Chonk<Block, TerrainChunkSize, TerrainChunkMeta>>, PanicHandler>, Storage<'a, Pos, Fetch<'a, MaskedStorage<Pos>>>)

Source§

impl ServerEvent for UpdateMapMarkerEvent

Source§

type SystemData<'a> = (Read<'a, EntitiesRes>, Storage<'a, MapMarker, FetchMut<'a, MaskedStorage<MapMarker>>>, Storage<'a, Group, Fetch<'a, MaskedStorage<Group>>>, Storage<'a, Uid, Fetch<'a, MaskedStorage<Uid>>>, Storage<'a, Client, Fetch<'a, MaskedStorage<Client>>>, Storage<'a, Alignment, Fetch<'a, MaskedStorage<Alignment>>>)