Пример #1
0
        static void WaterHandler([NotNull] Player player, [NotNull] CommandReader cmd)
        {
            bool turnWaterOn = (player.GetBind(Block.Aqua) != Block.Water ||
                                player.GetBind(Block.Cyan) != Block.Water ||
                                player.GetBind(Block.Blue) != Block.Water);

            if (cmd.HasNext && !cmd.NextOnOff(out turnWaterOn))
            {
                CdWater.PrintUsage(player);
                return;
            }

            if (turnWaterOn)
            {
                player.Bind(Block.Aqua, Block.Water);
                player.Bind(Block.Cyan, Block.Water);
                player.Bind(Block.Blue, Block.Water);
                player.Message("Water: ON. Blue blocks are replaced with water.");
            }
            else
            {
                player.ResetBind(Block.Aqua, Block.Cyan, Block.Blue);
                player.Message("Water: OFF");
            }
        }
Пример #2
0
        static void SolidHandler([NotNull] Player player, [NotNull] CommandReader cmd)
        {
            bool turnSolidOn = (player.GetBind(Block.Stone) != Block.Admincrete);

            if (cmd.HasNext && !cmd.NextOnOff(out turnSolidOn))
            {
                CdSolid.PrintUsage(player);
                return;
            }

            if (turnSolidOn)
            {
                player.Bind(Block.Stone, Block.Admincrete);
                player.Message("Solid: ON. Stone blocks are replaced with admincrete.");
            }
            else
            {
                player.ResetBind(Block.Stone);
                player.Message("Solid: OFF");
            }
        }
Пример #3
0
        static void LavaHandler([NotNull] Player player, [NotNull] CommandReader cmd)
        {
            bool turnLavaOn = (player.GetBind(Block.Red) != Block.Lava);

            if (cmd.HasNext && !cmd.NextOnOff(out turnLavaOn))
            {
                CdLava.PrintUsage(player);
                return;
            }

            if (turnLavaOn)
            {
                player.Bind(Block.Red, Block.Lava);
                player.Message("Lava: ON. Red blocks are replaced with lava.");
            }
            else
            {
                player.ResetBind(Block.Red);
                player.Message("Lava: OFF");
            }
        }
Пример #4
0
        static void GrassHandler([NotNull] Player player, [NotNull] CommandReader cmd)
        {
            bool turnGrassOn = (player.GetBind(Block.Dirt) != Block.Grass);

            if (cmd.HasNext && !cmd.NextOnOff(out turnGrassOn))
            {
                CdGrass.PrintUsage(player);
                return;
            }

            if (turnGrassOn)
            {
                player.Bind(Block.Dirt, Block.Grass);
                player.Message("Grass: ON. Dirt blocks are replaced with grass.");
            }
            else
            {
                player.ResetBind(Block.Dirt);
                player.Message("Grass: OFF");
            }
        }
Пример #5
0
        static void BindHandler( Player player, CommandReader cmd ) {
            if( !cmd.HasNext ) {
                player.Message( "All bindings have been reset." );
                player.ResetAllBinds();
                return;
            }

            Block originalBlock;
            if( !cmd.NextBlock( player, false, out originalBlock ) ) return;

            if( !cmd.HasNext ) {
                if( player.GetBind( originalBlock ) != originalBlock ) {
                    player.Message( "{0} is no longer bound to {1}",
                                    originalBlock,
                                    player.GetBind( originalBlock ) );
                    player.ResetBind( originalBlock );
                } else {
                    player.Message( "{0} is not bound to anything.",
                                    originalBlock );
                }
                return;
            }

            Block replacementBlock;
            if( !cmd.NextBlock( player, false, out replacementBlock ) ) return;

            if( cmd.HasNext ) {
                CdBind.PrintUsage( player );
                return;
            }

            Permission permission = Permission.Build;
            switch( replacementBlock ) {
                case Block.Grass:
                    permission = Permission.PlaceGrass;
                    break;
                case Block.Admincrete:
                    permission = Permission.PlaceAdmincrete;
                    break;
                case Block.Water:
                    permission = Permission.PlaceWater;
                    break;
                case Block.Lava:
                    permission = Permission.PlaceLava;
                    break;
            }
            if( player.Can( permission ) ) {
                player.Bind( originalBlock, replacementBlock );
                player.Message( "{0} is now replaced with {1}", originalBlock, replacementBlock );
            } else {
                player.Message( "&WYou do not have {0} permission.", permission );
            }
        }
