public void Execute(IRocketPlayer caller, string[] command)
        {
            var pluginInstance = BaseClusteringPlugin.Instance;

            if (pluginInstance == null)
            {
                throw new NullReferenceException("BaseClusteringPlugin.Instance is null. Cannot execute command.");
            }

            if (!(caller is UnturnedPlayer player))
            {
                return;
            }

            if (!Physics.Raycast(new Ray(player.Player.look.aim.position, player.Player.look.aim.forward), out var hit,
                                 player.Player.look.perspective == EPlayerPerspective.THIRD ? 6 : 4,
                                 RayMasks.BARRICADE_INTERACT | RayMasks.BARRICADE | RayMasks.STRUCTURE |
                                 RayMasks.STRUCTURE_INTERACT) ||
                hit.transform == null)
            {
                UnturnedChat.Say(caller, pluginInstance.Translate("not_looking_buildable"));
                return;
            }

            var buildable = BuildableDirectory.GetBuildable(hit.transform);

            if (buildable == null)
            {
                UnturnedChat.Say(caller, pluginInstance.Translate("not_looking_buildable"));
                return;
            }

            buildable.SafeDestroy();
        }
            internal static void ReceiveTransformStructure(byte x, byte y, uint instanceID)
            {
                var buildable = BuildableDirectory.GetBuildable(instanceID, true);

                if (buildable == null)
                {
                    if (!StructureManager.tryGetRegion(x, y, out var region))
                    {
                        return;
                    }

                    var data = region.structures.FirstOrDefault(k => k.instanceID == instanceID);
                    var drop = region.drops.FirstOrDefault(k => k.instanceID == instanceID);

                    if (data == null || drop == null)
                    {
                        return;
                    }

                    buildable = new StructureBuildable(data, drop);
                }

                OnBuildableTransformed?.Invoke(buildable !);
            }
            internal static void ReceiveTransformBarricade(byte x, byte y, ushort plant, uint instanceID)
            {
                var buildable = BuildableDirectory.GetBuildable(instanceID, false);

                if (buildable == null)
                {
                    if (!BarricadeManager.tryGetRegion(x, y, plant, out var region))
                    {
                        return;
                    }

                    var data = region.barricades.FirstOrDefault(k => k.instanceID == instanceID);
                    var drop = region.drops.FirstOrDefault(k => k.instanceID == instanceID);

                    if (data == null || drop == null)
                    {
                        return;
                    }

                    buildable = new BarricadeBuildable(data, drop);
                }

                OnBuildableTransformed?.Invoke(buildable !);
            }