CLOSED Container schließen

  • Du kannst jetzt eigene Werbung schalten.

    Melde dich einfach via Unterhaltung bei "Artur" und bespreche alles weitere (Preis, Art von Werbung, etc.).

    Wir behalten uns das Recht vor, Werbeanfragen kommentarlos abzulehnen.
  • Bist du schon auf unserem Discord, Guest?

    » https://discordapp.com/invite/XnGCxmp
    Bereits beigetreten? Klicke auf das ✘ oben, rechts.
Status
Not open for further replies.

Darki

Member
Oct 14, 2017
41
2
8
Ich mache gerade einen ChestStealer, und will dass nachdem alle Items herausgenommen wurden, und die Kiste leer ist, sich die Kiste schließt.
Ich habe es mit diesem Code probiert:
if(chest.getInventory().isEmpty()) {
this.mc.displayGuiScreen(null);
}
(nach der for loop)
Komme iwie nicht weiter, wäre nett wenn jemand helfen würde.

Mfg
 

AlexandrosV

Moderator
Staff member
Jan 3, 2018
51
13
8
Ich mache gerade einen ChestStealer, und will dass nachdem alle Items herausgenommen wurden, und die Kiste leer ist, sich die Kiste schließt.
Ich habe es mit diesem Code probiert:
if(chest.getInventory().isEmpty()) {
this.mc.displayGuiScreen(null);
}
(nach der for loop)
Komme iwie nicht weiter, wäre nett wenn jemand helfen würde.

Mfg
Du brauchst einfach ne andere func ^^

Java:
if(containsItems) throws NoSuchSettingException {
    //Hier dein Cheststealer code
} else if(Settings.getSetting("CLOSE").getState()) {
    mc.thePlayer.closeScreen();
    isDone = true;
}
 
  • Like
Reactions: awfulname

Darki

Member
Oct 14, 2017
41
2
8
Von welcher Klasse ist dieses Settings.getSetting("CLOSE").getState())?
 

Darki

Member
Oct 14, 2017
41
2
8
Ich hab die von HeroCode drin hab nur keine getState function und kein "CLOSE" setting
 

AlexandrosV

Moderator
Staff member
Jan 3, 2018
51
13
8
muss ja nicht getState sein. Kann auch isEnabled oder was auch immer sein, keine Ahnung wie das bei HeroCode heißt
 

Darki

Member
Oct 14, 2017
41
2
8
hab jetzt so ganz ungefähr das hier funkioniert aber nicht


Java:
for(slot in chest) {

if(containsItems) {

    Mein Chest Stealer Code

    } else if (Client.instance.settingsManager.getSettingByName("Close").isCheck()) {

        mc.thePlayer.closeScreen();

    }

}
 

AlexandrosV

Moderator
Staff member
Jan 3, 2018
51
13
8
ja wann ist containsItems denn true? du kannst nicht einfach
Java:
boolean containsItems = true;
machen.
Java:
boolean containsItems = false;
/*Full ist ein boolean, der zurückgibt, ob das Inventar vom Spieler voll ist.
*solltest du hinkriegen, ist nicht schwer.
*/
if(!full) {
for(int i = 0; i < chestGui.lowerChestInventory.getSizeInventory(); i++) {
ItemStack i1 = chestGui.lowerChestInventory.getStackInSlot(i);
//Wenn du eine methode hast die überprüft ob ein Item tauglich is kommt die hinters i1 != null
if(i1 != null) {
    containsItems = true;

        }

    }
}
 

Darki

Member
Oct 14, 2017
41
2
8
ja wann ist containsItems denn true? du kannst nicht einfach
Java:
boolean containsItems = true;
machen.
Java:
boolean containsItems = false;
/*Full ist ein boolean, der zurückgibt, ob das Inventar vom Spieler voll ist.
*solltest du hinkriegen, ist nicht schwer.
*/
if(!full) {
for(int i = 0; i < chestGui.lowerChestInventory.getSizeInventory(); i++) {
ItemStack i1 = chestGui.lowerChestInventory.getStackInSlot(i);
//Wenn du eine methode hast die überprüft ob ein Item tauglich is kommt die hinters i1 != null
if(i1 != null) {
    containsItems = true;

        }

    }
}
Ich hatte schon die Methode ich hab sie nur stark auf containsItems vereinfacht damit es angenehmer zum lesen ist, und weil ich hier nicht meinen ganzen Code reinschicken wollte. Danke trotzdem
 

Darki

Member
Oct 14, 2017
41
2
8
Ich schicke jetzt mal alles was ich in der on Update Methode gerade drin habe damit es keine Missverständnisse mehr gibt

Java:
if((mc.thePlayer.openContainer != null) && ((mc.thePlayer.openContainer instanceof ContainerChest))) {
            ContainerChest chest = (ContainerChest) mc.thePlayer.openContainer;
            for(int i = 0; i < chest.getLowerChestInventory().getSizeInventory(); i++) {
                if((chest.getLowerChestInventory().getStackInSlot(i) != null) && (time.hasReached((long)Client.instance.settingsManager.getSettingByName("Delay").getValDouble()))) {
                    mc.playerController.windowClick(chest.windowId, i, 0, 1, mc.thePlayer);
                    time.reset();
                } else if (Client.instance.settingsManager.getSettingByName("Close").isCheck() && chest.inventorySlots.isEmpty()) {
                        mc.thePlayer.closeScreen();
                }
            }

        }
 
Last edited:

Eox

Member
Sep 23, 2018
64
5
8
Ich schicke jetzt mal alles was ich in der on Update Methode gerade drin habe damit es keine Missverständnisse mehr gibt

Java:
if((mc.thePlayer.openContainer != null) && ((mc.thePlayer.openContainer instanceof ContainerChest))) {
            ContainerChest chest = (ContainerChest) mc.thePlayer.openContainer;
            for(int i = 0; i < chest.getLowerChestInventory().getSizeInventory(); i++) {
                if((chest.getLowerChestInventory().getStackInSlot(i) != null) && (time.hasReached((long)Client.instance.settingsManager.getSettingByName("Delay").getValDouble()))) {
                    mc.playerController.windowClick(chest.windowId, i, 0, 1, mc.thePlayer);
                    time.reset();
                } else if (Client.instance.settingsManager.getSettingByName("Close").isCheck() && chest.inventorySlots.isEmpty()) {
                        mc.thePlayer.closeScreen();
                }
            }

        }
Client.instance.settingsManager.getSettingByName("Close").isCheck() ist falsch, du fragst dort ab ob diese Varialbe ein Check ist, was wenn du alles richtig gemacht hast dauerhaft true wäre, du musst getValBoolean() abfragen soweit ich weiß um abzufragen ob der Check aktiviert ist
 

CrazyMemeCoke

Administrator
Staff member
Sep 6, 2016
874
2,551
152
Deutschland
www.masterof13fps.de
  • Like
Reactions: AlexandrosV
Status
Not open for further replies.