public override void Start(ICoreAPI api) { base.Start(api); this.Api = api; this.wireMod = api.ModLoader.GetModSystem <HangingWiresMod>(); if (api.World is IClientWorldAccessor) { //(api as ICoreClientAPI).Event.RegisterRenderer(this, EnumRenderStage.Before, "signalnetworktick"); clientNetworkChannel = ((ICoreClientAPI)api).Network.RegisterChannel("signalnetwork"); //.RegisterMessageType(typeof(MechNetworkPacket)) //.RegisterMessageType(typeof(NetworkRemovedPacket)) //.RegisterMessageType(typeof(MechClientRequestPacket)) //.SetMessageHandler<MechNetworkPacket>(OnPacket) //.SetMessageHandler<NetworkRemovedPacket>(OnNetworkRemovePacket); } else { api.World.RegisterGameTickListener(OnServerGameTick, 20); serverNetworkChannel = ((ICoreServerAPI)api).Network.RegisterChannel("signalnetwork"); //.RegisterMessageType(typeof(MechNetworkPacket)) //.RegisterMessageType(typeof(NetworkRemovedPacket)) //.RegisterMessageType(typeof(MechClientRequestPacket)) //.SetMessageHandler<MechClientRequestPacket>(OnClientRequestPacket); } }
public override void StartClientSide(ICoreClientAPI api) { capi = api; api.Event.RegisterEventBusListener(OnConfigEventClient, 0.5, "configTeleporter"); clientChannel = api.Network.RegisterChannel("tpManager") .RegisterMessageType(typeof(TpLocations)) .RegisterMessageType(typeof(TeleporterLocation)) .SetMessageHandler <TpLocations>(OnLocationsReceived) ; if (teleportingSound == null) { teleportingSound = ((IClientWorldAccessor)api.World).LoadSound(new SoundParams() { Location = new AssetLocation("sounds/block/teleporter.ogg"), ShouldLoop = true, Position = null, RelativePosition = true, DisposeOnFinish = false, Volume = 1 }); } api.Event.RegisterGameTickListener(OnClientTick, 50); api.Event.LeaveWorld += () => teleportingSound?.Dispose(); }
public override void StartClientSide(ICoreClientAPI api) { base.StartClientSide(api); capi = api; capi.Event.BlockTexturesLoaded += OnLoaded; capi.Event.LevelFinalize += OnLvlFinalize; capi.Settings.AddWatcher <bool>("showMinimapHud", (on) => { ToggleMap(EnumDialogType.HUD); }); capi.Event.LeaveWorld += () => { isShuttingDown = true; worldMapDlg?.Dispose(); foreach (var layer in MapLayers) { layer?.Dispose(); } }; clientChannel = api.Network.RegisterChannel("worldmap") .RegisterMessageType(typeof(MapLayerUpdate)) .RegisterMessageType(typeof(OnViewChangedPacket)) .RegisterMessageType(typeof(OnMapToggle)) .SetMessageHandler <MapLayerUpdate>(OnMapLayerDataReceivedClient) ; }
public ClientSkinNetwork(ICoreClientAPI api) { this.capi = api; this.clientNetworkChannel = api.Network.RegisterChannel("playerskins"); this.clientNetworkChannel.RegisterMessageType(typeof(SkinChange)); }
public override void StartClientSide(ICoreClientAPI capi) { this.capi = capi; base.Initialize(); clientChannel = capi.Network.GetChannel("weather") .SetMessageHandler <WeatherState>(OnWeatherUpdatePacket) .SetMessageHandler <WeatherConfigPacket>(OnWeatherConfigUpdatePacket) .SetMessageHandler <WeatherPatternAssetsPacket>(OnAssetsPacket) ; capi.Event.RegisterGameTickListener(OnClientGameTick, 50); capi.Event.LevelFinalize += LevelFinalizeInit; capi.Event.RegisterRenderer(this, EnumRenderStage.Before, "weatherSystem"); capi.Event.RegisterRenderer(this, EnumRenderStage.Done, "weatherSystem"); capi.Event.LeaveWorld += () => cloudRenderer?.Dispose(); capi.Event.OnGetClimate += Event_OnGetClimate; simSounds = new WeatherSimulationSound(capi as ICoreClientAPI, this); simParticles = new WeatherSimulationParticles(capi as ICoreClientAPI, this); simLightning = new WeatherSimulationLightning(capi as ICoreClientAPI, this); auroraRenderer = new AuroraRenderer(capi as ICoreClientAPI, this); }
public override void Start(ICoreAPI api) { base.Start(api); this.Api = api; if (api.World is IClientWorldAccessor) { (api as ICoreClientAPI).Event.RegisterRenderer(this, EnumRenderStage.Before, "mechanicalpowertick"); clientNwChannel = ((ICoreClientAPI)api).Network.RegisterChannel("vsmechnetwork") .RegisterMessageType(typeof(MechNetworkPacket)) .RegisterMessageType(typeof(NetworkRemovedPacket)) .RegisterMessageType(typeof(MechClientRequestPacket)) .SetMessageHandler <MechNetworkPacket>(OnPacket) .SetMessageHandler <NetworkRemovedPacket>(OnNetworkRemovePacket) ; } else { api.World.RegisterGameTickListener(OnServerGameTick, 20); serverNwChannel = ((ICoreServerAPI)api).Network.RegisterChannel("vsmechnetwork") .RegisterMessageType(typeof(MechNetworkPacket)) .RegisterMessageType(typeof(NetworkRemovedPacket)) .RegisterMessageType(typeof(MechClientRequestPacket)) .SetMessageHandler <MechClientRequestPacket>(OnClientRequestPacket) ; } }
public override void StartClientSide(ICoreClientAPI api) { base.StartClientSide(api); capi = api; capi.Input.RegisterHotKey("worldmaphud", "World Map HUD (Small overlay)", GlKeys.F6, HotkeyType.GeneralControls); capi.Input.RegisterHotKey("worldmapdialog", "World Map Dialog", GlKeys.M, HotkeyType.GeneralControls); capi.Input.SetHotKeyHandler("worldmaphud", OnHotKeyWorldMapHud); capi.Input.SetHotKeyHandler("worldmapdialog", OnHotKeyWorldMapDlg); capi.Event.BlockTexturesLoaded += OnLoaded; capi.Event.LevelFinalize += OnLvlFinalize; capi.Event.LeaveWorld += () => { isShuttingDown = true; worldMapDlg?.Dispose(); }; clientChannel = api.Network.RegisterChannel("worldmap") .RegisterMessageType(typeof(MapLayerData[])) .RegisterMessageType(typeof(OnViewChangedPacket)) .RegisterMessageType(typeof(OnMapToggle)) .SetMessageHandler <MapLayerData[]>(OnMapLayerDataReceivedClient) ; }
public WorldEditClientHandler(ICoreClientAPI capi) { this.capi = capi; capi.RegisterCommand("we", "World edit toolbar", "", CmdEditClient); capi.Input.RegisterHotKey("worldedit", "World Edit", GlKeys.Tilde, HotkeyType.CreativeTool); capi.Input.SetHotKeyHandler("worldedit", OnHotkeyWorldEdit); capi.Event.LeaveWorld += Event_LeaveWorld; capi.Event.FileDrop += Event_FileDrop; clientChannel = capi.Network.RegisterChannel("worldedit") .RegisterMessageType(typeof(RequestWorkSpacePacket)) .RegisterMessageType(typeof(WorldEditWorkspace)) .RegisterMessageType(typeof(ChangePlayerModePacket)) .RegisterMessageType(typeof(CopyToClipboardPacket)) .RegisterMessageType(typeof(SchematicJsonPacket)) .SetMessageHandler <WorldEditWorkspace>(OnServerWorkspace) .SetMessageHandler <CopyToClipboardPacket>(OnClipboardCopy) .SetMessageHandler <SchematicJsonPacket>(OnReceivedSchematic) ; if (!capi.Settings.Int.Exists("schematicMaxUploadSizeKb")) { capi.Settings.Int["schematicMaxUploadSizeKb"] = 75; } }
public override void StartClientSide(ICoreClientAPI api) { this.capi = api; this.api = api; clientChannel = api.Network.RegisterChannel("gameeffects") .RegisterMessageType(typeof(GameEffectsPacket)) .SetMessageHandler <GameEffectsPacket>(OnGameEffectToggle) ; blackAirParticles = new SimpleParticleProperties() { color = ColorUtil.ToRgba(150, 50, 25, 15), model = EnumParticleModel.Quad, minSize = 0.1f, maxSize = 1f, gravityEffect = 0, lifeLength = 1.2f, WithTerrainCollision = false, ShouldDieInLiquid = true, minVelocity = new Vec3f(-5f, 10f, -3f), minQuantity = 1, addQuantity = 0, }; blackAirParticles.addVelocity = new Vec3f(0f, 30f, 0); blackAirParticles.OpacityEvolve = EvolvingNatFloat.create(EnumTransformFunction.QUADRATIC, -8); api.Event.RegisterRenderer(this, EnumRenderStage.Before, "gameeffects"); }
public override void StartClientSide(ICoreClientAPI api) { base.StartClientSide(api); clientChannel = api.Network .RegisterChannel("blockreinforcement") .RegisterMessageType(typeof(ChunkReinforcementData)) .SetMessageHandler <ChunkReinforcementData>(onData) ; }
public override void StartClientSide(ICoreClientAPI api) { this.capi = api; clientChannel = api.Network.RegisterChannel("lootrandomizer") .RegisterMessageType(typeof(SaveLootRandomizerAttributes)) .RegisterMessageType(typeof(SaveStackRandomizerAttributes)) ; }
public override void StartClientSide(ICoreClientAPI api) { capi = api; cChannel = capi.Network.RegisterChannel("sortchannel") .RegisterMessageType(typeof(SortMessage)) .RegisterMessageType(typeof(SortResponse)) .SetMessageHandler <SortMessage>(OnServerMessage); api.Event.PlayerJoin += RegisterSort; }
private void PlayerSitDown(IWorldAccessor world, IPlayer byPlayer, BlockPos chairPosition) { PlayerData playerData = PlayerManager.Instance.GetOrAddPlayerData(byPlayer); // Sets the player to the center of the chair Vec3d centerOfChair = chairPosition.ToVec3d().Add(0.5, 0.5, 0.5); byPlayer.Entity.Pos.SetPos(centerOfChair); // Set player's status to sitting playerData.TogglePlayerSitting(); playerData.SatChairPos = chairPosition; // If there is a table next to chair, set player to face chair BlockPos adjacentTable = GetAdjacentTable(world, chairPosition); // Send packet to server to sync all clients IClientNetworkChannel networkChannel = (IClientNetworkChannel)api.Network.GetChannel("networksit"); networkChannel.SendPacket(new NetworkAnimationSit() { isSitting = true, playerUID = byPlayer.PlayerUID }); // Modify eye height byPlayer.Entity.Properties.SetEyeHeight(SITTINGEYEHEIGHT); // Set player's sitting direction if (adjacentTable != null) { if (byPlayer.Entity.Pos.AsBlockPos.East().Equals(adjacentTable)) { playerData.SetSittingDirection(Cardinal.East); ((ICoreClientAPI)api).Input.MouseYaw = 0; } if (byPlayer.Entity.Pos.AsBlockPos.West().Equals(adjacentTable)) { playerData.SetSittingDirection(Cardinal.West); ((ICoreClientAPI)api).Input.MouseYaw = 0.5f * GameMath.TWOPI; } if (byPlayer.Entity.Pos.AsBlockPos.South().Equals(adjacentTable)) { playerData.SetSittingDirection(Cardinal.South); ((ICoreClientAPI)api).Input.MouseYaw = 0.75f * GameMath.TWOPI; } if (byPlayer.Entity.Pos.AsBlockPos.North().Equals(adjacentTable)) { playerData.SetSittingDirection(Cardinal.North); ((ICoreClientAPI)api).Input.MouseYaw = 0.25f * GameMath.TWOPI; } } }
public override void StartClientSide(ICoreClientAPI api) { capi = api; clientChannel = api.Network .RegisterChannel("tpnet") .RegisterMessageType(typeof(ForTeleportingData)) .RegisterMessageType(typeof(TeleportMsg)) .SetMessageHandler <TeleportMsg>(OnClientReceiveTeleportMsg) ; }
/// <summary> /// Initializes the client side channel. Must be called at startup if SynchronizedBusSystem is disabled. /// </summary> /// <param name="capi">The Client API</param> public static void StartClientSide(ICoreClientAPI capi) { api = capi; if (clientChannel == null) { clientChannel = capi.Network.RegisterChannel("synchronizedbus") .RegisterMessageType <SynchronizedEvent>() .SetMessageHandler <SynchronizedEvent>(OnPacket); } }
public override void StartClientSide(ICoreClientAPI api) { clientApi = api; clientChannel = api.Network.RegisterChannel("networkapitest") .RegisterMessageType(typeof(NetworkApiTestMessage)) .RegisterMessageType(typeof(NetworkApiTestResponse)) .SetMessageHandler <NetworkApiTestMessage>(OnServerMessage) ; }
public override void StartClientSide(ICoreClientAPI api) { base.StartClientSide(api); api.Event.BlockTexturesLoaded += LoadNoise; clientChannel = api.Network.RegisterChannel("temporalstability") .RegisterMessageType(typeof(TemporalStormRunTimeData)) .SetMessageHandler <TemporalStormRunTimeData>(onServerData) ; }
public override void StartClientSide(ICoreClientAPI api) { this.capi = api; api.RegisterCommand("errorreporter", "Reopens the error reporting dialog", "[on|off]", ClientCmdErrorRep); api.Event.LevelFinalize += OnClientReady; clientChannel = api.Network.RegisterChannel("errorreporter") .RegisterMessageType(typeof(ServerLogEntries)) .SetMessageHandler <ServerLogEntries>(OnServerLogEntriesReceived) ; }
public override void StartClientSide(ICoreClientAPI api) { clientAPI = api; clientAPI.Event.MouseMove += OnMouseMove; clientAPI.Event.KeyDown += OnKeyDown; clientAPI.Event.PlayerJoin += OnPlayerJoinClient; clientChannel = api.Network.RegisterChannel("networksit") .RegisterMessageType(typeof(NetworkAnimationSit)) .SetMessageHandler <NetworkAnimationSit>(OnServerMessage) ; }
public override void StartClientSide(ICoreClientAPI api) { capi = api; api.Event.RegisterEventBusListener(OnConfigEventClient, 0.5, "configTeleporter"); clientChannel = api.Network.RegisterChannel("tpManager") .RegisterMessageType(typeof(TpLocations)) .RegisterMessageType(typeof(TeleporterLocation)) .RegisterMessageType(typeof(DidTeleport)) .SetMessageHandler <TpLocations>(OnLocationsReceived) .SetMessageHandler <DidTeleport>(OnTranslocateClient) ; }
public override void StartClientSide(ICoreClientAPI api) { this.capi = api; capi.Input.RegisterHotKey("journal", "Journal", GlKeys.J, HotkeyType.GUIOrOtherControls); capi.Input.SetHotKeyHandler("journal", OnHotkeyJournal); clientChannel = api.Network.RegisterChannel("journal") .RegisterMessageType(typeof(JournalEntry)) .RegisterMessageType(typeof(Journal)) .RegisterMessageType(typeof(JournalPiecce)) .SetMessageHandler <Journal>(OnJournalItemsReceived) .SetMessageHandler <JournalEntry>(OnJournalItemReceived) .SetMessageHandler <JournalPiecce>(OnJournalPieceReceived) ; }
private void PlayerStandUp(IPlayer byPlayer) { // Modify eye height byPlayer.Entity.Properties.SetEyeHeight(DEFAULTEYEHEIGHT); // Set sitting direction to something not used playerManager.GetOrAddPlayerData(byPlayer).SetSittingDirection(Cardinal.SouthWest); // Send packet to server to sync all clients IClientNetworkChannel networkChannel = (IClientNetworkChannel)api.Network.GetChannel("networksit"); networkChannel.SendPacket(new NetworkAnimationSit() { isSitting = false, playerUID = byPlayer.PlayerUID }); // Set player's status to not sitting PlayerManager.Instance.GetOrAddPlayerData(byPlayer).TogglePlayerSitting(); }
public override void StartClientSide(ICoreClientAPI api) { capi = api; api.Event.RegisterEventBusListener(OnConfigEventClient, 0.5, "configTeleporter"); clientChannel = api.Network.RegisterChannel("tpManager") .RegisterMessageType(typeof(TpLocations)) .RegisterMessageType(typeof(TeleporterLocation)) .RegisterMessageType(typeof(DidTeleport)) .SetMessageHandler <TpLocations>(OnLocationsReceived) .SetMessageHandler <DidTeleport>(OnTranslocateClient) ; api.Event.BlockTexturesLoaded += Event_BlockTexturesLoaded; api.Event.RegisterGameTickListener(OnClientTick, 50); api.Event.LeaveWorld += () => teleportingSound?.Dispose(); }
public override void Start(ICoreAPI api) { base.Start(api); this.api = api; if (api.World is IClientWorldAccessor) { clientChannel = ((ICoreClientAPI)api).Network.RegisterChannel("hangingwires") .RegisterMessageType(typeof(HangingWiresData)) .RegisterMessageType(typeof(AddConnectionPacket)) .SetMessageHandler <HangingWiresData>(onDataFromServer); } else { serverChannel = ((ICoreServerAPI)api).Network.RegisterChannel("hangingwires") .RegisterMessageType(typeof(HangingWiresData)) .RegisterMessageType(typeof(AddConnectionPacket)) .SetMessageHandler <AddConnectionPacket>(OnAddConnectionFromClient); } }
public override void StartClientSide(ICoreClientAPI capi) { this.capi = capi; clientChannel = capi.Network.RegisterChannel("weather") .RegisterMessageType(typeof(WeatherState)) .SetMessageHandler <WeatherState>(OnWeatherUpdate) ; capi.RegisterCommand("cdensity", "Set cloud density", "[density] (best values between -1 and 1)", cDensity); capi.RegisterCommand("clight", "Set global Cloud brightness", "global brightness (best values between 0 and 1)", cLight); //capi.RegisterCommand("crand", "Set large and small cloud noise.", "amp1 amp2 freq1 freq2 (best values between 0.5 and 20)", cRandom); capi.RegisterCommand("cviewdist", "Sets the cloud view distance. Will be reset when view distance in graphics settings are changed.", "dist (length in cloud tiles)", cTileLength); capi.RegisterCommand("weather", "Show current weather info", "", cmdWeatherClient); capi.Event.RegisterGameTickListener(OnGameTick, 50); capi.Event.LevelFinalize += InitWeatherSim; capi.Event.LeaveWorld += () => (cloudRenderer as CloudRenderer)?.Dispose(); }
public override void StartClientSide(ICoreClientAPI api) { base.StartClientSide(api); capi = api; capi.Event.BlockTexturesLoaded += OnLoaded; capi.Event.LevelFinalize += OnLvlFinalize; capi.Event.RegisterGameTickListener(OnClientTick, 20); capi.Settings.AddWatcher <bool>("showMinimapHud", (on) => { ToggleMap(EnumDialogType.HUD); }); capi.Event.LeaveWorld += () => { IsShuttingDown = true; int i = 0; while (mapLayerGenThread != null && mapLayerGenThread.IsAlive && i < 20) { Thread.Sleep(50); i++; } worldMapDlg?.Dispose(); foreach (var layer in MapLayers) { layer?.OnShutDown(); layer?.Dispose(); } }; clientChannel = api.Network.RegisterChannel("worldmap") .RegisterMessageType(typeof(MapLayerUpdate)) .RegisterMessageType(typeof(OnViewChangedPacket)) .RegisterMessageType(typeof(OnMapToggle)) .SetMessageHandler <MapLayerUpdate>(OnMapLayerDataReceivedClient) ; }
public override void StartClientSide(ICoreClientAPI api) { capi = api; cChannel = capi.Network.RegisterChannel("remapperchannel") .RegisterMessageType(typeof(Message)) .SetMessageHandler <Message>(a => { capi = api; MostLikely = JsonConvert.DeserializeObject <Dictionary <AssetLocation, AssetLocation> >(a.Assets); foreach (var item in MostLikely) { if (item.Key.GetBlock(capi) != null && item.Value.GetBlock(capi) != null) { capi.SendChatMessage("/bir remap " + item.Value + " " + item.Key + " force"); } else if (item.Key.GetItem(capi) != null && item.Value.GetItem(capi) != null) { capi.SendChatMessage("/iir remap " + item.Value + " " + item.Key + " force"); } } }); }
public MechNetworkManager(ICoreAPI api) { this.api = api; if (api.World is IClientWorldAccessor) { api.World.RegisterGameTickListener(OnClientGameTick, 20); clientNwChannel = ((ICoreClientAPI)api).Network.RegisterChannel("vsmechnetwork") .RegisterMessageType(typeof(MechNetworkPacket)) .SetMessageHandler <MechNetworkPacket>(OnPacket) ; } else { api.World.RegisterGameTickListener(OnServerGameTick, 20); serverNwChannel = ((ICoreServerAPI)api).Network.RegisterChannel("vsmechnetwork") .RegisterMessageType(typeof(MechNetworkPacket)) ; } }
public override void StartClientSide(ICoreClientAPI capi) { this.capi = capi; clientChannel = capi.Network.RegisterChannel("weather") .RegisterMessageType(typeof(WeatherState)) .SetMessageHandler <WeatherState>(OnWeatherUpdate) ; capi.Event.RegisterGameTickListener(OnClientGameTick, 50); capi.Event.LevelFinalize += LevelFinalizeInit; capi.Event.RegisterRenderer(this, EnumRenderStage.Before, "weatherSystem"); capi.Event.RegisterRenderer(this, EnumRenderStage.Done, "weatherSystem"); capi.Event.LeaveWorld += () => cloudRenderer?.Dispose(); blendedWeatherData.Ambient = new AmbientModifier().EnsurePopulated(); simSounds = new WeatherSimulationSound(capi as ICoreClientAPI, this); simParticles = new WeatherSimulationParticles(capi as ICoreClientAPI, this); simLightning = new WeatherSimulationLightning(capi as ICoreClientAPI, this); auroraRenderer = new AuroraRenderer(capi as ICoreClientAPI, this); }
public override void StartClientSide(ICoreClientAPI Api) { this.capi = Api; Api.Event.MouseDown += SendBlockAction; cChannel = Api.Network.RegisterChannel("iwcr").RegisterMessageType <IWCSPacket>().SetMessageHandler <IWCSPacket>(h => { if (h.DataType == EnumDataType.Recipes) { try { var recipe = JsonConvert.DeserializeObject <KeyValuePair <AssetLocation, InWorldCraftingRecipe[]> >(h.SerializedData, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore, NullValueHandling = NullValueHandling.Ignore }); InWorldCraftingRecipes.Add(recipe.Key, recipe.Value); } catch (Exception ex) { Api.World.Logger.Error("Exception thrown while receiving an In World Recipe packet: {0}, Data: {1}", ex, h?.SerializedData ?? ""); throw ex; } } }); }