Terraria 1.3.5 changes compile (NO GUARANTEES ON EXECUTING)

This commit is contained in:
Lucas Nicodemus 2017-04-19 18:21:34 -06:00
parent b8dbdb9ff4
commit 2d14533172
No known key found for this signature in database
GPG key ID: CEE668CCE1BF2C7C
7 changed files with 279 additions and 287 deletions

View file

@ -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++;
}
}

View file

@ -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;
}

View file

@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
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);
}
}
}

View file

@ -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
/// <param name="health">Heal health amount.</param>
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);
}
/// <summary>
@ -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);
}
/// <summary>
@ -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);
}
/// <summary>
@ -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);
}
/// <summary>

View file

@ -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<Vector2, ITile> tiles)

View file

@ -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),

View file

@ -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> { npc };
if (npc.FullName.ToLower().StartsWith(nameLower) || npc.TypeName.ToLower().StartsWith(nameLower))
@ -480,7 +480,7 @@ namespace TShockAPI
/// <returns>Prefix name</returns>
public string GetPrefixById(int id)
{
return id < FirstItemPrefix || id > LastItemPrefix ? "" : Lang.prefix[id] ?? "";
return id < FirstItemPrefix || id > LastItemPrefix ? "" : Lang.prefix[id].ToString() ?? "";
}
/// <summary>
@ -1166,237 +1166,237 @@ namespace TShockAPI
return points;
}
/// <summary>
/// Dumps information and optionally exits afterwards
/// </summary>
/// <param name="exit"></param>
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);
}
}
// /// <summary>
// /// Dumps information and optionally exits afterwards
// /// </summary>
// /// <param name="exit"></param>
// 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<object[]> elements = new List<object[]>();
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);
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());
}
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<object[]> elements = new List<object[]>();
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);
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());
}
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<object[]> elements = new List<object[]>();
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);
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());
}
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<object[]> elements = new List<object[]>();
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);
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());
}
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<object[]> elements = new List<object[]>();
for (int i = 0; i < Item.maxPrefixes; i++)
{
string prefix = Lang.prefix[i];
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);
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());
}
private void OutputElementsForDump(StringBuilder buffer, List<object[]> 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(",");
}
}
}
}
// List<object[]> elements = new List<object[]>();
// 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);
// 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());
// }
// 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<object[]> elements = new List<object[]>();
// 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);
// 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());
// }
// 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<object[]> elements = new List<object[]>();
// 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);
// 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());
// }
// 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<object[]> elements = new List<object[]>();
// 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);
// 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());
// }
// 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<object[]> elements = new List<object[]>();
// 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);
// }
// }
// 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]");
// File.WriteAllText(path, buffer.ToString());
// }
// private void OutputElementsForDump(StringBuilder buffer, List<object[]> 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(",");
// }
// }
// }
// }
}
}