From 2d145331726960430902896d85f8fac7fc6ba87d Mon Sep 17 00:00:00 2001 From: Lucas Nicodemus Date: Wed, 19 Apr 2017 18:21:34 -0600 Subject: [PATCH] Terraria 1.3.5 changes compile (NO GUARANTEES ON EXECUTING) --- TShockAPI/Commands.cs | 5 +- TShockAPI/GetDataHandlers.cs | 31 ++- TShockAPI/PlayerData.cs | 59 ++--- TShockAPI/TSPlayer.cs | 17 +- TShockAPI/TSServerPlayer.cs | 17 +- TShockAPI/TShock.cs | 23 +- TShockAPI/Utils.cs | 414 +++++++++++++++++------------------ 7 files changed, 279 insertions(+), 287 deletions(-) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 33d20ee1..292af8e9 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -27,6 +27,7 @@ using System.Text; using System.Threading; using Terraria; using Terraria.ID; +using Terraria.Localization; using TShockAPI.DB; using TerrariaApi.Server; using TShockAPI.Hooks; @@ -5343,8 +5344,8 @@ namespace TShockAPI { if (Main.npc[i].active && ((npcId == 0 && !Main.npc[i].townNPC) || (Main.npc[i].netID == npcId && Main.npc[i].townNPC))) { - Main.npc[i].displayName = args.Parameters[1]; - NetMessage.SendData(56, -1, -1, args.Parameters[1], i, 0f, 0f, 0f, 0); + Main.npc[i].GivenName = args.Parameters[1]; + NetMessage.SendData(56, -1, -1, NetworkText.FromLiteral(args.Parameters[1]), i, 0f, 0f, 0f, 0); done++; } } diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 62107f3b..cb94ef20 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -32,6 +32,7 @@ using Terraria; using Terraria.ObjectData; using Terraria.DataStructures; using Terraria.GameContent.Tile_Entities; +using Terraria.Localization; using Microsoft.Xna.Framework; using OTAPI.Tile; @@ -1494,7 +1495,7 @@ namespace TShockAPI args.Player.TPlayer.hideVisual[i] = hideVisual2[i]; args.Player.TPlayer.hideMisc = hideMisc; args.Player.TPlayer.extraAccessory = extraSlot; - NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, args.Player.Index, args.Player.Name, args.Player.Index); + NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, args.Player.Index, NetworkText.FromLiteral(args.Player.Name), args.Player.Index); return true; } if (TShock.Config.MediumcoreOnly && difficulty < 1) @@ -1678,7 +1679,7 @@ namespace TShockAPI return true; } - NetMessage.SendData((int)PacketTypes.TimeSet, -1, -1, "", Main.dayTime ? 1 : 0, (int)Main.time, Main.sunModY, Main.moonModY); + NetMessage.SendData((int)PacketTypes.TimeSet, -1, -1, NetworkText.FromLiteral(""), Main.dayTime ? 1 : 0, (int)Main.time, Main.sunModY, Main.moonModY); return false; } @@ -2719,13 +2720,11 @@ namespace TShockAPI args.TPlayer.Update(args.TPlayer.whoAmI); - NetMessage.SendData((int)PacketTypes.PlayerUpdate, -1, -1, "", args.Player.Index); + NetMessage.SendData((int)PacketTypes.PlayerUpdate, -1, -1, NetworkText.FromLiteral(""), args.Player.Index); return true; } - - - NetMessage.SendData((int)PacketTypes.PlayerUpdate, -1, args.Player.Index, "", args.Player.Index); + NetMessage.SendData((int)PacketTypes.PlayerUpdate, -1, args.Player.Index, NetworkText.FromLiteral(""), args.Player.Index); return true; } @@ -2981,7 +2980,7 @@ namespace TShockAPI if (OnKillMe(id, direction, dmg, pvp)) return true; - if (playerDeathReason.GetDeathText().Length > 500) + if (playerDeathReason.GetDeathText(TShock.Players[id].Name).ToString().Length > 500) { TShock.Utils.Kick(TShock.Players[id], "Crash attempt", true); return true; @@ -3478,7 +3477,7 @@ namespace TShockAPI return true; } - if (prefix > Item.maxPrefixes) //make sure the prefix is a legit value + if (prefix > PrefixID.Count) //make sure the prefix is a legit value { args.Player.SendData(PacketTypes.ItemDrop, "", id); return true; @@ -3830,7 +3829,7 @@ namespace TShockAPI } - NetMessage.SendData((int)PacketTypes.PlayerBuff, -1, args.Player.Index, "", args.Player.Index); + NetMessage.SendData((int)PacketTypes.PlayerBuff, -1, args.Player.Index, NetworkText.FromLiteral(""), args.Player.Index); return true; } @@ -4259,7 +4258,7 @@ namespace TShockAPI if (Main.npc[npcID]?.catchItem == 0) { Main.npc[npcID].active = true; - NetMessage.SendData((int)PacketTypes.NpcUpdate, -1, -1, "", npcID); + NetMessage.SendData((int)PacketTypes.NpcUpdate, -1, -1, NetworkText.FromLiteral(""), npcID); return true; } @@ -4276,13 +4275,13 @@ namespace TShockAPI if (projectile == null || !projectile.active) { - NetMessage.SendData((int)PacketTypes.NpcUpdate, -1, -1, "", npcIndex); + NetMessage.SendData((int)PacketTypes.NpcUpdate, -1, -1, NetworkText.FromLiteral(""), npcIndex); return true; } if (projectile.type != ProjectileID.PortalGunGate) { - NetMessage.SendData((int)PacketTypes.NpcUpdate, -1, -1, "", npcIndex); + NetMessage.SendData((int)PacketTypes.NpcUpdate, -1, -1, NetworkText.FromLiteral(""), npcIndex); return true; } @@ -4347,25 +4346,25 @@ namespace TShockAPI if (TShock.CheckIgnores(args.Player)) { - NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, "", itemFrame.ID, 0, 1); + NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, NetworkText.FromLiteral(""), itemFrame.ID, 0, 1); return true; } if (TShock.CheckTilePermission(args.Player, x, y)) { - NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, "", itemFrame.ID, 0, 1); + NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, NetworkText.FromLiteral(""), itemFrame.ID, 0, 1); return true; } if (TShock.CheckRangePermission(args.Player, x, y)) { - NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, "", itemFrame.ID, 0, 1); + NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, NetworkText.FromLiteral(""), itemFrame.ID, 0, 1); return true; } if (itemFrame.item?.netID == args.TPlayer.inventory[args.TPlayer.selectedItem]?.netID) { - NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, "", itemFrame.ID, 0, 1); + NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, NetworkText.FromLiteral(""), itemFrame.ID, 0, 1); return true; } diff --git a/TShockAPI/PlayerData.cs b/TShockAPI/PlayerData.cs index de5f68ed..ec7aa379 100644 --- a/TShockAPI/PlayerData.cs +++ b/TShockAPI/PlayerData.cs @@ -19,6 +19,7 @@ along with this program. If not, see . using Microsoft.Xna.Framework; using Terraria; using TShockAPI; +using Terraria.Localization; namespace TShockAPI { @@ -340,99 +341,99 @@ namespace TShockAPI float slot = 0f; for (int k = 0; k < NetItem.InventorySlots; k++) { - NetMessage.SendData(5, -1, -1, Main.player[player.Index].inventory[k].Name, player.Index, slot, (float)Main.player[player.Index].inventory[k].prefix); + NetMessage.SendData(5, -1, -1, NetworkText.FromLiteral(Main.player[player.Index].inventory[k].Name), player.Index, slot, (float)Main.player[player.Index].inventory[k].prefix); slot++; } for (int k = 0; k < NetItem.ArmorSlots; k++) { - NetMessage.SendData(5, -1, -1, Main.player[player.Index].armor[k].Name, player.Index, slot, (float)Main.player[player.Index].armor[k].prefix); + NetMessage.SendData(5, -1, -1, NetworkText.FromLiteral(Main.player[player.Index].armor[k].Name), player.Index, slot, (float)Main.player[player.Index].armor[k].prefix); slot++; } for (int k = 0; k < NetItem.DyeSlots; k++) { - NetMessage.SendData(5, -1, -1, Main.player[player.Index].dye[k].Name, player.Index, slot, (float)Main.player[player.Index].dye[k].prefix); + NetMessage.SendData(5, -1, -1, NetworkText.FromLiteral(Main.player[player.Index].dye[k].Name), player.Index, slot, (float)Main.player[player.Index].dye[k].prefix); slot++; } for (int k = 0; k < NetItem.MiscEquipSlots; k++) { - NetMessage.SendData(5, -1, -1, Main.player[player.Index].miscEquips[k].Name, player.Index, slot, (float)Main.player[player.Index].miscEquips[k].prefix); + NetMessage.SendData(5, -1, -1, NetworkText.FromLiteral(Main.player[player.Index].miscEquips[k].Name), player.Index, slot, (float)Main.player[player.Index].miscEquips[k].prefix); slot++; } for (int k = 0; k < NetItem.MiscDyeSlots; k++) { - NetMessage.SendData(5, -1, -1, Main.player[player.Index].miscDyes[k].Name, player.Index, slot, (float)Main.player[player.Index].miscDyes[k].prefix); + NetMessage.SendData(5, -1, -1, NetworkText.FromLiteral(Main.player[player.Index].miscDyes[k].Name), player.Index, slot, (float)Main.player[player.Index].miscDyes[k].prefix); slot++; } for (int k = 0; k < NetItem.PiggySlots; k++) { - NetMessage.SendData(5, -1, -1, Main.player[player.Index].bank.item[k].Name, player.Index, slot, (float)Main.player[player.Index].bank.item[k].prefix); + NetMessage.SendData(5, -1, -1, NetworkText.FromLiteral(Main.player[player.Index].bank.item[k].Name), player.Index, slot, (float)Main.player[player.Index].bank.item[k].prefix); slot++; } for (int k = 0; k < NetItem.SafeSlots; k++) { - NetMessage.SendData(5, -1, -1, Main.player[player.Index].bank2.item[k].Name, player.Index, slot, (float)Main.player[player.Index].bank2.item[k].prefix); + NetMessage.SendData(5, -1, -1, NetworkText.FromLiteral(Main.player[player.Index].bank2.item[k].Name), player.Index, slot, (float)Main.player[player.Index].bank2.item[k].prefix); slot++; } - NetMessage.SendData(5, -1, -1, Main.player[player.Index].trashItem.Name, player.Index, slot++, (float)Main.player[player.Index].trashItem.prefix); + NetMessage.SendData(5, -1, -1, NetworkText.FromLiteral(Main.player[player.Index].trashItem.Name), player.Index, slot++, (float)Main.player[player.Index].trashItem.prefix); for (int k = 0; k < NetItem.ForgeSlots; k++) { - NetMessage.SendData(5, -1, -1, Main.player[player.Index].bank3.item[k].Name, player.Index, slot, (float)Main.player[player.Index].bank3.item[k].prefix); + NetMessage.SendData(5, -1, -1, NetworkText.FromLiteral(Main.player[player.Index].bank3.item[k].Name), player.Index, slot, (float)Main.player[player.Index].bank3.item[k].prefix); slot++; } - NetMessage.SendData(4, -1, -1, player.Name, player.Index, 0f, 0f, 0f, 0); - NetMessage.SendData(42, -1, -1, "", player.Index, 0f, 0f, 0f, 0); - NetMessage.SendData(16, -1, -1, "", player.Index, 0f, 0f, 0f, 0); + NetMessage.SendData(4, -1, -1, NetworkText.FromLiteral(player.Name), player.Index, 0f, 0f, 0f, 0); + NetMessage.SendData(42, -1, -1, NetworkText.FromLiteral(""), player.Index, 0f, 0f, 0f, 0); + NetMessage.SendData(16, -1, -1, NetworkText.FromLiteral(""), player.Index, 0f, 0f, 0f, 0); slot = 0f; for (int k = 0; k < NetItem.InventorySlots; k++) { - NetMessage.SendData(5, player.Index, -1, Main.player[player.Index].inventory[k].Name, player.Index, slot, (float)Main.player[player.Index].inventory[k].prefix); + NetMessage.SendData(5, player.Index, -1, NetworkText.FromLiteral(Main.player[player.Index].inventory[k].Name), player.Index, slot, (float)Main.player[player.Index].inventory[k].prefix); slot++; } for (int k = 0; k < NetItem.ArmorSlots; k++) { - NetMessage.SendData(5, player.Index, -1, Main.player[player.Index].armor[k].Name, player.Index, slot, (float)Main.player[player.Index].armor[k].prefix); + NetMessage.SendData(5, player.Index, -1, NetworkText.FromLiteral(Main.player[player.Index].armor[k].Name), player.Index, slot, (float)Main.player[player.Index].armor[k].prefix); slot++; } for (int k = 0; k < NetItem.DyeSlots; k++) { - NetMessage.SendData(5, player.Index, -1, Main.player[player.Index].dye[k].Name, player.Index, slot, (float)Main.player[player.Index].dye[k].prefix); + NetMessage.SendData(5, player.Index, -1, NetworkText.FromLiteral(Main.player[player.Index].dye[k].Name), player.Index, slot, (float)Main.player[player.Index].dye[k].prefix); slot++; } for (int k = 0; k < NetItem.MiscEquipSlots; k++) { - NetMessage.SendData(5, player.Index, -1, Main.player[player.Index].miscEquips[k].Name, player.Index, slot, (float)Main.player[player.Index].miscEquips[k].prefix); + NetMessage.SendData(5, player.Index, -1, NetworkText.FromLiteral(Main.player[player.Index].miscEquips[k].Name), player.Index, slot, (float)Main.player[player.Index].miscEquips[k].prefix); slot++; } for (int k = 0; k < NetItem.MiscDyeSlots; k++) { - NetMessage.SendData(5, player.Index, -1, Main.player[player.Index].miscDyes[k].Name, player.Index, slot, (float)Main.player[player.Index].miscDyes[k].prefix); + NetMessage.SendData(5, player.Index, -1, NetworkText.FromLiteral(Main.player[player.Index].miscDyes[k].Name), player.Index, slot, (float)Main.player[player.Index].miscDyes[k].prefix); slot++; } for (int k = 0; k < NetItem.PiggySlots; k++) { - NetMessage.SendData(5, player.Index, -1, Main.player[player.Index].bank.item[k].Name, player.Index, slot, (float)Main.player[player.Index].bank.item[k].prefix); + NetMessage.SendData(5, player.Index, -1, NetworkText.FromLiteral(Main.player[player.Index].bank.item[k].Name), player.Index, slot, (float)Main.player[player.Index].bank.item[k].prefix); slot++; } for (int k = 0; k < NetItem.SafeSlots; k++) { - NetMessage.SendData(5, player.Index, -1, Main.player[player.Index].bank2.item[k].Name, player.Index, slot, (float)Main.player[player.Index].bank2.item[k].prefix); + NetMessage.SendData(5, player.Index, -1, NetworkText.FromLiteral(Main.player[player.Index].bank2.item[k].Name), player.Index, slot, (float)Main.player[player.Index].bank2.item[k].prefix); slot++; } - NetMessage.SendData(5, player.Index, -1, Main.player[player.Index].trashItem.Name, player.Index, slot++, (float)Main.player[player.Index].trashItem.prefix); + NetMessage.SendData(5, player.Index, -1, NetworkText.FromLiteral(Main.player[player.Index].trashItem.Name), player.Index, slot++, (float)Main.player[player.Index].trashItem.prefix); for (int k = 0; k < NetItem.ForgeSlots; k++) { - NetMessage.SendData(5, player.Index, -1, Main.player[player.Index].bank3.item[k].Name, player.Index, slot, (float)Main.player[player.Index].bank3.item[k].prefix); + NetMessage.SendData(5, player.Index, -1, NetworkText.FromLiteral(Main.player[player.Index].bank3.item[k].Name), player.Index, slot, (float)Main.player[player.Index].bank3.item[k].prefix); slot++; } - NetMessage.SendData(4, player.Index, -1, player.Name, player.Index, 0f, 0f, 0f, 0); - NetMessage.SendData(42, player.Index, -1, "", player.Index, 0f, 0f, 0f, 0); - NetMessage.SendData(16, player.Index, -1, "", player.Index, 0f, 0f, 0f, 0); + NetMessage.SendData(4, player.Index, -1, NetworkText.FromLiteral(player.Name), player.Index, 0f, 0f, 0f, 0); + NetMessage.SendData(42, player.Index, -1, NetworkText.FromLiteral(""), player.Index, 0f, 0f, 0f, 0); + NetMessage.SendData(16, player.Index, -1, NetworkText.FromLiteral(""), player.Index, 0f, 0f, 0f, 0); for (int k = 0; k < 22; k++) { @@ -445,13 +446,13 @@ namespace TShockAPI * This is for when players login via uuid or serverpassword instead of via * the login command. */ - NetMessage.SendData(50, -1, -1, "", player.Index, 0f, 0f, 0f, 0); - NetMessage.SendData(50, player.Index, -1, "", player.Index, 0f, 0f, 0f, 0); + NetMessage.SendData(50, -1, -1, NetworkText.FromLiteral(""), player.Index, 0f, 0f, 0f, 0); + NetMessage.SendData(50, player.Index, -1, NetworkText.FromLiteral(""), player.Index, 0f, 0f, 0f, 0); - NetMessage.SendData(76, player.Index, -1, "", player.Index); - NetMessage.SendData(76, -1, -1, "", player.Index); + NetMessage.SendData(76, player.Index, -1, NetworkText.FromLiteral(""), player.Index); + NetMessage.SendData(76, -1, -1, NetworkText.FromLiteral(""), player.Index); - NetMessage.SendData(39, player.Index, -1, "", 400); + NetMessage.SendData(39, player.Index, -1, NetworkText.FromLiteral(""), 400); } } } diff --git a/TShockAPI/TSPlayer.cs b/TShockAPI/TSPlayer.cs index 26aee199..d5c0684c 100644 --- a/TShockAPI/TSPlayer.cs +++ b/TShockAPI/TSPlayer.cs @@ -29,6 +29,7 @@ using OTAPI.Tile; using Terraria; using Terraria.DataStructures; using Terraria.ID; +using Terraria.Localization; using TShockAPI.DB; using TShockAPI.Hooks; using TShockAPI.Net; @@ -745,7 +746,7 @@ namespace TShockAPI SendTileSquare((int) (x/16), (int) (y/16), 15); TPlayer.Teleport(new Vector2(x, y), style); - NetMessage.SendData((int)PacketTypes.Teleport, -1, -1, "", 0, TPlayer.whoAmI, x, y, style); + NetMessage.SendData((int)PacketTypes.Teleport, -1, -1, NetworkText.FromLiteral(""), 0, TPlayer.whoAmI, x, y, style); return true; } @@ -755,7 +756,7 @@ namespace TShockAPI /// Heal health amount. public void Heal(int health = 600) { - NetMessage.SendData((int)PacketTypes.PlayerHealOther, -1, -1, "", this.TPlayer.whoAmI, health); + NetMessage.SendData((int)PacketTypes.PlayerHealOther, -1, -1, NetworkText.FromLiteral(""), this.TPlayer.whoAmI, health); } /// @@ -905,8 +906,8 @@ namespace TShockAPI Main.item[itemid].prefix = (byte) prefix; Main.item[itemid].noGrabDelay = 1; Main.item[itemid].velocity = Main.player[this.Index].velocity; - NetMessage.SendData((int)PacketTypes.ItemDrop, -1, -1, "", itemid, 0f, 0f, 0f); - NetMessage.SendData((int)PacketTypes.ItemOwner, -1, -1, "", itemid, 0f, 0f, 0f); + NetMessage.SendData((int)PacketTypes.ItemDrop, -1, -1, NetworkText.FromLiteral(""), itemid, 0f, 0f, 0f); + NetMessage.SendData((int)PacketTypes.ItemOwner, -1, -1, NetworkText.FromLiteral(""), itemid, 0f, 0f, 0f); } /// @@ -1066,8 +1067,8 @@ namespace TShockAPI public virtual void SetTeam(int team) { Main.player[Index].team = team; - NetMessage.SendData((int)PacketTypes.PlayerTeam, -1, -1, "", Index); - NetMessage.SendData((int)PacketTypes.PlayerTeam, -1, Index, "", Index); + NetMessage.SendData((int)PacketTypes.PlayerTeam, -1, -1, NetworkText.FromLiteral(""), Index); + NetMessage.SendData((int)PacketTypes.PlayerTeam, -1, Index, NetworkText.FromLiteral(""), Index); } private DateTime LastDisableNotification = DateTime.UtcNow; @@ -1185,7 +1186,7 @@ namespace TShockAPI if (RealPlayer && !ConnectionAlive) return; - NetMessage.SendData((int) msgType, Index, -1, text, number, number2, number3, number4, number5); + NetMessage.SendData((int) msgType, Index, -1, NetworkText.FromFormattable(text), number, number2, number3, number4, number5); } /// @@ -1204,7 +1205,7 @@ namespace TShockAPI if (RealPlayer && !ConnectionAlive) return; - NetMessage.SendData((int) msgType, Index, -1, text, ply, number2, number3, number4, number5); + NetMessage.SendData((int) msgType, Index, -1, NetworkText.FromFormattable(text), ply, number2, number3, number4, number5); } /// diff --git a/TShockAPI/TSServerPlayer.cs b/TShockAPI/TSServerPlayer.cs index 8c6eac3b..1ed0cb9b 100644 --- a/TShockAPI/TSServerPlayer.cs +++ b/TShockAPI/TSServerPlayer.cs @@ -24,6 +24,7 @@ using Terraria; using Terraria.Utilities; using TShockAPI; using TShockAPI.DB; +using Terraria.Localization; namespace TShockAPI { @@ -152,15 +153,11 @@ namespace TShockAPI TShock.Utils.GetRandomClearTileWithInRange(startTileX, startTileY, tileXRange, tileYRange, out spawnTileX, out spawnTileY); int npcid = NPC.NewNPC(spawnTileX * 16, spawnTileY * 16, type, 0); - // This is for special slimes - if (type == 1) - { - Main.npc[npcid].SetDefaults(name); - } - else - { - Main.npc[npcid].netDefaults(type); - } + + // TODO: If special slimes break look at the git blame for this spot + // It's probably because I removed something that didn't work + Main.npc[npcid].SetDefaults(type); + } } @@ -171,7 +168,7 @@ namespace TShockAPI Main.rand = new UnifiedRandom(); Main.npc[npcid].StrikeNPC(damage, knockBack, hitDirection); - NetMessage.SendData((int)PacketTypes.NpcStrike, -1, -1, "", npcid, damage, knockBack, hitDirection); + NetMessage.SendData((int)PacketTypes.NpcStrike, -1, -1, NetworkText.FromLiteral(""), npcid, damage, knockBack, hitDirection); } public void RevertTiles(Dictionary tiles) diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index cac3470d..32881120 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -34,6 +34,7 @@ using Newtonsoft.Json; using Rests; using Terraria; using Terraria.ID; +using Terraria.Localization; using TerrariaApi.Server; using TShockAPI.DB; using TShockAPI.Hooks; @@ -710,16 +711,8 @@ namespace TShockAPI .AddFlag("-lang", (l) => { - int lang; - if (int.TryParse(l, out lang)) - { - Lang.lang = lang; - ServerApi.LogWriter.PluginWriteLine(this, string.Format("Language index set to {0}.", lang), TraceLevel.Verbose); - } - else - { - ServerApi.LogWriter.PluginWriteLine(this, "Invalid value given for command line argument \"-lang\".", TraceLevel.Warning); - } + LanguageManager.Instance.SetLanguage(l); + ServerApi.LogWriter.PluginWriteLine(this, string.Format("Language attempted to be set to {0}.", l), TraceLevel.Verbose); }) .AddFlag("-autocreate", (size) => @@ -735,7 +728,7 @@ namespace TShockAPI //Flags without arguments .AddFlag("-logclear", () => LogClear = true) .AddFlag("-autoshutdown", () => Main.instance.EnableAutoShutdown()) - .AddFlag("-dump", () => Utils.Dump()) + // .AddFlag("-dump", () => Utils.Dump()) .AddFlag("--stats-optout", () => StatTracker.OptOut = true) .AddFlag("--no-restart", () => NoRestart = true); @@ -1258,7 +1251,7 @@ namespace TShockAPI { if (ShuttingDown) { - NetMessage.SendData((int)PacketTypes.Disconnect, args.Who, -1, "Server is shutting down..."); + NetMessage.SendData((int)PacketTypes.Disconnect, args.Who, -1, NetworkText.FromLiteral("Server is shutting down...")); args.Handled = true; return; } @@ -1491,12 +1484,12 @@ namespace TShockAPI Player ply = Main.player[args.Who]; string name = ply.name; ply.name = String.Format(Config.ChatAboveHeadsFormat, tsplr.Group.Name, tsplr.Group.Prefix, tsplr.Name, tsplr.Group.Suffix); - NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, ply.name, args.Who, 0, 0, 0, 0); + NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, NetworkText.FromLiteral(ply.name), args.Who, 0, 0, 0, 0); ply.name = name; var text = args.Text; Hooks.PlayerHooks.OnPlayerChat(tsplr, args.Text, ref text); - NetMessage.SendData((int)PacketTypes.ChatText, -1, args.Who, text, args.Who, tsplr.Group.R, tsplr.Group.G, tsplr.Group.B); - NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, name, args.Who, 0, 0, 0, 0); + NetMessage.SendData((int)PacketTypes.ChatText, -1, args.Who, NetworkText.FromFormattable(text), args.Who, tsplr.Group.R, tsplr.Group.G, tsplr.Group.B); + NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, NetworkText.FromLiteral(name), args.Who, 0, 0, 0, 0); string msg = String.Format("<{0}> {1}", String.Format(Config.ChatAboveHeadsFormat, tsplr.Group.Name, tsplr.Group.Prefix, tsplr.Name, tsplr.Group.Suffix), diff --git a/TShockAPI/Utils.cs b/TShockAPI/Utils.cs index 3da5c92e..a019b8bc 100644 --- a/TShockAPI/Utils.cs +++ b/TShockAPI/Utils.cs @@ -403,7 +403,7 @@ namespace TShockAPI public NPC GetNPCById(int id) { NPC npc = new NPC(); - npc.netDefaults(id); + npc.SetDefaults(id); return npc; } @@ -419,7 +419,7 @@ namespace TShockAPI string nameLower = name.ToLower(); for (int i = -17; i < Main.maxNPCTypes; i++) { - npc.netDefaults(i); + npc.SetDefaults(i); if (npc.FullName.ToLower() == nameLower || npc.TypeName.ToLower() == nameLower) return new List { npc }; if (npc.FullName.ToLower().StartsWith(nameLower) || npc.TypeName.ToLower().StartsWith(nameLower)) @@ -480,7 +480,7 @@ namespace TShockAPI /// Prefix name public string GetPrefixById(int id) { - return id < FirstItemPrefix || id > LastItemPrefix ? "" : Lang.prefix[id] ?? ""; + return id < FirstItemPrefix || id > LastItemPrefix ? "" : Lang.prefix[id].ToString() ?? ""; } /// @@ -1166,237 +1166,237 @@ namespace TShockAPI return points; } - /// - /// Dumps information and optionally exits afterwards - /// - /// - public void Dump(bool exit = true) - { - PrepareLangForDump(); - Lang.setLang(true); - ConfigFile.DumpDescriptions(); - Permissions.DumpDescriptions(); - ServerSideCharacters.ServerSideConfig.DumpDescriptions(); - RestManager.DumpDescriptions(); - DumpBuffs("BuffList.txt"); - DumpItems("Items-1_0.txt", -48, 235); - DumpItems("Items-1_1.txt", 235, 604); - DumpItems("Items-1_2.txt", 604, 2749); - DumpItems("Items-1_3.txt", 2749, Main.maxItemTypes); - DumpNPCs("NPCs.txt"); - DumpProjectiles("Projectiles.txt"); - DumpPrefixes("Prefixes.txt"); - if (exit) - { - Environment.Exit(1); - } - } + // /// + // /// Dumps information and optionally exits afterwards + // /// + // /// + // public void Dump(bool exit = true) + // { + // PrepareLangForDump(); + // Lang.setLang(true); + // ConfigFile.DumpDescriptions(); + // Permissions.DumpDescriptions(); + // ServerSideCharacters.ServerSideConfig.DumpDescriptions(); + // RestManager.DumpDescriptions(); + // DumpBuffs("BuffList.txt"); + // DumpItems("Items-1_0.txt", -48, 235); + // DumpItems("Items-1_1.txt", 235, 604); + // DumpItems("Items-1_2.txt", 604, 2749); + // DumpItems("Items-1_3.txt", 2749, Main.maxItemTypes); + // DumpNPCs("NPCs.txt"); + // DumpProjectiles("Projectiles.txt"); + // DumpPrefixes("Prefixes.txt"); + // if (exit) + // { + // Environment.Exit(1); + // } + // } - internal void PrepareLangForDump() - { - for(int i = 0; i < Main.recipe.Length; i++) - Main.recipe[i] = new Recipe(); - } + // internal void PrepareLangForDump() + // { + // for(int i = 0; i < Main.recipe.Length; i++) + // Main.recipe[i] = new Recipe(); + // } - public void DumpBuffs(string path) - { - StringBuilder buffer = new StringBuilder(); - buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); - buffer.AppendLine(" \"h-0\": \"ID\","); - buffer.AppendLine(" \"h-1\": \"Name\","); - buffer.AppendLine(" \"h-2\": \"Description\","); + // public void DumpBuffs(string path) + // { + // StringBuilder buffer = new StringBuilder(); + // buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); + // buffer.AppendLine(" \"h-0\": \"ID\","); + // buffer.AppendLine(" \"h-1\": \"Name\","); + // buffer.AppendLine(" \"h-2\": \"Description\","); - List elements = new List(); - for (int i = 0; i < Main.maxBuffTypes; i++) - { - if (!String.IsNullOrEmpty(Lang.GetBuffName(i))) - { - object[] element = new object[] { i, Lang.GetBuffName(i), Main.buffTip[i] }; - elements.Add(element); - } - } + // List elements = new List(); + // for (int i = 0; i < Main.maxBuffTypes; i++) + // { + // if (!String.IsNullOrEmpty(Lang.GetBuffName(i))) + // { + // object[] element = new object[] { i, Lang.GetBuffName(i), Main.buffTip[i] }; + // elements.Add(element); + // } + // } - var rows = elements.Count; - var columns = 0; - if (rows > 0) - { - columns = elements[0].Length; - } - OutputElementsForDump(buffer, elements, rows, columns); + // var rows = elements.Count; + // var columns = 0; + // if (rows > 0) + // { + // columns = elements[0].Length; + // } + // OutputElementsForDump(buffer, elements, rows, columns); - buffer.AppendLine(); - buffer.AppendLine(" },"); - buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); - buffer.AppendLine("}").Append("[/block]"); + // buffer.AppendLine(); + // buffer.AppendLine(" },"); + // buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); + // buffer.AppendLine("}").Append("[/block]"); - File.WriteAllText(path, buffer.ToString()); - } + // File.WriteAllText(path, buffer.ToString()); + // } - public void DumpItems(string path, int start, int end) - { - Main.player[Main.myPlayer] = new Player(); - StringBuilder buffer = new StringBuilder(); - Regex newLine = new Regex(@"\n"); - buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); - buffer.AppendLine(" \"h-0\": \"ID\","); - buffer.AppendLine(" \"h-1\": \"Name\","); - buffer.AppendLine(" \"h-2\": \"Tooltip\","); - buffer.AppendLine(" \"h-3\": \"Tooltip 2\","); + // public void DumpItems(string path, int start, int end) + // { + // Main.player[Main.myPlayer] = new Player(); + // StringBuilder buffer = new StringBuilder(); + // Regex newLine = new Regex(@"\n"); + // buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); + // buffer.AppendLine(" \"h-0\": \"ID\","); + // buffer.AppendLine(" \"h-1\": \"Name\","); + // buffer.AppendLine(" \"h-2\": \"Tooltip\","); + // buffer.AppendLine(" \"h-3\": \"Tooltip 2\","); - List elements = new List(); - for (int i = start; i < end; i++) - { - Item item = new Item(); - item.netDefaults(i); - if (!String.IsNullOrEmpty(item.Name)) - { - object[] element = new object[] { i, - newLine.Replace(item.Name, @" "), - newLine.Replace(item.toolTip, @" "), - newLine.Replace(item.toolTip2, @" ") - }; - elements.Add(element); - } - } + // List elements = new List(); + // for (int i = start; i < end; i++) + // { + // Item item = new Item(); + // item.netDefaults(i); + // if (!String.IsNullOrEmpty(item.Name)) + // { + // object[] element = new object[] { i, + // newLine.Replace(item.Name, @" "), + // newLine.Replace(item.toolTip, @" "), + // newLine.Replace(item.toolTip2, @" ") + // }; + // elements.Add(element); + // } + // } - var rows = elements.Count; - var columns = 0; - if (rows > 0) - { - columns = elements[0].Length; - } - OutputElementsForDump(buffer, elements, rows, columns); + // var rows = elements.Count; + // var columns = 0; + // if (rows > 0) + // { + // columns = elements[0].Length; + // } + // OutputElementsForDump(buffer, elements, rows, columns); - buffer.AppendLine(); - buffer.AppendLine(" },"); - buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); - buffer.AppendLine("}").Append("[/block]"); + // buffer.AppendLine(); + // buffer.AppendLine(" },"); + // buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); + // buffer.AppendLine("}").Append("[/block]"); - File.WriteAllText(path, buffer.ToString()); - } + // File.WriteAllText(path, buffer.ToString()); + // } - public void DumpNPCs(string path) - { - StringBuilder buffer = new StringBuilder(); - buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); - buffer.AppendLine(" \"h-0\": \"ID\","); - buffer.AppendLine(" \"h-1\": \"Name\","); - buffer.AppendLine(" \"h-2\": \"Display Name\","); + // public void DumpNPCs(string path) + // { + // StringBuilder buffer = new StringBuilder(); + // buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); + // buffer.AppendLine(" \"h-0\": \"ID\","); + // buffer.AppendLine(" \"h-1\": \"Name\","); + // buffer.AppendLine(" \"h-2\": \"Display Name\","); - List elements = new List(); - for (int i = -65; i < Main.maxNPCTypes; i++) - { - NPC npc = new NPC(); - npc.netDefaults(i); - if (!String.IsNullOrEmpty(npc.FullName)) - { - object[] element = new object[] { i, npc.FullName, npc.displayName }; - elements.Add(element); - } - } + // List elements = new List(); + // for (int i = -65; i < Main.maxNPCTypes; i++) + // { + // NPC npc = new NPC(); + // npc.netDefaults(i); + // if (!String.IsNullOrEmpty(npc.FullName)) + // { + // object[] element = new object[] { i, npc.FullName, npc.displayName }; + // elements.Add(element); + // } + // } - var rows = elements.Count; - var columns = 0; - if (rows > 0) - { - columns = elements[0].Length; - } - OutputElementsForDump(buffer, elements, rows, columns); + // var rows = elements.Count; + // var columns = 0; + // if (rows > 0) + // { + // columns = elements[0].Length; + // } + // OutputElementsForDump(buffer, elements, rows, columns); - buffer.AppendLine(); - buffer.AppendLine(" },"); - buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); - buffer.AppendLine("}").Append("[/block]"); + // buffer.AppendLine(); + // buffer.AppendLine(" },"); + // buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); + // buffer.AppendLine("}").Append("[/block]"); - File.WriteAllText(path, buffer.ToString()); - } + // File.WriteAllText(path, buffer.ToString()); + // } - public void DumpProjectiles(string path) - { - Main.rand = new UnifiedRandom(); - StringBuilder buffer = new StringBuilder(); - buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); - buffer.AppendLine(" \"h-0\": \"ID\","); - buffer.AppendLine(" \"h-1\": \"Name\","); + // public void DumpProjectiles(string path) + // { + // Main.rand = new UnifiedRandom(); + // StringBuilder buffer = new StringBuilder(); + // buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); + // buffer.AppendLine(" \"h-0\": \"ID\","); + // buffer.AppendLine(" \"h-1\": \"Name\","); - List elements = new List(); - for (int i = 0; i < Main.maxProjectileTypes; i++) - { - Projectile projectile = new Projectile(); - projectile.SetDefaults(i); - if (!String.IsNullOrEmpty(projectile.Name)) - { - object[] element = new object[] { i, projectile.Name }; - elements.Add(element); - } - } + // List elements = new List(); + // for (int i = 0; i < Main.maxProjectileTypes; i++) + // { + // Projectile projectile = new Projectile(); + // projectile.SetDefaults(i); + // if (!String.IsNullOrEmpty(projectile.Name)) + // { + // object[] element = new object[] { i, projectile.Name }; + // elements.Add(element); + // } + // } - var rows = elements.Count; - var columns = 0; - if (rows > 0) - { - columns = elements[0].Length; - } - OutputElementsForDump(buffer, elements, rows, columns); + // var rows = elements.Count; + // var columns = 0; + // if (rows > 0) + // { + // columns = elements[0].Length; + // } + // OutputElementsForDump(buffer, elements, rows, columns); - buffer.AppendLine(); - buffer.AppendLine(" },"); - buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); - buffer.AppendLine("}").Append("[/block]"); + // buffer.AppendLine(); + // buffer.AppendLine(" },"); + // buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); + // buffer.AppendLine("}").Append("[/block]"); - File.WriteAllText(path, buffer.ToString()); - } + // File.WriteAllText(path, buffer.ToString()); + // } - public void DumpPrefixes(string path) - { - StringBuilder buffer = new StringBuilder(); - buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); - buffer.AppendLine(" \"h-0\": \"ID\","); - buffer.AppendLine(" \"h-1\": \"Name\","); + // public void DumpPrefixes(string path) + // { + // StringBuilder buffer = new StringBuilder(); + // buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); + // buffer.AppendLine(" \"h-0\": \"ID\","); + // buffer.AppendLine(" \"h-1\": \"Name\","); - List elements = new List(); - for (int i = 0; i < Item.maxPrefixes; i++) - { - string prefix = Lang.prefix[i]; + // List elements = new List(); + // for (int i = 0; i < Item.maxPrefixes; i++) + // { + // string prefix = Lang.prefix[i].ToString(); - if (!String.IsNullOrEmpty(prefix)) - { - object[] element = new object[] {i, prefix}; - elements.Add(element); - } - } + // if (!String.IsNullOrEmpty(prefix)) + // { + // object[] element = new object[] {i, prefix}; + // elements.Add(element); + // } + // } - var rows = elements.Count; - var columns = 0; - if (rows > 0) - { - columns = elements[0].Length; - } - OutputElementsForDump(buffer, elements, rows, columns); + // var rows = elements.Count; + // var columns = 0; + // if (rows > 0) + // { + // columns = elements[0].Length; + // } + // OutputElementsForDump(buffer, elements, rows, columns); - buffer.AppendLine(); - buffer.AppendLine(" },"); - buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); - buffer.AppendLine("}").Append("[/block]"); + // buffer.AppendLine(); + // buffer.AppendLine(" },"); + // buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); + // buffer.AppendLine("}").Append("[/block]"); - File.WriteAllText(path, buffer.ToString()); - } + // File.WriteAllText(path, buffer.ToString()); + // } - private void OutputElementsForDump(StringBuilder buffer, List elements, int rows, int columns) - { - if (rows > 0) - { - columns = elements[0].Length; - for (int i = 0; i < columns; i++) - { - for (int j = 0; j < rows; j++) - { - buffer.Append(String.Format(" \"{0}-{1}\": \"{2}\"", j, i, elements[j][i])); - if (j != rows - 1 || i != columns - 1) - buffer.AppendLine(","); - } - } - } - } + // private void OutputElementsForDump(StringBuilder buffer, List elements, int rows, int columns) + // { + // if (rows > 0) + // { + // columns = elements[0].Length; + // for (int i = 0; i < columns; i++) + // { + // for (int j = 0; j < rows; j++) + // { + // buffer.Append(String.Format(" \"{0}-{1}\": \"{2}\"", j, i, elements[j][i])); + // if (j != rows - 1 || i != columns - 1) + // buffer.AppendLine(","); + // } + // } + // } + // } } }