From 38a1351d38e1d87a7e7a5fef65f29a22798ab584 Mon Sep 17 00:00:00 2001 From: Patrikkk Date: Thu, 25 Jun 2020 01:42:22 +0200 Subject: [PATCH] Register DisplayDollItemSyncHandler. Moved the type check for 0 before itemSetDefaults to have less code run if the empty slots are clicked. --- TShockAPI/Bouncer.cs | 6 +++++- TShockAPI/GetDataHandlers.cs | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/TShockAPI/Bouncer.cs b/TShockAPI/Bouncer.cs index 86ccb00e..f3814388 100644 --- a/TShockAPI/Bouncer.cs +++ b/TShockAPI/Bouncer.cs @@ -39,6 +39,7 @@ namespace TShockAPI internal Handlers.SendTileSquareHandler STSHandler { get; set; } internal Handlers.NetModules.NetModulePacketHandler NetModuleHandler { get; set; } internal Handlers.EmojiHandler EmojiHandler { get; set; } + internal Handlers.DisplayDollItemSyncHandler DisplayDollItemSyncHandler { get; set; } internal Handlers.LandGolfBallInCupHandler LandGolfBallInCupHandler { get; set; } internal Handlers.SyncTilePickingHandler SyncTilePickingHandler { get; set; } @@ -52,9 +53,12 @@ namespace TShockAPI NetModuleHandler = new Handlers.NetModules.NetModulePacketHandler(); GetDataHandlers.ReadNetModule += NetModuleHandler.OnReceive; + DisplayDollItemSyncHandler = new Handlers.DisplayDollItemSyncHandler(); + GetDataHandlers.DisplayDollItemSync += DisplayDollItemSyncHandler.OnReceive; + EmojiHandler = new Handlers.EmojiHandler(); GetDataHandlers.Emoji += EmojiHandler.OnReceive; - + LandGolfBallInCupHandler = new Handlers.LandGolfBallInCupHandler(); GetDataHandlers.LandGolfBallInCup += LandGolfBallInCupHandler.OnReceive; diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index 02fd32b0..ace294d6 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -3791,13 +3791,13 @@ namespace TShockAPI ushort stack = args.Data.ReadUInt16(); int prefix = args.Data.ReadByte(); + if (oldItem.type == 0 && newItem.type == 0) + return false; + newItem.SetDefaults(itemType); newItem.stack = stack; newItem.Prefix(prefix); - if (oldItem.type == 0 && newItem.type == 0) - return false; - if (OnDisplayDollItemSync(args.Player, args.Data, playerIndex, tileEntityID, displayDoll, slot, isDye, oldItem, newItem)) return true; }