예제 #1
0
        public override void PlaceBlock(Level world, Player player, BlockCoordinates blockCoordinates, BlockFace face, Vector3 faceCoords)
        {
            Block block = world.GetBlock(blockCoordinates);

            if (block is Grass || (block is Dirt && block.Metadata != 1) || block is GrassPath)
            {
                Farmland farmland = new Farmland
                {
                    Coordinates = blockCoordinates,
                    Metadata    = 0
                };

                if (farmland.FindWater(world, blockCoordinates, new List <BlockCoordinates>(), 0))
                {
                    Log.Warn("Found water source");
                    farmland.Metadata = 7;
                }

                world.SetBlock(farmland);
            }
            else if (block is Dirt && block.Metadata == 1)
            {
                Dirt dirt = new Dirt
                {
                    Coordinates = blockCoordinates
                };

                world.SetBlock(dirt);
            }
        }
예제 #2
0
        public override void PlaceBlock(Level world, Player player, BlockCoordinates blockCoordinates, BlockFace face, Vector3 faceCoords)
        {
            Block block = world.GetBlock(blockCoordinates);

            if (block is Grass || (block is Dirt normalDirt && normalDirt.DirtType == "normal") || block is GrassPath)
            {
                var farmland = new Farmland
                {
                    Coordinates = blockCoordinates,
                };

                if (farmland.FindWater(world, blockCoordinates, new List <BlockCoordinates>(), 0))
                {
                    Log.Warn("Found water source");
                    farmland.MoisturizedAmount = 7;
                }

                world.SetBlock(farmland);
                player.Inventory.DamageItemInHand(ItemDamageReason.BlockInteract, null, block);
            }
예제 #3
0
        public override void UseItem(Level world, Player player, BlockCoordinates blockCoordinates, BlockFace face, Vector3 faceCoords)
        {
            Block block = world.GetBlock(blockCoordinates);

            if (block is Grass || block is Dirt || block is GrassPath)
            {
                Farmland farmland = new Farmland
                {
                    Coordinates = blockCoordinates,
                    Metadata    = 0
                };

                if (farmland.FindWater(world, blockCoordinates, new List <BlockCoordinates>(), 0))
                {
                    Log.Warn("Found water source");
                    farmland.Metadata = 7;
                }

                world.SetBlock(farmland);
            }
        }