diff --git a/.gitignore b/.gitignore index ccb0c56..42e44b7 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,5 @@ libs/ .idea/ classes/ .metadata -.vscode .settings *.launch \ No newline at end of file diff --git a/.prettierrc.yaml b/.prettierrc.yaml new file mode 100644 index 0000000..779ada8 --- /dev/null +++ b/.prettierrc.yaml @@ -0,0 +1,8 @@ +trailingComma: "none" +useTabs: false +tabWidth: 2 +semi: true +singleQuote: false +printWidth: 100 +arrowParens: "always" +singleAttributePerLine: false diff --git a/.vscode/java-formatter.xml b/.vscode/java-formatter.xml new file mode 100644 index 0000000..c0370f9 --- /dev/null +++ b/.vscode/java-formatter.xml @@ -0,0 +1,382 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..8829ec9 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,37 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "java", + "name": "Minecraft Client (:forge)", + "request": "launch", + "cwd": "${workspaceFolder}/forge/run", + "console": "integratedTerminal", + "stopOnEntry": false, + "mainClass": "dev.architectury.transformer.TransformerRuntime", + "vmArgs": "-Dfabric.dli.config\u003d/pool/git/SimplyCompat/forge/.gradle/loom-cache/launch.cfg -Dfabric.dli.env\u003dclient -Djava.net.preferIPv6Addresses\u003dsystem -p /home/toph/.gradle/caches/modules-2/files-2.1/cpw.mods/securejarhandler/2.1.10/51e6a22c6c716beb11e244bf5b8be480f51dd6b5/securejarhandler-2.1.10.jar:/home/toph/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.5/19ab5b5800a3910d30d3a3e64fdb00fd0cb42de0/asm-commons-9.5.jar:/home/toph/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.5/64b5a1fc8c1b15ed2efd6a063e976bc8d3dc5ffe/asm-util-9.5.jar:/home/toph/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.5/490bacc77de7cbc0be1a30bb3471072d705be4a4/asm-analysis-9.5.jar:/home/toph/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.5/fd33c8b6373abaa675be407082fdfda35021254a/asm-tree-9.5.jar:/home/toph/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.5/dc6ea1875f4d64fbc85e1691c95b96a3d8569c90/asm-9.5.jar:/home/toph/.gradle/caches/modules-2/files-2.1/net.minecraftforge/JarJarFileSystems/0.3.19/2464eb7d6b9ddb9db36a82cf8a95193e5c6fe020/JarJarFileSystems-0.3.19.jar --add-modules ALL-MODULE-PATH --add-opens java.base/java.util.jar\u003dcpw.mods.securejarhandler --add-opens java.base/java.lang.invoke\u003dcpw.mods.securejarhandler --add-exports java.base/sun.security.util\u003dcpw.mods.securejarhandler --add-exports jdk.naming.dns/com.sun.jndi.dns\u003djava.naming -Dfabric.dli.main\u003dcpw.mods.bootstraplauncher.BootstrapLauncher -Darchitectury.main.class\u003d/pool/git/SimplyCompat/forge/.gradle/architectury/.main_class -Darchitectury.runtime.transformer\u003d/pool/git/SimplyCompat/forge/.gradle/architectury/.transforms -Darchitectury.properties\u003d/pool/git/SimplyCompat/forge/.gradle/architectury/.properties -Djdk.attach.allowAttachSelf\u003dtrue -javaagent:/pool/git/SimplyCompat/.gradle/architectury/architectury-transformer-agent.jar", + "args": "", + "env": { + "MOD_CLASSES": "main%%/pool/git/SimplyCompat/forge/build/resources/main:main%%/pool/git/SimplyCompat/forge/build/classes/java/main", + "MCP_MAPPINGS": "loom.stub" + }, + "projectName": "forge" + }, + { + "type": "java", + "name": "Minecraft Server (:forge)", + "request": "launch", + "cwd": "${workspaceFolder}/forge/run", + "console": "integratedTerminal", + "stopOnEntry": false, + "mainClass": "dev.architectury.transformer.TransformerRuntime", + "vmArgs": "-Dfabric.dli.config\u003d/pool/git/SimplyCompat/forge/.gradle/loom-cache/launch.cfg -Dfabric.dli.env\u003dserver -Djava.net.preferIPv6Addresses\u003dsystem -p /home/toph/.gradle/caches/modules-2/files-2.1/cpw.mods/securejarhandler/2.1.10/51e6a22c6c716beb11e244bf5b8be480f51dd6b5/securejarhandler-2.1.10.jar:/home/toph/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.5/19ab5b5800a3910d30d3a3e64fdb00fd0cb42de0/asm-commons-9.5.jar:/home/toph/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.5/64b5a1fc8c1b15ed2efd6a063e976bc8d3dc5ffe/asm-util-9.5.jar:/home/toph/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.5/490bacc77de7cbc0be1a30bb3471072d705be4a4/asm-analysis-9.5.jar:/home/toph/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.5/fd33c8b6373abaa675be407082fdfda35021254a/asm-tree-9.5.jar:/home/toph/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.5/dc6ea1875f4d64fbc85e1691c95b96a3d8569c90/asm-9.5.jar:/home/toph/.gradle/caches/modules-2/files-2.1/net.minecraftforge/JarJarFileSystems/0.3.19/2464eb7d6b9ddb9db36a82cf8a95193e5c6fe020/JarJarFileSystems-0.3.19.jar --add-modules ALL-MODULE-PATH --add-opens java.base/java.util.jar\u003dcpw.mods.securejarhandler --add-opens java.base/java.lang.invoke\u003dcpw.mods.securejarhandler --add-exports java.base/sun.security.util\u003dcpw.mods.securejarhandler --add-exports jdk.naming.dns/com.sun.jndi.dns\u003djava.naming -Dfabric.dli.main\u003dcpw.mods.bootstraplauncher.BootstrapLauncher -Darchitectury.main.class\u003d/pool/git/SimplyCompat/forge/.gradle/architectury/.main_class -Darchitectury.runtime.transformer\u003d/pool/git/SimplyCompat/forge/.gradle/architectury/.transforms -Darchitectury.properties\u003d/pool/git/SimplyCompat/forge/.gradle/architectury/.properties -Djdk.attach.allowAttachSelf\u003dtrue -javaagent:/pool/git/SimplyCompat/.gradle/architectury/architectury-transformer-agent.jar", + "args": "nogui", + "env": { + "MOD_CLASSES": "main%%/pool/git/SimplyCompat/forge/build/resources/main:main%%/pool/git/SimplyCompat/forge/build/classes/java/main", + "MCP_MAPPINGS": "loom.stub" + }, + "projectName": "forge" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..369acc1 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,23 @@ +{ + "java.compile.nullAnalysis.mode": "automatic", + "editor.formatOnSave": true, + "java.format.settings.url": ".vscode/java-formatter.xml", + "[java]": { + "editor.insertSpaces": false, + "editor.tabSize": 2, + "editor.detectIndentation": false + }, + "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx2G -Xms100m -Xlog:disable", + "java.configuration.updateBuildConfiguration": "interactive", + "java.jdt.ls.java.home": "/home/toph/.asdf/installs/java/openjdk-17", + "explorer.fileNesting.patterns": { + "gradlew": "build.gradle, gradle.properties, gradlew.bat, settings.gradle", + ".gitignore": ".gitattributes, .tool-versions, LICENSE.txt, README.md, .prettierrc.yaml" + }, + "workbench.iconTheme": "material-icon-theme", + "editor.fontSize": 15, + "editor.cursorStyle": "block", + "editor.fontLigatures": true, + "editor.fontFamily": "'Monocraft Nerd Font', 'monospace', monospace", + "prettier-plugin-java-vscode.prettierConfigPath": "${workspaceFolder}/.prettierrc.yaml" +} diff --git a/common/src/main/java/cc/toph/simplycompat/ExpectPlatform.java b/common/src/main/java/cc/toph/simplycompat/ExpectPlatform.java index 1e237cb..ccea463 100644 --- a/common/src/main/java/cc/toph/simplycompat/ExpectPlatform.java +++ b/common/src/main/java/cc/toph/simplycompat/ExpectPlatform.java @@ -1,26 +1,26 @@ package cc.toph.simplycompat; import dev.architectury.platform.Platform; - import java.nio.file.Path; public class ExpectPlatform { - /** - * We can use {@link Platform#getConfigFolder()} but this is just an example of {@link dev.architectury.injectables.annotations.ExpectPlatform}. - *

- * This must be a public static method. The platform-implemented solution must be placed under a - * platform sub-package, with its class suffixed with {@code Impl}. - *

- * Example: - * Expect: cc.toph.simplycompat.ExampleExpectPlatform#getConfigDirectory() - * Actual Fabric: net.examplemod.fabric.ExampleExpectPlatformImpl#getConfigDirectory() - * Actual Forge: net.examplemod.forge.ExampleExpectPlatformImpl#getConfigDirectory() - *

- * You should also get the IntelliJ plugin to help with @ExpectPlatform. - */ - @dev.architectury.injectables.annotations.ExpectPlatform - public static Path getConfigDirectory() { - // Just throw an error, the content should get replaced at runtime. - throw new AssertionError(); - } + + /** + * We can use {@link Platform#getConfigFolder()} but this is just an example of {@link dev.architectury.injectables.annotations.ExpectPlatform}. + *

+ * This must be a public static method. The platform-implemented solution must be placed under a + * platform sub-package, with its class suffixed with {@code Impl}. + *

+ * Example: + * Expect: cc.toph.simplycompat.ExampleExpectPlatform#getConfigDirectory() + * Actual Fabric: net.examplemod.fabric.ExampleExpectPlatformImpl#getConfigDirectory() + * Actual Forge: net.examplemod.forge.ExampleExpectPlatformImpl#getConfigDirectory() + *

+ * You should also get the IntelliJ plugin to help with @ExpectPlatform. + */ + @dev.architectury.injectables.annotations.ExpectPlatform + public static Path getConfigDirectory() { + // Just throw an error, the content should get replaced at runtime. + throw new AssertionError(); + } }