package com.hypixel.hytale.server.npc.instructions; import com.hypixel.hytale.component.ComponentAccessor; import com.hypixel.hytale.component.Ref; import com.hypixel.hytale.server.core.universe.world.World; import com.hypixel.hytale.server.core.universe.world.storage.EntityStore; import com.hypixel.hytale.server.npc.entities.NPCEntity; import com.hypixel.hytale.server.npc.movement.controllers.MotionController; import com.hypixel.hytale.server.npc.role.Role; import javax.annotation.Nonnull; import javax.annotation.Nullable; public interface RoleStateChange { default void registerWithSupport(Role role) { } default void motionControllerChanged( @Nullable Ref ref, @Nonnull NPCEntity npcComponent, MotionController motionController, @Nullable ComponentAccessor componentAccessor ) { } default void loaded(Role role) { } default void spawned(Role role) { } default void unloaded(Role role) { } default void removed(Role role) { } default void teleported(Role role, World from, World to) { } }