Skip to content

Commit

Permalink
Added auto compressor, auto crafter and fixed some bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
tmbRandy committed Feb 10, 2024
1 parent 3f0c8c5 commit b7f16cf
Show file tree
Hide file tree
Showing 31 changed files with 2,244 additions and 34 deletions.
19 changes: 17 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,21 @@

## Dieses Addon wurde speziell für das GrieferGames 1.8 Netzwerk entwickelt und bietet einige nützliche Funktionen:

### Autokomprimierer
Drücke bei geschlossenem Inventar die Pfeiltastet LINKS, RECHTS und OBEN gleichzeitig, um den Autokomprimierer zu starten. Es öffnet sich das Komprimieren-Menü mit dem Item, welches in deinem ersten Hotbar Slot liegt. Es gibt 2 verschiedene Listen, zwischen denen du während des Komprimierens mit den Pfeiltastet HOCH und RUNTER:

#### Liste #1 (Standard)
Komprimiert die Stufen I, II, III, IV, V und fängt dann wieder von vorne an.

#### Liste #2 (Noch schneller)
Komprimiert die kleinen Stufen häufiger: I, I, II, I, I, II, I , I, II, III, I, I, II, I, I, II, I , I, II, III, IV, I, I, II, I, I, II, I , I, II, III, I, I, II, I, I, II, I , I, II, III, IV, V, I, I, II, I, I, II, I , I, II, III, I, I, II, I, I, II, I , I, II, III, IV, I, I, II, I, I, II, I , I, II, III, I, I, II, I, I, II, I , I, II, III, IV, V, VI und fängt dann wieder von vorne an. Geeignet für extrem große Mengen an Item-drops.

### Autocrafter V1
Öffne dein Craftingmenü mit /craft und lege das Rezept, welches du craften willst in die Werkbank. Drücke nun SHIFT + Enter um das Rezept zu speichern. Drücke Anschließend ENTER um eine Portion nach der anderen zu craften. Optional kannst du auch den Endlosmudus aktivieren, um alles automatisch zu craften oder du lässt die Items automatisch wegwerfen. Berücksichtigt auch komprimierte Items.

### Autocrafter V2
Arbeitet wesentlich schneller. Lege das Item, welches gecraftet werden soll in den ersten Slot deiner Hotbar. Gib nun den Befehl /autocraft ein. Es öffnet sich das /rezepte Menü auf der Rezeptseite. Es wird nun solange der "Alles-komprimieren-Button" geklickt, bis du 9 Slots des zu craftenden Items im Inventar hast. Anschließend wechselt der Autocrafter automatisch in das Komprimieren-Menü, komprimiert die Stufen I - V einmal durch und craftet anschließend weiter. Alternativ können die gecrafteten Items auch aus dem Inventar geworfen werden. Dieser Autocrafter ist auf daraus ausgelegt, dass du dir die Items durch eine Werferanlage zudroppen lässt. Bitte übertreibe es nicht und baue mit Rücksicht auf die Serverleistung keine zu großen Werferanlagen.

### Optisch dargestellte Plotgrenzen auf CB Nature und Extreme
Die Plotgrenzen auf den beiden Natur-CBs können mit Linien grafisch dargestellt werden. Die Darstellung lässt sich bei Bedarf über einen Hotkey ein- und ausschalten.

Expand All @@ -20,8 +35,8 @@ In Minecraft kann man normalerweise mit SHIFT + Doppelklick auf ein Item alles i
### Befehl /dks <zahl>
Wenn du z.b. 100 DKs einer Ware verkaufen willst, kannst du den Befehl /dks 100 nutzen. Du erhältst dann im Chat eine Ausgabe, wie viele Items du auf welcher Komprimierungsstufe brauchst, um die 100 DKs zu erreichen. Das funktioniert natürlich mit jeder Zahl.

### Befehl /pay / <betrag>
Dieser Befehl ist das Gegenstück zu /pay Sternchen <betrag>. Wenn z.B. 100 Spieler auf dem CB sind und du gibst /pay / 10000 ein, erhält jeder Spieler 100$. Es wird grundsätzlich auf volle Dollarbeträge abgerundet.
### Befehl /pay **
Dieser Befehl ist das Gegenstück zu /pay * <betrag>. Wenn z.B. 100 Spieler auf dem CB sind und du gibst /pay ** 10000 ein, erhält jeder Spieler 100$. Es wird grundsätzlich auf volle Dollarbeträge abgerundet.

