Format code

This commit is contained in:
2026-05-16 23:08:09 +02:00
parent 81dd8045f2
commit d110df924e
562 changed files with 11025 additions and 10059 deletions
@@ -28,22 +28,22 @@ import org.bukkit.entity.Player;
public class SafeSchematicNode {
public static Result setParent(@NonNull SteamwarUser user, @NonNull SchematicNode node, SchematicNode newParent) {
if(user.getId() != node.getOwner()) {
if (user.getId() != node.getOwner()) {
return Result.NOT_OWNER;
}
if(newParent == null) {
if(SchematicNode.list(user, null)
if (newParent == null) {
if (SchematicNode.list(user, null)
.stream().map(SchematicNode::getName).anyMatch(s -> s.equalsIgnoreCase(node.getName()))) {
return Result.ALREADY_IN_DIRECTORY;
}
node.setParent(null);
} else {
if(!newParent.isDir()) {
if (!newParent.isDir()) {
return Result.NOT_A_DIR;
}
if(SchematicNode.list(user, newParent.getId())
if (SchematicNode.list(user, newParent.getId())
.stream().map(SchematicNode::getName).anyMatch(s -> s.equalsIgnoreCase(node.getName()))) {
return Result.ALREADY_IN_DIRECTORY;
}
@@ -54,15 +54,15 @@ public class SafeSchematicNode {
}
public static Result setName(@NonNull SteamwarUser user, @NonNull SchematicNode node, @NonNull String name) {
if(user.getId() != node.getOwner()) {
if (user.getId() != node.getOwner()) {
return Result.NOT_OWNER;
}
if(SchematicNode.invalidSchemName(new String[]{name})) {
if (SchematicNode.invalidSchemName(new String[]{name})) {
return Result.INVALID_NAME;
}
if(SchematicNode.list(user, node.getParent()).stream().map(SchematicNode::getName).anyMatch(s -> s.equalsIgnoreCase(name))) {
if (SchematicNode.list(user, node.getParent()).stream().map(SchematicNode::getName).anyMatch(s -> s.equalsIgnoreCase(name))) {
return Result.ALREADY_IN_DIRECTORY;
}
@@ -33,7 +33,7 @@ public class SchematicSystem extends JavaPlugin {
private static SchematicSystem instance;
public static GameModeConfig<Material, String> getGameModeConfig(SchematicType type){
public static GameModeConfig<Material, String> getGameModeConfig(SchematicType type) {
GameModeConfig<Material, String> gameModeConfig = GameModeConfig.getBySchematicType(type);
if (gameModeConfig == null) return null;
if (gameModeConfig.CheckQuestions.isEmpty() && gameModeConfig.Schematic.ManualCheck) return null;
@@ -120,10 +120,9 @@ public class AutoChecker {
if (itemType == null) // Leere Slots
continue;
if(type.Schematic.Type.getName().equals("wargearseason26") && material == Material.DISPENSER && itemType == Material.WIND_CHARGE) {
if (type.Schematic.Type.getName().equals("wargearseason26") && material == Material.DISPENSER && itemType == Material.WIND_CHARGE) {
windChargeCount += item.getInt("count");
}
else if (!itemsInInv.getOrDefault(itemType, EnumSet.noneOf(Material.class)).contains(material)) {
} else if (!itemsInInv.getOrDefault(itemType, EnumSet.noneOf(Material.class)).contains(material)) {
result.getForbiddenItems().computeIfAbsent(pos, blockVector3 -> new HashSet<>()).add(itemType);
} else if (material == Material.DISPENSER && (itemType == Material.ARROW || itemType == Material.FIRE_CHARGE)) {
counter += item.getInt("count");
@@ -63,17 +63,16 @@ public class AutoCheckerResult {
}
public boolean isWindchargeCountOK() {
if( type.Schematic.Type.getName().equals("wargearseason26")) {
if (type.Schematic.Type.getName().equals("wargearseason26")) {
int windChargesCount = blockScanResult.getWindChargeCount().values().stream().reduce(Integer::sum).orElse(0);
return windChargesCount <= 2048;
}
else {
return windChargesCount <= 2048;
} else {
return true;
}
}
public boolean isDispenserItemsOK() {
return blockScanResult.getDispenserItems().values().stream().allMatch(i -> i <= type.Schematic.MaxDispenserItems);
return blockScanResult.getDispenserItems().values().stream().allMatch(i -> i <= type.Schematic.MaxDispenserItems);
}
public boolean hasWarnings() {
@@ -118,17 +117,20 @@ public class AutoCheckerResult {
public void sendErrorMessage(Player p, String schemName) {
SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_HEADER", p, schemName);
if(isTooWide()) SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_WIDTH", p, width, type.Schematic.Size.x);
if(isTooHigh()) SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_HEIGHT", p, height, type.Schematic.Size.y);
if(isTooDeep()) SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_LENGTH", p, depth, type.Schematic.Size.z);
if(type.Schematic.MaxBlocks != 0 && !isBlockCountOk()) {
if (isTooWide())
SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_WIDTH", p, width, type.Schematic.Size.x);
if (isTooHigh())
SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_HEIGHT", p, height, type.Schematic.Size.y);
if (isTooDeep())
SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_LENGTH", p, depth, type.Schematic.Size.z);
if (type.Schematic.MaxBlocks != 0 && !isBlockCountOk()) {
SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_BLOCKS", p, blockScanResult.getBlockCounts().values().stream().reduce(Integer::sum).orElse(0), type.Schematic.MaxBlocks);
}
if(!isLimitedBlocksOK()) {
if (!isLimitedBlocksOK()) {
type.Schematic.Limited.forEach((materials, integer) -> {
for (Material mat : materials) {
if(mat != null && blockScanResult.getBlockCounts().getOrDefault(mat, 0) > integer) {
if(integer == 0) {
if (mat != null && blockScanResult.getBlockCounts().getOrDefault(mat, 0) > integer) {
if (integer == 0) {
SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_FORBIDDEN_BLOCK", p, mat.name());
} else {
SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_TOO_MANY_BLOCK", p, mat.name(), blockScanResult.getBlockCounts().getOrDefault(mat, 0), integer);
@@ -138,7 +140,7 @@ public class AutoCheckerResult {
});
}
if(!isWindchargeCountOK()) {
if (!isWindchargeCountOK()) {
int windChargesCount = blockScanResult.getWindChargeCount().values().stream().reduce(Integer::sum).orElse(0);
SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_WIND_CHARGES", p, windChargesCount, 2048);
blockScanResult.getWindChargeCount().entrySet().stream().filter(blockVector3IntegerEntry -> blockVector3IntegerEntry.getValue() > 0).forEach(blockVector3IntegerEntry -> {
@@ -173,7 +175,7 @@ public class AutoCheckerResult {
});
blockScanResult.getDesignBlocks().forEach((material, poss) -> {
if (material == Material.WATER || material == Material.LAVA) return;
if(material.getBlastResistance() > type.Schematic.MaxDesignBlastResistance) {
if (material.getBlastResistance() > type.Schematic.MaxDesignBlastResistance) {
poss.forEach(pos -> {
SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_DESIGN_BLOCK", p, SchematicSystem.MESSAGE.parse("AUTO_CHECKER_RESULT_TELEPORT_HERE", p), tpCommandTo(pos), material.name(), pos.getBlockX(), pos.getBlockY(), pos.getBlockZ());
});
@@ -182,7 +184,7 @@ public class AutoCheckerResult {
entities.forEach(blockPos -> {
SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_ENTITY", p, SchematicSystem.MESSAGE.parse("AUTO_CHECKER_RESULT_TELEPORT_HERE", p), tpCommandTo(blockPos), blockPos.getX(), blockPos.getY(), blockPos.getZ());
});
if(type.isAfterDeadline()) {
if (type.isAfterDeadline()) {
SchematicSystem.MESSAGE.sendPrefixless("AUTO_CHECKER_RESULT_AFTER_DEADLINE", p, type.Deadline);
}
}
@@ -40,7 +40,8 @@ import java.util.stream.Collectors;
import static de.steamwar.schematicsystem.commands.schematiccommand.SchematicCommandUtils.getUser;
public class GUI {
private GUI() {}
private GUI() {
}
public static void list(Player player) {
SchematicSelector selector = new SchematicSelector(player, SchematicSelector.selectSchematic(), new SchematicSelectorInjectable() {
@@ -52,14 +53,15 @@ public class GUI {
@Override
public void onListRender(SchematicSelector selector, SWListInv<SchematicNode> inv, SchematicNode parent) {
inv.setCallback(-999, (ClickType click) -> {
if(parent == null) {
if (parent == null) {
player.closeInventory();
} else {
selector.reOpenDirUp();
}
});
if(parent == null) {
inv.setItem(49, Material.AIR, "", clickType -> {});
if (parent == null) {
inv.setItem(49, Material.AIR, "", clickType -> {
});
} else {
inv.setItem(49, Material.ANVIL, SchematicSystem.MESSAGE.parse("GUI_FOLDER_PROPERTIES", player), clickType -> {
info(selector.getPlayer(), parent, selector);
@@ -71,7 +73,8 @@ public class GUI {
public AnvilInvCloseAction onAnvilInvCloseAction(SchematicSelector selector) {
return AnvilInvCloseAction.REOPEN;
}
}, node -> {});
}, node -> {
});
selector.setCallback(node -> info(player, node, selector));
selector.setSingleDirOpen(false);
selector.open();
@@ -80,7 +83,7 @@ public class GUI {
private static void setCloseLeftCallback(SWAnvilInv inv, Runnable action) {
AtomicBoolean left = new AtomicBoolean(false);
inv.addCloseCallback(() -> {
if(!left.get()) {
if (!left.get()) {
Bukkit.getScheduler().runTaskLater(SchematicSystem.getInstance(), action, 1);
}
});
@@ -93,7 +96,7 @@ public class GUI {
private static void info(Player player, SchematicNode node, SchematicSelector back) {
SteamwarUser user = getUser(player);
SWInventory inv = new SWInventory(player, 9 * 2, node.generateBreadcrumbs(user));
if(!node.isDir()) {
if (!node.isDir()) {
inv.setItem(0, Material.WOODEN_AXE, SchematicSystem.MESSAGE.parse("GUI_INFO_LOAD", player), Arrays.asList(
SchematicSystem.MESSAGE.parse("GUI_LOAD_LATEST", player),
SchematicSystem.MESSAGE.parse("GUI_LOAD_REVISION", player)
@@ -109,7 +112,7 @@ public class GUI {
}
SWListInv<Integer> listInv = new SWListInv<>(player, SchematicSystem.MESSAGE.parse("GUI_LOAD_REVISION_TITLE", player, node.generateBreadcrumbs(user)), entries, (clickType, revision) -> {
if(revision == null) return;
if (revision == null) return;
player.closeInventory();
SchematicCommandUtils.loadSchem(player, node, revision);
});
@@ -123,22 +126,23 @@ public class GUI {
back.reOpen();
}).setCustomModelData(CMDs.Schematic.BACK));
if(node.getOwner() == user.getId()){
if(!node.isDir() && node.getSchemtype().writeable()){
if (node.getOwner() == user.getId()) {
if (!node.isDir() && node.getSchemtype().writeable()) {
CheckedSchematic.getLastDeclinedOfNode(node.getId()).stream().findFirst().ifPresent(checkedSchematic ->
inv.setItem(1, Material.LIME_DYE, (byte) 10, SchematicSystem.MESSAGE.parse("GUI_INFO_STATUS", player, node.getSchemtype().name()), Collections.singletonList(SchematicSystem.MESSAGE.parse("GUI_INFO_STATUS_LORE", player, checkedSchematic.getDeclineReason().replaceAll("&", "§"))), false, click -> {}));
inv.setItem(1, Material.LIME_DYE, (byte) 10, SchematicSystem.MESSAGE.parse("GUI_INFO_STATUS", player, node.getSchemtype().name()), Collections.singletonList(SchematicSystem.MESSAGE.parse("GUI_INFO_STATUS_LORE", player, checkedSchematic.getDeclineReason().replaceAll("&", "§"))), false, click -> {
}));
}
Material mat = SWItem.getMaterial(node.getItem());
inv.setItemEvent(node.isDir()?7:5, mat, SchematicSystem.MESSAGE.parse("GUI_INFO_MAT", player, mat.name()), Arrays.asList(SchematicSystem.MESSAGE.parse("CHANGE", player), SchematicSystem.MESSAGE.parse("CLICK_DRAG_ITEM", player)), false, event -> {
if(event.getCursor() != null && event.getCursor().getType() != Material.AIR) {
inv.setItemEvent(node.isDir() ? 7 : 5, mat, SchematicSystem.MESSAGE.parse("GUI_INFO_MAT", player, mat.name()), Arrays.asList(SchematicSystem.MESSAGE.parse("CHANGE", player), SchematicSystem.MESSAGE.parse("CLICK_DRAG_ITEM", player)), false, event -> {
if (event.getCursor() != null && event.getCursor().getType() != Material.AIR) {
node.setItem(event.getCursor().getType().name());
info(player, node, back);
} else {
changeItem(player, node, back);
}
});
if(!node.isDir()) {
if (!node.isDir()) {
inv.setItem(6, SWItem.getMaterial(node.getSchemtype().getMaterial()), SchematicSystem.MESSAGE.parse("GUI_INFO_TYPE", player, node.getSchemtype().name()), Arrays.asList(SchematicSystem.MESSAGE.parse("CHANGE", player), SchematicSystem.MESSAGE.parse("CLICK", player)), node.getSchemtype().fightType(), click -> {
changeType(player, node);
});
@@ -146,13 +150,13 @@ public class GUI {
player.closeInventory();
SchematicCommandUtils.download(player, node);
});
if(node.getSchemtype().fightType()) {
inv.setItem(14, node.replaceColor() ? Material.PINK_WOOL : Material.LIGHT_GRAY_WOOL, SchematicSystem.MESSAGE.parse("GUI_INFO_COLOR", player), Arrays.asList(SchematicSystem.MESSAGE.parse("CURRENT", player, SchematicSystem.MESSAGE.parse(node.replaceColor()?"ON":"OFF", player)), SchematicSystem.MESSAGE.parse("CHANGE", player), SchematicSystem.MESSAGE.parse("CLICK", player)), false, clickType -> {
if (node.getSchemtype().fightType()) {
inv.setItem(14, node.replaceColor() ? Material.PINK_WOOL : Material.LIGHT_GRAY_WOOL, SchematicSystem.MESSAGE.parse("GUI_INFO_COLOR", player), Arrays.asList(SchematicSystem.MESSAGE.parse("CURRENT", player, SchematicSystem.MESSAGE.parse(node.replaceColor() ? "ON" : "OFF", player)), SchematicSystem.MESSAGE.parse("CHANGE", player), SchematicSystem.MESSAGE.parse("CLICK", player)), false, clickType -> {
node.setReplaceColor(!node.replaceColor());
info(player, node, back);
});
inv.setItem(13, node.allowReplay() ? Material.ENDER_EYE : Material.ENDER_PEARL, SchematicSystem.MESSAGE.parse("GUI_INFO_REPLAY", player), Arrays.asList(SchematicSystem.MESSAGE.parse("CURRENT", player, SchematicSystem.MESSAGE.parse(node.allowReplay()?"ON":"OFF", player)), SchematicSystem.MESSAGE.parse("GUI_INFO_REPLAY_OFF", player), SchematicSystem.MESSAGE.parse("CLICK", player)), false, clickType -> {
if(node.allowReplay()) {
inv.setItem(13, node.allowReplay() ? Material.ENDER_EYE : Material.ENDER_PEARL, SchematicSystem.MESSAGE.parse("GUI_INFO_REPLAY", player), Arrays.asList(SchematicSystem.MESSAGE.parse("CURRENT", player, SchematicSystem.MESSAGE.parse(node.allowReplay() ? "ON" : "OFF", player)), SchematicSystem.MESSAGE.parse("GUI_INFO_REPLAY_OFF", player), SchematicSystem.MESSAGE.parse("CLICK", player)), false, clickType -> {
if (node.allowReplay()) {
SWInventory confInv = new SWInventory(player, 9, SchematicSystem.MESSAGE.parse("GUI_INFO_REPLAY_TITLE", player));
confInv.setItem(0, Material.LIME_DYE, (byte) 10, SchematicSystem.MESSAGE.parse("CONFIRM", player), type -> {
node.setAllowReplay(false);
@@ -178,7 +182,7 @@ public class GUI {
anvilInv.setItem(mat, Collections.singletonList(Core.MESSAGE.parse("SCHEM_SELECTOR_CLICK_BACK", player)), false);
anvilInv.setCallback(s -> {
SafeSchematicNode.Result result = SafeSchematicNode.setName(user, node, s);
if(result.isSuccessful()) {
if (result.isSuccessful()) {
info(player, SchematicNode.byIdAndUser(user, node.getId()), back);
} else {
result.sendError(player);
@@ -187,38 +191,40 @@ public class GUI {
setCloseLeftCallback(anvilInv, () -> info(player, node, back));
anvilInv.open();
});
if(node.getOwner() != 0) {
if (node.getOwner() != 0) {
inv.setItem(17, Material.RED_DYE, (byte) 1, SchematicSystem.MESSAGE.parse("GUI_INFO_DELETE", player), click -> {
delete(player, node, back);
});
}
}else{
if(!node.isDir()) {
inv.setItem(4, Material.CAULDRON, SchematicSystem.MESSAGE.parse("GUI_INFO_TYPE", player, node.getSchemtype().name()), Collections.emptyList(), node.getSchemtype().fightType(), click -> {});
} else {
if (!node.isDir()) {
inv.setItem(4, Material.CAULDRON, SchematicSystem.MESSAGE.parse("GUI_INFO_TYPE", player, node.getSchemtype().name()), Collections.emptyList(), node.getSchemtype().fightType(), click -> {
});
}
SteamwarUser owneruser = SteamwarUser.byId(node.getOwner());
SWItem skull = SWItem.getPlayerSkull(owneruser.getUserName());
skull.setName(SchematicSystem.MESSAGE.parse("GUI_INFO_MEMBER_FROM", player, owneruser.getUserName()));
inv.setItem(8, skull.getItemStack(), clickType -> {});
inv.setItem(8, skull.getItemStack(), clickType -> {
});
if(NodeMember.getNodeMember(node.getId(), user.getId()) != null) {
if (NodeMember.getNodeMember(node.getId(), user.getId()) != null) {
inv.setItem(17, Material.RED_DYE, (byte) 1, SchematicSystem.MESSAGE.parse("GUI_INFO_MEMBER_REMOVE", player), click -> {
delete(player, node, back);
});
}
}
if(node.getOwner() == user.getId() || NodeMember.getNodeMember(node.getId(), user.getId()) != null) {
if (node.getOwner() == user.getId() || NodeMember.getNodeMember(node.getId(), user.getId()) != null) {
inv.setItem(15, Material.ARROW, SchematicSystem.MESSAGE.parse("GUI_INFO_MOVE", player), clickType -> {
SchematicSelector selector = new SchematicSelector(player, SchematicSelector.selectDirectory(), npar -> {
if(npar != null && SchematicNode.parentsOfNode(user, npar.getId()).stream().anyMatch(n -> n.getId() == node.getId())) {
if (npar != null && SchematicNode.parentsOfNode(user, npar.getId()).stream().anyMatch(n -> n.getId() == node.getId())) {
SchematicSystem.MESSAGE.send("COMMAND_MOVE_RECURSIVE", player);
return;
}
if(node.getOwner() == user.getId()) {
if (node.getOwner() == user.getId()) {
SafeSchematicNode.Result result = SafeSchematicNode.setParent(user, node, npar);
if(result.isSuccessful()) {
if (result.isSuccessful()) {
info(player, SchematicNode.getSchematicNode(node.getId()), back);
} else {
result.sendError(player);
@@ -235,11 +241,12 @@ public class GUI {
inv.open();
}
static void changeType(Player p, SchematicNode schem){
static void changeType(Player p, SchematicNode schem) {
Clipboard clipboard = null;
try {
clipboard = new SchematicData(schem).load();
} catch (IOException ignored) { }
} catch (IOException ignored) {
}
Clipboard finalClipboard = clipboard;
List<SchematicType> types = SchematicType.values().parallelStream()
@@ -258,7 +265,7 @@ public class GUI {
.collect(Collectors.toList()));
SWListInv<SchematicType> inv = new SWListInv<>(p, SchematicSystem.MESSAGE.parse("GUI_CHANGE_TYPE", p), items, (clickType, schematicType) -> {
if(schematicType == null) return;
if (schematicType == null) return;
p.closeInventory();
SchematicCommandUtils.changeType(p, schem, schematicType, null);
});
@@ -266,14 +273,14 @@ public class GUI {
inv.open();
}
private static void deleteOwn(Player p, SchematicNode schem, SchematicSelector back){
private static void deleteOwn(Player p, SchematicNode schem, SchematicSelector back) {
SteamwarUser user = getUser(p);
SWInventory inv = new SWInventory(p, 9, SchematicSystem.MESSAGE.parse("GUI_DELETE_OWN_TITLE", p, schem.generateBreadcrumbs(user)));
inv.setItem(0, Material.RED_DYE, (byte) 1, SchematicSystem.MESSAGE.parse("CONFIRM", p), click -> {
p.performCommand("schematic delete " + schem.generateBreadcrumbs(user));
if(back != null) {
if(schem.isDir()) {
if (back != null) {
if (schem.isDir()) {
back.reOpenDirUp();
} else {
back.reOpen();
@@ -285,16 +292,16 @@ public class GUI {
inv.open();
}
private static void deleteMembership(Player p, SchematicNode schem, SchematicSelector back){
private static void deleteMembership(Player p, SchematicNode schem, SchematicSelector back) {
SteamwarUser user = getUser(p);
SWInventory inv = new SWInventory(p, 9, SchematicSystem.MESSAGE.parse("GUI_DELETE_MEMBER_TITLE", p, schem.generateBreadcrumbs(user)));
inv.setItem(0, Material.RED_DYE, (byte) 1, SchematicSystem.MESSAGE.parse("CONFIRM", p), click -> {
NodeMember member = NodeMember.getNodeMember(schem.getId(), user.getId());
if(member != null)
if (member != null)
member.delete();
SchematicSystem.MESSAGE.send("GUI_DELETE_MEMBER_DONE", p, schem.generateBreadcrumbs(user));
if(back != null) {
if(schem.isDir()) {
if (back != null) {
if (schem.isDir()) {
back.reOpenDirUp();
} else {
back.reOpen();
@@ -306,16 +313,16 @@ public class GUI {
inv.open();
}
static void delete(Player p, SchematicNode schem, SchematicSelector back){
if(SteamwarUser.get(p.getUniqueId()).getId() == schem.getOwner())
static void delete(Player p, SchematicNode schem, SchematicSelector back) {
if (SteamwarUser.get(p.getUniqueId()).getId() == schem.getOwner())
deleteOwn(p, schem, back);
else
deleteMembership(p, schem, back);
}
static void delmembers(Player p, SchematicNode schem){
static void delmembers(Player p, SchematicNode schem) {
List<SWListInv.SWListEntry<NodeMember>> members = new LinkedList<>();
for(NodeMember member : schem.getMembers()){
for (NodeMember member : schem.getMembers()) {
SteamwarUser user = SteamwarUser.byId(member.getMember());
members.add(new SWListInv.SWListEntry<>(SWItem.getPlayerSkull(user.getUserName()), member));
}
@@ -329,7 +336,7 @@ public class GUI {
inv.open();
}
private static void changeItem(Player p, SchematicNode schem, SchematicSelector back){
private static void changeItem(Player p, SchematicNode schem, SchematicSelector back) {
UtilGui.openMaterialSelector(p, SchematicSystem.MESSAGE.parse("GUI_CHANGE_ITEM", p), material -> {
schem.setItem(material.name());
p.closeInventory();
@@ -57,7 +57,7 @@ import static de.steamwar.schematicsystem.commands.schematiccommand.SchematicCom
public class SchematicCommand extends SWCommand {
public SchematicCommand() {
super("schematic", new String[] {"schem", "/schem", "/schematic"});
super("schematic", new String[]{"schem", "/schem", "/schematic"});
}
@Register("help")
@@ -174,7 +174,7 @@ public class SchematicCommand extends SWCommand {
toBeCheckedInvs.putAll(result.getBlockScanResult().getForbiddenItems());
toBeCheckedInvs.putAll(result.getBlockScanResult().getForbiddenNbt());
for (Map.Entry<BlockPos, Set<Material>> entry: toBeCheckedInvs.entrySet()) {
for (Map.Entry<BlockPos, Set<Material>> entry : toBeCheckedInvs.entrySet()) {
BlockPos pos = entry.getKey();
Set<Material> materials = entry.getValue();
BlockVector3 vector = BlockVector3.at(pos.getX(), pos.getY(), pos.getZ());
@@ -183,11 +183,11 @@ public class SchematicCommand extends SWCommand {
CompoundTagBuilder builder = CompoundTagBuilder.create();
List<CompoundTag> list = new ArrayList<>();
for (CompoundTag items : tag.getList("Items", CompoundTag.class)) {
if(materials.contains(Material.matchMaterial(items.getString("id")))) {
if (materials.contains(Material.matchMaterial(items.getString("id")))) {
continue;
}
if(items.containsKey("tag")) {
if (items.containsKey("tag")) {
continue;
}
@@ -197,9 +197,9 @@ public class SchematicCommand extends SWCommand {
clipboard.setBlock(vector, block.toBaseBlock(builder.build()));
}
if(type.Schematic.MaxDispenserItems > 0 ) {
if (type.Schematic.MaxDispenserItems > 0) {
for (Map.Entry<BlockPos, Integer> entry : result.getBlockScanResult().getDispenserItems().entrySet()) {
if(entry.getValue() <= type.Schematic.MaxDispenserItems) {
if (entry.getValue() <= type.Schematic.MaxDispenserItems) {
continue;
}
@@ -213,16 +213,16 @@ public class SchematicCommand extends SWCommand {
List<CompoundTag> list = new ArrayList<>();
int diff = entry.getValue() - type.Schematic.MaxDispenserItems;
for (CompoundTag item : items) {
if(item == null) {
if (item == null) {
continue;
}
if(diff == 0) {
if (diff == 0) {
list.add(item);
continue;
}
if(diff > getCount.apply(item)) {
if (diff > getCount.apply(item)) {
diff -= getCount.apply(item);
continue;
}
@@ -237,7 +237,7 @@ public class SchematicCommand extends SWCommand {
}
}
if(!result.isLimitedBlocksOK()) {
if (!result.isLimitedBlocksOK()) {
Set<Material> toReplace = type.Schematic.Limited.entrySet().stream()
.filter(setIntegerEntry -> setIntegerEntry.getValue() == 0)
.flatMap(setIntegerEntry -> setIntegerEntry.getKey().stream())
@@ -250,7 +250,7 @@ public class SchematicCommand extends SWCommand {
for (int k = min.getBlockZ(); k <= max.getBlockZ(); k++) {
BlockVector3 vector = BlockVector3.at(i, j, k);
BaseBlock block = clipboard.getFullBlock(vector);
if(toReplace.contains(Material.matchMaterial(block.getBlockType().getId()))) {
if (toReplace.contains(Material.matchMaterial(block.getBlockType().getId()))) {
clipboard.setBlock(vector, replaceType.toBaseBlock());
}
}
@@ -65,7 +65,7 @@ public class SchematicCommandUtils {
SchematicSystem.MESSAGE.send("UTIL_NAME_REQUIRED", player);
return true;
}
if(layer.length() > 64) {
if (layer.length() > 64) {
SchematicSystem.MESSAGE.send("UTIL_NAME_TOO_LONG", player);
return true;
}
@@ -157,7 +157,7 @@ public class SchematicCommandUtils {
if (parent != null && parent.getOwner() != user.getId() && NodeMember.getNodeMember(parent.getId(), user.getId()) != null) {
TextComponent deadd = SchematicSystem.MESSAGE.parseToComponent("UTIL_LIST_REMOVE", false, player);
deadd.setColor(ChatColor.RED);
deadd.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[] {SchematicSystem.MESSAGE.parseToComponent("UTIL_LIST_REMOVE_HOVER", false, player)}));
deadd.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[]{SchematicSystem.MESSAGE.parseToComponent("UTIL_LIST_REMOVE_HOVER", false, player)}));
deadd.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/schem delete " + parent.generateBreadcrumbs(user)));
player.spigot().sendMessage(deadd);
}
@@ -166,7 +166,7 @@ public class SchematicCommandUtils {
beforePage.addExtra(" ");
if (chunk > 0) {
beforePage.setColor(ChatColor.YELLOW);
beforePage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[] {SchematicSystem.MESSAGE.parseToComponent("UTIL_LIST_BACK_ARROW_HOVER", false, player)}));
beforePage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[]{SchematicSystem.MESSAGE.parseToComponent("UTIL_LIST_BACK_ARROW_HOVER", false, player)}));
beforePage.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, behavior.getPageCommandGen().apply(chunk)));
} else {
beforePage.setColor(ChatColor.RED);
@@ -175,7 +175,7 @@ public class SchematicCommandUtils {
TextComponent nextPage = SchematicSystem.MESSAGE.parseToComponent("UTIL_LIST_NEXT", false, player, chunk + 1, Math.max(pageCount, 1));
if (chunk < pageCount - 1) {
nextPage.setColor(ChatColor.YELLOW);
nextPage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[] {SchematicSystem.MESSAGE.parseToComponent("UTIL_LIST_NEXT_HOVER", false, player)}));
nextPage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[]{SchematicSystem.MESSAGE.parseToComponent("UTIL_LIST_NEXT_HOVER", false, player)}));
nextPage.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, behavior.getPageCommandGen().apply(chunk + 2)));
} else {
nextPage.setColor(ChatColor.RED);
@@ -191,20 +191,25 @@ public class SchematicCommandUtils {
public static class SchematicListBehavior {
public static final SchematicListBehavior DEFAULT = SchematicListBehavior.builder().build();
@Builder.Default private boolean showPath = true;
@Builder.Default private boolean publics = false;
@Builder.Default private boolean nonCachedBreadcrumbs = false;
@Builder.Default private UnaryOperator<String> renderHook = s -> s;
@Builder.Default private IntFunction<String> pageCommandGen = value -> "/schem list " + value;
@Builder.Default
private boolean showPath = true;
@Builder.Default
private boolean publics = false;
@Builder.Default
private boolean nonCachedBreadcrumbs = false;
@Builder.Default
private UnaryOperator<String> renderHook = s -> s;
@Builder.Default
private IntFunction<String> pageCommandGen = value -> "/schem list " + value;
}
public static void printSchemInfo(Player player, SchematicNode node) {
SteamwarUser user = getUser(player);
SchematicSystem.MESSAGE.sendPrefixless("UTIL_INFO_SCHEM", player, node.generateBreadcrumbs(user));
if(node.getOwner() == user.getId()) {
if (node.getOwner() == user.getId()) {
player.spigot().sendMessage(
new ComponentBuilder(SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_NAME", false, player, node.getName()))
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[] {SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_ACTION_RENAME_HOVER", false, player)}))
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[]{SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_ACTION_RENAME_HOVER", false, player)}))
.event(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/schem rename " + node.generateBreadcrumbs(user) + " "))
.create()
);
@@ -212,10 +217,10 @@ public class SchematicCommandUtils {
SchematicSystem.MESSAGE.sendPrefixless("UTIL_INFO_NAME", player, node.getName());
}
SchematicSystem.MESSAGE.sendPrefixless("UTIL_INFO_OWNER", player, node.getOwner() == user.getId() ? user.getUserName() : SteamwarUser.byId(node.getOwner()).getUserName());
if(node.getOwner() == user.getId()) {
if (node.getOwner() == user.getId()) {
player.spigot().sendMessage(
new ComponentBuilder(SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_PARENT", false, player, node.getParent() == null ? "/" : node.getParentNode().generateBreadcrumbs(user)))
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[] {SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_ACTION_MOVE_HOVER", false, player)}))
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[]{SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_ACTION_MOVE_HOVER", false, player)}))
.event(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/schem move " + node.generateBreadcrumbs(user) + " " + node.generateBreadcrumbs(user).replace("/" + node.getName(), "")))
.create()
);
@@ -224,15 +229,15 @@ public class SchematicCommandUtils {
}
player.spigot().sendMessage(
new ComponentBuilder(SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_REVISIONS", false, player, NodeData.getRevisions(node)))
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[] {SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_ACTION_REVISIONS_HOVER", false, player)}))
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[]{SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_ACTION_REVISIONS_HOVER", false, player)}))
.event(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/schem revisions " + node.generateBreadcrumbs(user)))
.create());
SchematicSystem.MESSAGE.sendPrefixless("UTIL_INFO_UPDATED", player, node.getLastUpdate());
if (!node.isDir()) {
if(node.getOwner() == user.getId()) {
if (node.getOwner() == user.getId()) {
player.spigot().sendMessage(
new ComponentBuilder(SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_TYPE", false, player, node.getSchemtype().name()))
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[] {SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_ACTION_TYPE_HOVER", false, player)}))
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponent[]{SchematicSystem.MESSAGE.parseToComponent("UTIL_INFO_ACTION_TYPE_HOVER", false, player)}))
.event(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/schem changetype " + node.generateBreadcrumbs(user)))
.create()
);
@@ -255,7 +260,7 @@ public class SchematicCommandUtils {
}
if(node.getOwner() == user.getId()) {
if (node.getOwner() == user.getId()) {
ComponentBuilder memberBuilder = new ComponentBuilder(SchematicSystem.MESSAGE.parse("UTIL_INFO_MEMBER_STRING", player) + " ").color(ChatColor.GRAY);
NodeMember.getNodeMembers(node.getId()).forEach(nodeMember -> {
SteamwarUser member = SteamwarUser.byId(nodeMember.getMember());
@@ -273,7 +278,7 @@ public class SchematicCommandUtils {
} else {
List<String> schematicMembers = new ArrayList<>();
NodeMember.getNodeMembers(node.getId()).forEach(nodeMember -> schematicMembers.add(SteamwarUser.byId(nodeMember.getMember()).getUserName()));
if(!schematicMembers.isEmpty()) {
if (!schematicMembers.isEmpty()) {
SchematicSystem.MESSAGE.sendPrefixless("UTIL_INFO_MEMBER", player, schematicMembers.stream().reduce((s, s2) -> s + ", " + s2).orElse(""));
}
}
@@ -311,7 +316,7 @@ public class SchematicCommandUtils {
public static void check(Player player, Clipboard clipboard, GameModeConfig<Material, String> type, String schemName, boolean gui) {
AutoCheckerResult result = AutoChecker.impl.check(clipboard, type);
if(!result.isOk()) {
if (!result.isOk()) {
result.sendErrorMessage(player, schemName);
} else {
SchematicSystem.MESSAGE.send("UTIL_CHECK_SUCCESS", player, schemName);
@@ -328,7 +333,7 @@ public class SchematicCommandUtils {
if (nodes.isEmpty()) {
currentNode = Optional.ofNullable(SchematicNode.byIdAndUser(user, SchematicNode.createSchematicDirectory(user.getId(), layers[i], currentNode.map(SchematicNode::getId).orElse(null)).getId()));
} else {
if(nodes.stream().anyMatch(SchematicNode::isDir)) {
if (nodes.stream().anyMatch(SchematicNode::isDir)) {
currentNode = nodes.stream().filter(SchematicNode::isDir).findFirst();
} else {
currentNode = Optional.ofNullable(SchematicNode.byIdAndUser(user, SchematicNode.createSchematicDirectory(user.getId(), layers[i] + "-dir-" + System.currentTimeMillis() % 100, currentNode.map(SchematicNode::getId).orElse(null)).getId()));
@@ -362,11 +367,11 @@ public class SchematicCommandUtils {
public static void loadSchem(Player player, SchematicNode node, int revision) {
SteamwarUser user = getUser(player);
if(BauServerInfo.isBauServer() && BauServerInfo.getOwnerId() != user.getId() &&
if (BauServerInfo.isBauServer() && BauServerInfo.getOwnerId() != user.getId() &&
(Punishment.isPunished(user, Punishment.PunishmentType.NoSchemSharing, punishment ->
SchematicSystem.MESSAGE.send("UTIL_LOAD_NOT_HERE", player)) ||
Punishment.isPunished(SteamwarUser.byId(BauServerInfo.getOwnerId()), Punishment.PunishmentType.NoSchemReceiving, punishment ->
SchematicSystem.MESSAGE.send("UTIL_LOAD_NOT_HERE_ALL", player)))) {
Punishment.isPunished(SteamwarUser.byId(BauServerInfo.getOwnerId()), Punishment.PunishmentType.NoSchemReceiving, punishment ->
SchematicSystem.MESSAGE.send("UTIL_LOAD_NOT_HERE_ALL", player)))) {
return;
}
if (node.isDir()) {
@@ -486,11 +491,11 @@ public class SchematicCommandUtils {
private static void submitSchemGUI(Player player, SchematicNode node, SchematicType type) {
SWInventory inv = new SWInventory(player, 9, SchematicSystem.MESSAGE.parse("UTIL_SUBMIT_TITLE", player));
inv.setItem(0, Material.OAK_SIGN, SchematicSystem.MESSAGE.parse(node.allowReplay()?"UTIL_SUBMIT_REPLAY_ON":"UTIL_SUBMIT_REPLAY_OFF", player), click -> {
inv.setItem(0, Material.OAK_SIGN, SchematicSystem.MESSAGE.parse(node.allowReplay() ? "UTIL_SUBMIT_REPLAY_ON" : "UTIL_SUBMIT_REPLAY_OFF", player), click -> {
node.setAllowReplay(!node.allowReplay());
submitSchemGUI(player, node, type);
});
inv.setItem(1, node.replaceColor() ? Material.PINK_WOOL : Material.LIGHT_GRAY_WOOL, SchematicSystem.MESSAGE.parse(node.replaceColor()?"UTIL_SUBMIT_COLOR_ON":"UTIL_SUBMIT_COLOR_OFF", player), click -> {
inv.setItem(1, node.replaceColor() ? Material.PINK_WOOL : Material.LIGHT_GRAY_WOOL, SchematicSystem.MESSAGE.parse(node.replaceColor() ? "UTIL_SUBMIT_COLOR_ON" : "UTIL_SUBMIT_COLOR_OFF", player), click -> {
node.setReplaceColor(!node.replaceColor());
submitSchemGUI(player, node, type);
});
@@ -83,7 +83,7 @@ public class SchematicMapper {
@Override
public SchematicNode map(CommandSender commandSender, String[] previousArguments, String s) {
SchematicNode node = SchematicNode.getNodeFromPath(getUser((Player) commandSender), s);
if(node.isDir()) {
if (node.isDir()) {
return node;
} else {
return null;
@@ -104,7 +104,7 @@ public class SchematicMapper {
@Override
public SchematicNode map(CommandSender commandSender, String[] previousArguments, String s) {
SchematicNode node = publicCommandTypeMapper.map(commandSender, previousArguments, s);
if(node.isDir()) {
if (node.isDir()) {
return node;
} else {
return null;
@@ -39,10 +39,10 @@ public class SchematicValidator {
public static TypeValidator<SchematicNode> isSchemValidator() {
return (commandSender, schematicNode, messageSender) -> {
if(!nodeNullCheck(messageSender, schematicNode)) {
if (!nodeNullCheck(messageSender, schematicNode)) {
return false;
}
if(schematicNode.isDir()) {
if (schematicNode.isDir()) {
messageSender.send("COMMAND_MUST_SCHEM");
return false;
}
@@ -52,10 +52,10 @@ public class SchematicValidator {
public static TypeValidator<SchematicNode> isDirValidator() {
return (commandSender, schematicNode, messageSender) -> {
if(!nodeNullCheck(messageSender, schematicNode)) {
if (!nodeNullCheck(messageSender, schematicNode)) {
return false;
}
if(!schematicNode.isDir()) {
if (!schematicNode.isDir()) {
messageSender.send("COMMAND_MUST_DIR");
return false;
}
@@ -65,10 +65,10 @@ public class SchematicValidator {
public static TypeValidator<SchematicNode> isOwnerValidator() {
return (commandSender, schematicNode, messageSender) -> {
if(!nodeNullCheck(messageSender, schematicNode)) {
if (!nodeNullCheck(messageSender, schematicNode)) {
return false;
}
if(schematicNode.getOwner() != SteamwarUser.get(((Player) commandSender).getUniqueId()).getId()) {
if (schematicNode.getOwner() != SteamwarUser.get(((Player) commandSender).getUniqueId()).getId()) {
messageSender.send("COMMAND_NOT_OWN");
return false;
}
@@ -78,14 +78,14 @@ public class SchematicValidator {
public static TypeValidator<SchematicNode> isOwnerSchematicValidator() {
return (commandSender, schematicNode, messageSender) -> {
if(!nodeNullCheck(messageSender, schematicNode)) {
if (!nodeNullCheck(messageSender, schematicNode)) {
return false;
}
if(schematicNode.getOwner() != SchematicCommandUtils.getUser((Player) commandSender).getId()) {
if (schematicNode.getOwner() != SchematicCommandUtils.getUser((Player) commandSender).getId()) {
messageSender.send("COMMAND_NOT_OWN");
return false;
}
if(schematicNode.isDir()) {
if (schematicNode.isDir()) {
messageSender.send("COMMAND_MUST_SCHEM");
return false;
}
@@ -94,7 +94,7 @@ public class CheckPart extends SWCommand {
return;
}
AutoCheckerResult result = AutoChecker.impl.check(clipboard, type);
if(result.isOk()) {
if (result.isOk()) {
SchematicSystem.MESSAGE.send("COMMAND_FIX_OK", player);
return;
}
@@ -102,7 +102,7 @@ public class CheckPart extends SWCommand {
clipboard = SchematicCommand.fixClipboard(clipboard, result, type);
WorldEdit.getInstance().getSessionManager().get(new BukkitPlayer(player)).setClipboard(new ClipboardHolder(clipboard));
AutoCheckerResult after = AutoChecker.impl.check(clipboard, type);
if(after.isOk()) {
if (after.isOk()) {
SchematicSystem.MESSAGE.send("COMMAND_FIX_DONE", player);
} else {
after.sendErrorMessage(player, SchematicSystem.MESSAGE.parse("COMMAND_FIX_MANUAL", player));
@@ -46,12 +46,12 @@ public class MemberPart extends SWCommand {
@Register("addmember")
public void addMember(Player player, @Validator("isOwnerValidator") SchematicNode node, SteamwarUser... targets) {
SteamwarUser user = getUser(player);
if(Punishment.isPunished(user, Punishment.PunishmentType.NoSchemSharing, punishment -> SchematicSystem.MESSAGE.send("COMMAND_ADD_PUNISH", player, punishment.getReason()))) {
if (Punishment.isPunished(user, Punishment.PunishmentType.NoSchemSharing, punishment -> SchematicSystem.MESSAGE.send("COMMAND_ADD_PUNISH", player, punishment.getReason()))) {
return;
}
List<SteamwarUser> added = new ArrayList<>();
for (SteamwarUser target: targets) {
if(Punishment.isPunished(target,
for (SteamwarUser target : targets) {
if (Punishment.isPunished(target,
Punishment.PunishmentType.NoSchemReceiving,
punishment -> SchematicSystem.MESSAGE.send("COMMAND_ADD_USER_PUNISHED", player, target.getUserName()))) {
continue;
@@ -83,7 +83,7 @@ public class MemberPart extends SWCommand {
Optional<String> reduced = added.stream().map(SteamwarUser::getUserName).reduce((s, s2) -> s + ", " + s2);
if (reduced.isPresent()) {
SchematicSystem.MESSAGE.send(added.size()>1?"COMMAND_ADD_MANY":"COMMAND_ADD_ONE", player, reduced.get());
SchematicSystem.MESSAGE.send(added.size() > 1 ? "COMMAND_ADD_MANY" : "COMMAND_ADD_ONE", player, reduced.get());
} else {
SchematicSystem.MESSAGE.send("COMMAND_ADD_NONE", player);
}
@@ -98,7 +98,7 @@ public class MemberPart extends SWCommand {
if (!nodes.isEmpty()) {
for (SchematicNode schematicNode : nodes) {
SchematicNode newNode = mkdirs(schematicNode.generateBreadcrumbs(user).split("/"), target, 1);
if(SchematicNode.getSchematicNode(schematicNode.getName(), newNode == null ? 0 : newNode.getId()) != null) {
if (SchematicNode.getSchematicNode(schematicNode.getName(), newNode == null ? 0 : newNode.getId()) != null) {
schematicNode.setName(schematicNode.getName() + "-" + Instant.now().getEpochSecond() % 1000);
}
schematicNode.setParent(newNode == null ? null : newNode.getId());
@@ -98,9 +98,9 @@ public class ModifyPart extends SWCommand {
SteamwarUser user = getUser(player);
if (name.equals("/")) {
if(node.getOwner() == user.getId()) {
if (node.getOwner() == user.getId()) {
node.setParent(null);
} else if(NodeMember.getNodeMember(node.getId(), user.getId()) != null) {
} else if (NodeMember.getNodeMember(node.getId(), user.getId()) != null) {
NodeMember member = NodeMember.getNodeMember(node.getId(), user.getId());
member.setParentId(null);
} else {
@@ -113,18 +113,18 @@ public class ModifyPart extends SWCommand {
String[] layers = name.split("/");
if (invalidSchemName(player, layers)) return;
SchematicNode newNode = mkdirs(layers, user, 0);
if(SchematicNode.parentsOfNode(user, newNode.getId()).stream().anyMatch(n -> n.getId() == node.getId())) {
if (SchematicNode.parentsOfNode(user, newNode.getId()).stream().anyMatch(n -> n.getId() == node.getId())) {
SchematicSystem.MESSAGE.send("COMMAND_MOVE_RECURSIVE", player);
return;
}
if(node.getOwner() == user.getId()) {
if (node.getOwner() == user.getId()) {
SafeSchematicNode.Result result = SafeSchematicNode.setParent(user, node, newNode);
if(!result.isSuccessful()) {
if (!result.isSuccessful()) {
result.sendError(player);
return;
}
} else if(NodeMember.getNodeMember(node.getId(), user.getId()) != null) {
} else if (NodeMember.getNodeMember(node.getId(), user.getId()) != null) {
NodeMember member = NodeMember.getNodeMember(node.getId(), user.getId());
member.setParentId(newNode.getId());
} else {
@@ -180,6 +180,6 @@ public class ModifyPart extends SWCommand {
public void replacecolor(Player player, @Validator("isOwnerSchematicValidator") SchematicNode node) {
boolean state = !node.replaceColor();
node.setReplaceColor(state);
SchematicSystem.MESSAGE.send(state?"COMMAND_REPLACE_COLOR_ON":"COMMAND_REPLACE_COLOR_OFF", player, node.getName());
SchematicSystem.MESSAGE.send(state ? "COMMAND_REPLACE_COLOR_ON" : "COMMAND_REPLACE_COLOR_OFF", player, node.getName());
}
}
@@ -47,9 +47,9 @@ public class SavePart extends SWCommand {
@Register("save")
public void saveSchem(Player player) {
SchematicSelector selector = new SchematicSelector(player, SchematicSelector.selectSchematicNode(), schematicNode -> {
if(schematicNode == null || schematicNode.isDir()) {
if (schematicNode == null || schematicNode.isDir()) {
SWAnvilInv anvilInv = new SWAnvilInv(player, SchematicSystem.MESSAGE.parse("COMMAND_ENTER_NAME", player));
anvilInv.setCallback(s -> saveSchem(player, schematicNode==null?s:(schematicNode.generateBreadcrumbs(getUser(player)) + s)));
anvilInv.setCallback(s -> saveSchem(player, schematicNode == null ? s : (schematicNode.generateBreadcrumbs(getUser(player)) + s)));
anvilInv.setItem(Material.CAULDRON);
anvilInv.open();
} else {
@@ -63,7 +63,7 @@ public class SavePart extends SWCommand {
@Register("save")
public void saveSchem(Player player, @AbstractSWCommand.Mapper("stringMapper") String name) {
SteamwarUser user = getUser(player);
if(BauServerInfo.isBauServer() && BauServerInfo.getOwnerId() != user.getId() &&
if (BauServerInfo.isBauServer() && BauServerInfo.getOwnerId() != user.getId() &&
(Punishment.isPunished(user, Punishment.PunishmentType.NoSchemReceiving, punishment ->
SchematicSystem.MESSAGE.send("COMMAND_PUNISHMENT_NO_SAVE_EXTERNAL", player)) ||
Punishment.isPunished(SteamwarUser.byId(BauServerInfo.getOwnerId()), Punishment.PunishmentType.NoSchemSharing, punishment ->
@@ -81,7 +81,7 @@ public class SavePart extends SWCommand {
SchematicNode node = SchematicNode.getNodeFromPath(user, String.join("/", layers));
if (node != null) {
if(node.isDir()) {
if (node.isDir()) {
SchematicSystem.MESSAGE.send("COMMAND_SAVE_FOLDER", player);
return;
} else if (!node.getSchemtype().writeable() || node.getOwner() != user.getId()) {
@@ -111,7 +111,7 @@ public class SavePart extends SWCommand {
return;
}
SchematicSystem.MESSAGE.send(newSchem?"COMMAND_SAVE_DONE":"COMMAND_SAVE_OVERWRITE", player, node.generateBreadcrumbs(user));
SchematicSystem.MESSAGE.send(newSchem ? "COMMAND_SAVE_DONE" : "COMMAND_SAVE_OVERWRITE", player, node.generateBreadcrumbs(user));
}
@Register("dir")
@@ -66,7 +66,7 @@ public class ViewPart extends SWCommand {
@Register("list")
public void schemList(Player player, @Validator("isDirValidator") @Mapper("dirMapper") SchematicNode node, @OptionalValue("1") int page) {
SteamwarUser user = getUser(player);
createCachedSchemList(player, SchematicNode.list(user, node.getId()), Math.max(page - 1, 0), node, SchematicCommandUtils.SchematicListBehavior.builder().setPublics(node.getOwner() == 0).setPageCommandGen(value -> "/schem list " + (node.getOwner()==0?"public ":"") + node.generateBreadcrumbs(user) + " " + value).build());
createCachedSchemList(player, SchematicNode.list(user, node.getId()), Math.max(page - 1, 0), node, SchematicCommandUtils.SchematicListBehavior.builder().setPublics(node.getOwner() == 0).setPageCommandGen(value -> "/schem list " + (node.getOwner() == 0 ? "public " : "") + node.generateBreadcrumbs(user) + " " + value).build());
}
@Register({"info", "public"})
@@ -82,7 +82,7 @@ public class ViewPart extends SWCommand {
@Register("revisions")
public void revisions(Player player, @Validator("isSchemValidator") SchematicNode node) {
List<NodeData> revisions = NodeData.get(node);
if(revisions.isEmpty()) {
if (revisions.isEmpty()) {
SchematicSystem.MESSAGE.send("REVISIONS_EMPTY", player);
return;
}
@@ -105,7 +105,7 @@ public class ViewPart extends SWCommand {
@Register({"l", "public"})
@Register({"load", "public"})
public void loadSchemPublic(Player player, @Validator("isSchemValidator") @Mapper("publicMapper") SchematicNode node, @OptionalValue("-1") int revision) {
public void loadSchemPublic(Player player, @Validator("isSchemValidator") @Mapper("publicMapper") SchematicNode node, @OptionalValue("-1") int revision) {
loadSchem(player, node, revision);
}