Welcome on MasterOf13FPS! MasterOf13FPS

Register today or sign up if you are already a member and never miss any cool content again :)

Clean Module Toggle Error

Status
Not open for further replies.

MasterOf13FPS

Administrator
Staff member
Administrator
MasterOf13FPS
Joined
Jul 11, 2020
Messages
0
Reaction score
25
Points
0
Ich habe seit langem wieder ein neuen Client gemacht, und 2 Modules.

Das 1. : Fullbright
das 2. Sprint

Wenn ich .toggle Fullbright eingebe kommt ein Fehler das das Module Fullbright nicht gefunden wurde. Wenn ich .toggle Sprint eingebe wird Sprint UND Fullbright getoggelt aber an meiner ArrayList steht nur Sprint.

ToggleCommand.java:
Code:
public class ToggleCommand extends Command {

    public ToggleCommand() {
        super("t", "You can toogle specific Modules");
    }
   
    public void execute(String[] args) {
         if (args.length == 0)
         {  
           Effected.instance.sendMsg("§3.t §8[Module]§f ");
           return;
         }
         if (args.length == 1)
         {
           for (Module m : Effected.instance.modManager.module) {
             if (m.getName().equalsIgnoreCase(args[0]))
             {
               m.toggle();
               
               String state = m.getState() ? "§aenabled" : "§cdisabled";
               Effected.instance.sendMsg("§e" + args[0] + " §3was " + state + "§3!");
               return;
             }
           }
           Effected.instance.sendMsg("§cThe Module §a" + args[0] + "§c was not found!");
         }
         super.execute(args);
        }
    }

Module state/toggle:
Code:
public void setState(boolean state) {
        this.onToggle();
        if (state) {
            this.onEnable();
            EventManager.register(this);
            this.isEnabled = true;
        } else {
            this.onDisable();
            EventManager.unregister(this);
            this.isEnabled = false;
        }
    }

    public void toggle() {
        this.setState(!this.getState());
    }
 
Hast du evtl den Namen des Moduls im Code falsch angegeben? Außerdem würde ich das if(args.length == 0)... Weglassen und hinter die Abfrage mit if(args.length == 1) ein Else machen und den Code des ersten Teils der Abfrage ausführen.
 
Du musst args[1] machen
Blödsinn... Dann würde es bei Sprint auch nicht gehen. Ich denke er hat es so gemacht dass der Command in dem Fall .toggle nicht als arg zählt. Würde sonst ja auch keinen Sinn ergeben.
 
Hast du evtl den Namen des Moduls im Code falsch angegeben? Außerdem würde ich das if(args.length == 0)... Weglassen und hinter die Abfrage mit if(args.length == 1) ein Else machen und den Code des ersten Teils der Abfrage ausführen.


Ich habe in Sprint den Namen Sprint eingespeichert und in Fullbright den Namen Fullbright. Und mit args[1] würde das nicht funktionieren weil args[0] das erste Argument ist.
 
Ich habe seit langem wieder ein neuen Client gemacht, und 2 Modules.

Das 1. : Fullbright
das 2. Sprint

Wenn ich .toggle Fullbright eingebe kommt ein Fehler das das Module Fullbright nicht gefunden wurde. Wenn ich .toggle Sprint eingebe wird Sprint UND Fullbright getoggelt aber an meiner ArrayList steht nur Sprint.

ToggleCommand.java:
Code:
public class ToggleCommand extends Command {

    public ToggleCommand() {
        super("t", "You can toogle specific Modules");
    }
  
    public void execute(String[] args) {
         if (args.length == 0)
         { 
           Effected.instance.sendMsg("§3.t §8[Module]§f ");
           return;
         }
         if (args.length == 1)
         {
           for (Module m : Effected.instance.modManager.module) {
             if (m.getName().equalsIgnoreCase(args[0]))
             {
               m.toggle();
              
               String state = m.getState() ? "§aenabled" : "§cdisabled";
               Effected.instance.sendMsg("§e" + args[0] + " §3was " + state + "§3!");
               return;
             }
           }
           Effected.instance.sendMsg("§cThe Module §a" + args[0] + "§c was not found!");
         }
         super.execute(args);
        }
    }

Module state/toggle:
Code:
public void setState(boolean state) {
        this.onToggle();
        if (state) {
            this.onEnable();
            EventManager.register(this);
            this.isEnabled = true;
        } else {
            this.onDisable();
            EventManager.unregister(this);
            this.isEnabled = false;
        }
    }

    public void toggle() {
        this.setState(!this.getState());
    }

Ich habe einmal den Code aus meinem alten 1.8 Client genommen und versucht aber es ist fast der selbe code und es hatt immernoch nicht funktioniert ;(
 
Blödsinn... Dann würde es bei Sprint auch nicht gehen. Ich denke er hat es so gemacht dass der Command in dem Fall .toggle nicht als arg zählt. Würde sonst ja auch keinen Sinn ergeben.

Habe jetzt neu angefangen und alle Klassen aus meinem alten Client benutzt wo es funktionierte, aber es ist wieder der gleiche Fehler :/
 
Status
Not open for further replies.
shape1
shape2
shape3
shape4
shape5
shape6
Back
Top