public override void Load(bool startup) { Command.Register(new CmdReloadEffects()); Command.Register(new CmdEffect()); Command.Register(new CmdSpawner()); rnd = new Random(); LoadEffects(); DefineEffectsAll(); playerEffects = PlayerExtList.Load("extra/playereffects.txt"); OnPlayerMoveEvent.Register(OnPlayerMove, Priority.Low); OnPlayerFinishConnectingEvent.Register(OnPlayerFinishConnecting, Priority.Low); OnLevelLoadedEvent.Register(OnLevelLoaded, Priority.Low); OnLevelUnloadEvent.Register(OnLevelUnload, Priority.Low); OnLevelDeletedEvent.Register(OnLevelDeleted, Priority.Low); OnLevelCopiedEvent.Register(OnLevelCopied, Priority.Low); OnLevelRenamedEvent.Register(OnLevelRenamed, Priority.Low); SpawnersFile.cache = new ThreadSafeCache(); if (!Directory.Exists(SpawnersFile.spawnerDirectory)) { Directory.CreateDirectory(SpawnersFile.spawnerDirectory); } Level[] levels = LevelInfo.Loaded.Items; foreach (Level level in levels) { SpawnersFile.Load(level); } spawnerAccum = 0; ActivateSpawners(); }
public override void Unload(bool shutdown) { OnPlayerMoveEvent.Unregister(HandlePlayerMove); OnPlayerDisconnectEvent.Unregister(HandlePlayerDisconnect); OnLevelUnloadEvent.Unregister(HandleLevelUnload); OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning); }
public override void Load(bool startup) { OnPlayerMoveEvent.Register(HandlePlayerMove, Priority.High); OnPlayerDisconnectEvent.Register(HandlePlayerDisconnect, Priority.High); OnLevelUnloadEvent.Register(HandleLevelUnload, Priority.High); OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High); }
protected override void UnhookEventHandlers() { OnPlayerMoveEvent.Unregister(HandlePlayerMove); OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning); OnJoinedLevelEvent.Unregister(HandleOnJoinedLevel); base.UnhookEventHandlers(); }
protected override void HookEventHandlers() { OnPlayerMoveEvent.Register(HandlePlayerMove, Priority.High); OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High); OnJoinedLevelEvent.Register(HandleOnJoinedLevel, Priority.High); base.HookEventHandlers(); }
public static void InitHandlers() { OnPlayerConnectEvent.Register(OnConnect, Priority.High); OnPlayerDisconnectEvent.Register(OnLeave, Priority.High); OnPlayerMoveEvent.Register(OnMovement, Priority.High); OnPlayerClickEvent.Register(OnClick, Priority.High); OnPlayerChatEvent.Register(OnChat, Priority.High); OnTabListEntryAddedEvent.Register(HUD.GetTabName, Priority.High); OnPlayerActionEvent.Register(OnAFK, Priority.Normal); }
void HandleMovement(byte[] buffer, int offset) { if (!loggedIn || trainGrab || following.Length > 0) { CheckBlocks(Pos); return; } if (Supports(CpeExt.HeldBlock)) { RawHeldBlock = ExtBlock.FromRaw(buffer[offset + 1]); } int x, y, z; if (hasExtPositions) { x = NetUtils.ReadI32(buffer, offset + 2); y = NetUtils.ReadI32(buffer, offset + 6); z = NetUtils.ReadI32(buffer, offset + 10); offset += 6; // for yaw/pitch offset below } else { x = NetUtils.ReadI16(buffer, offset + 2); y = NetUtils.ReadI16(buffer, offset + 4); z = NetUtils.ReadI16(buffer, offset + 6); } byte yaw = buffer[offset + 8], pitch = buffer[offset + 9]; Position next = new Position(x, y, z); CheckBlocks(next); OnPlayerMoveEvent.Call(this, next, yaw, pitch); if (cancelmove) { cancelmove = false; return; } Pos = next; SetYawPitch(yaw, pitch); if (!Moved() || Loading) { return; } if (DateTime.UtcNow < AFKCooldown) { return; } LastAction = DateTime.UtcNow; if (IsAfk) { CmdAfk.ToggleAfk(this, ""); } }
public override void Unload(bool shutdown) { OnEntitySpawnedEvent.Unregister(HandleEntitySpawned); OnTabListEntryAddedEvent.Unregister(HandleTabListEntryAdded); OnMoneyChangedEvent.Unregister(HandleMoneyChanged); OnPlayerConnectEvent.Unregister(HandlePlayerConnect); OnPlayerDisconnectEvent.Unregister(HandlePlayerDisconnect); OnPlayerMoveEvent.Unregister(HandlePlayerMove); OnPlayerActionEvent.Unregister(HandlePlayerAction); OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning); OnBlockChangeEvent.Unregister(HandleBlockChange); OnLevelUnloadEvent.Unregister(HandleLevelUnload); }
public override void Load(bool startup) { OnEntitySpawnedEvent.Register(HandleEntitySpawned, Priority.High); OnTabListEntryAddedEvent.Register(HandleTabListEntryAdded, Priority.High); OnMoneyChangedEvent.Register(HandleMoneyChanged, Priority.High); OnPlayerConnectEvent.Register(HandlePlayerConnect, Priority.High); OnPlayerDisconnectEvent.Register(HandlePlayerDisconnect, Priority.High); OnPlayerMoveEvent.Register(HandlePlayerMove, Priority.High); OnPlayerActionEvent.Register(HandlePlayerAction, Priority.High); OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High); OnBlockChangeEvent.Register(HandleBlockChange, Priority.High); OnLevelUnloadEvent.Register(HandleLevelUnload, Priority.High); }
public override void Unload(bool shutdown) { OnPlayerConnectEvent.Unregister(ConnectHandler.HandleConnect); OnPlayerCommandEvent.Unregister(ChatHandler.HandleCommand); OnChatEvent.Unregister(ChatHandler.HandleOnChat); OnPlayerStartConnectingEvent.Unregister(ConnectingHandler.HandleConnecting); OnSentMapEvent.Unregister(MiscHandlers.HandleOnMapSent); OnPlayerMoveEvent.Unregister(MiscHandlers.HandlePlayerMove); OnPlayerClickEvent.Unregister(MiscHandlers.HandlePlayerClick); OnEcoTransactionEvent.Unregister(EcoHandlers.HandleEcoTransaction); OnModActionEvent.Unregister(ModActionHandler.HandleModAction); Server.Background.Cancel(clearTask); }
public override void Load(bool startup) { OnPlayerConnectEvent.Register(ConnectHandler.HandleConnect, Priority.Critical); OnPlayerCommandEvent.Register(ChatHandler.HandleCommand, Priority.Critical); OnChatEvent.Register(ChatHandler.HandleOnChat, Priority.Critical); OnPlayerStartConnectingEvent.Register(ConnectingHandler.HandleConnecting, Priority.Critical); OnSentMapEvent.Register(MiscHandlers.HandleSentMap, Priority.Critical); OnPlayerMoveEvent.Register(MiscHandlers.HandlePlayerMove, Priority.Critical); OnPlayerClickEvent.Register(MiscHandlers.HandlePlayerClick, Priority.Critical); OnChangedZoneEvent.Register(MiscHandlers.HandleChangedZone, Priority.Critical); OnEcoTransactionEvent.Register(EcoHandlers.HandleEcoTransaction, Priority.Critical); OnModActionEvent.Register(ModActionHandler.HandleModAction, Priority.Critical); }
protected override void HookEventHandlers() { OnEntitySpawnedEvent.Register(HandleEntitySpawned, Priority.High); OnTabListEntryAddedEvent.Register(HandleTabListEntryAdded, Priority.High); OnMoneyChangedEvent.Register(HandleMoneyChanged, Priority.High); OnBlockChangeEvent.Register(HandleBlockChange, Priority.High); OnPlayerConnectEvent.Register(HandlePlayerConnect, Priority.High); OnPlayerMoveEvent.Register(HandlePlayerMove, Priority.High); OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High); OnJoinedLevelEvent.Register(HandleJoinedLevel, Priority.High); OnPlayerChatEvent.Register(HandlePlayerChat, Priority.High); base.HookEventHandlers(); }
protected override void UnhookEventHandlers() { OnEntitySpawnedEvent.Unregister(HandleEntitySpawned); OnTabListEntryAddedEvent.Unregister(HandleTabListEntryAdded); OnMoneyChangedEvent.Unregister(HandleMoneyChanged); OnBlockChangeEvent.Unregister(HandleBlockChange); OnPlayerConnectEvent.Unregister(HandlePlayerConnect); OnPlayerMoveEvent.Unregister(HandlePlayerMove); OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning); OnJoinedLevelEvent.Unregister(HandleJoinedLevel); OnPlayerChatEvent.Unregister(HandlePlayerChat); base.UnhookEventHandlers(); }
public override void Load(bool startup) { OnPlayerConnectEvent.Register(ConnectHandler.HandleConnect, Priority.Critical); OnPlayerCommandEvent.Register(ChatHandler.HandleCommand, Priority.Critical); OnChatEvent.Register(ChatHandler.HandleOnChat, Priority.Critical); OnPlayerStartConnectingEvent.Register(ConnectingHandler.HandleConnecting, Priority.Critical); OnSentMapEvent.Register(MiscHandlers.HandleOnMapSent, Priority.Critical); OnPlayerMoveEvent.Register(MiscHandlers.HandlePlayerMove, Priority.Critical); OnPlayerClickEvent.Register(MiscHandlers.HandlePlayerClick, Priority.Critical); OnEcoTransactionEvent.Register(EcoHandlers.HandleEcoTransaction, Priority.Critical); OnModActionEvent.Register(ModActionHandler.HandleModAction, Priority.Critical); clearTask = Server.Background.QueueRepeat(IPThrottler.CleanupTask, null, TimeSpan.FromMinutes(10)); }
public override void Unload(bool shutdown) { OnPlayerConnectEvent.Unregister(ConnectHandler.HandleConnect); OnPlayerCommandEvent.Unregister(ChatHandler.HandleCommand); OnChatEvent.Unregister(ChatHandler.HandleOnChat); OnPlayerStartConnectingEvent.Unregister(ConnectingHandler.HandleConnecting); OnSentMapEvent.Unregister(MiscHandlers.HandleSentMap); OnPlayerMoveEvent.Unregister(MiscHandlers.HandlePlayerMove); OnPlayerClickEvent.Unregister(MiscHandlers.HandlePlayerClick); OnChangedZoneEvent.Unregister(MiscHandlers.HandleChangedZone); OnEcoTransactionEvent.Unregister(EcoHandlers.HandleEcoTransaction); OnModActionEvent.Unregister(ModActionHandler.HandleModAction); }
public override void Unload(bool shutdown) { Command.Unregister(Command.Find("ReloadEffects")); Command.Unregister(Command.Find("Effect")); Command.Unregister(Command.Find("Spawner")); OnPlayerMoveEvent.Unregister(OnPlayerMove); OnPlayerFinishConnectingEvent.Unregister(OnPlayerFinishConnecting); OnLevelLoadedEvent.Unregister(OnLevelLoaded); OnLevelUnloadEvent.Unregister(OnLevelUnload); OnLevelDeletedEvent.Unregister(OnLevelDeleted); OnLevelCopiedEvent.Unregister(OnLevelCopied); OnLevelRenamedEvent.Unregister(OnLevelRenamed); spawnersAtLevel.Clear(); instance.Cancel(tickSpawners); }
public void ProcessMovement(int x, int y, int z, byte yaw, byte pitch, int held) { if (held >= 0) { ClientHeldBlock = (BlockID)held; } if (trainGrab || following.Length > 0) { CheckBlocks(Pos, Pos); return; } Position next = new Position(x, y, z); CheckBlocks(Pos, next); bool cancel = false; OnPlayerMoveEvent.Call(this, next, yaw, pitch, ref cancel); if (cancel) { cancel = false; return; } Pos = next; SetYawPitch(yaw, pitch); CheckZones(next); if (!Moved() || Loading) { return; } if (DateTime.UtcNow < AFKCooldown) { return; } LastAction = DateTime.UtcNow; if (IsAfk) { CmdAfk.ToggleAfk(this, ""); } }
public void NextTurn() { OnPlayerMoveEvent?.Invoke(); turnCount++; }