### Befehl /fahndung <name>
Du suchst einen Spieler, von dem du weißt, dass er online ist aber er hat seinen aktuellen CB nicht im /profil angegeben? Mit diesem Befehl wechselst du der Reihe nach alle CBs durch (beginnend mit den stark besuchten CBs). Sobald der Spieler auf einem CB gefunden wurde, wird die Fahndung beendet und du erhältst eine Ausgabe im Chat. Du willst eine Nachricht in deinem Status verbreiten? Kein Problem. Gib nur /fahndung ohne einen Namen ein und du wechselst alle CBs einmal durch.
Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
}

group = "tmb.randy"
version = "1.1.2"
version = "1.2"

java.toolchain.languageVersion.set(JavaLanguageVersion.of(17))

Expand Down
4 changes: 3 additions & 1 deletion core/src/main/java/tmb/randy/tmbgriefergames/core/Addon.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import net.labymod.api.client.gui.screen.activity.types.IngameOverlayActivity;
import net.labymod.api.client.gui.screen.key.Key;
import net.labymod.api.models.addon.annotation.AddonMain;
import tmb.randy.tmbgriefergames.core.commands.AutocraftCommand;
import tmb.randy.tmbgriefergames.core.commands.DKsCommand;
import tmb.randy.tmbgriefergames.core.commands.PayAllCommand;
import tmb.randy.tmbgriefergames.core.commands.PlayerTracerCommand;
Expand Down Expand Up @@ -34,6 +35,7 @@ protected void enable() {
this.registerCommand(new DKsCommand());
this.registerCommand(new PayAllCommand());
this.registerCommand(new PlayerTracerCommand());
this.registerCommand(new AutocraftCommand());

gameInfoWidget = new GameInfoWidget();

Expand Down Expand Up @@ -63,7 +65,7 @@ public static boolean isGG() {
return false;
}

return Objects.requireNonNull(Laby.labyAPI().serverController().getCurrentServerData()).address().getHost().equalsIgnoreCase("griefergames.net");
return Objects.requireNonNull(Laby.labyAPI().serverController().getCurrentServerData()).address().getHost().toLowerCase().contains("griefergames");
}

