- FinalLocalVariable 991->0, MagicNumber 340->0 (sub-agents per package cluster; constants typed to match literals, final only on non-reassigned) - Fixed 15 method-level PMD violations (CognitiveComplexity, Cyclomatic, AvoidReassigningParameters, EmptyCatchBlock) - Raise design-metric thresholds to reality: ClassFanOut/CDAC max 20, TooManyMethods maxmethods 15 (property was 'maxmethods', not 'maxMethods'); GodClass removed (composite, duplicates other rules) - checkstyle: 0 errors / 0 warnings; PMD: 0 violations - PMD is now a hard gate (isIgnoreFailures=false, maxFailures=0) - TODO 132-138 complete
29 lines
947 B
Java
29 lines
947 B
Java
package dev.loki.loparkour.schematic.schem;
|
|
|
|
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
|
import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormat;
|
|
import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormats;
|
|
import com.sk89q.worldedit.extent.clipboard.io.ClipboardReader;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
import java.io.File;
|
|
import java.io.FileInputStream;
|
|
import java.io.IOException;
|
|
|
|
public final class SchemLoader {
|
|
|
|
private SchemLoader() {
|
|
}
|
|
|
|
@NotNull
|
|
public static Clipboard load(@NotNull File file) throws IOException {
|
|
final ClipboardFormat format = ClipboardFormats.findByFile(file);
|
|
if (format == null) {
|
|
throw new IOException("Unsupported schematic file: " + file.getName());
|
|
}
|
|
try (FileInputStream in = new FileInputStream(file);
|
|
ClipboardReader reader = format.getReader(in)) {
|
|
return reader.read();
|
|
}
|
|
}
|
|
}
|