Пример #6
0
        static void LavaHandler( Player player, CommandReader cmd ) {
            bool turnLavaOn = (player.GetBind( Block.Red ) != Block.Lava);

            if( cmd.HasNext && !cmd.NextOnOff( out turnLavaOn ) ) {
                CdLava.PrintUsage( player );
                return;
            }

            if( turnLavaOn ) {
                player.Bind( Block.Red, Block.Lava );
                player.Message( "Lava: ON. Red blocks are replaced with lava." );
            } else {
                player.ResetBind( Block.Red );
                player.Message( "Lava: OFF" );
            }
        }
Пример #7
0
        static void WaterHandler( Player player, CommandReader cmd ) {
            bool turnWaterOn = (player.GetBind( Block.Aqua ) != Block.Water ||
                                player.GetBind( Block.Cyan ) != Block.Water ||
                                player.GetBind( Block.Blue ) != Block.Water);

            if( cmd.HasNext && !cmd.NextOnOff( out turnWaterOn ) ) {
                CdWater.PrintUsage( player );
                return;
            }

            if( turnWaterOn ) {
                player.Bind( Block.Aqua, Block.Water );
                player.Bind( Block.Cyan, Block.Water );
                player.Bind( Block.Blue, Block.Water );
                player.Message( "Water: ON. Blue blocks are replaced with water." );
            } else {
                player.ResetBind( Block.Aqua, Block.Cyan, Block.Blue );
                player.Message( "Water: OFF" );
            }
        }
Пример #8
0
        static void GrassHandler( Player player, CommandReader cmd ) {
            bool turnGrassOn = (player.GetBind( Block.Dirt ) != Block.Grass);

            if( cmd.HasNext && !cmd.NextOnOff( out turnGrassOn ) ) {
                CdGrass.PrintUsage( player );
                return;
            }

            if( turnGrassOn ) {
                player.Bind( Block.Dirt, Block.Grass );
                player.Message( "Grass: ON. Dirt blocks are replaced with grass." );
            } else {
                player.ResetBind( Block.Dirt );
                player.Message( "Grass: OFF" );
            }
        }
Пример #9
0
        static void SolidHandler( Player player, CommandReader cmd ) {
            bool turnSolidOn = (player.GetBind( Block.Stone ) != Block.Admincrete);

            if( cmd.HasNext && !cmd.NextOnOff( out turnSolidOn ) ) {
                CdSolid.PrintUsage( player );
                return;
            }

            if( turnSolidOn ) {
                player.Bind( Block.Stone, Block.Admincrete );
                player.Message( "Solid: ON. Stone blocks are replaced with admincrete." );
            } else {
                player.ResetBind( Block.Stone );
                player.Message( "Solid: OFF" );
            }
        }
Пример #10
0
 static void LavaHandler( Player player, CommandReader cmd ) {
     if( player.GetBind( Block.Red ) == Block.Lava ) {
         player.ResetBind( Block.Red );
         player.Message( "Lava: OFF" );
     } else {
         player.Bind( Block.Red, Block.Lava );
         player.Message( "Lava: ON. Red blocks are replaced with lava." );
     }
 }
Пример #11
0
 static void WaterHandler( Player player, CommandReader cmd ) {
     if( player.GetBind( Block.Aqua ) == Block.Water ||
         player.GetBind( Block.Cyan ) == Block.Water ||
         player.GetBind( Block.Blue ) == Block.Water ) {
         player.ResetBind( Block.Aqua, Block.Cyan, Block.Blue );
         player.Message( "Water: OFF" );
     } else {
         player.Bind( Block.Aqua, Block.Water );
         player.Bind( Block.Cyan, Block.Water );
         player.Bind( Block.Blue, Block.Water );
         player.Message( "Water: ON. Blue blocks are replaced with water." );
     }
 }
Пример #12
0
 static void GrassHandler( Player player, CommandReader cmd ) {
     if( player.GetBind( Block.Dirt ) == Block.Grass ) {
         player.ResetBind( Block.Dirt );
         player.Message( "Grass: OFF" );
     } else {
         player.Bind( Block.Dirt, Block.Grass );
         player.Message( "Grass: ON. Dirt blocks are replaced with grass." );
     }
 }