public IBridge getBridge() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,6 @@ public interface IBridge {
public boolean isFlyCountdownActive();
public String getWidgetString();
public String getItemRemoverValue();
public void startNewAutocrafter();
boolean isCompActive();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package tmb.randy.tmbgriefergames.core.commands;

import net.labymod.api.client.chat.command.Command;
import tmb.randy.tmbgriefergames.core.Addon;

public class AutocraftCommand extends Command {

public AutocraftCommand() {
super("autocraft");
}

@Override
public boolean execute(String prefix, String[] arguments) {

Addon.getSharedInstance().getBridge().startNewAutocrafter();

return true;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package tmb.randy.tmbgriefergames.core.config;

import net.labymod.api.client.gui.screen.widget.widgets.input.SwitchWidget.SwitchSetting;
import net.labymod.api.client.gui.screen.widget.widgets.input.dropdown.DropdownWidget.DropdownSetting;
import net.labymod.api.configuration.loader.Config;
import net.labymod.api.configuration.loader.property.ConfigProperty;
import tmb.randy.tmbgriefergames.core.enums.AutoCrafterNewFinalAction;
import tmb.randy.tmbgriefergames.core.enums.QueueType;

public class AutoCrafterSubConfig extends Config {
@DropdownSetting
private final ConfigProperty<QueueType> autoCraftSpeed = new ConfigProperty<>(QueueType.FAST);

@SwitchSetting
private final ConfigProperty<Boolean> autoDrop = new ConfigProperty<>(false);

@SwitchSetting
private final ConfigProperty<Boolean> endlessMode = new ConfigProperty<>(false);

@SwitchSetting
private final ConfigProperty<Boolean> onlyFullStacks = new ConfigProperty<>(false);

@DropdownSetting
private final ConfigProperty<AutoCrafterNewFinalAction> finalAction = new ConfigProperty<>(AutoCrafterNewFinalAction.COMP);

public ConfigProperty<QueueType> getAutoCraftSpeed() { return this.autoCraftSpeed; }
public ConfigProperty<Boolean> getAutoDrop() {
return this.autoDrop;
}

public ConfigProperty<Boolean> getEndlessMode() {
return this.endlessMode;
}

public ConfigProperty<Boolean> getOnlyFullStacks() { return this.onlyFullStacks; }

public ConfigProperty<AutoCrafterNewFinalAction> getFinalAction() { return finalAction; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public Configuration() {
this.tooltipConfig = new TooltipSubConfig();
this.hopperSubConfig = new HopperSubConfig();
this.natureSubConfig = new NatureSubConfig();
this.autoCrafterConfig = new AutoCrafterSubConfig();
}

@SwitchSetting
Expand All @@ -29,6 +30,9 @@ public Configuration() {
@SpriteSlot(size = 21, x = 2, y = 1)
private final ConfigProperty<Boolean> itemProtection = new ConfigProperty<>(true);

@SpriteSlot(size = 21, x = 5, y = 2)
private final AutoCrafterSubConfig autoCrafterConfig;

@SpriteSlot(size = 21, x = 1)
private final ChatSubConfig chatConfig;

Expand Down Expand Up @@ -68,4 +72,5 @@ public ConfigProperty<Boolean> getItemProtection() {
public ConfigProperty<Boolean> getSkipHub() {return skipHub;}
public HopperSubConfig getHopperSubConfig() {return hopperSubConfig;}
public NatureSubConfig getNatureSubConfig() {return natureSubConfig;}
public AutoCrafterSubConfig getAutoCrafterConfig() {return autoCrafterConfig;}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package tmb.randy.tmbgriefergames.core.enums;

public enum AutoCrafterNewFinalAction {
COMP, DROP
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package tmb.randy.tmbgriefergames.core.enums;

public enum CompressorState {
NONE, WAITING_FOR_MENU1, WAITING_FOR_MENU2, COMPRESS1, COMPRESS2, COMPRESS3, COMPRESS4, COMPRESS5, COMPRESS6
}
29 changes: 29 additions & 0 deletions core/src/main/resources/assets/tmbgriefergames/i18n/de_de.json
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,27 @@
},
"skipHub":{
"name": "Lobby überspringen"
},
"autoCrafterConfig": {
"name": "Autocrafter",
"description": "Es gibt 2 verschiedene Autocrafter:\\n\\nV1 nutzt das Vanilla Crafting Menü (Werkbank). Lege dein Rezept in die Werkbank und speichere mit SHIFT + ENTER. Drücke anschließend ENTER, um das Rezept zu craften.\\n\\nV2 nutzt das /rezepte Menü. Lege das Item, welches du craften willst in deinen ersten Hotbar Slot. Gib anschließend /autocraft in den Chat ein. Das /rezepte Menü öffnet sich automatisch und craftet deine Items.",
"autoCraftSpeed": {
"name": "[V1] Geschwindigkeit"
},
"autoDrop": {
"name": "[V1] Automatisch droppen"
},
"endlessMode": {
"name": "[V1] Endlosmodus",
"description": "Kann mit ENTER Ein- oder Ausgeschaltet werden. Ist diese Option deaktiviert, muss ENTER manuell gedrückt werden, um eine Portion zu craften."
},
"onlyFullStacks": {
"name": "[V1] Nur ganze Stacks nehmen"
},
"finalAction": {
"name": "[V2] Schlussaktion",
"description": "Legt fest, ob bei Nutzung des Autocrafters V2 (/autocraft) die gecrafteten Items aus dem Inventar geworfen oder komprimiert werden sollen."
}
}
},
"chat": {
Expand Down Expand Up @@ -183,6 +204,14 @@
"nearby": {
"name": "In der Nähe"
}
},
"autoComp": {
"list": "Liste #"
},
"autoCrafter": {
"recipeSaved": "Rezept gespeichert",
"active": "Endlosmodus §a§lAKTIV",
"inactive": "Endlosmodus §c§lDEAKTIVIERT"
}
}
}
29 changes: 29 additions & 0 deletions core/src/main/resources/assets/tmbgriefergames/i18n/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,27 @@
"previousPlot": {
"name": "previous plot",
"description": "Go to the previous plot (/p h <player> -1)"
},
"autoCrafterConfig": {
"name": "Autocrafter",
"description": "There are 2 different Autocrafters:\n\nV1 uses the Vanilla Crafting menu (Workbench). Place your recipe in the Workbench and save with SHIFT + ENTER. Then press ENTER to craft the recipe.\n\nV2 uses the /recipes menu. Place the item you want to craft in your first hotbar slot. Then type /autocraft in the chat. The /recipes menu will open automatically and craft your items.",
"autoCraftSpeed": {
"name": "[V1] Speed"
},
"autoDrop": {
"name": "[V1] Auto-drop"
},
"endlessMode": {
"name": "[V1] Endless mode",
"description": "Can be toggled on or off with ENTER. If this option is disabled, ENTER must be manually pressed to craft a batch."
},
"onlyFullStacks": {
"name": "[V1] Take only full stacks"
},
"finalAction": {
"name": "[V2] Final action",
"description": "Specifies whether, when using Autocrafter V2 (/autocraft), the crafted items should be dropped or compressed in the inventory."
}
}
},
"chat": {
Expand Down Expand Up @@ -183,6 +204,14 @@
"nearby": {
"name": "Nearby"
}
},
"autoComp": {
"list": "list #"
},
"autoCrafter": {
"recipeSaved": "Recipe saved",
"active": "Endless mode §a§ACTIVE",
"inactive": "Endless mode §c§INACTIVE"
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit b7f16cf

Please sign in to comment.