Skip to content

Commit

Permalink
Added auto crafter V3, half automatic sword (HABK) and full automatic…
Browse files Browse the repository at this point in the history
… sword (VABK).
  • Loading branch information
tmbRandy committed Jul 28, 2024
1 parent 41aded9 commit bda9fe5
Show file tree
Hide file tree
Showing 50 changed files with 2,066 additions and 220 deletions.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ Komprimiert die kleinen Stufen häufiger: I, I, II, I, I, II, I , I, II, III, I,
Ö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.
Arbeitet wesentlich schneller, als V1. 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.

### Autocrafter V3
Der effektivste Autocrafter. Stelle in deinere Nähe für jedes Item, welches das Rezept benötigt eine Truhe oder endloeses Lager auf. Lege das Item, welches gecraftet werden soll in den ersten Slot deiner Hotbar. Gib nun den Befehl /craftV3 ein. Das /rezepte Menü wird kurz geöffnet und wieder geschlossen. Nun wurden alle benötigten Materialien erfasst. Öffne nun nacheinander alle Truhen, in denen sich die Zutaten für das Rezept befinden. Die Truhen werden automatisch wieder geschlossen, sobald diese erfasst wurden. Sobald für jedes benötigte Material eine Truhe erkannt wurde, wird automatisch gecraftet. Das Addon öffnet automatisch die Kisten und entnimmt sich die Materialien in dem Verhältnis, wie es das Rezept vorgibt. Anschließend wird alles über das /rezepte Menü gecraftet. Die fertigen Items können entweder gedroppt oder komprimiert werden. Funktioniert perfekt mit endlosen Lagern. Für Items, die nicht in endlosen Lagern untergebracht werden können, kannst du eine normale Truhe nehmen und diese durch mehrere Trichter befüllen lassen.

### 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 und optisch anpassen.
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.4"
version = "1.5"

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

Expand Down
7 changes: 4 additions & 3 deletions core/src/main/java/tmb/randy/tmbgriefergames/core/Addon.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
import net.labymod.api.Laby;
import net.labymod.api.addon.LabyAddon;
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.AutocraftV2Command;
import tmb.randy.tmbgriefergames.core.commands.AutocraftV3Command;
import tmb.randy.tmbgriefergames.core.commands.DKsCommand;
import tmb.randy.tmbgriefergames.core.commands.EjectCommand;
import tmb.randy.tmbgriefergames.core.commands.PayAllCommand;
Expand Down Expand Up @@ -36,7 +36,8 @@ protected void enable() {
this.registerCommand(new DKsCommand());
this.registerCommand(new PayAllCommand());
this.registerCommand(new PlayerTracerCommand());
this.registerCommand(new AutocraftCommand());
this.registerCommand(new AutocraftV2Command());
this.registerCommand(new AutocraftV3Command());
this.registerCommand(new EjectCommand());

gameInfoWidget = new GameInfoWidget();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ public interface IBridge {
boolean isCompActive();
void changeSlot(int slot);
void startAuswurf();
void startAutocrafterV3();
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@
import net.labymod.api.client.chat.command.Command;
import tmb.randy.tmbgriefergames.core.Addon;

public class AutocraftCommand extends Command {
public class AutocraftV2Command extends Command {

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

@Override
public boolean execute(String prefix, String[] arguments) {
if(!Addon.isGG())
return false;

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

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package tmb.randy.tmbgriefergames.core.commands;

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

public class AutocraftV3Command extends Command {

public AutocraftV3Command() {
super("craftV3");
}

@Override
public boolean execute(String prefix, String[] arguments) {
if(!Addon.isGG())
return false;

Addon.getSharedInstance().getBridge().startAutocrafterV3();
return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,19 @@

import net.labymod.api.client.gui.screen.key.Key;
import net.labymod.api.client.gui.screen.widget.widgets.input.MultiKeybindWidget.MultiKeyBindSetting;
import net.labymod.api.client.gui.screen.widget.widgets.input.SliderWidget.SliderSetting;
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 net.labymod.api.configuration.settings.annotation.SettingSection;
import tmb.randy.tmbgriefergames.core.enums.AutoCrafterNewFinalAction;
import tmb.randy.tmbgriefergames.core.enums.QueueType;

public class AutoCrafterSubConfig extends Config {

@SettingSection("v1")

@DropdownSetting
private final ConfigProperty<QueueType> autoCraftSpeed = new ConfigProperty<>(QueueType.FAST);

Expand All @@ -22,8 +27,20 @@ public class AutoCrafterSubConfig extends Config {
@SwitchSetting
private final ConfigProperty<Boolean> onlyFullStacks = new ConfigProperty<>(false);

@SettingSection("v2")

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

@SettingSection("v3")

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

@SliderSetting(min = 0, max = 80)
private final ConfigProperty<Integer> delay = new ConfigProperty<Integer>(0);

@SettingSection("autocomp")

@MultiKeyBindSetting
private final ConfigProperty<Key[]> autoCompHotkey = new ConfigProperty<>(new Key[]{Key.ARROW_LEFT, Key.ARROW_UP, Key.ARROW_RIGHT});
Expand All @@ -35,16 +52,13 @@ public class AutoCrafterSubConfig extends Config {
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; }

public ConfigProperty<AutoCrafterNewFinalAction> getFinalActionV2() { return finalActionV2; }
public ConfigProperty<Key[]> getAutoCompHotkey() {return autoCompHotkey;}

public ConfigProperty<Key[]> getAutoDecompHotkey() {return autoDecompHotkey;}
public ConfigProperty<AutoCrafterNewFinalAction> getFinalActionV3() {return finalActionV3;}
public ConfigProperty<Integer> getDelay() {return delay;}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
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.annotation.SpriteSlot;
import net.labymod.api.configuration.loader.property.ConfigProperty;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ public Configuration() {
this.hopperSubConfig = new HopperSubConfig();
this.natureSubConfig = new NatureSubConfig();
this.autoCrafterConfig = new AutoCrafterSubConfig();
this.swordsSubConfig = new SwordsSubConfig();
}

@SwitchSetting
Expand All @@ -42,13 +43,16 @@ public Configuration() {
@SpriteSlot(size = 21, x = 3, y = 1)
private final TooltipSubConfig tooltipConfig;

@SpriteSlot(size = 21, x = 2, y = 2)
private final HopperSubConfig hopperSubConfig;

@SpriteSlot(size = 21, x = 1, y = 3)
private final SwordsSubConfig swordsSubConfig;

@SwitchSetting
@SpriteSlot(size = 21, x = 4, y = 2)
private final ConfigProperty<Boolean> skipHub = new ConfigProperty<>(true);

@SpriteSlot(size = 21, x = 2, y = 2)
private final HopperSubConfig hopperSubConfig;

@SettingSection("plotSwitch")

@MultiKeyBindSetting
Expand All @@ -73,4 +77,5 @@ public ConfigProperty<Boolean> getItemProtection() {
public HopperSubConfig getHopperSubConfig() {return hopperSubConfig;}
public NatureSubConfig getNatureSubConfig() {return natureSubConfig;}
public AutoCrafterSubConfig getAutoCrafterConfig() {return autoCrafterConfig;}
public SwordsSubConfig getSwordsSubConfig() {return swordsSubConfig;}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package tmb.randy.tmbgriefergames.core.config;

import net.labymod.api.client.gui.screen.key.Key;
import net.labymod.api.client.gui.screen.widget.widgets.input.MultiKeybindWidget.MultiKeyBindSetting;
import net.labymod.api.client.gui.screen.widget.widgets.input.SliderWidget.SliderSetting;
import net.labymod.api.client.gui.screen.widget.widgets.input.SwitchWidget.SwitchSetting;
import net.labymod.api.configuration.loader.Config;
import net.labymod.api.configuration.loader.property.ConfigProperty;
import net.labymod.api.configuration.settings.annotation.SettingSection;

public class SwordsSubConfig extends Config {

@SettingSection("habk")

@SwitchSetting
private final ConfigProperty<Boolean> HABKenabled = new ConfigProperty<>(false);
@SliderSetting(min = 100, max = 5000, steps = 100)
private final ConfigProperty<Integer> HABKcooldown = new ConfigProperty<>(1000);

@SettingSection("vabk")

@SliderSetting(min = 3, max = 40, steps = 1)
private final ConfigProperty<Integer> VABKloadTime = new ConfigProperty<>(16);
@SliderSetting(min = 3, max = 40, steps = 1)
private final ConfigProperty<Integer> VABKswitchCooldown = new ConfigProperty<>(18);
@MultiKeyBindSetting
private final ConfigProperty<Key[]> VABKhotkey = new ConfigProperty<>(new Key[]{Key.L_SHIFT, Key.V});

public ConfigProperty<Boolean> getHABKenabled() { return this.HABKenabled; }
public ConfigProperty<Integer> getHABKcooldown() { return this.HABKcooldown; }

public ConfigProperty<Integer> getVABKloadTime() { return VABKloadTime; }
public ConfigProperty<Integer> getVABKswitchCooldown() { return VABKswitchCooldown; }
public ConfigProperty<Key[]> getVABKhotkey() { return VABKhotkey; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ public class NearbyWidget extends TextHudWidget<TextHudWidgetConfig> {
"Datenschutz",
"Jobs",
"Block des Tages",
"GS-Bewertungen"
"GS-Bewertungen",
"Auktionshaus"
);

private String name;
Expand Down
Loading

0 comments on commit bda9fe5

Please sign in to comment.