forked from SteamWar/SteamWar
Improve GameModeConfig
This commit is contained in:
+3
-3
@@ -24,7 +24,7 @@ import com.sk89q.worldedit.entity.Entity;
|
||||
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
||||
import com.sk89q.worldedit.math.BlockVector3;
|
||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||
import de.steamwar.data.GameModeConfig;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.sql.SchematicType;
|
||||
import org.bukkit.Material;
|
||||
|
||||
@@ -119,7 +119,7 @@ public class AutoChecker15 implements AutoChecker.IAutoChecker {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AutoCheckerResult check(Clipboard clipboard, GameModeConfig<Material, SchematicType, String> type) {
|
||||
public AutoCheckerResult check(Clipboard clipboard, GameModeConfig<Material, String> type) {
|
||||
return AutoCheckerResult.builder()
|
||||
.type(type)
|
||||
.height(clipboard.getDimensions().getBlockY())
|
||||
@@ -131,7 +131,7 @@ public class AutoChecker15 implements AutoChecker.IAutoChecker {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AutoCheckerResult sizeCheck(Clipboard clipboard, GameModeConfig<Material, SchematicType, String> type) {
|
||||
public AutoCheckerResult sizeCheck(Clipboard clipboard, GameModeConfig<Material, String> type) {
|
||||
return AutoCheckerResult.builder()
|
||||
.type(type)
|
||||
.height(clipboard.getDimensions().getBlockY())
|
||||
|
||||
+2
-2
@@ -31,7 +31,7 @@ import com.sk89q.worldedit.math.BlockVector3;
|
||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||
import com.sk89q.worldedit.world.block.BlockState;
|
||||
import com.sk89q.worldedit.world.block.BlockTypes;
|
||||
import de.steamwar.data.GameModeConfig;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.schematicsystem.autocheck.AutoCheckerResult;
|
||||
import de.steamwar.schematicsystem.autocheck.BlockPos;
|
||||
import de.steamwar.sql.SchematicType;
|
||||
@@ -42,7 +42,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
public class SchematicCommand15 implements SchematicCommand.ISchematicCommand {
|
||||
@Override
|
||||
public Clipboard fixClipboard(Clipboard clipboard, AutoCheckerResult result, GameModeConfig<Material, SchematicType, String> type) throws Exception {
|
||||
public Clipboard fixClipboard(Clipboard clipboard, AutoCheckerResult result, GameModeConfig<Material, String> type) throws Exception {
|
||||
for (BlockPos blockPos : result.getBlockScanResult().getRecords()) {
|
||||
BlockVector3 vector = BlockVector3.at(blockPos.getX(), blockPos.getY(), blockPos.getZ());
|
||||
clipboard.setBlock(vector, clipboard.getFullBlock(vector).toBaseBlock(new CompoundTag(Collections.emptyMap())));
|
||||
|
||||
+3
-3
@@ -25,7 +25,7 @@ import com.sk89q.worldedit.blocks.BaseBlock;
|
||||
import com.sk89q.worldedit.entity.Entity;
|
||||
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
||||
import com.sk89q.worldedit.regions.Region;
|
||||
import de.steamwar.data.GameModeConfig;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.sql.SchematicType;
|
||||
import org.bukkit.Material;
|
||||
|
||||
@@ -149,7 +149,7 @@ public class AutoChecker8 implements AutoChecker.IAutoChecker {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AutoCheckerResult check(Clipboard clipboard, GameModeConfig<Material, SchematicType, String> type) {
|
||||
public AutoCheckerResult check(Clipboard clipboard, GameModeConfig<Material, String> type) {
|
||||
AutoChecker.BlockScanResult blockScanResult = new AutoChecker.BlockScanResult();
|
||||
scan(blockScanResult, clipboard);
|
||||
|
||||
@@ -164,7 +164,7 @@ public class AutoChecker8 implements AutoChecker.IAutoChecker {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AutoCheckerResult sizeCheck(Clipboard clipboard, GameModeConfig<Material, SchematicType, String> type) {
|
||||
public AutoCheckerResult sizeCheck(Clipboard clipboard, GameModeConfig<Material, String> type) {
|
||||
return AutoCheckerResult.builder()
|
||||
.type(type)
|
||||
.height(clipboard.getDimensions().getBlockY())
|
||||
|
||||
+2
-2
@@ -24,7 +24,7 @@ import com.sk89q.worldedit.WorldEditException;
|
||||
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
||||
import com.sk89q.worldedit.function.operation.ForwardExtentCopy;
|
||||
import com.sk89q.worldedit.function.operation.Operations;
|
||||
import de.steamwar.data.GameModeConfig;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.schematicsystem.autocheck.AutoCheckerResult;
|
||||
import de.steamwar.sql.SchematicType;
|
||||
import org.bukkit.Material;
|
||||
@@ -32,7 +32,7 @@ import org.bukkit.Material;
|
||||
public class SchematicCommand8 implements SchematicCommand.ISchematicCommand {
|
||||
|
||||
@Override
|
||||
public Clipboard fixClipboard(Clipboard clipboard, AutoCheckerResult result, GameModeConfig<Material, SchematicType, String> type) throws Exception {
|
||||
public Clipboard fixClipboard(Clipboard clipboard, AutoCheckerResult result, GameModeConfig<Material, String> type) throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -19,7 +19,7 @@
|
||||
|
||||
package de.steamwar.schematicsystem;
|
||||
|
||||
import de.steamwar.data.GameModeConfig;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.data.GameModeConfigUtils;
|
||||
import de.steamwar.linkage.AbstractLinker;
|
||||
import de.steamwar.linkage.SpigotLinker;
|
||||
@@ -38,9 +38,9 @@ public class SchematicSystem extends JavaPlugin {
|
||||
|
||||
private static SchematicSystem instance;
|
||||
|
||||
private static final Map<SchematicType, GameModeConfig<Material, SchematicType, String>> types = new HashMap<>();
|
||||
private static final Map<SchematicType, GameModeConfig<Material, String>> types = new HashMap<>();
|
||||
|
||||
public static GameModeConfig<Material, SchematicType, String> getGameModeConfig(SchematicType type){
|
||||
public static GameModeConfig<Material, String> getGameModeConfig(SchematicType type){
|
||||
return types.get(type);
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ public class SchematicSystem extends JavaPlugin {
|
||||
File folder = new File(this.getDataFolder().getParentFile(), "FightSystem");
|
||||
if(folder.exists()) {
|
||||
for(File configFile : folder.listFiles((file, name) -> name.endsWith(".yml") && !name.endsWith(".kits.yml"))) {
|
||||
GameModeConfig<Material, SchematicType, String> gameModeConfig = new GameModeConfig<>(configFile, GameModeConfigUtils.ToMaterial, GameModeConfig.ToSchematicType, GameModeConfig.ToString, GameModeConfig.ToStaticWarGear);
|
||||
GameModeConfig<Material, String> gameModeConfig = new GameModeConfig<>(configFile, GameModeConfigUtils.ToMaterial, GameModeConfig.ToString, GameModeConfig.ToStaticWarGear);
|
||||
if (gameModeConfig.CheckQuestions.isEmpty() && gameModeConfig.Schematic.ManualCheck)
|
||||
continue;
|
||||
types.put(gameModeConfig.Schematic.Type, gameModeConfig);
|
||||
|
||||
+5
-5
@@ -21,7 +21,7 @@ package de.steamwar.schematicsystem.autocheck;
|
||||
|
||||
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
||||
import de.steamwar.core.VersionDependent;
|
||||
import de.steamwar.data.GameModeConfig;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.schematicsystem.SchematicSystem;
|
||||
import de.steamwar.sql.SchematicType;
|
||||
import lombok.Getter;
|
||||
@@ -32,19 +32,19 @@ import java.util.*;
|
||||
|
||||
public class AutoChecker {
|
||||
|
||||
public static AutoCheckerResult check(Clipboard clipboard, GameModeConfig<Material, SchematicType, String> type) {
|
||||
public static AutoCheckerResult check(Clipboard clipboard, GameModeConfig<Material, String> type) {
|
||||
return impl.check(clipboard, type);
|
||||
}
|
||||
|
||||
public static AutoCheckerResult sizeCheck(Clipboard clipboard, GameModeConfig<Material, SchematicType, String> type) {
|
||||
public static AutoCheckerResult sizeCheck(Clipboard clipboard, GameModeConfig<Material, String> type) {
|
||||
return impl.sizeCheck(clipboard, type);
|
||||
}
|
||||
|
||||
private static final IAutoChecker impl = VersionDependent.getVersionImpl(SchematicSystem.getInstance());
|
||||
|
||||
public interface IAutoChecker {
|
||||
AutoCheckerResult check(Clipboard clipboard, GameModeConfig<Material, SchematicType, String> type);
|
||||
AutoCheckerResult sizeCheck(Clipboard clipboard, GameModeConfig<Material, SchematicType, String> type);
|
||||
AutoCheckerResult check(Clipboard clipboard, GameModeConfig<Material, String> type);
|
||||
AutoCheckerResult sizeCheck(Clipboard clipboard, GameModeConfig<Material, String> type);
|
||||
}
|
||||
|
||||
@Getter
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@
|
||||
package de.steamwar.schematicsystem.autocheck;
|
||||
|
||||
import de.steamwar.core.Core;
|
||||
import de.steamwar.data.GameModeConfig;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.schematicsystem.SchematicSystem;
|
||||
import de.steamwar.sql.SchematicType;
|
||||
import lombok.Builder;
|
||||
@@ -38,7 +38,7 @@ import java.util.Map;
|
||||
@Getter
|
||||
@ToString
|
||||
public class AutoCheckerResult {
|
||||
private final GameModeConfig<Material, SchematicType, String> type;
|
||||
private final GameModeConfig<Material, String> type;
|
||||
private final int width;
|
||||
private final int height;
|
||||
private final int depth;
|
||||
|
||||
+3
-3
@@ -27,7 +27,7 @@ import de.steamwar.command.SWCommand;
|
||||
import de.steamwar.command.TypeMapper;
|
||||
import de.steamwar.command.TypeValidator;
|
||||
import de.steamwar.core.VersionDependent;
|
||||
import de.steamwar.data.GameModeConfig;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.linkage.Linked;
|
||||
import de.steamwar.schematicsystem.SchematicSystem;
|
||||
import de.steamwar.schematicsystem.autocheck.AutoCheckerResult;
|
||||
@@ -113,7 +113,7 @@ public class SchematicCommand extends SWCommand {
|
||||
}
|
||||
|
||||
@ClassMapper(value = GameModeConfig.class, local = true)
|
||||
public static TypeMapper<GameModeConfig<Material, SchematicType, String>> gameModeConfigTypeMapper() {
|
||||
public static TypeMapper<GameModeConfig<Material, String>> gameModeConfigTypeMapper() {
|
||||
return SchematicMapper.gameModeConfigTypeMapper();
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ public class SchematicCommand extends SWCommand {
|
||||
public static final ISchematicCommand impl = VersionDependent.getVersionImpl(SchematicSystem.getInstance());
|
||||
|
||||
public interface ISchematicCommand {
|
||||
Clipboard fixClipboard(Clipboard clipboard, AutoCheckerResult result, GameModeConfig<Material, SchematicType, String> type) throws Exception;
|
||||
Clipboard fixClipboard(Clipboard clipboard, AutoCheckerResult result, GameModeConfig<Material, String> type) throws Exception;
|
||||
void createCopy(EditSession editSession, Clipboard clipboard) throws WorldEditException;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -20,7 +20,7 @@
|
||||
package de.steamwar.schematicsystem.commands.schematiccommand;
|
||||
|
||||
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
||||
import de.steamwar.data.GameModeConfig;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.inventory.SWInventory;
|
||||
import de.steamwar.inventory.SWItem;
|
||||
import de.steamwar.network.NetworkSender;
|
||||
@@ -312,7 +312,7 @@ public class SchematicCommandUtils {
|
||||
}
|
||||
}
|
||||
|
||||
public static void check(Player player, Clipboard clipboard, GameModeConfig<Material, SchematicType, String> type, String schemName, boolean gui) {
|
||||
public static void check(Player player, Clipboard clipboard, GameModeConfig<Material, String> type, String schemName, boolean gui) {
|
||||
AutoCheckerResult result = AutoChecker.check(clipboard, type);
|
||||
if(!result.isOk()) {
|
||||
result.sendErrorMessage(player, schemName);
|
||||
@@ -455,7 +455,7 @@ public class SchematicCommandUtils {
|
||||
return;
|
||||
}
|
||||
|
||||
GameModeConfig<Material, SchematicType, String> checkSchemType = SchematicSystem.getGameModeConfig(type);
|
||||
GameModeConfig<Material, String> checkSchemType = SchematicSystem.getGameModeConfig(type);
|
||||
if (checkSchemType.isAfterDeadline()) {
|
||||
SchematicSystem.MESSAGE.send("UTIL_TYPE_AFTER_DEADLINE", player, checkSchemType.Deadline);
|
||||
return;
|
||||
|
||||
+4
-4
@@ -20,7 +20,7 @@
|
||||
package de.steamwar.schematicsystem.commands.schematiccommand;
|
||||
|
||||
import de.steamwar.command.TypeMapper;
|
||||
import de.steamwar.data.GameModeConfig;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.schematicsystem.SchematicSystem;
|
||||
import de.steamwar.sql.NodeMember;
|
||||
import de.steamwar.sql.SchematicNode;
|
||||
@@ -177,15 +177,15 @@ public class SchematicMapper {
|
||||
};
|
||||
}
|
||||
|
||||
public static TypeMapper<GameModeConfig<Material, SchematicType, String>> gameModeConfigTypeMapper() {
|
||||
return new TypeMapper<GameModeConfig<Material, SchematicType, String>>() {
|
||||
public static TypeMapper<GameModeConfig<Material, String>> gameModeConfigTypeMapper() {
|
||||
return new TypeMapper<GameModeConfig<Material, String>>() {
|
||||
@Override
|
||||
public Collection<String> tabCompletes(CommandSender commandSender, String[] strings, String s) {
|
||||
return SchematicType.values().stream().filter(type -> SchematicSystem.getGameModeConfig(type) != null).map(SchematicType::name).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameModeConfig<Material, SchematicType, String> map(CommandSender commandSender, String[] previousArguments, String s) {
|
||||
public GameModeConfig<Material, String> map(CommandSender commandSender, String[] previousArguments, String s) {
|
||||
return SchematicType.values().stream().filter(type -> type.name().equalsIgnoreCase(s)).map(SchematicSystem::getGameModeConfig).findAny().orElse(null);
|
||||
}
|
||||
};
|
||||
|
||||
+5
-5
@@ -28,7 +28,7 @@ import com.sk89q.worldedit.session.ClipboardHolder;
|
||||
import de.steamwar.command.AbstractSWCommand;
|
||||
import de.steamwar.command.SWCommand;
|
||||
import de.steamwar.core.Core;
|
||||
import de.steamwar.data.GameModeConfig;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.linkage.Linked;
|
||||
import de.steamwar.schematicsystem.SchematicSystem;
|
||||
import de.steamwar.schematicsystem.autocheck.AutoChecker;
|
||||
@@ -54,7 +54,7 @@ public class CheckPart extends SWCommand {
|
||||
}
|
||||
|
||||
@Register("check")
|
||||
public void checkCommand(Player player, @Validator("isOwnerSchematicValidator") SchematicNode node, GameModeConfig<Material, SchematicType, String> type) {
|
||||
public void checkCommand(Player player, @Validator("isOwnerSchematicValidator") SchematicNode node, GameModeConfig<Material, String> type) {
|
||||
try {
|
||||
check(player, new SchematicData(node).load(), type, node.getName(), false);
|
||||
} catch (IOException e) {
|
||||
@@ -63,7 +63,7 @@ public class CheckPart extends SWCommand {
|
||||
}
|
||||
|
||||
@Register(value = {"check", "clipboard"})
|
||||
public void checkClipboardCommand(Player player, @ErrorMessage("UTIL_CHECK_TYPE_NOT_FOUND") GameModeConfig<Material, SchematicType, String> type) {
|
||||
public void checkClipboardCommand(Player player, @ErrorMessage("UTIL_CHECK_TYPE_NOT_FOUND") GameModeConfig<Material, String> type) {
|
||||
try {
|
||||
check(player, WorldEdit.getInstance().getSessionManager().findByName(player.getName()).getClipboard().getClipboard(), type, "clipboard", false);
|
||||
} catch (EmptyClipboardException e) {
|
||||
@@ -72,7 +72,7 @@ public class CheckPart extends SWCommand {
|
||||
}
|
||||
|
||||
@Register(value = {"check", "selection"})
|
||||
public void checkSelectionCommand(Player player, @ErrorMessage("UTIL_CHECK_TYPE_NOT_FOUND") GameModeConfig<Material, SchematicType, String> type) {
|
||||
public void checkSelectionCommand(Player player, @ErrorMessage("UTIL_CHECK_TYPE_NOT_FOUND") GameModeConfig<Material, String> type) {
|
||||
try {
|
||||
Clipboard clipboard = new BlockArrayClipboard(WorldEdit.getInstance().getSessionManager().findByName(player.getName()).getSelection(new BukkitWorld(player.getWorld())));
|
||||
EditSession editSession = WorldEdit.getInstance().getEditSessionFactory().getEditSession(new BukkitWorld(player.getWorld()), -1);
|
||||
@@ -88,7 +88,7 @@ public class CheckPart extends SWCommand {
|
||||
}
|
||||
|
||||
@Register("fix")
|
||||
public void fixSchematicCommand(Player player, @ErrorMessage("UTIL_CHECK_TYPE_NOT_FOUND") GameModeConfig<Material, SchematicType, String> type) {
|
||||
public void fixSchematicCommand(Player player, @ErrorMessage("UTIL_CHECK_TYPE_NOT_FOUND") GameModeConfig<Material, String> type) {
|
||||
if(Core.getVersion() < 15) {
|
||||
SchematicSystem.MESSAGE.send("COMMAND_FIX_WRONG_VERSION", player);
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user