SteamWar/BauSystem2.0
Archiviert
12
0

Merge branch 'master' into commonDB
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

# Conflicts:
#	BauSystem_Main/src/de/steamwar/bausystem/features/world/ClipboardListener.java
Dieser Commit ist enthalten in:
Lixfel 2022-10-29 12:30:50 +02:00
Commit 5242730878
270 geänderte Dateien mit 2388 neuen und 2779 gelöschten Zeilen

Datei anzeigen

@ -25,6 +25,6 @@ public class SimulatorPreview15 implements SimulatorPreview {
@Override
public Record simulate(TNTSimulator tntSimulator) {
return new Record(false);
return new Record(null);
}
}

Datei anzeigen

@ -0,0 +1,39 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2022 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.bausystem.features.tracer.record;
import net.minecraft.server.v1_15_R1.EntityTNTPrimed;
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.v1_15_R1.CraftWorld;
import org.bukkit.entity.TNTPrimed;
import java.util.stream.Stream;
public class TNTPrimedIterator15 implements TNTPrimedIterator {
private static final CraftWorld WORLD = (CraftWorld) Bukkit.getWorlds().get(0);
@Override
public Stream<TNTPrimed> iterator() {
return WORLD.getHandle().entitiesById.values().stream()
.filter(EntityTNTPrimed.class::isInstance)
.map(entity -> (TNTPrimed) entity.getBukkitEntity());
}
}

Datei anzeigen

