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 System.Threading;
using Terraria; using Terraria;
using Terraria.ID; using Terraria.ID;
using Terraria.Localization;
using TShockAPI.DB; using TShockAPI.DB;
using TerrariaApi.Server; using TerrariaApi.Server;
using TShockAPI.Hooks; 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))) 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]; Main.npc[i].GivenName = args.Parameters[1];
NetMessage.SendData(56, -1, -1, args.Parameters[1], i, 0f, 0f, 0f, 0); NetMessage.SendData(56, -1, -1, NetworkText.FromLiteral(args.Parameters[1]), i, 0f, 0f, 0f, 0);
done++; done++;
} }
} }

View file

@ -32,6 +32,7 @@ using Terraria;
using Terraria.ObjectData; using Terraria.ObjectData;
using Terraria.DataStructures; using Terraria.DataStructures;
using Terraria.GameContent.Tile_Entities; using Terraria.GameContent.Tile_Entities;
using Terraria.Localization;
using Microsoft.Xna.Framework; using Microsoft.Xna.Framework;
using OTAPI.Tile; using OTAPI.Tile;
@ -1494,7 +1495,7 @@ namespace TShockAPI
args.Player.TPlayer.hideVisual[i] = hideVisual2[i]; args.Player.TPlayer.hideVisual[i] = hideVisual2[i];
args.Player.TPlayer.hideMisc = hideMisc; args.Player.TPlayer.hideMisc = hideMisc;
args.Player.TPlayer.extraAccessory = extraSlot; 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; return true;
} }
if (TShock.Config.MediumcoreOnly && difficulty < 1) if (TShock.Config.MediumcoreOnly && difficulty < 1)
@ -1678,7 +1679,7 @@ namespace TShockAPI
return true; 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; return false;
} }
@ -2719,13 +2720,11 @@ namespace TShockAPI
args.TPlayer.Update(args.TPlayer.whoAmI); 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; return true;
} }
NetMessage.SendData((int)PacketTypes.PlayerUpdate, -1, args.Player.Index, NetworkText.FromLiteral(""), args.Player.Index);
NetMessage.SendData((int)PacketTypes.PlayerUpdate, -1, args.Player.Index, "", args.Player.Index);
return true; return true;
} }
@ -2981,7 +2980,7 @@ namespace TShockAPI
if (OnKillMe(id, direction, dmg, pvp)) if (OnKillMe(id, direction, dmg, pvp))
return true; 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); TShock.Utils.Kick(TShock.Players[id], "Crash attempt", true);
return true; return true;
@ -3478,7 +3477,7 @@ namespace TShockAPI
return true; 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); args.Player.SendData(PacketTypes.ItemDrop, "", id);
return true; 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; return true;
} }
@ -4259,7 +4258,7 @@ namespace TShockAPI
if (Main.npc[npcID]?.catchItem == 0) if (Main.npc[npcID]?.catchItem == 0)
{ {
Main.npc[npcID].active = true; 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; return true;
} }
@ -4276,13 +4275,13 @@ namespace TShockAPI
if (projectile == null || !projectile.active) 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; return true;
} }
if (projectile.type != ProjectileID.PortalGunGate) 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; return true;
} }
@ -4347,25 +4346,25 @@ namespace TShockAPI
if (TShock.CheckIgnores(args.Player)) 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; return true;
} }
if (TShock.CheckTilePermission(args.Player, x, y)) 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; return true;
} }
if (TShock.CheckRangePermission(args.Player, x, y)) 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; return true;
} }
if (itemFrame.item?.netID == args.TPlayer.inventory[args.TPlayer.selectedItem]?.netID) 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; 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 Microsoft.Xna.Framework;
using Terraria; using Terraria;
using TShockAPI; using TShockAPI;
using Terraria.Localization;
namespace TShockAPI namespace TShockAPI
{ {
@ -340,99 +341,99 @@ namespace TShockAPI
float slot = 0f; float slot = 0f;
for (int k = 0; k < NetItem.InventorySlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.ArmorSlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.DyeSlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.MiscEquipSlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.MiscDyeSlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.PiggySlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.SafeSlots; k++) 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++; 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++) 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++; slot++;
} }
NetMessage.SendData(4, -1, -1, player.Name, 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, "", player.Index, 0f, 0f, 0f, 0); NetMessage.SendData(42, -1, -1, NetworkText.FromLiteral(""), player.Index, 0f, 0f, 0f, 0);
NetMessage.SendData(16, -1, -1, "", player.Index, 0f, 0f, 0f, 0); NetMessage.SendData(16, -1, -1, NetworkText.FromLiteral(""), player.Index, 0f, 0f, 0f, 0);
slot = 0f; slot = 0f;
for (int k = 0; k < NetItem.InventorySlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.ArmorSlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.DyeSlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.MiscEquipSlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.MiscDyeSlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.PiggySlots; k++) 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++; slot++;
} }
for (int k = 0; k < NetItem.SafeSlots; k++) 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++; 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++) 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++; slot++;
} }
NetMessage.SendData(4, player.Index, -1, player.Name, 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, "", 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, "", 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++) 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 * This is for when players login via uuid or serverpassword instead of via
* the login command. * the login command.
*/ */
NetMessage.SendData(50, -1, -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, "", 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, player.Index, -1, NetworkText.FromLiteral(""), player.Index);
NetMessage.SendData(76, -1, -1, "", 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;
using Terraria.DataStructures; using Terraria.DataStructures;
using Terraria.ID; using Terraria.ID;
using Terraria.Localization;
using TShockAPI.DB; using TShockAPI.DB;
using TShockAPI.Hooks; using TShockAPI.Hooks;
using TShockAPI.Net; using TShockAPI.Net;
@ -745,7 +746,7 @@ namespace TShockAPI
SendTileSquare((int) (x/16), (int) (y/16), 15); SendTileSquare((int) (x/16), (int) (y/16), 15);
TPlayer.Teleport(new Vector2(x, y), style); 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; return true;
} }
@ -755,7 +756,7 @@ namespace TShockAPI
/// <param name="health">Heal health amount.</param> /// <param name="health">Heal health amount.</param>
public void Heal(int health = 600) 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> /// <summary>
@ -905,8 +906,8 @@ namespace TShockAPI
Main.item[itemid].prefix = (byte) prefix; Main.item[itemid].prefix = (byte) prefix;
Main.item[itemid].noGrabDelay = 1; Main.item[itemid].noGrabDelay = 1;
Main.item[itemid].velocity = Main.player[this.Index].velocity; Main.item[itemid].velocity = Main.player[this.Index].velocity;
NetMessage.SendData((int)PacketTypes.ItemDrop, -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, "", itemid, 0f, 0f, 0f); NetMessage.SendData((int)PacketTypes.ItemOwner, -1, -1, NetworkText.FromLiteral(""), itemid, 0f, 0f, 0f);
} }
/// <summary> /// <summary>
@ -1066,8 +1067,8 @@ namespace TShockAPI
public virtual void SetTeam(int team) public virtual void SetTeam(int team)
{ {
Main.player[Index].team = team; Main.player[Index].team = team;
NetMessage.SendData((int)PacketTypes.PlayerTeam, -1, -1, "", Index); NetMessage.SendData((int)PacketTypes.PlayerTeam, -1, -1, NetworkText.FromLiteral(""), Index);
NetMessage.SendData((int)PacketTypes.PlayerTeam, -1, Index, "", Index); NetMessage.SendData((int)PacketTypes.PlayerTeam, -1, Index, NetworkText.FromLiteral(""), Index);
} }
private DateTime LastDisableNotification = DateTime.UtcNow; private DateTime LastDisableNotification = DateTime.UtcNow;
@ -1185,7 +1186,7 @@ namespace TShockAPI
if (RealPlayer && !ConnectionAlive) if (RealPlayer && !ConnectionAlive)
return; 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> /// <summary>
@ -1204,7 +1205,7 @@ namespace TShockAPI
if (RealPlayer && !ConnectionAlive) if (RealPlayer && !ConnectionAlive)
return; 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> /// <summary>

