diff --git a/TShockAPI/NetItem.cs b/TShockAPI/NetItem.cs
index 8d6b4e2a..b11b3fba 100644
--- a/TShockAPI/NetItem.cs
+++ b/TShockAPI/NetItem.cs
@@ -71,6 +71,11 @@ namespace TShockAPI
///
public static readonly int MiscDyeSlots = MiscEquipSlots;
+ ///
+ /// 1 - The number of trash can slots.
+ ///
+ public static readonly int TrashSlots = 1;
+
///
/// 180 - The inventory size (inventory, held item, armour, dies, coins, ammo, piggy, safe, and trash)
///
@@ -83,7 +88,8 @@ namespace TShockAPI
public static readonly Tuple MiscDyeIndex = new Tuple(MiscEquipIndex.Item2, MiscEquipIndex.Item2 + MiscDyeSlots);
public static readonly Tuple PiggyIndex = new Tuple(MiscDyeIndex.Item2, MiscDyeIndex.Item2 + PiggySlots);
public static readonly Tuple SafeIndex = new Tuple(PiggyIndex.Item2, PiggyIndex.Item2 + SafeSlots);
- public static readonly Tuple ForgeIndex = new Tuple(SafeIndex.Item2, SafeIndex.Item2 + ForgeSlots);
+ public static readonly Tuple TrashIndex = new Tuple(SafeIndex.Item2, SafeIndex.Item2 + TrashSlots);
+ public static readonly Tuple ForgeIndex = new Tuple(TrashIndex.Item2, TrashIndex.Item2 + ForgeSlots);
[JsonProperty("netID")]
private int _netId;
diff --git a/TShockAPI/PlayerData.cs b/TShockAPI/PlayerData.cs
index 9cd7c97b..44711bad 100644
--- a/TShockAPI/PlayerData.cs
+++ b/TShockAPI/PlayerData.cs
@@ -164,16 +164,17 @@ namespace TShockAPI
var index = i - NetItem.SafeIndex.Item1;
this.inventory[i] = (NetItem)safe[index];
}
- else if (i < NetItem.ForgeIndex.Item2)
+ else if (i < NetItem.TrashIndex.Item2)
{
//179-219
- var index = i - NetItem.ForgeIndex.Item1;
- this.inventory[i] = (NetItem)forge[index];
+ this.inventory[i] = (NetItem)trash;
}
else
{
//220
- this.inventory[i] = (NetItem)trash;
+ var index = i - NetItem.ForgeIndex.Item1;
+ this.inventory[i] = (NetItem)forge[index];
+
}
}
}
@@ -226,7 +227,7 @@ namespace TShockAPI
for (int i = 0; i < NetItem.MaxInventory; i++)
{
- if (i < NetItem.InventorySlots)
+ if (i < NetItem.InventoryIndex.Item2)
{
//0-58
player.TPlayer.inventory[i].netDefaults(this.inventory[i].NetId);
@@ -237,10 +238,10 @@ namespace TShockAPI
player.TPlayer.inventory[i].prefix = this.inventory[i].PrefixId;
}
}
- else if (i < NetItem.InventorySlots + NetItem.ArmorSlots)
+ else if (i < NetItem.ArmorIndex.Item2)
{
//59-78
- var index = i - NetItem.InventorySlots;
+ var index = i - NetItem.ArmorIndex.Item1;
player.TPlayer.armor[index].netDefaults(this.inventory[i].NetId);
if (player.TPlayer.armor[index].netID != 0)
@@ -249,10 +250,10 @@ namespace TShockAPI
player.TPlayer.armor[index].prefix = (byte)this.inventory[i].PrefixId;
}
}
- else if (i < NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots)
+ else if (i < NetItem.DyeIndex.Item2)
{
//79-88
- var index = i - (NetItem.InventorySlots + NetItem.ArmorSlots);
+ var index = i - NetItem.DyeIndex.Item1;
player.TPlayer.dye[index].netDefaults(this.inventory[i].NetId);
if (player.TPlayer.dye[index].netID != 0)
@@ -261,11 +262,10 @@ namespace TShockAPI
player.TPlayer.dye[index].prefix = (byte)this.inventory[i].PrefixId;
}
}
- else if (i <
- NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots)
+ else if (i < NetItem.MiscEquipIndex.Item2)
{
//89-93
- var index = i - (NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots);
+ var index = i - NetItem.MiscEquipIndex.Item1;
player.TPlayer.miscEquips[index].netDefaults(this.inventory[i].NetId);
if (player.TPlayer.miscEquips[index].netID != 0)
@@ -274,13 +274,10 @@ namespace TShockAPI
player.TPlayer.miscEquips[index].prefix = (byte)this.inventory[i].PrefixId;
}
}
- else if (i <
- NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots
- + NetItem.MiscDyeSlots)
+ else if (i < NetItem.MiscDyeIndex.Item2)
{
//93-98
- var index = i - (NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots
- + NetItem.MiscEquipSlots);
+ var index = i - NetItem.MiscDyeIndex.Item1;
player.TPlayer.miscDyes[index].netDefaults(this.inventory[i].NetId);
if (player.TPlayer.miscDyes[index].netID != 0)
@@ -289,13 +286,10 @@ namespace TShockAPI
player.TPlayer.miscDyes[index].prefix = (byte)this.inventory[i].PrefixId;
}
}
- else if (i <
- NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots +
- NetItem.MiscDyeSlots + NetItem.PiggySlots)
+ else if (i < NetItem.PiggyIndex.Item2)
{
//98-138
- var index = i - (NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots
- + NetItem.MiscEquipSlots + NetItem.MiscDyeSlots);
+ var index = i - NetItem.PiggyIndex.Item1;
player.TPlayer.bank.item[index].netDefaults(this.inventory[i].NetId);
if (player.TPlayer.bank.item[index].netID != 0)
@@ -304,12 +298,10 @@ namespace TShockAPI
player.TPlayer.bank.item[index].prefix = (byte)this.inventory[i].PrefixId;
}
}
- else if (i <
- NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots +
- NetItem.MiscDyeSlots + NetItem.PiggySlots + NetItem.SafeSlots)
+ else if (i < NetItem.SafeIndex.Item2)
{
- var index = i - (NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots
- + NetItem.MiscEquipSlots + NetItem.MiscDyeSlots + NetItem.PiggySlots);
+ //138-178
+ var index = i - NetItem.SafeIndex.Item1;
player.TPlayer.bank2.item[index].netDefaults(this.inventory[i].NetId);
if (player.TPlayer.bank2.item[index].netID != 0)
@@ -318,22 +310,10 @@ namespace TShockAPI
player.TPlayer.bank2.item[index].prefix = (byte)this.inventory[i].PrefixId;
}
}
- else if (i <
- NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots +
- NetItem.MiscDyeSlots + NetItem.PiggySlots + NetItem.SafeSlots + NetItem.ForgeSlots)
- {
- var index = i - (NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots
- + NetItem.MiscEquipSlots + NetItem.MiscDyeSlots + NetItem.PiggySlots + NetItem.SafeSlots);
- player.TPlayer.bank3.item[index].netDefaults(this.inventory[i].NetId);
-
- if (player.TPlayer.bank3.item[index].netID != 0)
- {
- player.TPlayer.bank3.item[index].stack = this.inventory[i].Stack;
- player.TPlayer.bank3.item[index].prefix = (byte)this.inventory[i].PrefixId;
- }
- }
- else
+ else if (i < NetItem.TrashIndex.Item2)
{
+ //179-219
+ var index = i - NetItem.TrashIndex.Item1;
player.TPlayer.trashItem.netDefaults(this.inventory[i].NetId);
if (player.TPlayer.trashItem.netID != 0)
@@ -342,6 +322,19 @@ namespace TShockAPI
player.TPlayer.trashItem.prefix = (byte)this.inventory[i].PrefixId;
}
}
+ else
+ {
+ //220
+ var index = i - NetItem.ForgeIndex.Item1;
+ player.TPlayer.bank3.item[index].netDefaults(this.inventory[i].NetId);
+
+ if (player.TPlayer.bank3.item[index].netID != 0)
+ {
+ player.TPlayer.bank3.item[index].stack = this.inventory[i].Stack;
+ player.TPlayer.bank3.item[index].Prefix((byte)this.inventory[i].PrefixId);
+ }
+
+ }
}
float slot = 0f;
@@ -380,13 +373,13 @@ namespace TShockAPI
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);
slot++;
}
+ NetMessage.SendData(5, -1, -1, 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);
slot++;
}
- NetMessage.SendData(5, -1, -1, Main.player[player.Index].trashItem.name, player.Index, slot, (float)Main.player[player.Index].trashItem.prefix);
NetMessage.SendData(4, -1, -1, player.Name, player.Index, 0f, 0f, 0f, 0);
NetMessage.SendData(42, -1, -1, "", player.Index, 0f, 0f, 0f, 0);
@@ -428,13 +421,14 @@ namespace TShockAPI
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);
slot++;
}
+ NetMessage.SendData(5, player.Index, -1, 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);
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(4, player.Index, -1, player.Name, player.Index, 0f, 0f, 0f, 0);
NetMessage.SendData(42, player.Index, -1, "", player.Index, 0f, 0f, 0f, 0);