@ -118,11 +118,6 @@ public class NMSWrapper15 implements NMSWrapper {
((CraftPlayer) player).getHandle().abilities.canInstantlyBuild = true;
}
@Override
public Particle tntPositionParticle() {
return Particle.BARRIER;
}
@Override
public Material pathMaterial() {
return Material.GRASS_PATH;

Datei anzeigen

@ -0,0 +1,41 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2022 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.bausystem.features.tracer.record;
import net.minecraft.world.entity.item.EntityTNTPrimed;
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.v1_18_R2.CraftWorld;
import org.bukkit.entity.TNTPrimed;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
public class TNTPrimedIterator18 implements TNTPrimedIterator {
private static final CraftWorld WORLD = (CraftWorld) Bukkit.getWorlds().get(0);
@Override
public Stream<TNTPrimed> iterator() {
return StreamSupport.stream(WORLD.getHandle().H().a().spliterator(), false)
.filter(EntityTNTPrimed.class::isInstance)
.map(entity -> (TNTPrimed) entity.getBukkitEntity());
}
}

Datei anzeigen

@ -123,11 +123,6 @@ public class NMSWrapper18 implements NMSWrapper {
((CraftPlayer) player).getHandle().fs().e = true;
}
@Override
public Particle tntPositionParticle() {
return Particle.BLOCK_MARKER;
}
@Override
public Material pathMaterial() {
return Material.DIRT_PATH;

Datei anzeigen

@ -45,11 +45,11 @@ public class TraceEntity19 extends BaseEntity19 implements AbstractTraceEntity {
public void display(Player player, boolean exploded, int ticks) {
if (ticks != -1) {
this.n(true);
this.a(IChatMutableComponent.a(new LiteralContents(ticks + "")));
this.b(IChatMutableComponent.a(new LiteralContents(ticks + "")));
}
if (!this.exploded && exploded) {
this.n(true);
this.a(IChatMutableComponent.a(new LiteralContents("Bumm")));
this.b(IChatMutableComponent.a(new LiteralContents("Bumm")));
this.exploded = true;
if (referenceCounter.increment() > 0) {
sendEntityDestroy(player);

Datei anzeigen

@ -39,7 +39,7 @@ public class SimulatorPreview19 implements SimulatorPreview {
@Override
public Record simulate(TNTSimulator tntSimulator) {
if (true) {
return new Record(false);
return new Record(null);
}
Map<Integer, Map<Integer, Set<Pair<SimulatorPreview.SimulatorPreviewTNTData, Integer>>>> result = new HashMap<>();
@ -66,11 +66,11 @@ public class SimulatorPreview19 implements SimulatorPreview {
}
});
if (tntCount.get() > 500) {
return new Record(false);
return new Record(null);
}
List<FakeTNT19> fakeTNT19s = new ArrayList<>();
Record record = new Record(false);
Record record = new Record(null);
Map<FakeTNT19, Record.TNTRecord> tntRecords = new HashMap<>();
int maxTickToCalc = maxTick.get() + 160;
@ -120,11 +120,11 @@ public class SimulatorPreview19 implements SimulatorPreview {
fakeTNT19.k(spawnList);
TNTPrimed tntPrimed = ((TNTPrimed) (fakeTNT19.getBukkitEntity()));
if (tntPrimed.getFuseTicks() <= 0) {
tntRecords.computeIfAbsent(fakeTNT19, ignore -> record.spawn()).explode(tntPrimed);
tntRecords.computeIfAbsent(fakeTNT19, ignore -> record.spawn(0)).explode(tntPrimed);
fakeTNT19s.remove(i);
i--;
} else {
tntRecords.computeIfAbsent(fakeTNT19, ignore -> record.spawn()).explode(tntPrimed);
tntRecords.computeIfAbsent(fakeTNT19, ignore -> record.spawn(0)).explode(tntPrimed);
}
if (!spawnList.isEmpty()) {
fakeTNT19s.addAll(i, spawnList);

Datei anzeigen

@ -0,0 +1,41 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2022 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.bausystem.features.tracer.record;
import net.minecraft.world.entity.item.EntityTNTPrimed;
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.v1_19_R1.CraftWorld;
import org.bukkit.entity.TNTPrimed;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
public class TNTPrimedIterator19 implements TNTPrimedIterator {
private static final CraftWorld WORLD = (CraftWorld) Bukkit.getWorlds().get(0);
@Override
public Stream<TNTPrimed> iterator() {
return StreamSupport.stream(WORLD.getHandle().F().a().spliterator(), false)
.filter(EntityTNTPrimed.class::isInstance)
.map(entity -> (TNTPrimed) entity.getBukkitEntity());
}
}

Datei anzeigen

@ -123,11 +123,6 @@ public class NMSWrapper19 implements NMSWrapper {
((CraftPlayer) player).getHandle().fB().e = true;
}
@Override
public Particle tntPositionParticle() {
return Particle.BLOCK_MARKER;
}
@Override
public Material pathMaterial() {
return Material.DIRT_PATH;

Datei anzeigen

@ -43,27 +43,5 @@ sourceSets {
}
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.22'
testCompileOnly 'org.projectlombok:lombok:1.18.22'
annotationProcessor 'org.projectlombok:lombok:1.18.22'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.22'
implementation 'org.atteo.classindex:classindex:3.11'
testImplementation 'org.atteo.classindex:classindex:3.11'
annotationProcessor 'org.atteo.classindex:classindex:3.11'
testAnnotationProcessor 'org.atteo.classindex:classindex:3.11'
compileOnly swdep('SpigotCore')
}
task buildResources {
doLast {
File from = new File("${buildDir}/classes/java/main/META-INF/annotations/de.steamwar.bausystem.linkage.ProcessorImplementation")
File to = new File("${buildDir}/classes/java/main/META-INF/services/javax.annotation.processing.Processor")
to.delete()
to.parentFile.mkdirs()
to.createNewFile()
for (String s : from.readLines()) {
to.append(s + "\n")
}
}
}
classes.finalizedBy(buildResources)

Datei anzeigen

@ -1,265 +0,0 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2022 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.bausystem.linkage;
import lombok.SneakyThrows;
import javax.annotation.processing.*;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.*;
import javax.lang.model.type.DeclaredType;
import javax.tools.Diagnostic;
import java.io.Writer;
import java.util.*;
import java.util.stream.Collectors;
@ProcessorImplementation
@SupportedAnnotationTypes("de.steamwar.bausystem.linkage.Linked")
public class LinkageProcessor extends AbstractProcessor {
private Messager messager;
private Writer writer;
private boolean processed = false;
@Override
public SourceVersion getSupportedSourceVersion() {
return SourceVersion.latestSupported();
}
@SneakyThrows
@Override
public synchronized void init(ProcessingEnvironment processingEnv) {
super.init(processingEnv);
writer = processingEnv.getFiler().createSourceFile("de.steamwar.bausystem.linkage.LinkageUtils").openWriter();
messager = processingEnv.getMessager();
}
@SneakyThrows
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
if (processed) return false;
processed = true;
List<String> fields = new ArrayList<>();
Map<LinkageType, List<String>> linkLines = new HashMap<>();
List<String> staticLines = new ArrayList<>();
Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(Linked.class);
elements.addAll((Set)roundEnv.getElementsAnnotatedWith(Linked.Linkages.class));
Map<String, TypeElement> neededFields = new HashMap<>();
for (Element element : elements) {
if (element.getKind() != ElementKind.CLASS) {
continue;
}
TypeElement typeElement = (TypeElement) element;
Linked[] linkeds = element.getAnnotationsByType(Linked.class);
if (linkeds.length == 0) {
continue;
}
if (linkeds.length > 1) {
neededFields.put(typeElement.getQualifiedName().toString(), typeElement);
}
List<VariableElement> variableElements = typeElement.getEnclosedElements().stream().filter(e -> e.getKind() == ElementKind.FIELD).map(VariableElement.class::cast).filter(e -> {
return e.getAnnotation(LinkedInstance.class) != null;
}).collect(Collectors.toList());
if (variableElements.isEmpty()) {
continue;
}
for (VariableElement variableElement : variableElements) {
if (!variableElement.getModifiers().contains(Modifier.PUBLIC)) {
messager.printMessage(Diagnostic.Kind.ERROR, "Field " + variableElement.getSimpleName() + " must be public", variableElement);
continue;
}
if (variableElement.getModifiers().contains(Modifier.STATIC)) {
messager.printMessage(Diagnostic.Kind.ERROR, "Field " + variableElement.getSimpleName() + " must be non static", variableElement);
continue;
}
if (variableElement.getModifiers().contains(Modifier.FINAL)) {
messager.printMessage(Diagnostic.Kind.ERROR, "Field " + variableElement.getSimpleName() + " must be non final", variableElement);
continue;
}
neededFields.put(typeElement.getQualifiedName().toString(), typeElement);
TypeElement fieldType = (TypeElement) ((DeclaredType) variableElement.asType()).asElement();
neededFields.put(fieldType.getQualifiedName().toString(), fieldType);
System.out.println(getElement(typeElement, neededFields) + "." + variableElement.getSimpleName().toString() + " = " + getElement((TypeElement) ((DeclaredType) variableElement.asType()).asElement(), neededFields));
staticLines.add(getElement(typeElement, neededFields) + "." + variableElement.getSimpleName().toString() + " = " + getElement((TypeElement) ((DeclaredType) variableElement.asType()).asElement(), neededFields));
}
}
neededFields.forEach((s, typeElement) -> {
fields.add(typeElement.getQualifiedName().toString() + " " + typeElement.getSimpleName().toString());
});
Map<String, TypeElement> eventClasses = new HashMap<>();
Map<TypeElement, Map<TypeElement, ExecutableElement>> eventMethods = new HashMap<>();
for (Element element : elements) {
if (element.getKind() != ElementKind.CLASS) {
continue;
}
TypeElement typeElement = (TypeElement) element;
typeElement.getEnclosedElements().stream().filter(e -> e.getKind() == ElementKind.METHOD).map(ExecutableElement.class::cast).filter(e -> {
return e.getAnnotationMirrors().stream().anyMatch(annotationMirror -> {
return annotationMirror.getAnnotationType().asElement().getSimpleName().toString().equals("EventHandler");
});
}).forEach(e -> {
TypeElement current = ((TypeElement)((DeclaredType) e.getParameters().get(0).asType()).asElement());
eventClasses.put(current.getQualifiedName().toString(), current);
eventMethods.computeIfAbsent(typeElement, k -> new HashMap<>()).put(current, e);
});
}
if (!eventMethods.isEmpty()) {
List<String> eventLines = new ArrayList<>();
linkLines.put(LinkageType.LISTENER, eventLines);
eventClasses.forEach((s, typeElement) -> {
eventLines.add("handlerList" + typeElement.getSimpleName().toString() + " = " + typeElement.getQualifiedName().toString() + ".getHandlerList()");
});
eventLines.add("");
eventMethods.forEach((typeElement, map) -> {
String instance = "local" + typeElement.getSimpleName().toString();
eventLines.add(typeElement.getQualifiedName().toString() + " " + instance + " = " + getElement(typeElement, neededFields));
map.forEach((typeElement1, executableElement) -> {
AnnotationMirror eventHandler = executableElement.getAnnotationMirrors().stream().filter(annotationMirror -> annotationMirror.getAnnotationType().asElement().getSimpleName().toString().equals("EventHandler")).findFirst().orElse(null);
if (eventHandler == null) {
return;
}
String priority = "NORMAL";
String ignoreCancelled = "false";
for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : eventHandler.getElementValues().entrySet()) {
if (entry.getKey().getSimpleName().toString().equals("priority")) {
priority = entry.getValue().getValue().toString();
} else if (entry.getKey().getSimpleName().toString().equals("ignoreCancelled")) {
ignoreCancelled = entry.getValue().getValue().toString();
}
}
eventLines.add(typeElement1.getSimpleName().toString() + "(" + instance + ", " + instance + "::" + executableElement.getSimpleName().toString() + ", org.bukkit.event.EventPriority." + priority + ", " + ignoreCancelled + ")");
});
});
}
for (Element element : elements) {
if (element.getKind() != ElementKind.CLASS) {
continue;
}
TypeElement typeElement = (TypeElement) element;
Linked[] linkeds = element.getAnnotationsByType(Linked.class);
if (linkeds.length == 0) {
continue;
}
MinVersion minVersion = element.getAnnotation(MinVersion.class);
System.out.println("Found element: " + typeElement.getQualifiedName().toString());
Arrays.stream(linkeds).map(Linked::value).forEach(linkageType -> {
if (linkageType.toRun == null) return;
if (linkageType.className != null) {
if (!typeElement.getSuperclass().toString().equals(linkageType.className)) {
return;
}
}
if (linkageType.interfaceName != null) {
if (typeElement.getInterfaces().stream().noneMatch(i -> i.toString().equals(linkageType.interfaceName))) {
return;
}
}
List<String> strings = linkLines.computeIfAbsent(linkageType, ignore -> new ArrayList<>());
if (minVersion != null) {
strings.add("if (de.steamwar.core.Core.getVersion() >= " + minVersion.value() + ") {");
strings.add(" " + linkageType.toRun.replace("$", getElement(typeElement, neededFields)));
strings.add("}");
} else {
strings.add(linkageType.toRun.replace("$", getElement(typeElement, neededFields)));
}
});
}
writer.write("package de.steamwar.bausystem.linkage;\n\n");
writer.write("public class LinkageUtils {\n");
for (String s : fields) {
writer.write(" private static " + s + ";\n");
}
writer.write("\n");
for (Map.Entry<String, TypeElement> entry : neededFields.entrySet()) {
String field = entry.getValue().getSimpleName().toString();
writer.write(" public static " + entry.getValue().getQualifiedName().toString() + " " + field + "() {\n");
writer.write(" if (" + field + " == null) {\n");
writer.write(" " + field + " = new " + entry.getValue().getQualifiedName().toString() + "();\n");
writer.write(" }\n");
writer.write(" return " + field + ";\n");
writer.write(" }\n");
writer.write("\n");
}
writer.write(" private static final java.util.Set<de.steamwar.bausystem.linkage.LinkageType> LINKED = new java.util.HashSet<>();\n");
writer.write("\n");
writer.write(" static {\n");
for (String s : staticLines) {
writer.write(" " + s + ";\n");
}
writer.write(" }\n");
writer.write("\n");
writer.write(" public static void run(de.steamwar.bausystem.linkage.LinkageType link) {\n");
writer.write(" if (!LINKED.add(link)) return;\n");
writer.write(" switch (link) {\n");
for (LinkageType type : linkLines.keySet()) {
writer.write(" case " + type.name() + ":\n");
writer.write(" " + type + "();\n");
writer.write(" break;\n");
}
writer.write(" default:\n");
writer.write(" break;\n");
writer.write(" }\n");
writer.write(" }\n");
writer.write("\n");
for (Map.Entry<LinkageType, List<String>> entry : linkLines.entrySet()) {
writer.write(" private static void " + entry.getKey() + "() {\n");
for (String s : entry.getValue()) {
writer.write(" " + s + ";\n");
}
writer.write(" }\n");
writer.write("\n");
}
for (Map.Entry<String, TypeElement> entry : eventClasses.entrySet()) {
writer.write(" private static org.bukkit.event.HandlerList handlerList" + entry.getValue().getSimpleName().toString() + ";\n");
writer.write(" private static void " + entry.getValue().getSimpleName().toString() + "(org.bukkit.event.Listener listener, java.util.function.Consumer<" + entry.getKey() + "> consumer, org.bukkit.event.EventPriority eventPriority, boolean ignoreCancelled) {\n");
writer.write(" org.bukkit.plugin.EventExecutor eventExecutor = (l, event) -> {\n");
writer.write(" if (event instanceof " + entry.getKey() + ") {\n");
writer.write(" consumer.accept((" + entry.getKey() + ") event);\n");
writer.write(" }\n");
writer.write(" };\n");
writer.write(" handlerList" + entry.getValue().getSimpleName() + ".register(new org.bukkit.plugin.RegisteredListener(listener, eventExecutor, eventPriority, de.steamwar.bausystem.BauSystem.getInstance(), ignoreCancelled));\n");
writer.write(" }\n");
writer.write("\n");
}
writer.write("}\n");
writer.flush();
writer.close();
return true;
}
private String getElement(TypeElement typeElement, Map<String, TypeElement> neededFields) {
if (neededFields.containsKey(typeElement.getQualifiedName().toString())) {
return typeElement.getSimpleName().toString() + "()";
}
return "new " + typeElement.getQualifiedName().toString() + "()";
}
}

Datei anzeigen

@ -1,57 +0,0 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2022 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.bausystem.linkage;
public enum LinkageType {
// NORMAL
COMMAND("$.setMessage(de.steamwar.bausystem.BauSystem.MESSAGE)", "de.steamwar.command.SWCommand"),
ENABLE_LINK("$.enable()", null, "de.steamwar.bausystem.linkage.Enable"),
DISABLE_LINK("$.disable()", null, "de.steamwar.bausystem.linkage.Disable"),
PLAIN("$", null),
LISTENER(), // Is handled internally from LinkageProcessor
UNLINK_LISTENER("org.bukkit.event.HandlerList.unregisterAll($)", null, "org.bukkit.event.Listener"),
// SPECIFIC
BAU_GUI_ITEM("de.steamwar.bausystem.features.gui.BauGUI.addItem($)", "de.steamwar.bausystem.linkage.specific.BauGuiItem"),
SCRIPT_COMMAND("de.steamwar.bausystem.features.script.ScriptExecutor.SPECIAL_COMMANDS.add($)", null, "de.steamwar.bausystem.features.script.SpecialCommand"),
CONFIG_CONVERTER("de.steamwar.bausystem.configplayer.Config.addConfigConverter($)", null, "de.steamwar.bausystem.configplayer.ConfigConverter"),
SCOREBOARD(null, null, "de.steamwar.bausystem.linkage.specific.ScoreboardItem"),
PANZERN("de.steamwar.bausystem.features.slaves.panzern.Panzern.add($)", null, "de.steamwar.bausystem.features.slaves.panzern.PanzernAlgorithm"),
SMART_PLACE("de.steamwar.bausystem.features.smartplace.SmartPlaceListener.add($)", null, "de.steamwar.bausystem.features.smartplace.SmartPlaceBehaviour");
String toRun = null;
String className = null;
String interfaceName = null;
LinkageType() {
}
LinkageType(String toRun, String className) {
this.toRun = toRun;
this.className = className;
}
LinkageType(String toRun, String className, String interfaceName) {
this.toRun = toRun;
this.className = className;
this.interfaceName = interfaceName;
}
}

Datei anzeigen

@ -1,27 +0,0 @@
/*
* Copyright 2019,2020,2021 yoyosource
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package de.steamwar.bausystem.linkage;
import org.atteo.classindex.IndexAnnotated;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@IndexAnnotated
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.TYPE})
public @interface ProcessorImplementation {
}

Datei anzeigen

@ -0,0 +1,40 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2022 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.linkage.types;
import de.steamwar.linkage.LinkageType;
import de.steamwar.linkage.plan.BuildPlan;
import de.steamwar.linkage.plan.MethodBuilder;
import javax.lang.model.element.TypeElement;
public class BauGuiItem_GENERIC implements LinkageType {
@Override
public String method() {
return "linkGUIItems";
}
@Override
public void generateCode(BuildPlan buildPlan, MethodBuilder methodBuilder, String s, TypeElement typeElement) {
buildPlan.addImport("de.steamwar.bausystem.features.gui.BauGUI");
methodBuilder.addLine("BauGUI.addItem(" + s + ");");
}
}

Datei anzeigen

@ -1,7 +1,7 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2021 SteamWar.de-Serverteam
* Copyright (C) 2022 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@ -17,22 +17,23 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.bausystem.linkage;
package de.steamwar.linkage.types;
import org.atteo.classindex.IndexAnnotated;
import de.steamwar.linkage.LinkageType;
import de.steamwar.linkage.plan.BuildPlan;
import de.steamwar.linkage.plan.MethodBuilder;
import java.lang.annotation.*;
import javax.lang.model.element.TypeElement;
@IndexAnnotated
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@Repeatable(Linked.Linkages.class)
public @interface Linked {
LinkageType value();
public class BoundingBoxLoader_GENERIC implements LinkageType {
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@interface Linkages {
@SuppressWarnings("unused") Linked[] value() default {};
@Override
public String method() {
return "linkBoundingBox";
}
}
@Override
public void generateCode(BuildPlan buildPlan, MethodBuilder method, String instance, TypeElement typeElement) {
method.addLine(instance + ".load();");
}
}

Datei anzeigen

@ -0,0 +1,40 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2022 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.linkage.types;
import de.steamwar.linkage.LinkageType;
import de.steamwar.linkage.plan.BuildPlan;
import de.steamwar.linkage.plan.MethodBuilder;
import javax.lang.model.element.TypeElement;
public class ConfigConverter_GENERIC implements LinkageType {
@Override
public String method() {
return "link";
}
@Override
public void generateCode(BuildPlan buildPlan, MethodBuilder methodBuilder, String s, TypeElement typeElement) {
buildPlan.addImport("de.steamwar.bausystem.configplayer.Config");
methodBuilder.addLine("Config.addConfigConverter(" + s + ");");
}
}

Datei anzeigen

@ -0,0 +1,40 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2022 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.linkage.types;
import de.steamwar.linkage.LinkageType;
import de.steamwar.linkage.plan.BuildPlan;
import de.steamwar.linkage.plan.MethodBuilder;
import javax.lang.model.element.TypeElement;
public class PanzernAlgorithm_GENERIC implements LinkageType {
@Override
public String method() {
return "linkPanzern";
}
@Override
public void generateCode(BuildPlan buildPlan, MethodBuilder methodBuilder, String s, TypeElement typeElement) {
buildPlan.addImport("de.steamwar.bausystem.features.slaves.panzern.Panzern");
methodBuilder.addLine("Panzern.add(" + s + ");");
}
}

Datei anzeigen

@ -0,0 +1,40 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2022 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.linkage.types;
import de.steamwar.linkage.LinkageType;
import de.steamwar.linkage.plan.BuildPlan;
import de.steamwar.linkage.plan.MethodBuilder;
import javax.lang.model.element.TypeElement;
public class SmartPlaceBehaviour_GENERIC implements LinkageType {
@Override
public String method() {
return "linkSmartPlace";
}
@Override
public void generateCode(BuildPlan buildPlan, MethodBuilder methodBuilder, String s, TypeElement typeElement) {
buildPlan.addImport("de.steamwar.bausystem.features.smartplace.SmartPlaceListener");
methodBuilder.addLine("SmartPlaceListener.add(" + s + ");");
}
}

Datei anzeigen

@ -0,0 +1,40 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2022 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.linkage.types;
import de.steamwar.linkage.LinkageType;
import de.steamwar.linkage.plan.BuildPlan;
import de.steamwar.linkage.plan.MethodBuilder;
import javax.lang.model.element.TypeElement;
public class SpecialCommand_GENERIC implements LinkageType {
@Override
public String method() {
return "linkScriptCommands";
}
@Override
public void generateCode(BuildPlan buildPlan, MethodBuilder methodBuilder, String s, TypeElement typeElement) {
buildPlan.addImport("de.steamwar.bausystem.features.script.ScriptExecutor");
methodBuilder.addLine("ScriptExecutor.SPECIAL_COMMANDS.add(" + s + ");");
}
}

Datei anzeigen

@ -51,11 +51,6 @@ dependencies {
annotationProcessor 'org.projectlombok:lombok:1.18.22'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.22'
implementation 'org.atteo.classindex:classindex:3.11'
testImplementation 'org.atteo.classindex:classindex:3.11'
annotationProcessor 'org.atteo.classindex:classindex:3.11'
testAnnotationProcessor 'org.atteo.classindex:classindex:3.11'
implementation project(":BauSystem_Linkage")
annotationProcessor project(":BauSystem_Linkage")
@ -66,4 +61,5 @@ dependencies {
compileOnly swdep('Spigot-1.19')
compileOnly swdep('WorldEdit-1.15')
compileOnly swdep('SpigotCore')
annotationProcessor swdep('SpigotCore')
}

Datei anzeigen

@ -681,33 +681,37 @@ TPSLIMIT_INVALID_FROZEN = §c and '0'
# Trace
TRACE_RECORD=§aon
TRACE_RECORD_AUTO=§aon
TRACE_RECORD_SINGLE=§aon
TRACE_IDLE=§coff
TRACE_IDLE_AUTO=§eauto
TRACE_IDLE_SINGLE=§esingle
TRACE_MESSAGE_AUTO_RECORD=§cTNT-Tracer must be stopped
TRACE_MESSAGE_AUTO_RECORD_AUTO=§cTNT-Tracer is not allowed to record
TRACE_MESSAGE_AUTO_IDLE=§cAuto-Tracer stopped
TRACE_MESSAGE_AUTO_IDLE_AUTO = §aAuto-Tracer started
TRACE_IDLE_AUTO_EXPLODE=§eauto §8(§7explode§8)
TRACE_IDLE_AUTO_IGNITE=§eauto §8(§7ignite§8)
TRACE_MESSAGE_AUTO_IDLE_EXPLODE = §aAuto-Tracer explode started
TRACE_MESSAGE_AUTO_IDLE_IGNITE = §aAuto-Tracer ignite started
TRACE_MESSAGE_START = §aTNT-Tracer started
TRACE_MESSAGE_SINGLE = §aSingle-Tracer started
TRACE_MESSAGE_STOP = §cTNT-Tracer stopped
TRACE_MESSAGE_DELETE = §cAll TNT-positions deleted
TRACE_MESSAGE_SHOW = §aAll TNT-positions shown
TRACE_MESSAGE_HIDE = §cAll TNT-positions hidden
TRACE_MESSAGE_ISOLATE = §aTNT-positions isolated
TRACE_MESSAGE_UNISOLATE = §cTNT-positions hidden
TRACE_MESSAGE_CLICK_ISOLATE = §eClick to §aisolate§8/§cunisolate
TRACE_MESSAGE_DISALLOWED = §cYou are not allowed to use the TNT-Tracer here
TRACE_MESSAGE_NO_REGION = §cYou are not in a region
TRACE_COMMAND_HELP_START = §8/§etrace start §8- §7Starts recording of all TNT-positions
TRACE_COMMAND_HELP_SINGLE = §8/§etrace single §8- §7Starts a single recording of all TNT-positions
TRACE_COMMAND_HELP_STOP = §8/§etrace stop §8- §7Stops the TNT-Tracer
TRACE_COMMAND_HELP_AUTO = §8/§etrace toggleauto §8- §7Automatic start of recording
TRACE_COMMAND_HELP_SHOW_GUI = §8/§etrace show gui §8- §7Shows the trace GUI
TRACE_COMMAND_HELP_SHOW = §8/§etrace show §8<§eParameter§8> - §7Shows all TNT-positions
TRACE_COMMAND_HELP_HIDE = §8/§etrace hide §8- §7Hides all TNT-positions
TRACE_COMMAND_HELP_DELETE = §8/§etrace delete §8- §7Deletes all TNT-positions
TRACE_COMMAND_HELP_LIST = §8/§etrace list §8- §7Trace GUI but in the Chat
TRACE_COMMAND_HELP_GUI = §8/§etrace gui §8- §7Shows the Trace GUI
TRACE_COMMAND_HELP_REPLAY = §8/§etrace replay §8[§7tick§8] §8- §7Replays your recording
TRACE_COMMAND_HELP_REPLAY_DISABLE = §8/§etrace replay disable §8- §7Stops the replay
TRACE_COMMAND_HELP_REPLAY_NEXT = §8/§etrace replay next §8[§7step§8] §8- §7Jump one§8/§7step tick forward
TRACE_COMMAND_HELP_REPLAY_PREVIOUS = §8/§etrace replay previous §8[§7step§8] §8- §7Jump one§8/§7step tick back
TRACE_COMMAND_HELP_REPLAY_LOOP = §8/§etrace replay loop §8<§7start§8> §8<§7end§8> §8[§7speed§8] §8- §7Loop the replay
TRACE_GUI_ITEM_NAME = §eTracer
TRACE_GUI_ITEM_LORE = §7Status§8: {0}
@ -717,22 +721,8 @@ TRACE_GUI_TRACE_ACTIVE = §eStop Tracer
TRACE_GUI_TRACE_ACTIVE_AUTO = §eAuto-Trace is active
TRACE_GUI_AUTO_TRACE_INACTIVE = §eacitvate Auto-Tracer
TRACE_GUI_AUTO_TRACE_ACTIVE = §edeactivate Auto-Tracer
TRACE_GUI_SHOW_GUI = §eTrace Show Gui
TRACE_GUI_DELETE = §eDelete trace
TRACE_SHOW_GUI_TITLE = Trace Show GUI
TRACE_SHOW_GUI_SHOWN = §aTraces shown
TRACE_SHOW_GUI_HIDDEN = §cTraces hidden
TRACE_SHOW_GUI_WATER_ITEM = §eWater §7positions
TRACE_SHOW_GUI_WATER_LORE1 = §7Shows all TNT which
TRACE_SHOW_GUI_WATER_LORE2 = §7exploded in water.
TRACE_SHOW_GUI_INTERPOLATE_Y_ITEM = §eInterpolation §7Y-Axis
TRACE_SHOW_GUI_INTERPOLATE_Y_LORE1 = §7Shows the interpolation
TRACE_SHOW_GUI_INTERPOLATE_Y_LORE2 = §7on the Y-Axis.
TRACE_SHOW_GUI_INTERPOLATE_XZ_ITEM = §eInterpolation §7XZ-Achsis
TRACE_SHOW_GUI_INTERPOLATE_XZ_LORE1 = §7Shows the interpolation
TRACE_SHOW_GUI_INTERPOLATE_XZ_LORE2 = §7ont the XZ-Achsis.
TRACE_GUI_TITLE = Trace GUI
TRACE_GUI_ITEM_BACK = §eBack
TRACE_GUI_ITEM = §eTrace §8- §e{0} §7TNT
@ -743,29 +733,9 @@ TRACE_GUI_POSITION_ITEM = §ePosition
TRACE_GUI_POSITION_X = §7X§8: §e{0}
TRACE_GUI_POSITION_Y = §7Y§8: §e{0}
TRACE_GUI_POSITION_Z = §7Z§8: §e{0}
TRACE_GUI_POSITION_SOURCE = §7Source§8: §e{0}
TRACE_GUI_POSITION_EXPLODED = §7Exploded§8: §e{0}
TRACE_RECORD_LIST_ELEMENT = §eTrace §8- §e{0} §7TNT
TRACE_RECORD_LIST_ELEMENT_HOVER = §7Shows all §eTNT §7from this trace
TRACE_RECORD_LIST_ELEMENT_DELETE = §7 §cDelete
TRACE_RECORD_LIST_ELEMENT_DELETE_HOVER = §cDelete §7trace
TRACE_RECORD_DELETE = §7Trace deleted
TRACE_RECORD_NOT_FOUND = §7Unknown trace
TRACE_RECORD_ELEMENT = §eTNT §8- §e{0} §7Positions
TRACE_RECORD_ELEMENT_HOVER = §7Shows all §ePositions §7from this TNT
TRACE_RECORD_ELEMENT_DELETE = §7 §cDelete
TRACE_RECORD_ELEMENT_DELETE_HOVER = §cDelete §7trace
TRACE_RECORD_TNT_NOT_FOUND = §7Unknown TNT
TRACE_TNT_ELEMENT = §ePosition §8- §e{0} §7FuseTicks
TRACE_TNT_DELETE = §7TNT deleted
TRACE_TNT_ELEMENT_HOVER = §7Shows information on the §ePosition
TRACE_RECORD_TNT_POSITION_NOT_FOUND = §7Unknown TNT Position
TRACE_CHAT_POSITION_HEAD = §ePosition
TRACE_CHAT_POSITION_X = §7X§8: §e{0}
TRACE_CHAT_POSITION_Y = §7Y§8: §e{0}
TRACE_CHAT_POSITION_Z = §7Z§8: §e{0}
TRACE_CHAT_POSITION_EXPLODED = §7Exploded§8: §e{0}
# Loader
LOADER_OFF = §coff
LOADER_SETUP = §eSetup
@ -948,6 +918,7 @@ MATERIAL_SEARCH_INTERACTEABLE=§eInteractable
MATERIAL_SEARCH_FLAMMABLE=§eFlammable
MATERIAL_SEARCH_BURNABLE=§eBurnable
MATERIAL_SEARCH_WATERLOGGABLE=§eWaterloggable
MATERIAL_SEARCH_UNMOVEABLE=§eUnmoveable
MATERIAL_SEARCH_BLASTRESISTANCE=§eBlast resistance
MATERIAL_SEARCH_VALUE=§8: §e{0}
MATERIAL_BLAST_RESISTANCE=§8- §eBlast resistance§8: §7{0}
@ -962,6 +933,7 @@ MATERIAL_INTERACTABLE=§8- §eInteractable block
MATERIAL_FLAMMABLE=§8- §eFlammable block
MATERIAL_BURNABLE=§8- §eBurnable block
MATERIAL_WATERLOGGABLE=§8- §eWaterloggable block
MATERIAL_UNMOVABLE=§8- §eUnmovable block
# Redstonetester
RT_HELP=§8/§eredstonetester §8-§7 Gives you the redstone tester
RT_GIVEN=§7Measure the time between activation of components
@ -1103,11 +1075,7 @@ LAUFBAU_NO_PERM = §cYou are not allowed to use the barrel building system here
LAUFBAU_NO_WORLDEDIT = §cYou don't have a WorldEdit selection
LAUFBAU_STATE_FILTERING_TRACES = Filtering traces
LAUFBAU_STATE_PROCESSING_TRACES = Connnecting traces
LAUFBAU_STATE_EXPANDING_TRACES = Expanding traces
LAUFBAU_STATE_SPLITTING_POINTS = Splitting points
LAUFBAU_STATE_SHRINKING_POINTS = Shrinking points
LAUFBAU_STATE_CREATING_INNER_BLOCKS = Creating inner blocks
LAUFBAU_STATE_CREATING_OUTER_BLOCKS = Creating outer blocks
LAUFBAU_STATE_CREATE_LAUF = Create Barrel
LAUFBAU_SIMPLE_PROGRESS = §e{0}§8: §e{1}§8/§e{2} §7Time left§8: §e{3}
LAUFBAU_DONE = §aDone
@ -1247,6 +1215,7 @@ TNT_CLICK_VELOCITY_X = §7Velocity §eX§8: §e{0}
TNT_CLICK_VELOCITY_Y = §7Velocity §eY§8: §e{0}
TNT_CLICK_VELOCITY_Z = §7Velocity §eZ§8: §e{0}
TNT_CLICK_COUNT = §7Count §8: §e{0}
TNT_CLICK_ISOLATE = §eIsolate
SELECT_ITEM_CHOOSE_EXTENSION = Choose extension
SELECT_ITEM_CHOOSE_SELECTION = Choose selection

Datei anzeigen

@ -661,33 +661,37 @@ TPSLIMIT_INVALID_FROZEN = §c und '0'
# Trace
TRACE_RECORD=§aan
TRACE_RECORD_AUTO=§aan
TRACE_RECORD_SINGLE=§aan
TRACE_IDLE=§caus
TRACE_IDLE_AUTO=§eauto
TRACE_IDLE_SINGLE=§esingle
TRACE_MESSAGE_AUTO_RECORD=§cTNT-Tracer muss gestoppt werden
TRACE_MESSAGE_AUTO_RECORD_AUTO=§cTNT-Tracer darf nicht aufnehmen
TRACE_MESSAGE_AUTO_IDLE=§cAuto-Tracer gestoppt
TRACE_MESSAGE_AUTO_IDLE_AUTO = §aAuto-Tracer gestartet
TRACE_IDLE_AUTO_EXPLODE=§eauto §8(§7explode§8)
TRACE_IDLE_AUTO_IGNITE=§eauto §8(§7ignite§8)
TRACE_MESSAGE_AUTO_IDLE_EXPLODE = §aAuto-Tracer explode gestartet
TRACE_MESSAGE_AUTO_IDLE_IGNITE = §aAuto-Tracer ignite gestartet
TRACE_MESSAGE_START = §aTNT-Tracer gestartet
TRACE_MESSAGE_SINGLE = §aSingle-Tracer gestartet
TRACE_MESSAGE_STOP = §cTNT-Tracer gestoppt
TRACE_MESSAGE_DELETE = §cAlle TNT-Positionen gelöscht
TRACE_MESSAGE_SHOW = §aAlle TNT-Positionen angezeigt
TRACE_MESSAGE_HIDE = §cAlle TNT-Positionen ausgeblendet
TRACE_MESSAGE_ISOLATE = §aTNT-Positionen isoliert
TRACE_MESSAGE_UNISOLATE = §cTNT-Positionen ausgeblendet
TRACE_MESSAGE_CLICK_ISOLATE = §eKlicken zum §aisolieren§8/§causblenden
TRACE_MESSAGE_DISALLOWED = §cDu darfst hier nicht den TNT-Tracer nutzen
TRACE_MESSAGE_NO_REGION = §cDu bist in keiner Region
TRACE_COMMAND_HELP_START = §8/§etrace start §8- §7Startet die Aufnahme aller TNT-Positionen
TRACE_COMMAND_HELP_SINGLE = §8/§etrace single §8- §7Startet eine einzelne Aufnahme aller TNT-Positionen
TRACE_COMMAND_HELP_STOP = §8/§etrace stop §8- §7Stoppt den TNT-Tracer
TRACE_COMMAND_HELP_AUTO = §8/§etrace toggleauto §8- §7Automatischer Aufnahmenstart
TRACE_COMMAND_HELP_SHOW_GUI = §8/§etrace show gui §8- §7Zeigt die Trace show gui
TRACE_COMMAND_HELP_SHOW = §8/§etrace show §8<§eParameter§8> - §7Zeigt alle TNT-Positionen
TRACE_COMMAND_HELP_HIDE = §8/§etrace hide §8- §7Versteckt alle TNT-Positionen
TRACE_COMMAND_HELP_DELETE = §8/§etrace delete §8- §7Löscht alle TNT-Positionen
TRACE_COMMAND_HELP_LIST = §8/§etrace list §8- §7Trace GUI nur im Chat
TRACE_COMMAND_HELP_GUI = §8/§etrace gui §8- §7Zeigt die Trace Oberfläche an
TRACE_COMMAND_HELP_REPLAY = §8/§etrace replay §8[§7Tick§8] §8- §7Replayes die Aufnahme
TRACE_COMMAND_HELP_REPLAY_DISABLE = §8/§etrace replay disable §8- §7Stoppt das Replay
TRACE_COMMAND_HELP_REPLAY_NEXT = §8/§etrace replay next §8[§7Step§8] §8- §7Springe einen§8/§7step Tick vor
TRACE_COMMAND_HELP_REPLAY_PREVIOUS = §8/§etrace replay previous §8[§7Step§8] §8- §7Springe einen§8/§7step Tick zurück
TRACE_COMMAND_HELP_REPLAY_LOOP = §8/§etrace replay loop §8<§7start§8> §8<§7end§8> §8[§7speed§8] §8- §7Spielt die Aufnahme in einer Schleife ab
TRACE_GUI_ITEM_NAME = §eTracer
TRACE_GUI_ITEM_LORE = §7Status§8: {0}
@ -697,22 +701,8 @@ TRACE_GUI_TRACE_ACTIVE = §eTracer Stoppen
TRACE_GUI_TRACE_ACTIVE_AUTO = §eAuto-Trace ist Aktiv
TRACE_GUI_AUTO_TRACE_INACTIVE = §eAuto-Tracer Aktivieren
TRACE_GUI_AUTO_TRACE_ACTIVE = §eAuto-Tracer Deaktivieren
TRACE_GUI_SHOW_GUI = §eTrace Show Gui
TRACE_GUI_DELETE = §eTrace Löschen
TRACE_SHOW_GUI_TITLE = Trace Show GUI
TRACE_SHOW_GUI_SHOWN = §aTraces angezeigt
TRACE_SHOW_GUI_HIDDEN = §cTraces ausgeblendet
TRACE_SHOW_GUI_WATER_ITEM = §eWasser §7Positionen
TRACE_SHOW_GUI_WATER_LORE1 = §7Zeigt alles TNT, welches
TRACE_SHOW_GUI_WATER_LORE2 = §7im Wasser explodiert ist.
TRACE_SHOW_GUI_INTERPOLATE_Y_ITEM = §eInterpolation §7Y-Achse
TRACE_SHOW_GUI_INTERPOLATE_Y_LORE1 = §7Zeigt die Interpolation
TRACE_SHOW_GUI_INTERPOLATE_Y_LORE2 = §7auf der Y-Achse.
TRACE_SHOW_GUI_INTERPOLATE_XZ_ITEM = §eInterpolation §7XZ-Achse
TRACE_SHOW_GUI_INTERPOLATE_XZ_LORE1 = §7Zeigt die Interpolation
TRACE_SHOW_GUI_INTERPOLATE_XZ_LORE2 = §7auf der XZ-Achse.
TRACE_GUI_TITLE = Trace GUI
TRACE_GUI_ITEM_BACK = §eBack
TRACE_GUI_ITEM = §eTrace §8- §e{0} §7TNT
@ -723,29 +713,9 @@ TRACE_GUI_POSITION_ITEM = §ePosition
TRACE_GUI_POSITION_X = §7X§8: §e{0}
TRACE_GUI_POSITION_Y = §7Y§8: §e{0}
TRACE_GUI_POSITION_Z = §7Z§8: §e{0}
TRACE_GUI_POSITION_SOURCE = §7Ursprung§8: §e{0}
TRACE_GUI_POSITION_EXPLODED = §7Explodiert§8: §e{0}
TRACE_RECORD_LIST_ELEMENT = §eTrace §8- §e{0} §7TNT
TRACE_RECORD_LIST_ELEMENT_HOVER = §7Zeige alle §eTNT §7aus diesem Trace
TRACE_RECORD_LIST_ELEMENT_DELETE = §7 §cLöschen
TRACE_RECORD_LIST_ELEMENT_DELETE_HOVER = §7Trace §clöschen
TRACE_RECORD_DELETE = §7Trace gelöscht
TRACE_RECORD_NOT_FOUND = §7Unbekannter Trace
TRACE_RECORD_ELEMENT = §eTNT §8- §e{0} §7Positionen
TRACE_RECORD_ELEMENT_HOVER = §7Zeige alle §ePositionen §7aus diesem TNT
TRACE_RECORD_ELEMENT_DELETE = §7 §cLöschen
TRACE_RECORD_ELEMENT_DELETE_HOVER = §7Trace §clöschen
TRACE_RECORD_TNT_NOT_FOUND = §7Unbekanntes TNT
TRACE_TNT_ELEMENT = §ePosition §8- §e{0} §7FuseTicks
TRACE_TNT_DELETE = §7TNT gelöscht
TRACE_TNT_ELEMENT_HOVER = §7Zeige Infos zur §ePosition §7an
TRACE_RECORD_TNT_POSITION_NOT_FOUND = §7Unbekannte TNT Position
TRACE_CHAT_POSITION_HEAD = §ePosition
TRACE_CHAT_POSITION_X = §7X§8: §e{0}
TRACE_CHAT_POSITION_Y = §7Y§8: §e{0}
TRACE_CHAT_POSITION_Z = §7Z§8: §e{0}
TRACE_CHAT_POSITION_EXPLODED = §7Explodiert§8: §e{0}
# Loader
LOADER_OFF = §caus
LOADER_SETUP = §eEinrichtung
@ -1081,11 +1051,7 @@ LAUFBAU_NO_PERM = §cDu darfst hier nicht das Laufbau System verwenden
LAUFBAU_NO_WORLDEDIT = §cDu hast keine WorldEdit Selection
LAUFBAU_STATE_FILTERING_TRACES = Traces filtern
LAUFBAU_STATE_PROCESSING_TRACES = Traces verbinden
LAUFBAU_STATE_EXPANDING_TRACES = Traces aufblähen
LAUFBAU_STATE_SPLITTING_POINTS = Punkte trennen
LAUFBAU_STATE_SHRINKING_POINTS = Punkte ausdünnen
LAUFBAU_STATE_CREATING_INNER_BLOCKS = Innenraum füllen
LAUFBAU_STATE_CREATING_OUTER_BLOCKS = Mantel bauen
LAUFBAU_STATE_CREATE_LAUF = Lauf erstellen
LAUFBAU_SIMPLE_PROGRESS = §e{0}§8: §e{1}§8/§e{2} §7Übrige Zeit §8: §e{3}
LAUFBAU_DONE = §aZuende gebaut

Datei anzeigen

@ -21,12 +21,11 @@ package de.steamwar.bausystem;
import com.comphenix.tinyprotocol.TinyProtocol;
import de.steamwar.bausystem.configplayer.Config;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.LinkageUtils;
import de.steamwar.bausystem.region.loader.PrototypeLoader;
import de.steamwar.bausystem.region.loader.RegionLoader;
import de.steamwar.bausystem.region.loader.Updater;
import de.steamwar.bausystem.worlddata.WorldData;
import de.steamwar.bausystem.linkage.LinkageUtils;
import de.steamwar.message.Message;
import lombok.Getter;
import org.bukkit.Bukkit;
@ -73,12 +72,7 @@ public class BauSystem extends JavaPlugin implements Listener {
new Updater(PrototypeLoader.file, PrototypeLoader::load);
new Updater(RegionLoader.file, RegionLoader::load);
LinkageUtils.run(LinkageType.PLAIN);
LinkageUtils.run(LinkageType.COMMAND);
LinkageUtils.run(LinkageType.ENABLE_LINK);
LinkageUtils.run(LinkageType.LISTENER);
LinkageUtils.run(LinkageType.CONFIG_CONVERTER);
LinkageUtils.run(LinkageType.SCOREBOARD);
LinkageUtils.link();
// This could disable any watchdog stuff. We need to investigate if this is a problem.
/*
@ -100,8 +94,7 @@ public class BauSystem extends JavaPlugin implements Listener {
@Override
public void onDisable() {
LinkageUtils.run(LinkageType.DISABLE_LINK);
LinkageUtils.run(LinkageType.UNLINK_LISTENER);
LinkageUtils.unlink();
WorldData.write();
Config.getInstance().saveAll();

Datei anzeigen

@ -19,6 +19,7 @@
package de.steamwar.bausystem;
import de.steamwar.inventory.SWItem;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.UtilityClass;
@ -29,6 +30,7 @@ import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.Plugin;
import java.util.function.Function;
@ -59,6 +61,13 @@ public class SWUtils {
}
}
public static SWItem setCustomModelData(SWItem item, int customModelData) {
ItemMeta itemMeta = item.getItemMeta();
itemMeta.setCustomModelData(customModelData);
item.setItemMeta(itemMeta);
return item;
}
public static void sendToActionbar(Player p, String message) {
p.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message));
}

Datei anzeigen

@ -19,15 +19,14 @@
package de.steamwar.bausystem.config;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import de.steamwar.providers.BauServerInfo;
import de.steamwar.sql.SteamwarUser;
import lombok.Getter;
import java.util.UUID;
@Linked(LinkageType.PLAIN)
@Linked
public class BauServer {
@Getter

Datei anzeigen

@ -20,8 +20,7 @@
package de.steamwar.bausystem.configplayer;
import de.steamwar.bausystem.configplayer.serializer.ConfigurationSerializableSerializer;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import de.steamwar.sql.UserConfig;
import lombok.Getter;
import org.bukkit.Bukkit;
@ -40,7 +39,7 @@ import java.util.Map;
import java.util.UUID;
import java.util.logging.Level;
@Linked(LinkageType.LISTENER)
@Linked
public class Config implements Listener {
static {

Datei anzeigen

@ -20,12 +20,11 @@
package de.steamwar.bausystem.features.autostart;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class AutoStartCommand extends SWCommand {
public AutoStartCommand() {

Datei anzeigen

@ -20,15 +20,14 @@
package de.steamwar.bausystem.features.autostart;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class AutoStartGuiItem extends BauGuiItem {
public AutoStartGuiItem() {

Datei anzeigen

@ -21,14 +21,13 @@ package de.steamwar.bausystem.features.autostart;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.tpslimit.TPSUtils;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.RegionUtils;
import de.steamwar.bausystem.region.utils.RegionExtensionType;
import de.steamwar.bausystem.region.utils.RegionType;
import de.steamwar.bausystem.utils.ItemUtils;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import lombok.Getter;
import org.bukkit.Material;
import org.bukkit.entity.Player;
@ -44,7 +43,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Linked(LinkageType.LISTENER)
@Linked
public class AutostartListener implements Listener {
@Getter

Datei anzeigen

@ -21,8 +21,6 @@ package de.steamwar.bausystem.features.backup;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.tags.Tag;
import de.steamwar.command.SWCommand;
@ -31,6 +29,7 @@ import de.steamwar.command.TypeMapper;
import de.steamwar.command.TypeValidator;
import de.steamwar.inventory.SWItem;
import de.steamwar.inventory.SWListInv;
import de.steamwar.linkage.Linked;
import net.md_5.bungee.api.chat.ClickEvent;
import org.bukkit.Material;
import org.bukkit.entity.Player;
@ -42,7 +41,7 @@ import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@Linked(LinkageType.COMMAND)
@Linked
public class BackupCommand extends SWCommand {
public BackupCommand() {

Datei anzeigen

@ -19,13 +19,12 @@
package de.steamwar.bausystem.features.bau;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.LinkedInstance;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.LinkedInstance;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class BauCommand extends SWCommand {
@LinkedInstance

Datei anzeigen

@ -22,12 +22,11 @@ package de.steamwar.bausystem.features.bau;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.config.BauServer;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import de.steamwar.sql.SteamwarUser;
import org.bukkit.Material;
import org.bukkit.entity.Player;
@ -37,7 +36,7 @@ import org.bukkit.inventory.ItemStack;
import java.util.ArrayList;
import java.util.List;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class BauInfoBauGuiItem extends BauGuiItem {
public BauInfoBauGuiItem() {

Datei anzeigen

@ -3,13 +3,12 @@ package de.steamwar.bausystem.features.bau;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.config.BauServer;
import de.steamwar.bausystem.features.tpslimit.TPSWarpUtils;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.LinkedInstance;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.command.SWCommand;
import de.steamwar.core.TPSWatcher;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.LinkedInstance;
import de.steamwar.sql.BauweltMember;
import de.steamwar.sql.SteamwarUser;
import org.bukkit.entity.Player;
@ -18,7 +17,7 @@ import java.util.List;
import static de.steamwar.bausystem.features.tpslimit.TPSWarpUtils.getTps;
@Linked(LinkageType.COMMAND)
@Linked
public class InfoCommand extends SWCommand {
@LinkedInstance

Datei anzeigen

@ -20,13 +20,12 @@
package de.steamwar.bausystem.features.countingwand;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class CountingwandCommand extends SWCommand {
public CountingwandCommand() {

Datei anzeigen

@ -20,15 +20,14 @@
package de.steamwar.bausystem.features.countingwand;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class CountingwandGuiItem extends BauGuiItem {
public CountingwandGuiItem() {

Datei anzeigen

@ -19,9 +19,8 @@
package de.steamwar.bausystem.features.countingwand;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Point;
import de.steamwar.linkage.Linked;
import org.bukkit.FluidCollisionMode;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@ -34,7 +33,7 @@ import org.bukkit.util.RayTraceResult;
import java.util.Objects;
@Linked(LinkageType.LISTENER)
@Linked
public class CountingwandListener implements Listener {
@EventHandler

Datei anzeigen

@ -20,14 +20,13 @@
package de.steamwar.bausystem.features.detonator;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class DetonatorBauGuiItem extends BauGuiItem {
public DetonatorBauGuiItem() {

Datei anzeigen

@ -24,10 +24,9 @@ import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.configplayer.Config;
import de.steamwar.bausystem.features.detonator.storage.DetonatorStorage;
import de.steamwar.bausystem.features.detonator.storage.ItemStorage;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.utils.ItemUtils;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
@ -35,7 +34,7 @@ import org.bukkit.inventory.meta.ItemMeta;
import java.util.Arrays;
@Linked(LinkageType.COMMAND)
@Linked
public class DetonatorCommand extends SWCommand {
public static ItemStack getWAND(Player player) {

Datei anzeigen

@ -25,8 +25,7 @@ import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.features.detonator.storage.DetonatorStorage;
import de.steamwar.bausystem.features.detonator.storage.ItemStorage;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@ -42,7 +41,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Linked(LinkageType.LISTENER)
@Linked
public class DetonatorListener implements Listener {
public static final Class<?> useEntity = Reflection.getClass("{nms.network.protocol.game}.PacketPlayInUseEntity");

Datei anzeigen

@ -23,7 +23,6 @@ import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.features.gui.editor.BauGuiMapping;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.LinkageUtils;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.inventory.SWInventory;
@ -42,7 +41,7 @@ public class BauGUI {
private static final Map<Integer, BauGuiItem> ITEMS = new HashMap<>();
public static Map<Integer, BauGuiItem> getITEMS() {
LinkageUtils.run(LinkageType.BAU_GUI_ITEM);
if (ITEMS.isEmpty()) LinkageUtils.linkGUIItems();
return ITEMS;
}

Datei anzeigen

@ -20,13 +20,12 @@
package de.steamwar.bausystem.features.gui;
import de.steamwar.bausystem.features.gui.editor.BauGuiEditor;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.command.SWCommand;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class BauGUICommand extends SWCommand {
public BauGUICommand() {

Datei anzeigen

@ -21,10 +21,9 @@ package de.steamwar.bausystem.features.gui;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
@ -33,7 +32,7 @@ import org.bukkit.inventory.ItemStack;
import java.util.Arrays;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class BauGuiBauGuiItem extends BauGuiItem {
public BauGuiBauGuiItem() {

Datei anzeigen

@ -19,14 +19,13 @@
package de.steamwar.bausystem.features.gui;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
@Linked(LinkageType.LISTENER)
@Linked
public class BauGuiListener implements Listener {
@EventHandler

Datei anzeigen

@ -21,11 +21,10 @@ package de.steamwar.bausystem.features.gui.editor;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.gui.BauGUI;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.inventory.SWItem;
import de.steamwar.inventory.SWListInv;
import de.steamwar.linkage.Linked;
import lombok.Getter;
import org.bukkit.Bukkit;
import org.bukkit.Material;
@ -46,7 +45,7 @@ import org.bukkit.persistence.PersistentDataType;
import java.util.*;
@Linked(LinkageType.LISTENER)
@Linked
public class BauGuiEditor implements Listener {
@Getter

Datei anzeigen

@ -21,16 +21,15 @@ package de.steamwar.bausystem.features.gui.editor;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class BauGuiEditorGuiItem extends BauGuiItem {
public BauGuiEditorGuiItem() {

Datei anzeigen

@ -70,7 +70,11 @@ public class DefaultHotbar {
if (yapionAnyType instanceof YAPIONValue) {
hotbar[integer] = null;
} else {
hotbar[integer] = (ItemStack) YAPIONDeserializer.deserialize((YAPIONObject) yapionAnyType);
try {
hotbar[integer] = YAPIONDeserializer.deserialize((YAPIONObject) yapionAnyType);
} catch (Exception e) {
hotbar[integer] = null;
}
}
});
return hotbar;

Datei anzeigen

@ -20,14 +20,13 @@
package de.steamwar.bausystem.features.hotbar;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.command.SWCommand;
import de.steamwar.inventory.SWInventory;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.COMMAND)
@Linked
public class HotbarCommand extends SWCommand {
public HotbarCommand() {

Datei anzeigen

@ -19,14 +19,13 @@
package de.steamwar.bausystem.features.hotbar;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
@Linked(LinkageType.LISTENER)
@Linked
public class HotbarListener implements Listener {
@EventHandler(priority = EventPriority.LOWEST)

Datei anzeigen

@ -3,12 +3,10 @@ package de.steamwar.bausystem.features.inventoryfiller;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.configplayer.Config;
import de.steamwar.bausystem.features.inventoryfiller.InventoryFillerCommand;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.LinkedInstance;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.LinkedInstance;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
@ -16,7 +14,7 @@ import org.bukkit.inventory.ItemStack;
import java.util.Collections;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class InventoryFillBauGuiItem extends BauGuiItem {
public InventoryFillBauGuiItem() {
super(34);

Datei anzeigen

@ -21,8 +21,7 @@ package de.steamwar.bausystem.features.inventoryfiller;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.configplayer.Config;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import net.md_5.bungee.api.ChatMessageType;
import org.bukkit.Material;
import org.bukkit.block.Block;
@ -34,7 +33,7 @@ import org.bukkit.event.player.PlayerItemHeldEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.LISTENER)
@Linked
public class InventoryFiller implements Listener {
@EventHandler

Datei anzeigen

@ -3,12 +3,11 @@ package de.steamwar.bausystem.features.inventoryfiller;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.configplayer.Config;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class InventoryFillerCommand extends SWCommand {
public InventoryFillerCommand() {

Datei anzeigen

@ -21,20 +21,21 @@ package de.steamwar.bausystem.features.loader;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.inventory.SWAnvilInv;
import de.steamwar.inventory.SWInventory;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import java.util.Arrays;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class LoaderBauGuiItem extends BauGuiItem {
public LoaderBauGuiItem() {
@ -43,7 +44,7 @@ public class LoaderBauGuiItem extends BauGuiItem {
@Override
public ItemStack getItem(Player player) {
return new SWItem(Material.FLINT_AND_STEEL, BauSystem.MESSAGE.parse("LOADER_GUI_NAME", player)).getItemStack();
return SWUtils.setCustomModelData(new SWItem(Material.FLINT_AND_STEEL, BauSystem.MESSAGE.parse("LOADER_GUI_NAME", player)), 1).getItemStack();
}
@Override

Datei anzeigen

@ -21,12 +21,12 @@ package de.steamwar.bausystem.features.loader;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.command.*;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class LoaderCommand extends SWCommand {
public LoaderCommand() {

Datei anzeigen

@ -19,13 +19,12 @@
package de.steamwar.bausystem.features.loadtimer;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class LoadtimerCommand extends SWCommand {
public LoadtimerCommand() {
super("loadtimer", "lt", "stopuhr");

Datei anzeigen

@ -21,18 +21,17 @@ package de.steamwar.bausystem.features.loadtimer;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.bausystem.region.Region;
import de.steamwar.inventory.SWInventory;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class LoadtimerGuiItem extends BauGuiItem {
public LoadtimerGuiItem() {

Datei anzeigen

@ -19,9 +19,8 @@
package de.steamwar.bausystem.features.loadtimer;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.EntityType;
import org.bukkit.event.EventHandler;
@ -33,7 +32,7 @@ import org.bukkit.event.player.PlayerInteractEvent;
import static de.steamwar.bausystem.features.loadtimer.Loadtimer.*;
@Linked(LinkageType.LISTENER)
@Linked
public class LoadtimerListener implements Listener {
@EventHandler

Datei anzeigen

@ -20,12 +20,11 @@
package de.steamwar.bausystem.features.observer;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class ObserverTracerCommand extends SWCommand {
public ObserverTracerCommand() {

Datei anzeigen

@ -20,8 +20,7 @@
package de.steamwar.bausystem.features.observer;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Material;
@ -38,7 +37,7 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@Linked(LinkageType.LISTENER)
@Linked
public class ObserverTracerListener implements Listener {
static Set<Player> enabled = new HashSet<>();

Datei anzeigen

@ -21,10 +21,9 @@ package de.steamwar.bausystem.features.redstonetester;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
@ -32,7 +31,7 @@ import org.bukkit.inventory.ItemStack;
import java.util.Arrays;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class RedstoneTesterGuiItem extends BauGuiItem {
public RedstoneTesterGuiItem() {

Datei anzeigen

@ -21,12 +21,11 @@ package de.steamwar.bausystem.features.redstonetester;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class RedstonetesterCommand extends SWCommand {
public RedstonetesterCommand() {

Datei anzeigen

@ -20,9 +20,8 @@
package de.steamwar.bausystem.features.redstonetester;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.utils.ItemUtils;
import de.steamwar.linkage.Linked;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@ -36,7 +35,7 @@ import org.bukkit.event.player.PlayerQuitEvent;
import java.util.Objects;
@Linked(LinkageType.LISTENER)
@Linked
public class RestonetesterListener implements Listener {
@EventHandler

Datei anzeigen

@ -21,9 +21,6 @@ package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.config.BauServer;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.LinkedInstance;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.RegionUtils;
import de.steamwar.bausystem.region.flags.Flag;
@ -32,11 +29,13 @@ import de.steamwar.bausystem.region.utils.RegionExtensionType;
import de.steamwar.bausystem.region.utils.RegionType;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.LinkedInstance;
import org.bukkit.entity.Player;
import java.io.IOException;
@Linked(LinkageType.COMMAND)
@Linked
public class ColorCommand extends SWCommand {
@LinkedInstance

Datei anzeigen

@ -20,17 +20,16 @@
package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.RegionUtils;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.FireMode;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class FireCommand extends SWCommand {
public FireCommand() {

Datei anzeigen

@ -1,16 +1,15 @@
package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.FireMode;
import de.steamwar.linkage.Linked;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBurnEvent;
import org.bukkit.event.block.BlockSpreadEvent;
@Linked(LinkageType.LISTENER)
@Linked
public class FireListener implements Listener {
@EventHandler

Datei anzeigen

@ -20,17 +20,16 @@
package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.RegionUtils;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.FreezeMode;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class FreezeCommand extends SWCommand {
public FreezeCommand() {

Datei anzeigen

@ -1,12 +1,11 @@
package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.FreezeMode;
import de.steamwar.core.Core;
import de.steamwar.linkage.Linked;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.Block;
@ -21,7 +20,7 @@ import org.bukkit.event.entity.EntitySpawnEvent;
import org.bukkit.event.inventory.InventoryMoveItemEvent;
import org.bukkit.event.player.PlayerInteractEvent;
@Linked(LinkageType.LISTENER)
@Linked
public class FreezeListener implements Listener {
@EventHandler
@ -176,4 +175,11 @@ public class FreezeListener implements Listener {
}
}
}
@EventHandler
public void onBlockFade(BlockFadeEvent event) {
if (Region.getRegion(event.getBlock().getLocation()).get(Flag.FREEZE) == FreezeMode.ACTIVE) {
event.setCancelled(true);
}
}
}

Datei anzeigen

@ -21,17 +21,16 @@ package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.RegionUtils;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.ProtectMode;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked(LinkageType.COMMAND)
@Linked
public class ProtectCommand extends SWCommand {
public ProtectCommand() {

Datei anzeigen

@ -1,10 +1,9 @@
package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.ProtectMode;
import de.steamwar.linkage.Linked;
import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
@ -14,7 +13,7 @@ import org.bukkit.event.entity.EntityExplodeEvent;
import java.util.List;
@Linked(LinkageType.LISTENER)
@Linked
public class ProtectListener implements Listener {
private void explode(List<Block> blockList, Location location) {

Datei anzeigen

@ -22,9 +22,6 @@ package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.features.util.SelectCommand;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.LinkedInstance;
import de.steamwar.bausystem.region.Prototype;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.RegionUtils;
@ -33,6 +30,8 @@ import de.steamwar.bausystem.region.utils.RegionType;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeMapper;
import de.steamwar.command.TypeValidator;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.LinkedInstance;
import de.steamwar.sql.SchematicNode;
import net.md_5.bungee.api.chat.ClickEvent;
import org.bukkit.Bukkit;
@ -46,7 +45,7 @@ import java.util.List;
import java.util.logging.Level;
import java.util.stream.Collectors;
@Linked(LinkageType.COMMAND)
@Linked
public class RegionCommand extends SWCommand {
@LinkedInstance

Datei anzeigen

@ -20,10 +20,9 @@
package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.tags.Tag;
import de.steamwar.linkage.Linked;
import org.bukkit.Location;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@ -38,7 +37,7 @@ import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.scheduler.BukkitRunnable;
@Linked(LinkageType.LISTENER)
@Linked
public class RegionListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)

Datei anzeigen

@ -21,14 +21,13 @@ package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.GlobalRegion;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.RegionUtils;
import de.steamwar.bausystem.region.utils.RegionType;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import de.steamwar.linkage.Linked;
import de.steamwar.sql.SchematicNode;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@ -36,7 +35,7 @@ import org.bukkit.entity.Player;
import java.io.IOException;
import java.util.logging.Level;
@Linked(LinkageType.COMMAND)
@Linked
public class ResetCommand extends SWCommand {
public ResetCommand() {

Datei anzeigen

@ -21,8 +21,6 @@ package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.RegionUtils;
import de.steamwar.bausystem.region.flags.Flag;
@ -31,6 +29,7 @@ import de.steamwar.bausystem.region.utils.RegionType;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeMapper;
import de.steamwar.command.TypeValidator;
import de.steamwar.linkage.Linked;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -39,7 +38,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Linked(LinkageType.COMMAND)
@Linked
public class TNTCommand extends SWCommand {
public TNTCommand() {

Datei anzeigen

@ -21,15 +21,14 @@ package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.features.script.CustomScriptManager;
import de.steamwar.bausystem.features.script.EventType;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.LinkedInstance;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.RegionUtils;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.TNTMode;
import de.steamwar.bausystem.region.utils.RegionExtensionType;
import de.steamwar.bausystem.region.utils.RegionType;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.LinkedInstance;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.block.Block;
@ -43,7 +42,7 @@ import org.bukkit.event.entity.EntityExplodeEvent;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
@Linked(LinkageType.LISTENER)
@Linked
public class TNTListener implements Listener {
@LinkedInstance

Datei anzeigen

@ -21,8 +21,6 @@ package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.RegionUtils;
import de.steamwar.bausystem.region.utils.RegionExtensionType;
@ -31,6 +29,7 @@ import de.steamwar.command.SWCommand;
import de.steamwar.command.SWCommandUtils;
import de.steamwar.command.TypeMapper;
import de.steamwar.command.TypeValidator;
import de.steamwar.linkage.Linked;
import de.steamwar.sql.SchematicNode;
import de.steamwar.sql.SteamwarUser;
import org.bukkit.Bukkit;
@ -44,7 +43,7 @@ import java.util.List;
import java.util.Map;
import java.util.logging.Level;
@Linked(LinkageType.COMMAND)
@Linked
public class TestblockCommand extends SWCommand {
public TestblockCommand() {

Datei anzeigen

@ -21,8 +21,6 @@ package de.steamwar.bausystem.features.region.items;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.bausystem.region.Color;
import de.steamwar.bausystem.region.Region;
@ -30,6 +28,7 @@ import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.ColorMode;
import de.steamwar.inventory.SWItem;
import de.steamwar.inventory.SWListInv;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
@ -39,7 +38,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class ColorBauGuiItem extends BauGuiItem {
public ColorBauGuiItem() {

Datei anzeigen

@ -21,19 +21,18 @@ package de.steamwar.bausystem.features.region.items;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.FireMode;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class FireBauGuiItem extends BauGuiItem {
public FireBauGuiItem() {

Datei anzeigen

@ -21,19 +21,18 @@ package de.steamwar.bausystem.features.region.items;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.FreezeMode;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class FreezeBauGuiItem extends BauGuiItem {
public FreezeBauGuiItem() {

Datei anzeigen

@ -21,19 +21,19 @@ package de.steamwar.bausystem.features.region.items;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.ProtectMode;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class ProtectBauGuiItem extends BauGuiItem {
public ProtectBauGuiItem() {
@ -44,9 +44,9 @@ public class ProtectBauGuiItem extends BauGuiItem {
public ItemStack getItem(Player player) {
Region region = Region.getRegion(player.getLocation());
if (region.getPlain(Flag.PROTECT, ProtectMode.class) == ProtectMode.ACTIVE) {
return new SWItem(Material.OBSIDIAN, BauSystem.MESSAGE.parse("REGION_ITEM_PROTECT_ALLOW", player)).getItemStack();
return SWUtils.setCustomModelData(new SWItem(Material.OBSIDIAN, BauSystem.MESSAGE.parse("REGION_ITEM_PROTECT_ALLOW", player)), 1).getItemStack();
} else {
return new SWItem(Material.STONE, BauSystem.MESSAGE.parse("REGION_ITEM_PROTECT_DISALLOW", player)).getItemStack();
return SWUtils.setCustomModelData(new SWItem(Material.STONE, BauSystem.MESSAGE.parse("REGION_ITEM_PROTECT_DISALLOW", player)), 1).getItemStack();
}
}

Datei anzeigen

@ -21,19 +21,19 @@ package de.steamwar.bausystem.features.region.items;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.features.region.ResetCommand;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.LinkedInstance;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.inventory.SWItem;
import de.steamwar.inventory.SchematicSelector;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.LinkedInstance;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class ResetBauGuiItem extends BauGuiItem {
@LinkedInstance
@ -45,7 +45,7 @@ public class ResetBauGuiItem extends BauGuiItem {
@Override
public ItemStack getItem(Player player) {
return new SWItem(Material.HEAVY_WEIGHTED_PRESSURE_PLATE, BauSystem.MESSAGE.parse("REGION_ITEM_RESET", player)).getItemStack();
return SWUtils.setCustomModelData(new SWItem(Material.HEAVY_WEIGHTED_PRESSURE_PLATE, BauSystem.MESSAGE.parse("REGION_ITEM_RESET", player)), 1).getItemStack();
}
@Override

Datei anzeigen

@ -22,18 +22,17 @@ package de.steamwar.bausystem.features.region.items;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.features.region.TestblockCommand;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.LinkedInstance;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.inventory.SWItem;
import de.steamwar.inventory.SchematicSelector;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.LinkedInstance;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class TestblockBauGuiItem extends BauGuiItem {
@LinkedInstance

Datei anzeigen

@ -21,20 +21,19 @@ package de.steamwar.bausystem.features.region.items;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.specific.BauGuiItem;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.flags.Flag;
import de.steamwar.bausystem.region.flags.flagvalues.TNTMode;
import de.steamwar.inventory.SWInventory;
import de.steamwar.inventory.SWItem;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.BAU_GUI_ITEM)
@Linked
public class TntBauGuiItem extends BauGuiItem {
public TntBauGuiItem() {

Datei anzeigen

@ -22,11 +22,10 @@ package de.steamwar.bausystem.features.script;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.utils.FlatteningWrapper;
import de.steamwar.inventory.SWItem;
import de.steamwar.inventory.SWListInv;
import de.steamwar.linkage.Linked;
import de.steamwar.sql.UserConfig;
import org.bukkit.Material;
import org.bukkit.entity.Player;
@ -51,7 +50,7 @@ import yapion.parser.YAPIONParser;
import java.util.*;
import java.util.stream.Collectors;
@Linked(LinkageType.LISTENER)
@Linked
public class CustomScriptManager implements Listener {
private final Map<Player, List<CustomScript.Script>> playerMap = Collections.synchronizedMap(new HashMap<>()); // new ConcurrentHashMap<>();

Datei anzeigen

@ -1,12 +1,11 @@
package de.steamwar.bausystem.features.script;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.LinkedInstance;
import de.steamwar.command.SWCommand;
import de.steamwar.inventory.SWItem;
import de.steamwar.inventory.SWListInv;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.LinkedInstance;
import org.bukkit.Material;
import org.bukkit.entity.Player;
@ -16,7 +15,7 @@ import java.util.List;
import static de.steamwar.bausystem.features.script.ScriptExecutor.SPECIAL_COMMANDS;
@Linked(LinkageType.COMMAND)
@Linked
public class ScriptCommand extends SWCommand {
public ScriptCommand() {

Datei anzeigen

@ -20,12 +20,11 @@
package de.steamwar.bausystem.features.script;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.linkage.LinkedInstance;
import de.steamwar.bausystem.region.Region;
import de.steamwar.bausystem.region.utils.RegionExtensionType;
import de.steamwar.bausystem.region.utils.RegionType;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.LinkedInstance;
import org.bukkit.Bukkit;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
@ -43,7 +42,7 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@Linked(LinkageType.LISTENER)
@Linked
public class ScriptEventListener implements Listener {
@LinkedInstance

Datei anzeigen

@ -4,7 +4,6 @@ import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.variables.Constants;
import de.steamwar.bausystem.features.script.variables.Context;
import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.LinkageUtils;
import lombok.Getter;
import lombok.Setter;
@ -21,7 +20,7 @@ public final class ScriptExecutor {
public static final Set<SpecialCommand> SPECIAL_COMMANDS = new HashSet<>();
static {
LinkageUtils.run(LinkageType.SCRIPT_COMMAND);
LinkageUtils.linkScriptCommands();
}
private String specialCommand = null;

Datei anzeigen

@ -1,9 +1,8 @@
package de.steamwar.bausystem.features.script;
import de.steamwar.bausystem.features.script.variables.Context;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.utils.FlatteningWrapper;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@ -20,7 +19,7 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@Linked(LinkageType.LISTENER)
@Linked
public class ScriptListener implements Listener {
private static final Map<Player, Context> GLOBAL_CONTEXT = new HashMap<>();

Datei anzeigen

@ -19,15 +19,14 @@
package de.steamwar.bausystem.features.script;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.utils.FlatteningWrapper;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
@Linked(LinkageType.COMMAND)
@Linked
public class UnsignCommand extends SWCommand {
public UnsignCommand() {

Datei anzeigen

@ -3,11 +3,10 @@ package de.steamwar.bausystem.features.script.command;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Call implements SpecialCommand {
@Override

Datei anzeigen

@ -2,11 +2,10 @@ package de.steamwar.bausystem.features.script.command;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Exit implements SpecialCommand {
@Override

Datei anzeigen

@ -4,11 +4,10 @@ import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class If implements SpecialCommand {
@Override

Datei anzeigen

@ -3,11 +3,10 @@ package de.steamwar.bausystem.features.script.command;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Jump implements SpecialCommand {
@Override

Datei anzeigen

@ -3,11 +3,10 @@ package de.steamwar.bausystem.features.script.command;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Return implements SpecialCommand {
@Override

Datei anzeigen

@ -3,12 +3,11 @@ package de.steamwar.bausystem.features.script.command;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Bukkit;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Sleep implements SpecialCommand {
@Override

Datei anzeigen

@ -4,11 +4,10 @@ import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Add implements SpecialCommand {
@Override

Datei anzeigen

@ -4,11 +4,10 @@ import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Div implements SpecialCommand {
@Override

Datei anzeigen

@ -4,11 +4,10 @@ import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Mul implements SpecialCommand {
@Override

Datei anzeigen

@ -4,11 +4,10 @@ import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Sub implements SpecialCommand {
@Override

Datei anzeigen

@ -23,11 +23,10 @@ import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Ceil implements SpecialCommand {
@Override

Datei anzeigen

@ -23,11 +23,10 @@ import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Floor implements SpecialCommand {
@Override

Datei anzeigen

@ -23,11 +23,10 @@ import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.features.script.ScriptExecutor;
import de.steamwar.bausystem.features.script.SpecialCommand;
import de.steamwar.bausystem.features.script.variables.Value;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.linkage.Linked;
import org.bukkit.Material;
@Linked(LinkageType.SCRIPT_COMMAND)
@Linked
public class Round implements SpecialCommand {
@Override

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden Mehr anzeigen