View file

@ -24,6 +24,7 @@ using Terraria;
using Terraria.Utilities; using Terraria.Utilities;
using TShockAPI; using TShockAPI;
using TShockAPI.DB; using TShockAPI.DB;
using Terraria.Localization;
namespace TShockAPI namespace TShockAPI
{ {
@ -152,15 +153,11 @@ namespace TShockAPI
TShock.Utils.GetRandomClearTileWithInRange(startTileX, startTileY, tileXRange, tileYRange, out spawnTileX, TShock.Utils.GetRandomClearTileWithInRange(startTileX, startTileY, tileXRange, tileYRange, out spawnTileX,
out spawnTileY); out spawnTileY);
int npcid = NPC.NewNPC(spawnTileX * 16, spawnTileY * 16, type, 0); int npcid = NPC.NewNPC(spawnTileX * 16, spawnTileY * 16, type, 0);
// This is for special slimes
if (type == 1) // 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(name); Main.npc[npcid].SetDefaults(type);
}
else
{
Main.npc[npcid].netDefaults(type);
}
} }
} }
@ -171,7 +168,7 @@ namespace TShockAPI
Main.rand = new UnifiedRandom(); Main.rand = new UnifiedRandom();
Main.npc[npcid].StrikeNPC(damage, knockBack, hitDirection); 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) public void RevertTiles(Dictionary<Vector2, ITile> tiles)

