Esempio n. 1
0
        private void ItemForceIntoChest(ForceItemIntoChestEventArgs e)
        {
            if (e.Handled)
            {
                return;
            }

            e.Handled = !TShock.Players[e.Player.whoAmI]
                        .HasBuildPermission((int)e.TilePosition.X, (int)e.TilePosition.Y);
        }
Esempio n. 2
0
        /// <summary>OnItemForceIntoChest - Internal hook fired when a player quick stacks items into a chest.</summary>
        /// <param name="args">The <see cref="ForceItemIntoChestEventArgs"/> object.</param>
        private void OnItemForceIntoChest(ForceItemIntoChestEventArgs args)
        {
            if (args.Handled)
            {
                return;
            }

            if (args.Player == null)
            {
                args.Handled = true;
                return;
            }

            TSPlayer tsplr = Players[args.Player.whoAmI];
            if (tsplr == null)
            {
                args.Handled = true;
                return;
            }

            if (args.Chest != null)
            {
                if (Config.RegionProtectChests && !Regions.CanBuild((int)args.WorldPosition.X, (int)args.WorldPosition.Y, tsplr))
                {
                    args.Handled = true;
                    return;
                }

                if (CheckRangePermission(tsplr, args.Chest.x, args.Chest.y))
                {
                    args.Handled = true;
                    return;
                }
            }
        }