Signed-off-by: yoyosource <yoyosource@nidido.de>
Dieser Commit ist enthalten in:
Ursprung
7e78c2890a
Commit
792f16fadf
@ -21,11 +21,15 @@ package de.steamwar.bausystem.features.loadern;
|
|||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
import de.steamwar.bausystem.BauSystem;
|
||||||
import de.steamwar.bausystem.features.loadern.elements.LoaderElement;
|
import de.steamwar.bausystem.features.loadern.elements.LoaderElement;
|
||||||
|
import de.steamwar.bausystem.features.loadern.elements.impl.LoaderTNT;
|
||||||
|
import de.steamwar.bausystem.features.loadern.elements.impl.LoaderWait;
|
||||||
import de.steamwar.bausystem.shared.EnumDisplay;
|
import de.steamwar.bausystem.shared.EnumDisplay;
|
||||||
|
import de.steamwar.inventory.SWItem;
|
||||||
import de.steamwar.inventory.SWListInv;
|
import de.steamwar.inventory.SWListInv;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
@ -109,14 +113,36 @@ public class Loader implements Listener {
|
|||||||
LOADER_MAP.remove(p);
|
LOADER_MAP.remove(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void settings() {
|
public void settings(SettingsSorting settingsSorting) {
|
||||||
List<SWListInv.SWListEntry<LoaderElement>> list = new ArrayList<>();
|
List<SWListInv.SWListEntry<LoaderElement>> list = new ArrayList<>();
|
||||||
for (LoaderElement element : elements) {
|
for (LoaderElement element : elements) {
|
||||||
|
if (settingsSorting != null) {
|
||||||
|
if (settingsSorting == SettingsSorting.WAIT && !(element instanceof LoaderWait)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (settingsSorting == SettingsSorting.INTERACTIONS && (element instanceof LoaderWait || element instanceof LoaderTNT)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
list.add(new SWListInv.SWListEntry<>(element.menu(p), element));
|
list.add(new SWListInv.SWListEntry<>(element.menu(p), element));
|
||||||
}
|
}
|
||||||
new SWListInv<>(p, "Loader Settings", false, list, (clickType, entry) -> {
|
SWListInv<LoaderElement> swListInv = new SWListInv<>(p, "Loader Settings", false, list, (clickType, entry) -> {
|
||||||
entry.click(p, this::settings);
|
entry.click(p, () -> settings(settingsSorting));
|
||||||
}).open();
|
});
|
||||||
|
|
||||||
|
SWItem onlyWaitElements = new SWItem(Material.CLOCK, "§eNur Warten", clickType -> {
|
||||||
|
settings(settingsSorting == SettingsSorting.WAIT ? null : SettingsSorting.WAIT);
|
||||||
|
});
|
||||||
|
if (settingsSorting == SettingsSorting.WAIT) onlyWaitElements.setEnchanted(true);
|
||||||
|
swListInv.setItem(48, onlyWaitElements);
|
||||||
|
|
||||||
|
SWItem onlyInteractionsElements = new SWItem(Material.TNT, "§eNur Interaktionen", clickType -> {
|
||||||
|
settings(settingsSorting == SettingsSorting.INTERACTIONS ? null : SettingsSorting.INTERACTIONS);
|
||||||
|
});
|
||||||
|
if (settingsSorting == SettingsSorting.INTERACTIONS) onlyInteractionsElements.setEnchanted(true);
|
||||||
|
swListInv.setItem(50, onlyInteractionsElements);
|
||||||
|
|
||||||
|
swListInv.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
@ -125,6 +151,11 @@ public class Loader implements Listener {
|
|||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum SettingsSorting {
|
||||||
|
WAIT,
|
||||||
|
INTERACTIONS,
|
||||||
|
}
|
||||||
|
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public enum Stage implements EnumDisplay {
|
public enum Stage implements EnumDisplay {
|
||||||
SETUP("LOADER_SETUP"),
|
SETUP("LOADER_SETUP"),
|
||||||
@ -133,6 +164,6 @@ public class Loader implements Listener {
|
|||||||
END("LOADER_END");
|
END("LOADER_END");
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private String chatValue;
|
private final String chatValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,7 @@ public class LoaderCommand extends SWCommand {
|
|||||||
public void settingsLoader(@Validator Player player) {
|
public void settingsLoader(@Validator Player player) {
|
||||||
Loader loader = Loader.getLoader(player);
|
Loader loader = Loader.getLoader(player);
|
||||||
if (loaderNullCheck(loader, player)) return;
|
if (loaderNullCheck(loader, player)) return;
|
||||||
loader.settings();
|
loader.settings(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ClassValidator(value = Player.class, local = true)
|
@ClassValidator(value = Player.class, local = true)
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
package de.steamwar.bausystem.features.loadern.elements;
|
package de.steamwar.bausystem.features.loadern.elements;
|
||||||
|
|
||||||
import de.steamwar.bausystem.features.loader.LoaderButton;
|
|
||||||
import de.steamwar.inventory.SWItem;
|
import de.steamwar.inventory.SWItem;
|
||||||
import de.steamwar.inventory.SWListInv;
|
import de.steamwar.inventory.SWListInv;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package de.steamwar.bausystem.features.script.variables;
|
package de.steamwar.bausystem.features.script.variables;
|
||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
import de.steamwar.bausystem.BauSystem;
|
||||||
import de.steamwar.bausystem.features.loader.Loader;
|
import de.steamwar.bausystem.features.loadern.Loader;
|
||||||
import de.steamwar.bausystem.features.tpslimit.TPSLimitUtils;
|
import de.steamwar.bausystem.features.tpslimit.TPSLimitUtils;
|
||||||
import de.steamwar.bausystem.features.tpslimit.TPSUtils;
|
import de.steamwar.bausystem.features.tpslimit.TPSUtils;
|
||||||
import de.steamwar.bausystem.features.tracer.record.ActiveTracer;
|
import de.steamwar.bausystem.features.tracer.record.ActiveTracer;
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren