static void HandleOnChatMessage(object sender, ChatMessageEventArgs e) { if (e.RawMessage.StartsWith("/")) { e.Handled = true; string command = e.RawMessage.Substring(1); if (command.Contains(" ")) command = command.Remove(command.IndexOf(' ')); command = command.ToLower(); switch (command) { case "under": try { e.Origin.SendChat("Block under you: " + minecraftServer.GetClientWorld(e.Origin).GetBlock( e.Origin.Entity.Position + Vector3.Down).GetType().Name); } catch { } break; case "ping": e.Origin.SendChat("Pong"); break; } } }
public override void HandlePacket(MinecraftServer server, MinecraftClient client) { server.Log("<" + client.Username + "> " + Message); var args = new ChatMessageEventArgs(client, Message); server.FireOnChatMessage(args); if (!args.Handled) server.SendChat("<" + client.Username + "> " + Message); }
public override void HandlePacket(MinecraftServer Server, ref MinecraftClient Client) { Server.Log("<" + Client.Username + "> " + Message); ChatMessageEventArgs args = new ChatMessageEventArgs(Client, Message); Server.FireOnChatMessage(args); if (!args.Handled) Server.SendChat("<" + Client.Username + "> " + Message); }
public override void HandlePacket(MinecraftServer server, MinecraftClient client) { LogProvider.Log("<" + client.Username + "> " + Message, LogImportance.Medium); var args = new ChatMessageEventArgs(client, Message); server.OnChatMessage(args); if (!args.Handled) server.SendChat("<" + client.Username + "> " + Message); }
public static void ChatMessage(MinecraftClient client, MinecraftServer server, IPacket _packet) { var packet = (ChatMessagePacket)_packet; LogProvider.Log("<" + client.Username + "> " + packet.Message, LogImportance.Medium); var args = new ChatMessageEventArgs(client, packet.Message); server.OnChatMessage(args); if (!args.Handled) server.SendChat("<" + client.Username + "> " + packet.Message); }
static void server_ChatMessage(object sender, ChatMessageEventArgs e) { if (e.RawMessage.StartsWith("/")) { e.Handled = true; if (e.RawMessage == "/creative") e.Origin.GameMode = GameMode.Creative; else if (e.RawMessage == "/survival") e.Origin.GameMode = GameMode.Survival; } }
static void HandleOnChatMessage(object sender, ChatMessageEventArgs e) { if (e.RawMessage.StartsWith("/")) { e.Handled = true; string command = e.RawMessage.Substring(1); if (command.Contains(" ")) command = command.Remove(command.IndexOf(' ')); command = command.ToLower(); switch (command) { case "under": try { e.Origin.SendChat("Block under you: " + minecraftServer.GetClientWorld(e.Origin).GetBlock( e.Origin.Entity.Position + Vector3.Down).GetType().Name); } catch { } break; case "ping": e.Origin.SendChat("Pong"); break; case "lightning": minecraftServer.SpawnLightning(minecraftServer.GetClientWorld(e.Origin), e.Origin.Entity.Position); break; case "velocity": e.Origin.SendChat(e.Origin.Entity.Velocity.ToString()); break; case "save": minecraftServer.DefaultWorld.Regions[Vector3.Zero].Save(); break; case "time": var clients = minecraftServer.GetClientsInWorld(minecraftServer.GetClientWorld(e.Origin)); minecraftServer.GetLevel(minecraftServer.GetClientWorld(e.Origin)).Time = 18000; foreach (var minecraftClient in clients) minecraftClient.SendPacket(new TimeUpdatePacket(18000)); break; case "kill": e.Origin.Entity.Health = 0; break; case "survival": e.Origin.Entity.GameMode = GameMode.Survival; break; case "creative": e.Origin.Entity.GameMode = GameMode.Creative; break; } } }
static void server_ChatMessage(object sender, ChatMessageEventArgs e) { if (e.RawMessage.StartsWith("/")) { e.Handled = true; if (e.RawMessage == "/creative") e.Origin.GameMode = GameMode.Creative; else if (e.RawMessage == "/survival") e.Origin.GameMode = GameMode.Survival; else if (e.RawMessage == "/world2") server.MoveClientToWorld(e.Origin, server.GetWorld("test")); else if (e.RawMessage == "/world1") server.MoveClientToWorld(e.Origin, server.GetWorld("region")); } }
private void OnPlayerChatMessage (object s, ChatMessageEventArgs e) { e.Handled = true; /*var message = JsonConvert.DeserializeObject<DeserializedChatMessage> (e.RawMessage).text; if (e.RawMessage.Equals ("/stop")) { this.SendChat (e.Origin.Username + " has stopped the server."); this.Stop (); } else this.SendChat (string.Format ("Message: {1}", message)); */ this.SendChat (string.Format ("<{0}> {1}", e.Origin.Username, e.RawMessage)); if (e.RawMessage == "/stop" && e.Origin.Username == "mypalsminecraft") { this.SendChat (string.Format ("{0} has stopped the server.", e.Origin.Username)); this.Stop (); } }
public static void ChatMessage(RemoteClient client, MinecraftServer server, IPacket _packet) { var packet = (ChatMessagePacket)_packet; //LogProvider.Log("<" + client.Username + "> " + packet.Message, LogImportance.Medium); var args = new ChatMessageEventArgs(client, packet.Message); server.OnChatMessage(args); if (!args.Handled) { //var team = server.ScoreboardManager.GetPlayerTeam(client.Username); string chat; //if (team != null) // chat = string.Format("<{0}{1}{2}> {3}", team.PlayerPrefix, client.Username, team.PlayerSuffix, packet.Message); //else chat = string.Format("<{0}> {1}", client.Username, packet.Message); server.SendChat(chat); } }
private void OnChatMessage(object sender, ChatMessageEventArgs chatMessageEventArgs) { if (chatMessageEventArgs.RawMessage.StartsWith("/")) { chatMessageEventArgs.Handled = true; string command = chatMessageEventArgs.RawMessage.Substring(1); string[] parameters = command.Split(' '); command = parameters[0]; switch (command) { case "exit": Program.ExitReset.Set(); break; case "publish": OpenLocalServer(); break; } } }
internal void FireOnChatMessage(ChatMessageEventArgs e) { if (ChatMessage != null) ChatMessage(this, e); }
void HandleChatMessage(object sender, ChatMessageEventArgs e) { if (!Evaluators.ContainsKey(e.Origin.Username)) return; e.Handled = true; object result; bool result_set; if (ReplContext.LongExpression && e.RawMessage != ">>>") { ReplContext.WorkingExpression += e.RawMessage; e.Origin.SendChat(ChatColors.Yellow + e.RawMessage); return; } if (e.RawMessage == "<<<") { ReplContext.LongExpression = true; ReplContext.WorkingExpression = string.Empty; return; } if (e.RawMessage.EndsWith("\\")) { ReplContext.WorkingExpression += e.RawMessage.Remove(e.RawMessage.Length - 1); return; } if (!ReplContext.LongExpression) ReplContext.WorkingExpression += e.RawMessage; else ReplContext.LongExpression = false; try { Evaluators[e.Origin.Username].Evaluate(ReplContext.WorkingExpression, out result, out result_set); if (result_set) e.Origin.SendChat(result.ToString()); } catch (Exception) { // ...will be sent to the user by Mono.CSharp... } ReplContext.WorkingExpression = string.Empty; }
static void HandleOnChatMessage(object sender, ChatMessageEventArgs e) { if (e.RawMessage.StartsWith("/")) { e.Handled = true; string command = e.RawMessage.Substring(1); string[] parameters = null; if (command.Contains(" ")) { parameters = command.Substring(command.IndexOf(' ') + 1).Split(' '); command = command.Remove(command.IndexOf(' ')); } command = command.ToLower(); switch (command) { case "under": try { e.Origin.SendChat("Block under you: " + e.Origin.World.GetBlock(e.Origin.Entity.Position + Vector3.Down).GetType().Name); } catch { } break; case "ping": e.Origin.SendChat("Pong"); break; case "lightning": minecraftServer.GetWeatherManagerForWorld(minecraftServer.DefaultWorld) .SpawnLightning(e.Origin.Entity.Position); break; case "velocity": e.Origin.SendChat(e.Origin.Entity.Velocity.ToString()); break; case "save": minecraftServer.DefaultWorld.Regions[Vector3.Zero].Save(); break; case "time": var clients = minecraftServer.EntityManager.GetClientsInWorld(e.Origin.World); minecraftServer.GetLevel(e.Origin.World).Time = 18000; foreach (var minecraftClient in clients) minecraftClient.SendPacket(new TimeUpdatePacket(18000, 18000)); break; case "kill": e.Origin.Entity.Health = 0; break; case "survival": e.Origin.Entity.GameMode = GameMode.Survival; break; case "creative": e.Origin.Entity.GameMode = GameMode.Creative; break; case "spawn": // TODO: Why does this mess up stance minecraftServer.EntityManager.TeleportEntity(e.Origin.Entity, e.Origin.Entity.SpawnPoint); break; case "jump": e.Origin.Entity.Velocity = new Vector3(0, 10, 0); break; case "forward": Vector3 velocity = MathHelper.RotateY(Vector3.Forwards * 5, MathHelper.DegreesToRadians(e.Origin.Entity.Yaw)); e.Origin.Entity.Velocity = velocity; e.Origin.SendChat(e.Origin.Entity.Yaw.ToString(CultureInfo.InvariantCulture)); break; case "flying": e.Origin.Entity.Abilities.MayFly = !e.Origin.Entity.Abilities.MayFly; break; case "instantmine": e.Origin.Entity.Abilities.InstantMine = !e.Origin.Entity.Abilities.InstantMine; break; case "hunger": e.Origin.Entity.Food--; break; case "damage": e.Origin.Entity.Health--; break; case "se": e.Origin.SendPacket(new NamedSoundEffectPacket(e.RawMessage.Substring(4), (int)e.Origin.Entity.Position.X, (int)e.Origin.Entity.Position.Y, (int)e.Origin.Entity.Position.Z, 1.0f, 63)); // TODO: Write 63 down somewhere break; case "destroy": minecraftServer.DefaultWorld.SetBlock(new Vector3(0, 10, 0), new AirBlock()); break; case "give": try { var type = ((Block)int.Parse(parameters[0])).GetType(); var item = (Item)Activator.CreateInstance(type); e.Origin.Entity.SetSlot(InventoryWindow.HotbarIndex, new ItemStack(item.Id, 1)); } catch { } break; case "relight": e.Origin.World.Relight(); e.Origin.SendChat("World relit."); break; } } }
protected internal virtual void OnChatMessage(ChatMessageEventArgs e) { if (ChatMessage != null) ChatMessage(this, e); }
private void MinecraftServerOnChatMessage(object sender, ChatMessageEventArgs chatMessageEventArgs) { chatMessageEventArgs.Handled = true; MinecraftServer.SendChat(string.Format(SettingsProvider.Get<string>("chat.format"), chatMessageEventArgs.Origin.Username, chatMessageEventArgs.RawMessage)); }
private void MinecraftServerOnChatMessage(object sender, ChatMessageEventArgs chatMessageEventArgs) { var internalArgs = new ChatMessageEventArgs(chatMessageEventArgs.Origin, chatMessageEventArgs.RawMessage); if (ChatMessage != null) { ChatMessage(this, internalArgs); if (internalArgs.Handled) { chatMessageEventArgs.Handled = true; return; } } chatMessageEventArgs.Handled = true; if (chatMessageEventArgs.RawMessage.StartsWith("/")) { if (chatMessageEventArgs.RawMessage.StartsWith("//")) { MinecraftServer.SendChat(string.Format(SettingsProvider.Get<string>("chat.format"), chatMessageEventArgs.Origin.Username, chatMessageEventArgs.RawMessage.Substring(1))); } else Command.ExecuteCommand(this, chatMessageEventArgs.Origin, chatMessageEventArgs.RawMessage); } else { MinecraftServer.SendChat(string.Format(SettingsProvider.Get<string>("chat.format"), chatMessageEventArgs.Origin.Username, chatMessageEventArgs.RawMessage)); } }
static void HandleOnChatMessage(object sender, ChatMessageEventArgs e) { if (e.RawMessage.StartsWith("/")) { e.Handled = true; string command = e.RawMessage.Substring(1); string[] parameters = null; if (command.Contains(" ")) { parameters = command.Substring(command.IndexOf(' ') + 1).Split(' '); command = command.Remove(command.IndexOf(' ')); } command = command.ToLower(); switch (command) { case "under": try { e.Origin.SendChat("Block under you: " + e.Origin.World.GetBlock(e.Origin.Entity.Position + Vector3.Down).GetType().Name); } catch { } break; case "ping": e.Origin.SendChat("Pong"); break; case "lightning": minecraftServer.GetWeatherManagerForWorld(minecraftServer.DefaultWorld) .SpawnLightning(e.Origin.Entity.Position); break; case "velocity": e.Origin.SendChat(e.Origin.Entity.Velocity.ToString()); break; case "save": minecraftServer.DefaultWorld.Regions[Vector3.Zero].Save(); break; case "time": var clients = minecraftServer.EntityManager.GetClientsInWorld(e.Origin.World); minecraftServer.GetLevel(e.Origin.World).Time = 18000; foreach (var minecraftClient in clients) minecraftClient.SendPacket(new TimeUpdatePacket(18000, 18000)); break; case "kill": e.Origin.Entity.Health = 0; break; case "survival": e.Origin.Entity.GameMode = GameMode.Survival; break; case "creative": e.Origin.Entity.GameMode = GameMode.Creative; break; case "spawn": // TODO: Why does this mess up stance minecraftServer.EntityManager.TeleportEntity(e.Origin.Entity, e.Origin.Entity.SpawnPoint); break; case "jump": e.Origin.Entity.Velocity = new Vector3(0, 10, 0); break; case "forward": Vector3 velocity = MathHelper.RotateY(Vector3.Forwards * 5, MathHelper.DegreesToRadians(e.Origin.Entity.Yaw)); e.Origin.Entity.Velocity = velocity; e.Origin.SendChat(e.Origin.Entity.Yaw.ToString(CultureInfo.InvariantCulture)); break; case "flying": e.Origin.Entity.Abilities.MayFly = !e.Origin.Entity.Abilities.MayFly; break; case "instantmine": e.Origin.Entity.Abilities.InstantMine = !e.Origin.Entity.Abilities.InstantMine; break; case "hunger": e.Origin.Entity.Food--; break; case "damage": e.Origin.Entity.Health--; break; case "se": e.Origin.SendPacket(new NamedSoundEffectPacket(e.RawMessage.Substring(4), (int)e.Origin.Entity.Position.X, (int)e.Origin.Entity.Position.Y, (int)e.Origin.Entity.Position.Z, 1.0f, 63)); // TODO: Write 63 down somewhere break; case "destroy": minecraftServer.DefaultWorld.SetBlock(new Vector3(0, 10, 0), new AirBlock()); break; case "give": try { var type = ((Block)int.Parse(parameters[0])).GetType(); var item = (Item)Activator.CreateInstance(type); e.Origin.Entity.SetSlot(InventoryWindow.HotbarIndex, new ItemStack(item.Id, 1)); } catch { } break; case "relight": e.Origin.World.Relight(); e.Origin.SendChat("World relit."); break; case "createboard": var board = minecraftServer.ScoreboardManager.CreateScoreboard("test", "Scoreboard"); minecraftServer.ScoreboardManager.DisplayScoreboard(board, DisplayScoreboardPacket.ScoreboardPosition.Sidebar); board.AddScore("Test", 1234); break; case "updateboard": minecraftServer.ScoreboardManager["test"]["Test"]++; break; case "removeboard": minecraftServer.ScoreboardManager.RemoveScoreboard("test"); break; case "createteam": minecraftServer.ScoreboardManager.CreateTeam(parameters[0], parameters[1], true, ChatColors.Delimiter + parameters[2], ChatColors.Plain); break; case "setteam": var team = minecraftServer.ScoreboardManager.GetTeam(parameters[0]); team.AddPlayers(parameters.Skip(1).ToArray()); break; case "toggledownfall": var weatherManager = minecraftServer.GetWeatherManagerForWorld(e.Origin.World); weatherManager.IsRainActive = !weatherManager.IsRainActive; break; case "setchunkbiomesnow": var chunk = e.Origin.World.GetChunk(e.Origin.Entity.Position / 16); for (byte x = 0; x < 16; x++) { for (byte z = 0; z < 16; z++) { chunk.SetBiome(x, z, Biome.IcePlains); } } foreach (var client in minecraftServer.EntityManager.GetClientsInWorld(e.Origin.World).ToArray()) { if (client.LoadedChunks.Contains(chunk.AbsolutePosition / 16)) { client.UnloadChunk(chunk.AbsolutePosition / 16); client.LoadChunk(chunk.AbsolutePosition / 16); } } break; case "biome": chunk = e.Origin.World.GetChunk(e.Origin.Entity.Position); e.Origin.SendChat(chunk.GetBiome(0, 0).ToString()); break; } } }