Ejemplo n.º 1
0
        void OnCubePlacement(CubePlaceEvent e)
        {
            if (LogCubes == false)
            {
                return;
            }
            string cubePosition = e.Position.x + "," + e.Position.y + "," + e.Position.z;
            string str          = "";

            var bp = CodeHatch.Blocks.Inventory.InventoryUtil.GetTilesetBlueprint(e.Material, (int)e.PrefabId);

            if (bp == null)
            {
                return;
            }

            Player Owner = Server.GetPlayerById(e.SenderId);

            if (Owner != null)
            {
                str += Owner.DisplayName + " has placed a " + bp.Name + "";
            }
            else
            {
                str += "A " + bp.Name + " has been placed";
            }

            str += " at [" + cubePosition + "].";

            Log("Cubes", str);
        }
Ejemplo n.º 2
0
        private static void BuildBlockOnThisSquare(int setX, int setY, int setZ, byte material, Quaternion rotation, byte prefabId)
        {
            var newPosition    = new Vector3Int(setX, setY, setZ);
            var cubeEvent      = new CubePlaceEvent(0, newPosition, material, rotation, prefabId, 0.0f);
            var localCubeEvent = new CubePlaceLocalEvent(cubeEvent, true);

            EventManager.CallEvent((BaseEvent)cubeEvent);
            EventManager.CallEvent((BaseEvent)localCubeEvent);
        }
Ejemplo n.º 3
0
        void OnCubePlacement(CubePlaceEvent e)
        {
            if (e.PrefabId == null || e.SenderId == null || e.Material == null || e.Position == null) return;
            var bp = CodeHatch.Blocks.Inventory.InventoryUtil.GetTilesetBlueprint(e.Material, (int)e.PrefabId);
            if (bp == null) return;

            Player player = null;
            foreach (var ply in Server.ClientPlayers)
            {
                if (ply.Id == e.SenderId)
                {
                    player = ply;
                }
            }
            if (player != null)
                Puts(player.DisplayName + " placed a " + bp.Name + " at " + e.Position.ToString());
        }
Ejemplo n.º 4
0
        private void OnCubePlacement(CubePlaceEvent placeEvent)
        {
            #region Check
            if (placeEvent == null)
            {
                return;
            }
            if (placeEvent.Cancelled)
            {
                return;
            }
            if (placeEvent.Material == 0)
            {
                return;
            }
            if (placeEvent.Entity == null)
            {
                return;
            }
            if (placeEvent.Entity.Owner == null)
            {
                return;
            }
            #endregion

            Player player = placeEvent.Entity.Owner;

            if (!player.HasPermission("admin"))
            {
                Zone currentZone = getPlayerZone(player);
                if (currentZone != null)
                {
                    if (!currentZone.canBuild)
                    {
                        sendError(player, GetMessage("NoBuildHere"));
                        placeEvent.Cancel();
                    }
                }
            }
        }
Ejemplo n.º 5
0
        private void OnCubePlacement(CubePlaceEvent e)
        {
            HookCalled("OnCubePlacement");

            var bp = CodeHatch.Blocks.Inventory.InventoryUtil.GetTilesetBlueprint(e.Material, e.PrefabId);

            if (bp == null)
            {
                return;
            }

            Player player = null;

            foreach (var ply in Server.ClientPlayers.Where(ply => ply.Id == e.SenderId))
            {
                player = ply;
            }
            if (player != null)
            {
                Puts(player.DisplayName + " placed a " + bp.Name + " at " + e.Position);
            }
        }
Ejemplo n.º 6
0
        private void OnCubePlacement(CubePlaceEvent e)
        {
            HookCalled("OnCubePlacement");

            var bp = CodeHatch.Blocks.Inventory.InventoryUtil.GetTilesetBlueprint(e.Material, e.PrefabId);
            if (bp == null) return;

            Player player = null;
            foreach (var ply in Server.ClientPlayers.Where(ply => ply.Id == e.SenderId)) {
                player = ply;
            }
            if (player != null)
                Puts(player.DisplayName + " placed a " + bp.Name + " at " + e.Position);
        }