🎨 Add AutoCheckResult and SafeSchematicNode to Multilang
Einige Prüfungen sind fehlgeschlagen
SteamWarCI Build failed
Einige Prüfungen sind fehlgeschlagen
SteamWarCI Build failed
Dieser Commit ist enthalten in:
Ursprung
170b1da9a7
Commit
834bcb5428
@ -1 +1,21 @@
|
|||||||
PREFIX=§eSchematic§8» §7
|
PREFIX=§eSchematic§8» §7
|
||||||
|
|
||||||
|
AUTO_CHECK_RESULT_NOT_LOAD=Die Schematic konnte nicht geladen werden
|
||||||
|
AUTO_CHECK_RESULT_TOO_WIDE=Die Schematic ist zu breit ({0} > {1})
|
||||||
|
AUTO_CHECK_RESULT_TOO_LONG=Die Schematic ist zu lang ({0} > {1})
|
||||||
|
AUTO_CHECK_RESULT_TOO_HIGH=Die Schematic ist zu hoch ({0} > {1})
|
||||||
|
AUTO_CHECK_RESULT_TOO_MANY_BLOCK=Der Block {0} wurde {1} mal zu häufig verbaut
|
||||||
|
AUTO_CHECK_RESULT_TOO_MANY_BLOCKS=Die Blockkombination {0} wurde {1} mal zu häufig verbaut
|
||||||
|
AUTO_CHECK_RESULT_TOO_MANY_ALL_BLOCKS=Zu viele Blöcke ({0} > {1})
|
||||||
|
AUTO_CHECK_RESULT_TOO_MANY_RECORDS=Keine Schallplatten erlaubt ({0} gefunden)
|
||||||
|
AUTO_CHECK_RESULT_FORBIDDEN_ITEM=In {0}s wurde das verbotene Item {1} {2} mal gefunden
|
||||||
|
AUTO_CHECK_RESULT_FORBIDDEN_ITEM_NBT=In {0}s wurde das verbotene Item {1} {2} mal mit Custom-Tag gefunden
|
||||||
|
AUTO_CHECK_RESULT_TOO_MANY_DISPENSER_ITEMS=Ein Werfer enthält mehr als {0} Pfeile und Feuerbälle
|
||||||
|
AUTO_CHECK_RESULT_TOO_MANY_DISPENSERS_ITEMS={0} Werfer enthält mehr als {1} Pfeile und Feuerbälle
|
||||||
|
AUTO_CHECK_RESULT_NBTS_WARNING={0} {1}s enthalten keine oder inkorrekte NBT-Daten
|
||||||
|
AUTO_CHECK_RESULT_NBT_WARNING=Ein(e) {0} enthält keine oder inkorrekte NBT-Daten
|
||||||
|
|
||||||
|
SAFE_NODE_NOT_A_DIR=§cDie ausgewählte Schematic ist kein Ordner
|
||||||
|
SAFE_NODE_ALREADY_IN_DIRECTORY=§cDie Schematic gibt es bereits in diesem Ordner
|
||||||
|
SAFE_NODE_INVALID_NAME=§cDieser Name ist unzulässig
|
||||||
|
SAFE_NODE_NOT_OWNER=§cDu bist nicht der Besitzer dieser Schematic
|
||||||
|
@ -47,53 +47,67 @@ public class AutoCheckResult {
|
|||||||
this.limitedMaterials = type.getLimits();
|
this.limitedMaterials = type.getLimits();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<String> errors() {
|
public Map<String, Object[]> errors() {
|
||||||
List<String> errors = new LinkedList<>();
|
Map<String, Object[]> errors = new HashMap<>();
|
||||||
|
|
||||||
if(errorLoadingSchematic)
|
if(errorLoadingSchematic) {
|
||||||
errors.add("Die Schematic konnte nicht geladen werden");
|
errors.put("AUTO_CHECK_RESULT_NOT_LOAD", new Object[0]);
|
||||||
|
}
|
||||||
|
|
||||||
assert type != null;
|
assert type != null;
|
||||||
|
// SW Quality Code, Check the Comments!
|
||||||
if(width > type.getDepth())
|
if(width > type.getDepth())
|
||||||
errors.add("Die Schematic ist zu breit (" + width + " > " + type.getDepth() + ")");
|
// Width
|
||||||
|
errors.put("AUTO_CHECK_RESULT_TOO_WIDE", new Object[]{width, type.getDepth()});
|
||||||
if(length > type.getWidth())
|
if(length > type.getWidth())
|
||||||
errors.add("Die Schematic ist zu lang (" + length + " > " + type.getWidth() + ")");
|
// Length
|
||||||
|
errors.put("AUTO_CHECK_RESULT_TOO_LONG", new Object[]{width, type.getWidth()});
|
||||||
if(height > type.getHeight())
|
if(height > type.getHeight())
|
||||||
errors.add("Die Schematic ist zu hoch (" + height + " > " + type.getHeight() + ")");
|
errors.put("AUTO_CHECK_RESULT_TOO_HIGH", new Object[]{height, type.getHeight()});
|
||||||
|
|
||||||
for(Map.Entry<Set<String>, Integer> entry : limitedMaterials.entrySet()) {
|
for(Map.Entry<Set<String>, Integer> entry : limitedMaterials.entrySet()) {
|
||||||
if(entry.getValue() < 0)
|
if(entry.getValue() < 0) {
|
||||||
errors.add((entry.getKey().size() == 1 ? "Der Block " : "Die Blockkombination") + String.join(" ", entry.getKey()) + " wurde " + (-entry.getValue()) + " mal zu häufig verbaut");
|
errors.put((entry.getKey().size() == 1 ? "AUTO_CHECK_RESULT_TOO_MANY_BLOCK " : "AUTO_CHECK_RESULT_TOO_MANY_BLOCKS"), new Object[]{String.join(" ", entry.getKey()), -entry.getValue()});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(type.getMaxBlocks() != 0 && blocks > type.getMaxBlocks()) {
|
if(type.getMaxBlocks() != 0 && blocks > type.getMaxBlocks()) {
|
||||||
errors.add("Zu viele Blöcke (" + blocks + " > " + type.getMaxBlocks() + ")");
|
errors.put("AUTO_CHECK_RESULT_TOO_MANY_ALL_BLOCKS", new Object[]{blocks, type.getMaxBlocks()});
|
||||||
}
|
}
|
||||||
|
|
||||||
if(records > 0)
|
if(records > 0) {
|
||||||
errors.add("Keine Schallplatten erlaubt (" + records + " gefunden)");
|
errors.put("AUTO_CHECK_RESULT_TOO_MANY_RECORDS", new Object[]{records});
|
||||||
for(Map.Entry<String, Map<String, Integer>> block : forbiddenItems.entrySet())
|
}
|
||||||
for(Map.Entry<String, Integer> item : block.getValue().entrySet())
|
|
||||||
errors.add("In " + block.getKey() + "s wurde das verbotene Item " + item.getKey() + " " + item.getValue() + " mal gefunden");
|
for(Map.Entry<String, Map<String, Integer>> block : forbiddenItems.entrySet()) {
|
||||||
for(Map.Entry<String, Map<String, Integer>> block : itemsWithTag.entrySet())
|
for (Map.Entry<String, Integer> item : block.getValue().entrySet()) {
|
||||||
for(Map.Entry<String, Integer> item : block.getValue().entrySet())
|
errors.put("AUTO_CHECK_RESULT_FORBIDDEN_ITEM", new Object[]{block.getKey(), item.getKey(), item.getValue()});
|
||||||
errors.add("In " + block.getKey() + "s wurde das Item " + item.getKey() + " " + item.getValue() + " mal mit Custom-Tag gefunden");
|
}
|
||||||
if(tooManyDispenserItems == 1)
|
}
|
||||||
errors.add("Ein Werfer enthält mehr als " + type.getMaxDispenserItems() + " Pfeile und Feuerbälle");
|
for(Map.Entry<String, Map<String, Integer>> block : itemsWithTag.entrySet()) {
|
||||||
else if(tooManyDispenserItems > 1)
|
for (Map.Entry<String, Integer> item : block.getValue().entrySet()) {
|
||||||
errors.add(tooManyDispenserItems + " Werfer enthalten mehr als " + type.getMaxDispenserItems() + " Pfeile und Feuerbälle");
|
errors.put("AUTO_CHECK_RESULT_FORBIDDEN_ITEM_NBT", new Object[]{block.getKey(), item.getKey(), item.getValue()});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(tooManyDispenserItems == 1) {
|
||||||
|
errors.put("AUTO_CHECK_RESULT_TOO_MANY_DISPENSER_ITEMS", new Object[]{type.getMaxDispenserItems()});
|
||||||
|
}
|
||||||
|
else if(tooManyDispenserItems > 1) {
|
||||||
|
errors.put("AUTO_CHECK_RESULT_TOO_MANY_DISPENSERS_ITEMS", new Object[]{tooManyDispenserItems, type.getMaxDispenserItems()});
|
||||||
|
}
|
||||||
|
|
||||||
return errors;
|
return errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<String> warnings(){
|
public Map<String, Object[]> warnings(){
|
||||||
List<String> warnings = new LinkedList<>();
|
Map<String, Object[]> warnings = new HashMap<>();
|
||||||
|
|
||||||
for(Map.Entry<String, Integer> nbtBlock : defunctNbt.entrySet()){
|
for(Map.Entry<String, Integer> nbtBlock : defunctNbt.entrySet()){
|
||||||
if(nbtBlock.getValue() > 1)
|
if(nbtBlock.getValue() > 1) {
|
||||||
warnings.add(nbtBlock.getValue() + " " + nbtBlock.getKey() + "s enthalten keine oder inkorrekte NBT-Daten");
|
warnings.put("AUTO_CHECK_RESULT_NBTS_WARNING", new Object[]{nbtBlock.getValue(), nbtBlock.getKey()});
|
||||||
else
|
} else {
|
||||||
warnings.add("Ein(e) " + nbtBlock.getKey() + " enthält keine oder inkorrekte NBT-Daten");
|
warnings.put("AUTO_CHECK_RESULT_NBT_WARNING", new Object[]{nbtBlock.getKey()});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return warnings;
|
return warnings;
|
||||||
|
@ -72,16 +72,14 @@ public class SafeSchematicNode {
|
|||||||
|
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public enum Result {
|
public enum Result {
|
||||||
DONE("No"),
|
DONE,
|
||||||
NOT_A_DIR(SchematicSystem.PREFIX + "§cDie ausgewählte Schematic ist kein Ordner"),
|
NOT_A_DIR,
|
||||||
ALREADY_IN_DIRECTORY(SchematicSystem.PREFIX + "§cDie Schematic gibt es bereits in diesem Ordner"),
|
ALREADY_IN_DIRECTORY,
|
||||||
INVALID_NAME(SchematicSystem.PREFIX + "§cDieser Name ist unzulässig"),
|
INVALID_NAME,
|
||||||
NOT_OWNER(SchematicSystem.PREFIX + "§cDu bist nicht der Besitzer dieser Schematic");
|
NOT_OWNER;
|
||||||
|
|
||||||
private final String errorMessage;
|
|
||||||
|
|
||||||
public void sendError(Player player) {
|
public void sendError(Player player) {
|
||||||
player.sendMessage(errorMessage);
|
SchematicSystem.MESSAGE.send("SAFE_SCHEMATIC_NODE_" + this.name(), player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isSuccessful() {
|
public boolean isSuccessful() {
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren