From ca16b31dbfca4320f5bf52c86a99b5550843f004 Mon Sep 17 00:00:00 2001 From: miozune Date: Tue, 31 Oct 2023 00:02:06 +0900 Subject: [PATCH 1/3] Update .gitignore --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 39c072d..5e80e0a 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,8 @@ src/main/resources/mixins.*([!.]).json *.DS_Store !gradlew.bat .factorypath +addon.local.gradle +addon.local.gradle.kts +addon.late.local.gradle +addon.late.local.gradle.kts +layout.json From dd0d02b502bba07a3ce8b33aeb3d6257952de02b Mon Sep 17 00:00:00 2001 From: miozune Date: Tue, 31 Oct 2023 00:02:42 +0900 Subject: [PATCH 2/3] Remove things that are not meant to exist outside of examplemod repo --- docs/FAQ.md | 9 - docs/migration.md | 22 -- docs/porting.md | 56 ---- gtnhShared/spotless.eclipseformat.xml | 380 -------------------------- gtnhShared/spotless.gradle | 40 --- gtnhShared/spotless.importorder | 7 - 6 files changed, 514 deletions(-) delete mode 100644 docs/FAQ.md delete mode 100644 docs/migration.md delete mode 100644 docs/porting.md delete mode 100644 gtnhShared/spotless.eclipseformat.xml delete mode 100644 gtnhShared/spotless.gradle delete mode 100644 gtnhShared/spotless.importorder diff --git a/docs/FAQ.md b/docs/FAQ.md deleted file mode 100644 index ea8362d..0000000 --- a/docs/FAQ.md +++ /dev/null @@ -1,9 +0,0 @@ -# Things we cannot protect you from (yet) - -### Select an mcp conf dir for the deobfuscator - -You may or may not run into this popup. For now, the only solution is to point the deopfuscator into the right direction. - -![](http://i.imgur.com/gzBMLrr.png) - -Solution: Point it to `~/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.4.1614-1.7.10/unpacked/conf`. On Windows, please use `%USERPROFILE%/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.4.1614-1.7.10/unpacked/conf`. diff --git a/docs/migration.md b/docs/migration.md deleted file mode 100644 index aab0102..0000000 --- a/docs/migration.md +++ /dev/null @@ -1,22 +0,0 @@ -# Migration guides - -## Generic migration -Migration for the typical mod which doesn't use anything special but Minecraft forge and some library dependencies. -For core plugin, Mixins, shadowing, access transformers, ASM or etc. you'll need to do some extra steps. -If they are missing in this document - we will gladly receive your suggestions/contribution. - -1. Copy and replace all files from [template](https://github.com/GTNewHorizons/ExampleMod1.7.10/releases/download/latest-packages/migration.zip) to your repository, but `build.gradle` -2. Copy all repositories from your `build.gradle(.kts)` to `repositories.gradle` -3. Copy all dependencies from your `build.gradle(.kts)` to `dependecies.gradle` -4. replace your `build.gradle(.kts)` with `build.gradle` from template. In case you have written some custom tasks/configurations not present in the template - move them into `addon.gradle`. It will automatically be integrated if present. -5. Adapt `gradle.properties` to your mod -6. Ensure `src/main/resources/mcmod.info` contains `${modId}`, `${modName}`. `${modVersion}` and `${minecraftVersion}` -7. Re-import the project to your IDE (e.g. restart with clean caches in IntelliJ IDEA) -8. Run `./gradlew clean setupDecompWorkspace` - -## Mixin configuration -For the reference checkout the [example mixin configuration branch](https://github.com/GTNewHorizons/ExampleMod1.7.10/tree/example-mixins) of the template. - -1. Extract mixins package and plugin configuration from `mixins.yourModId.json` to `gradle.properties` -2. Implement MixinPlugin according to example from the reference -3. Remove mixins.mymodid.json diff --git a/docs/porting.md b/docs/porting.md deleted file mode 100644 index 4d63968..0000000 --- a/docs/porting.md +++ /dev/null @@ -1,56 +0,0 @@ -# Porting guidelines - -This is a list of steps which should help you on your probably not so easy journey of porting some mod: - -### 1. Setting up repository and build system -1. Checkout any information in mod REAMDE/Wiki/Docs to find out if there are any special tasks/configs that need to be applied to the build -2. Fork original repository to preserve commit history -3. Apply build migration as explained in [migration guidelines](migration.md) on your fork - -### 2. Refining the fork -Try to get rid of dependencies on concrete jars (usually in the `lib` folder) if any present. This way it will be much easier to change (upgrade/downgrade) your project dependencies, when needed. - -Check if they are in maven repository (usually authors put such information in the project readme), if it isn't accessible but project is open source with permissive enough license (e.g., MIT) - you still can publish them yourselves: - 1. Fork the repository - 2. Drop `jitpack.yml` and `.github/workflows/gradle.yml` in project root. You can find this file in this repository root. - 3. Make sure everything builds from console by running `./gradlew clean setupCIWorkspace` - 4. If all is fine/after fixing the errors - make a tag on Github or using console, this should trigger Github build hook and generate a release - 4. Lookup forked repository on `https://jitpack.io/` - 5. Find your release and click "Get it", which should scroll you down to the example of how to add the dependency (make sure you have jitpack repository in mod you are porting) - 6. Checkout build log beside button you clicked to make sure it succeeds - -Now when you are sure dependency is available in maven repository - just add it as a normal gradle dependency in `dependencies.gradle`. - -If there is not online dependency available, you may upload it as a jar to jitpack, see [jitpack single file publishing thread](https://gist.github.com/jitpack-io/f928a858aa5da08ad9d9662f982da983). Please ensure, that you have the rights to do so! - -There may also be a case where mods depend on another mods - then you'll need to port any dependencies first. (Yay, dependency hell! :D) - -### 3. Preparing for porting -Try to build the project and see check what types of errors are you getting. Generally, there should be 2 types of errors you encounter: - - Missing references to packages/classes/methods/fields/parameters. Things get renamed, moved, restructured, removed or even not yet exist. That's the straightforward part - you'll need to adjust references and way things are invoked. - In case of missing things, you'll either need to implement something that's imitates missing parts or resign from some functionality - - Build related errors (e.g., something that is a part of the mod in never versions previously was an external library - you'll need to add it as a dependencies) - -Fix all build related errors (so build system won't get in your way) - -### 4. Porting the mod -After all these preparations nothing should be in the way of porting the mod, the only thing left is the actual code to change, which probably is a most tedious part of this process. - -Good approach is to start working with smaller things first, building up your confidence in how the mod works and gradually approaching more complex stuff, here is a general algorithm: - 1. Begin with fixing moved/renamed things by deleting all bad imports and with help of the IDE re-import equivalents if present. - Intelij IDEA has settings for unambiguous auto-import and import optimization on the fly, which can greatly speedup the process. Just pay attention to what is actually imported. - 2. Remove all nonworking code which is not easily fixable (e.g., class only introduced in newer forge) and provide stubs in its place. - For example, replace reference to method of non existing class with your method in your class, it can have an empty body and mocked return so the code can compile and run without issues. - Do not forget to track all things you've stubbed, if you are working on port alone - TODOs should be sufficient (most IDEs have a built in TODO browser). - 3. Build the project and attempt to run it - 4. If there were any critical errors which cause Minecraft to crash or mod to not work - try fixing them first, so you can test your changes - 5. Start fixing small things, ones that you think you have most chances to fix and work your way up - 6. If any there is any feature that is not worth it's time or you simply don't know how to do it - consider dropping it entirely and open an issue in your repository where you'll explain your findings and blockers. - Maybe somebody with greater knowledge/more time/motivation will try to take bite at it. -9. Fix bugs you've introduced when porting. - It is uncommon for mods to have lots of workarounds and hidden connections. - You'll need to test things and check if they work as intended (gl;hf ;p) - -### 5. Final words - -If after reading this, you are not discouraged and still want to port it - good luck porting it! You'll definitively need it. diff --git a/gtnhShared/spotless.eclipseformat.xml b/gtnhShared/spotless.eclipseformat.xml deleted file mode 100644 index e8eb89c..0000000 --- a/gtnhShared/spotless.eclipseformat.xml +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gtnhShared/spotless.gradle b/gtnhShared/spotless.gradle deleted file mode 100644 index ed56cb7..0000000 --- a/gtnhShared/spotless.gradle +++ /dev/null @@ -1,40 +0,0 @@ - -apply plugin: 'com.diffplug.spotless' - -// Spotless autoformatter -// See https://github.com/diffplug/spotless/tree/main/plugin-gradle -// Can be locally toggled via spotless:off/spotless:on comments -spotless { - encoding 'UTF-8' - - format 'misc', { - target '.gitignore' - - trimTrailingWhitespace() - indentWithSpaces(4) - endWithNewline() - } - java { - target 'src/*/java/**/*.java', 'src/*/scala/**/*.java' - - toggleOffOn() - importOrderFile(Blowdryer.file('spotless.importorder')) - removeUnusedImports() - eclipse('4.19.0').configFile(Blowdryer.file('spotless.eclipseformat.xml')) - } - kotlin { - target 'src/*/kotlin/**/*.kt' - - toggleOffOn() - ktfmt('0.39') - - trimTrailingWhitespace() - indentWithSpaces(4) - endWithNewline() - } - scala { - target 'src/*/scala/**/*.scala' - - scalafmt('3.7.1') - } -} diff --git a/gtnhShared/spotless.importorder b/gtnhShared/spotless.importorder deleted file mode 100644 index ce4fe27..0000000 --- a/gtnhShared/spotless.importorder +++ /dev/null @@ -1,7 +0,0 @@ -#Organize Import Order -#Sat Jan 28 17:57:48 GMT 2023 -0=java -1=javax -2=net -3=org -4=com From 546fc3a2f5546ea39123f6dceadca140c40b3c2e Mon Sep 17 00:00:00 2001 From: miozune Date: Tue, 31 Oct 2023 00:03:00 +0900 Subject: [PATCH 3/3] Cleanup isValidMetaTileEntity --- .../tile/multi/TileEntityPlanetaryGasSiphon.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/gtnewhorizons/gtnhintergalactic/tile/multi/TileEntityPlanetaryGasSiphon.java b/src/main/java/com/gtnewhorizons/gtnhintergalactic/tile/multi/TileEntityPlanetaryGasSiphon.java index a2039de..9c5e37e 100644 --- a/src/main/java/com/gtnewhorizons/gtnhintergalactic/tile/multi/TileEntityPlanetaryGasSiphon.java +++ b/src/main/java/com/gtnewhorizons/gtnhintergalactic/tile/multi/TileEntityPlanetaryGasSiphon.java @@ -263,7 +263,7 @@ public boolean isCorrectMachinePart(ItemStack stack) { @Override public @NotNull CheckRecipeResult checkProcessing() { // return early if no input busses are present, the first bus is invalid or the TE is not on a space station - if (mInputBusses.isEmpty() || !isValidMetaTileEntity(mInputBusses.get(0))) { + if (mInputBusses.isEmpty() || !mInputBusses.get(0).isValid()) { resetMachine(true); return SimpleCheckRecipeResult.ofFailure("no_mining_pipe"); }