Change Senders Gamemode

Discussion in 'Plugin Development' started by MCMatters, May 5, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    MCMatters

    What Do I Import, and what code is nessacary
     
  2. Offline

    Onlineids

    First of this is basic you should probably look up some videos sgtcaze PogoStick29 bcbroz ect,
    Heres how you change a sender of a commands gamemode
    if(sender instanceof Player){
    Player p = (Player) sender;
    p.setGamemode(Gamemode.Survival);
    }else{
    sender.sendMessage("Silly sender gamemode is for players")
    }
     
  3. Offline

    PluginStudios

    MCMatters you don't come on here and just ask for code. Learn! There is very useful tutorials out there, like the ones by TheBCBroz & Pogostick29dev.

    Here is a mindmap(?) of what you should do.

    oncommand
    check if player (instanceof)
    set gamemode (player.setGameMode(GameMode.MODEGOESHERE)

    Onlineids Oops ;P didn't see your post.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 8, 2016
  4. Offline

    Onlineids

    Welp this is akward xD
     
  5. Offline

    MCMatters

    Code:java
    1. if(args[0].equalsIgnoreCase("creative")){
    2. Player player = (Player) sender;
    3. player.setGameMode(GameMode.CREATIVE);
    4. if(args[0].equalsIgnoreCase("c")){
    5. player.setGameMode(GameMode.CREATIVE);
    6. if(args[0].equalsIgnoreCase("1")){
    7. player.setGameMode(GameMode.CREATIVE);
    8. if(args[0].equalsIgnoreCase("survival")){
    9. player.setGameMode(GameMode.SURVIVAL);
    10. if(args[0].equalsIgnoreCase("s")){
    11. player.setGameMode(GameMode.SURVIVAL);
    12. if(args[0].equalsIgnoreCase("0")){
    13. player.setGameMode(GameMode.SURVIVAL);
    14. if(args[0].equalsIgnoreCase("adventure")){
    15. player.setGameMode(GameMode.ADVENTURE);
    16. if(args[0].equalsIgnoreCase("a")){
    17. player.setGameMode(GameMode.ADVENTURE);
    18. if(args[0].equalsIgnoreCase("2")){
    19. player.setGameMode(GameMode.CREATIVE);

    How Would I Add That I Can Change Other Peoples Gamemode?
     
  6. Offline

    PluginStudios

    MCMatters dude, you cannot just repeatedly ask for code. Basically what you need to do is get the args[1] value and check if it is a real player with getOfflinePlayer. If it is, assign a variables to that player and change the gamemode for them.
     
  7. Offline

    MCMatters

    I just wanted to know how to do it that if they dont specify a player it assigns it to themself but if its specifyed to assign to other player PluginStudios
     
  8. Offline

    PluginStudios

    MCMatters that involves some code. Try this yourself, and here is a hint: check before you set the GameModes if (args.length == 2) {
     
  9. Offline

    MCMatters

    I had that already :p PluginStudios
    Code:java
    1. if (args.length > 5) {
    2. sender.sendMessage(ChatColor.DARK_BLUE + "[GameMode] " + ChatColor.RED + ">> " + "I Wanted A Mode And A Player!");
    3. return false;
    4. }
    5. if (args.length < 2) {
    6. sender.sendMessage( ChatColor.DARK_BLUE + "[GameMode] " + ChatColor.GRAY + ">> " + "Please Specify A Mode" + ChatColor.DARK_BLUE + " (Creative/Survival/Adventure)");
    7. if(args[0].equalsIgnoreCase("creative")){
    8. Player player = (Player) sender;
    9. player.setGameMode(GameMode.CREATIVE);
    10. if(args[0].equalsIgnoreCase("c")){
    11. player.setGameMode(GameMode.CREATIVE);
    12. if(args[0].equalsIgnoreCase("1")){
    13. player.setGameMode(GameMode.CREATIVE);
    14. if(args[0].equalsIgnoreCase("survival")){
    15. player.setGameMode(GameMode.SURVIVAL);
    16. if(args[0].equalsIgnoreCase("s")){
    17. player.setGameMode(GameMode.SURVIVAL);
    18. if(args[0].equalsIgnoreCase("0")){
    19. player.setGameMode(GameMode.SURVIVAL);
    20. if(args[0].equalsIgnoreCase("adventure")){
    21. player.setGameMode(GameMode.ADVENTURE);
    22. if(args[0].equalsIgnoreCase("a")){
    23. player.setGameMode(GameMode.ADVENTURE);
    24. if(args[0].equalsIgnoreCase("2")){
    25. player.setGameMode(GameMode.CREATIVE);
    26.  
    27. }
     
  10. Offline

    Onlineids

    Now add if args.length == 2
    Player target = Bukkit.getOnlinePlayer(args[1]);
    if(target !=null){
    do all your code but replace player with target
    }else{
    sender.sendMessage(target + " is not online!");
    }
     
  11. Offline

    MCMatters

  12. Offline

    Onlineids

    wherever you want, cant really tell you where its your code. Once again look up some tutorials.
     
Thread Status:
Not open for further replies.

Share This Page