View file

@ -34,6 +34,7 @@ using Newtonsoft.Json;
using Rests; using Rests;
using Terraria; using Terraria;
using Terraria.ID; using Terraria.ID;
using Terraria.Localization;
using TerrariaApi.Server; using TerrariaApi.Server;
using TShockAPI.DB; using TShockAPI.DB;
using TShockAPI.Hooks; using TShockAPI.Hooks;
@ -710,16 +711,8 @@ namespace TShockAPI
.AddFlag("-lang", (l) => .AddFlag("-lang", (l) =>
{ {
int lang; LanguageManager.Instance.SetLanguage(l);
if (int.TryParse(l, out lang)) ServerApi.LogWriter.PluginWriteLine(this, string.Format("Language attempted to be set to {0}.", l), TraceLevel.Verbose);
{
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);
}
}) })
.AddFlag("-autocreate", (size) => .AddFlag("-autocreate", (size) =>
@ -735,7 +728,7 @@ namespace TShockAPI
//Flags without arguments //Flags without arguments
.AddFlag("-logclear", () => LogClear = true) .AddFlag("-logclear", () => LogClear = true)
.AddFlag("-autoshutdown", () => Main.instance.EnableAutoShutdown()) .AddFlag("-autoshutdown", () => Main.instance.EnableAutoShutdown())
.AddFlag("-dump", () => Utils.Dump()) // .AddFlag("-dump", () => Utils.Dump())
.AddFlag("--stats-optout", () => StatTracker.OptOut = true) .AddFlag("--stats-optout", () => StatTracker.OptOut = true)
.AddFlag("--no-restart", () => NoRestart = true); .AddFlag("--no-restart", () => NoRestart = true);
@ -1258,7 +1251,7 @@ namespace TShockAPI
{ {
if (ShuttingDown) 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; args.Handled = true;
return; return;
} }
@ -1491,12 +1484,12 @@ namespace TShockAPI
Player ply = Main.player[args.Who]; Player ply = Main.player[args.Who];
string name = ply.name; string name = ply.name;
ply.name = String.Format(Config.ChatAboveHeadsFormat, tsplr.Group.Name, tsplr.Group.Prefix, tsplr.Name, tsplr.Group.Suffix); 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; ply.name = name;
var text = args.Text; var text = args.Text;
Hooks.PlayerHooks.OnPlayerChat(tsplr, args.Text, ref 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.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, name, args.Who, 0, 0, 0, 0); NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, NetworkText.FromLiteral(name), args.Who, 0, 0, 0, 0);
string msg = String.Format("<{0}> {1}", string msg = String.Format("<{0}> {1}",
String.Format(Config.ChatAboveHeadsFormat, tsplr.Group.Name, tsplr.Group.Prefix, tsplr.Name, tsplr.Group.Suffix), 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) public NPC GetNPCById(int id)
{ {
NPC npc = new NPC(); NPC npc = new NPC();
npc.netDefaults(id); npc.SetDefaults(id);
return npc; return npc;
} }
@ -419,7 +419,7 @@ namespace TShockAPI
string nameLower = name.ToLower(); string nameLower = name.ToLower();
for (int i = -17; i < Main.maxNPCTypes; i++) for (int i = -17; i < Main.maxNPCTypes; i++)
{ {
npc.netDefaults(i); npc.SetDefaults(i);
if (npc.FullName.ToLower() == nameLower || npc.TypeName.ToLower() == nameLower) if (npc.FullName.ToLower() == nameLower || npc.TypeName.ToLower() == nameLower)
return new List<NPC> { npc }; return new List<NPC> { npc };
if (npc.FullName.ToLower().StartsWith(nameLower) || npc.TypeName.ToLower().StartsWith(nameLower)) if (npc.FullName.ToLower().StartsWith(nameLower) || npc.TypeName.ToLower().StartsWith(nameLower))
@ -480,7 +480,7 @@ namespace TShockAPI
/// <returns>Prefix name</returns> /// <returns>Prefix name</returns>
public string GetPrefixById(int id) public string GetPrefixById(int id)
{ {
return id < FirstItemPrefix || id > LastItemPrefix ? "" : Lang.prefix[id] ?? ""; return id < FirstItemPrefix || id > LastItemPrefix ? "" : Lang.prefix[id].ToString() ?? "";
} }
/// <summary> /// <summary>
@ -1166,237 +1166,237 @@ namespace TShockAPI
return points; return points;
} }
/// <summary> // /// <summary>
/// Dumps information and optionally exits afterwards // /// Dumps information and optionally exits afterwards
/// </summary> // /// </summary>
/// <param name="exit"></param> // /// <param name="exit"></param>
public void Dump(bool exit = true) // public void Dump(bool exit = true)
{ // {
PrepareLangForDump(); // PrepareLangForDump();
Lang.setLang(true); // Lang.setLang(true);
ConfigFile.DumpDescriptions(); // ConfigFile.DumpDescriptions();
Permissions.DumpDescriptions(); // Permissions.DumpDescriptions();
ServerSideCharacters.ServerSideConfig.DumpDescriptions(); // ServerSideCharacters.ServerSideConfig.DumpDescriptions();
RestManager.DumpDescriptions(); // RestManager.DumpDescriptions();
DumpBuffs("BuffList.txt"); // DumpBuffs("BuffList.txt");
DumpItems("Items-1_0.txt", -48, 235); // DumpItems("Items-1_0.txt", -48, 235);
DumpItems("Items-1_1.txt", 235, 604); // DumpItems("Items-1_1.txt", 235, 604);
DumpItems("Items-1_2.txt", 604, 2749); // DumpItems("Items-1_2.txt", 604, 2749);
DumpItems("Items-1_3.txt", 2749, Main.maxItemTypes); // DumpItems("Items-1_3.txt", 2749, Main.maxItemTypes);
DumpNPCs("NPCs.txt"); // DumpNPCs("NPCs.txt");
DumpProjectiles("Projectiles.txt"); // DumpProjectiles("Projectiles.txt");
DumpPrefixes("Prefixes.txt"); // DumpPrefixes("Prefixes.txt");
if (exit) // if (exit)
{ // {
Environment.Exit(1); // Environment.Exit(1);
} // }
} // }
internal void PrepareLangForDump() // internal void PrepareLangForDump()
{ // {
for(int i = 0; i < Main.recipe.Length; i++) // for(int i = 0; i < Main.recipe.Length; i++)
Main.recipe[i] = new Recipe(); // Main.recipe[i] = new Recipe();
} // }
public void DumpBuffs(string path) // public void DumpBuffs(string path)
{ // {
StringBuilder buffer = new StringBuilder(); // StringBuilder buffer = new StringBuilder();
buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); // buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {");
buffer.AppendLine(" \"h-0\": \"ID\","); // buffer.AppendLine(" \"h-0\": \"ID\",");
buffer.AppendLine(" \"h-1\": \"Name\","); // buffer.AppendLine(" \"h-1\": \"Name\",");
buffer.AppendLine(" \"h-2\": \"Description\","); // buffer.AppendLine(" \"h-2\": \"Description\",");
List<object[]> elements = new List<object[]>(); // List<object[]> elements = new List<object[]>();
for (int i = 0; i < Main.maxBuffTypes; i++) // for (int i = 0; i < Main.maxBuffTypes; i++)
{ // {
if (!String.IsNullOrEmpty(Lang.GetBuffName(i))) // if (!String.IsNullOrEmpty(Lang.GetBuffName(i)))
{ // {
object[] element = new object[] { i, Lang.GetBuffName(i), Main.buffTip[i] }; // object[] element = new object[] { i, Lang.GetBuffName(i), Main.buffTip[i] };
elements.Add(element); // elements.Add(element);
} // }
} // }
var rows = elements.Count; // var rows = elements.Count;
var columns = 0; // var columns = 0;
if (rows > 0) // if (rows > 0)
{ // {
columns = elements[0].Length; // columns = elements[0].Length;
} // }
OutputElementsForDump(buffer, elements, rows, columns); // OutputElementsForDump(buffer, elements, rows, columns);
buffer.AppendLine(); // buffer.AppendLine();
buffer.AppendLine(" },"); // buffer.AppendLine(" },");
buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); // buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows));
buffer.AppendLine("}").Append("[/block]"); // buffer.AppendLine("}").Append("[/block]");
File.WriteAllText(path, buffer.ToString()); // File.WriteAllText(path, buffer.ToString());
} // }
public void DumpItems(string path, int start, int end) // public void DumpItems(string path, int start, int end)
{ // {
Main.player[Main.myPlayer] = new Player(); // Main.player[Main.myPlayer] = new Player();
StringBuilder buffer = new StringBuilder(); // StringBuilder buffer = new StringBuilder();
Regex newLine = new Regex(@"\n"); // Regex newLine = new Regex(@"\n");
buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); // buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {");
buffer.AppendLine(" \"h-0\": \"ID\","); // buffer.AppendLine(" \"h-0\": \"ID\",");
buffer.AppendLine(" \"h-1\": \"Name\","); // buffer.AppendLine(" \"h-1\": \"Name\",");
buffer.AppendLine(" \"h-2\": \"Tooltip\","); // buffer.AppendLine(" \"h-2\": \"Tooltip\",");
buffer.AppendLine(" \"h-3\": \"Tooltip 2\","); // buffer.AppendLine(" \"h-3\": \"Tooltip 2\",");
List<object[]> elements = new List<object[]>(); // List<object[]> elements = new List<object[]>();
for (int i = start; i < end; i++) // for (int i = start; i < end; i++)
{ // {
Item item = new Item(); // Item item = new Item();
item.netDefaults(i); // item.netDefaults(i);
if (!String.IsNullOrEmpty(item.Name)) // if (!String.IsNullOrEmpty(item.Name))
{ // {
object[] element = new object[] { i, // object[] element = new object[] { i,
newLine.Replace(item.Name, @" "), // newLine.Replace(item.Name, @" "),
newLine.Replace(item.toolTip, @" "), // newLine.Replace(item.toolTip, @" "),
newLine.Replace(item.toolTip2, @" ") // newLine.Replace(item.toolTip2, @" ")
}; // };
elements.Add(element); // elements.Add(element);
} // }
} // }
var rows = elements.Count; // var rows = elements.Count;
var columns = 0; // var columns = 0;
if (rows > 0) // if (rows > 0)
{ // {
columns = elements[0].Length; // columns = elements[0].Length;
} // }
OutputElementsForDump(buffer, elements, rows, columns); // OutputElementsForDump(buffer, elements, rows, columns);
buffer.AppendLine(); // buffer.AppendLine();
buffer.AppendLine(" },"); // buffer.AppendLine(" },");
buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); // buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows));
buffer.AppendLine("}").Append("[/block]"); // buffer.AppendLine("}").Append("[/block]");
File.WriteAllText(path, buffer.ToString()); // File.WriteAllText(path, buffer.ToString());
} // }
public void DumpNPCs(string path) // public void DumpNPCs(string path)
{ // {
StringBuilder buffer = new StringBuilder(); // StringBuilder buffer = new StringBuilder();
buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); // buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {");
buffer.AppendLine(" \"h-0\": \"ID\","); // buffer.AppendLine(" \"h-0\": \"ID\",");
buffer.AppendLine(" \"h-1\": \"Name\","); // buffer.AppendLine(" \"h-1\": \"Name\",");
buffer.AppendLine(" \"h-2\": \"Display Name\","); // buffer.AppendLine(" \"h-2\": \"Display Name\",");
List<object[]> elements = new List<object[]>(); // List<object[]> elements = new List<object[]>();
for (int i = -65; i < Main.maxNPCTypes; i++) // for (int i = -65; i < Main.maxNPCTypes; i++)
{ // {
NPC npc = new NPC(); // NPC npc = new NPC();
npc.netDefaults(i); // npc.netDefaults(i);
if (!String.IsNullOrEmpty(npc.FullName)) // if (!String.IsNullOrEmpty(npc.FullName))
{ // {
object[] element = new object[] { i, npc.FullName, npc.displayName }; // object[] element = new object[] { i, npc.FullName, npc.displayName };
elements.Add(element); // elements.Add(element);
} // }
} // }
var rows = elements.Count; // var rows = elements.Count;
var columns = 0; // var columns = 0;
if (rows > 0) // if (rows > 0)
{ // {
columns = elements[0].Length; // columns = elements[0].Length;
} // }
OutputElementsForDump(buffer, elements, rows, columns); // OutputElementsForDump(buffer, elements, rows, columns);
buffer.AppendLine(); // buffer.AppendLine();
buffer.AppendLine(" },"); // buffer.AppendLine(" },");
buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); // buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows));
buffer.AppendLine("}").Append("[/block]"); // buffer.AppendLine("}").Append("[/block]");
File.WriteAllText(path, buffer.ToString()); // File.WriteAllText(path, buffer.ToString());
} // }
public void DumpProjectiles(string path) // public void DumpProjectiles(string path)
{ // {
Main.rand = new UnifiedRandom(); // Main.rand = new UnifiedRandom();
StringBuilder buffer = new StringBuilder(); // StringBuilder buffer = new StringBuilder();
buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); // buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {");
buffer.AppendLine(" \"h-0\": \"ID\","); // buffer.AppendLine(" \"h-0\": \"ID\",");
buffer.AppendLine(" \"h-1\": \"Name\","); // buffer.AppendLine(" \"h-1\": \"Name\",");
List<object[]> elements = new List<object[]>(); // List<object[]> elements = new List<object[]>();
for (int i = 0; i < Main.maxProjectileTypes; i++) // for (int i = 0; i < Main.maxProjectileTypes; i++)
{ // {
Projectile projectile = new Projectile(); // Projectile projectile = new Projectile();
projectile.SetDefaults(i); // projectile.SetDefaults(i);
if (!String.IsNullOrEmpty(projectile.Name)) // if (!String.IsNullOrEmpty(projectile.Name))
{ // {
object[] element = new object[] { i, projectile.Name }; // object[] element = new object[] { i, projectile.Name };
elements.Add(element); // elements.Add(element);
} // }
} // }
var rows = elements.Count; // var rows = elements.Count;
var columns = 0; // var columns = 0;
if (rows > 0) // if (rows > 0)
{ // {
columns = elements[0].Length; // columns = elements[0].Length;
} // }
OutputElementsForDump(buffer, elements, rows, columns); // OutputElementsForDump(buffer, elements, rows, columns);
buffer.AppendLine(); // buffer.AppendLine();
buffer.AppendLine(" },"); // buffer.AppendLine(" },");
buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); // buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows));
buffer.AppendLine("}").Append("[/block]"); // buffer.AppendLine("}").Append("[/block]");
File.WriteAllText(path, buffer.ToString()); // File.WriteAllText(path, buffer.ToString());
} // }
public void DumpPrefixes(string path) // public void DumpPrefixes(string path)
{ // {
StringBuilder buffer = new StringBuilder(); // StringBuilder buffer = new StringBuilder();
buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {"); // buffer.AppendLine("[block:parameters]").AppendLine("{").AppendLine(" \"data\": {");
buffer.AppendLine(" \"h-0\": \"ID\","); // buffer.AppendLine(" \"h-0\": \"ID\",");
buffer.AppendLine(" \"h-1\": \"Name\","); // buffer.AppendLine(" \"h-1\": \"Name\",");
List<object[]> elements = new List<object[]>(); // List<object[]> elements = new List<object[]>();
for (int i = 0; i < Item.maxPrefixes; i++) // for (int i = 0; i < Item.maxPrefixes; i++)
{ // {
string prefix = Lang.prefix[i]; // string prefix = Lang.prefix[i].ToString();
if (!String.IsNullOrEmpty(prefix)) // if (!String.IsNullOrEmpty(prefix))
{ // {
object[] element = new object[] {i, prefix}; // object[] element = new object[] {i, prefix};
elements.Add(element); // elements.Add(element);
} // }
} // }
var rows = elements.Count; // var rows = elements.Count;
var columns = 0; // var columns = 0;
if (rows > 0) // if (rows > 0)
{ // {
columns = elements[0].Length; // columns = elements[0].Length;
} // }
OutputElementsForDump(buffer, elements, rows, columns); // OutputElementsForDump(buffer, elements, rows, columns);
buffer.AppendLine(); // buffer.AppendLine();
buffer.AppendLine(" },"); // buffer.AppendLine(" },");
buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows)); // buffer.AppendLine(String.Format(" \"cols\": {0},", columns)).AppendLine(String.Format(" \"rows\": {0}", rows));
buffer.AppendLine("}").Append("[/block]"); // buffer.AppendLine("}").Append("[/block]");
File.WriteAllText(path, buffer.ToString()); // File.WriteAllText(path, buffer.ToString());
} // }
private void OutputElementsForDump(StringBuilder buffer, List<object[]> elements, int rows, int columns) // private void OutputElementsForDump(StringBuilder buffer, List<object[]> elements, int rows, int columns)
{ // {
if (rows > 0) // if (rows > 0)
{ // {
columns = elements[0].Length; // columns = elements[0].Length;
for (int i = 0; i < columns; i++) // for (int i = 0; i < columns; i++)
{ // {
for (int j = 0; j < rows; j++) // for (int j = 0; j < rows; j++)
{ // {
buffer.Append(String.Format(" \"{0}-{1}\": \"{2}\"", j, i, elements[j][i])); // buffer.Append(String.Format(" \"{0}-{1}\": \"{2}\"", j, i, elements[j][i]));
if (j != rows - 1 || i != columns - 1) // if (j != rows - 1 || i != columns - 1)
buffer.AppendLine(","); // buffer.AppendLine(",");
} // }
} // }
} // }
} // }
} }
} }