Пример #13
0
 static void SolidHandler( Player player, CommandReader cmd ) {
     if( player.GetBind( Block.Stone ) == Block.Admincrete ) {
         player.ResetBind( Block.Stone );
         player.Message( "Solid: OFF" );
     } else {
         player.Bind( Block.Stone, Block.Admincrete );
         player.Message( "Solid: ON. Stone blocks are replaced with admincrete." );
     }
 }
Пример #14
0
        static void BindHandler( Player player, Command cmd )
        {
            string originalBlockName = cmd.Next();
            if( originalBlockName == null ) {
                player.Message( "All bindings have been reset." );
                player.ResetAllBinds();
                return;
            }
            Block originalBlock = Map.GetBlockByName( originalBlockName );
            if( originalBlock == Block.Undefined ) {
                player.Message( "Bind: Unrecognized block name: {0}", originalBlockName );
                return;
            }

            string replacementBlockName = cmd.Next();
            if( replacementBlockName == null ) {
                if( player.GetBind( originalBlock ) != originalBlock ) {
                    player.Message( "{0} is no longer bound to {1}",
                                    originalBlock,
                                    player.GetBind( originalBlock ) );
                    player.ResetBind( originalBlock );
                } else {
                    player.Message( "{0} is not bound to anything.",
                                    originalBlock );
                }
                return;
            }

            if( cmd.HasNext ) {
                CdBind.PrintUsage( player );
                return;
            }

            Block replacementBlock = Map.GetBlockByName( replacementBlockName );
            if( replacementBlock == Block.Undefined ) {
                player.Message( "Bind: Unrecognized block name: {0}", replacementBlockName );
            } else {
                Permission permission = Permission.Build;
                switch( replacementBlock ) {
                    case Block.Grass:
                        permission = Permission.PlaceGrass;
                        break;
                    case Block.Admincrete:
                        permission = Permission.PlaceAdmincrete;
                        break;
                    case Block.Water:
                        permission = Permission.PlaceWater;
                        break;
                    case Block.Lava:
                        permission = Permission.PlaceLava;
                        break;
                }
                if( player.Can( permission ) ) {
                    player.Bind( originalBlock, replacementBlock );
                    player.Message( "{0} is now replaced with {1}", originalBlock, replacementBlock );
                } else {
                    player.Message( "&WYou do not have {0} permission.", permission );
                }
            }
        }
Пример #15
0
        static void DoubleStairHandler(Player player, Command cmd)
        {
            if (player.GetBind(Block.Stair) == Block.DoubleStair)
            {
                player.ResetBind(Block.Stair);
                player.Message("DoubleStair: OFF");
            }

            else
            {
                player.Bind(Block.Stair, Block.DoubleStair);
                player.Message("DoubleStair: ON. Stair blocks are replaced with DoubleStairs.");
            }
        }
Пример #16
0
        static void BindHandler([NotNull] Player player, [NotNull] CommandReader cmd)
        {
            if (!cmd.HasNext)
            {
                player.Message("All bindings have been reset.");
                player.ResetAllBinds();
                return;
            }

            Block originalBlock;

            if (!cmd.NextBlock(player, false, out originalBlock))
            {
                return;
            }

            if (!cmd.HasNext)
            {
                if (player.GetBind(originalBlock) != originalBlock)
                {
                    player.Message("{0} is no longer bound to {1}",
                                   originalBlock,
                                   player.GetBind(originalBlock));
                    player.ResetBind(originalBlock);
                }
                else
                {
                    player.Message("{0} is not bound to anything.",
                                   originalBlock);
                }
                return;
            }

            Block replacementBlock;

            if (!cmd.NextBlock(player, false, out replacementBlock))
            {
                return;
            }

            if (cmd.HasNext)
            {
                CdBind.PrintUsage(player);
                return;
            }

            Permission permission = Permission.Build;

            switch (replacementBlock)
            {
            case Block.Grass:
                permission = Permission.PlaceGrass;
                break;

            case Block.Admincrete:
                permission = Permission.PlaceAdmincrete;
                break;

            case Block.Water:
                permission = Permission.PlaceWater;
                break;

            case Block.Lava:
                permission = Permission.PlaceLava;
                break;
            }
            if (player.Can(permission))
            {
                player.Bind(originalBlock, replacementBlock);
                player.Message("{0} is now replaced with {1}", originalBlock, replacementBlock);
            }
            else
            {
                player.Message("&WYou do not have {0} permission.", permission);
            }
        }