Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: D-Cysteine/nesql-exporter
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.2.0
Choose a base ref
...
head repository: D-Cysteine/nesql-exporter
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Showing with 6,151 additions and 1,397 deletions.
  1. +65 −18 README.md
  2. +76 −73 build.gradle.kts
  3. +18 −18 gradle.properties
  4. +1 −1 gradle/wrapper/gradle-wrapper.properties
  5. +12 −0 settings.gradle.kts
  6. +70 −0 src/main/java/com/github/dcysteine/nesql/exporter/common/MobSpec.java
  7. +3 −3 src/main/java/com/github/dcysteine/nesql/exporter/main/ExportCommand.java
  8. +66 −0 src/main/java/com/github/dcysteine/nesql/exporter/main/ExportOverwriteCommand.java
  9. +128 −43 src/main/java/com/github/dcysteine/nesql/exporter/main/Exporter.java
  10. +6 −4 src/main/java/com/github/dcysteine/nesql/exporter/main/Logger.java
  11. +6 −4 src/main/java/com/github/dcysteine/nesql/exporter/main/Main.java
  12. +60 −26 src/main/java/com/github/dcysteine/nesql/exporter/main/config/ConfigOptions.java
  13. +7 −9 src/main/java/com/github/dcysteine/nesql/exporter/plugin/EntityFactory.java
  14. +78 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/ExporterState.java
  15. +0 −18 src/main/java/com/github/dcysteine/nesql/exporter/plugin/Plugin.java
  16. +44 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/PluginExporter.java
  17. +21 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/PluginHelper.java
  18. +26 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/avaritia/AvaritiaPluginExporter.java
  19. +77 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/avaritia/AvaritiaRecipeTypeHandler.java
  20. +56 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/avaritia/CompressorRecipeProcessor.java
  21. +162 −0 ...main/java/com/github/dcysteine/nesql/exporter/plugin/avaritia/ExtremeCraftingRecipeProcessor.java
  22. +0 −76 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/BasePlugin.java
  23. +21 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/BasePluginExporter.java
  24. +0 −8 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/BaseRecipeType.java
  25. +39 −24 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/factory/FluidFactory.java
  26. +29 −10 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/factory/FluidGroupFactory.java
  27. +53 −37 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/factory/ItemFactory.java
  28. +73 −16 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/factory/ItemGroupFactory.java
  29. +117 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/factory/MobFactory.java
  30. +49 −77 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/factory/RecipeBuilder.java
  31. +7 −7 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/factory/RecipeFactory.java
  32. +150 −6 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/factory/RecipeTypeFactory.java
  33. +45 −0 ...in/java/com/github/dcysteine/nesql/exporter/plugin/base/postprocessor/ItemGroupPostProcessor.java
  34. +50 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/postprocessor/RecipePostProcessor.java
  35. +0 −41 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/processor/ForgeFluidsProcessor.java
  36. +0 −50 src/main/java/com/github/dcysteine/nesql/exporter/plugin/base/processor/NeiItemListProcessor.java
  37. +23 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/forge/ForgePluginExporter.java
  38. +22 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/forge/factory/FluidBlockFactory.java
  39. +36 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/forge/factory/FluidContainerFactory.java
  40. +29 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/forge/factory/OreDictionaryFactory.java
  41. +36 −0 ...main/java/com/github/dcysteine/nesql/exporter/plugin/forge/processor/FluidContainerProcessor.java
  42. +52 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/forge/processor/FluidProcessor.java
  43. +44 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/forge/processor/OreDictionaryProcessor.java
  44. +26 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/gregtech/GregTechPluginExporter.java
  45. +130 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/gregtech/GregTechRecipeFactory.java
  46. +100 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/gregtech/GregTechRecipeProcessor.java
  47. +55 −0 ...main/java/com/github/dcysteine/nesql/exporter/plugin/gregtech/util/GregTechRecipeTypeHandler.java
  48. +22 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/gregtech/util/GregTechUtil.java
  49. +698 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/gregtech/util/RecipeMap.java
  50. +62 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/gregtech/util/Voltage.java
  51. +62 −27 .../github/dcysteine/nesql/exporter/plugin/{base/processor → minecraft}/CraftingRecipeProcessor.java
  52. +48 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/minecraft/EntityProcessor.java
  53. +18 −16 ...m/github/dcysteine/nesql/exporter/plugin/{base/processor → minecraft}/FurnaceRecipeProcessor.java
  54. +27 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/minecraft/MinecraftPluginExporter.java
  55. +76 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/minecraft/MinecraftRecipeTypeHandler.java
  56. +97 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/mobsinfo/MobInfoFactory.java
  57. +18 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/mobsinfo/MobsInfoPluginExporter.java
  58. +36 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/mobsinfo/MobsInfoProcessor.java
  59. +44 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/nei/NeiItemListProcessor.java
  60. +18 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/nei/NeiPluginExporter.java
  61. +41 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/quest/QuestLineProcessor.java
  62. +23 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/quest/QuestPluginExporter.java
  63. +42 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/quest/QuestPostProcessor.java
  64. +40 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/quest/QuestProcessor.java
  65. +49 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/quest/QuestUtil.java
  66. +87 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/quest/factory/QuestFactory.java
  67. +63 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/quest/factory/QuestLineFactory.java
  68. +77 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/quest/factory/RewardFactory.java
  69. +110 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/quest/factory/TaskFactory.java
  70. +0 −50 src/main/java/com/github/dcysteine/nesql/exporter/plugin/registry/PluginRegistry.java
  71. +0 −35 src/main/java/com/github/dcysteine/nesql/exporter/plugin/registry/RegistryEntry.java
  72. +47 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/thaumcraft/AspectEntryListener.java
  73. +36 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/thaumcraft/AspectPostProcessor.java
  74. +37 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/thaumcraft/AspectProcessor.java
  75. +27 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/thaumcraft/ThaumcraftPluginExporter.java
  76. +21 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/thaumcraft/factory/AspectEntryFactory.java
  77. +63 −0 src/main/java/com/github/dcysteine/nesql/exporter/plugin/thaumcraft/factory/AspectFactory.java
  78. +10 −1 src/main/java/com/github/dcysteine/nesql/exporter/{plugin → }/registry/ModDependency.java
  79. +88 −0 src/main/java/com/github/dcysteine/nesql/exporter/registry/PluginRegistry.java
  80. +36 −0 src/main/java/com/github/dcysteine/nesql/exporter/registry/RegistryEntry.java
  81. +1 −1 src/main/java/com/github/dcysteine/nesql/exporter/{util → }/render/RenderDispatcher.java
  82. +25 −2 src/main/java/com/github/dcysteine/nesql/exporter/{util → }/render/RenderJob.java
  83. +1 −1 src/main/java/com/github/dcysteine/nesql/exporter/{util → }/render/RenderResult.java
  84. +158 −119 src/main/java/com/github/dcysteine/nesql/exporter/{util → }/render/Renderer.java
  85. +58 −0 src/main/java/com/github/dcysteine/nesql/exporter/util/IdPrefixUtil.java
  86. +43 −21 src/main/java/com/github/dcysteine/nesql/exporter/util/IdUtil.java
  87. +5 −26 src/main/java/com/github/dcysteine/nesql/exporter/util/ItemUtil.java
  88. +13 −0 src/main/java/com/github/dcysteine/nesql/exporter/util/NumberUtil.java
  89. +21 −28 src/main/java/com/github/dcysteine/nesql/exporter/util/ProtoBuilder.java
  90. +41 −0 src/main/java/com/github/dcysteine/nesql/exporter/util/QueryUtil.java
  91. +28 −1 src/main/java/com/github/dcysteine/nesql/exporter/util/StringUtil.java
  92. +70 −0 src/main/java/com/github/dcysteine/nesql/sql/Metadata.java
  93. +4 −0 src/main/java/com/github/dcysteine/nesql/sql/MetadataRepository.java
  94. +38 −0 src/main/java/com/github/dcysteine/nesql/sql/Plugin.java
  95. +0 −12 src/main/java/com/github/dcysteine/nesql/sql/Sql.java
  96. +17 −69 src/main/java/com/github/dcysteine/nesql/sql/base/fluid/Fluid.java
  97. +10 −27 src/main/java/com/github/dcysteine/nesql/sql/base/fluid/FluidGroup.java
  98. +0 −8 src/main/java/com/github/dcysteine/nesql/sql/base/fluid/FluidGroupRepository.java
  99. +5 −11 src/main/java/com/github/dcysteine/nesql/sql/base/fluid/FluidStack.java
  100. +5 −15 src/main/java/com/github/dcysteine/nesql/sql/base/fluid/FluidStackWithProbability.java
  101. +17 −82 src/main/java/com/github/dcysteine/nesql/sql/base/item/Item.java
  102. +18 −38 src/main/java/com/github/dcysteine/nesql/sql/base/item/ItemGroup.java
  103. +0 −13 src/main/java/com/github/dcysteine/nesql/sql/base/item/ItemGroupRepository.java
  104. +0 −9 src/main/java/com/github/dcysteine/nesql/sql/base/item/ItemRepository.java
  105. +5 −11 src/main/java/com/github/dcysteine/nesql/sql/base/item/ItemStack.java
  106. +5 −15 src/main/java/com/github/dcysteine/nesql/sql/base/item/ItemStackWithProbability.java
  107. +0 −47 src/main/java/com/github/dcysteine/nesql/sql/base/item/WildcardItemStack.java
  108. +91 −0 src/main/java/com/github/dcysteine/nesql/sql/base/mob/Mob.java
  109. +4 −9 src/main/java/com/github/dcysteine/nesql/sql/base/recipe/Dimension.java
  110. +44 −23 src/main/java/com/github/dcysteine/nesql/sql/base/recipe/Recipe.java
  111. +0 −32 src/main/java/com/github/dcysteine/nesql/sql/base/recipe/RecipeRepository.java
  112. +30 −50 src/main/java/com/github/dcysteine/nesql/sql/base/recipe/RecipeType.java
  113. +38 −0 src/main/java/com/github/dcysteine/nesql/sql/forge/FluidBlock.java
  114. +6 −0 src/main/java/com/github/dcysteine/nesql/sql/forge/FluidBlockRepository.java
  115. +58 −0 src/main/java/com/github/dcysteine/nesql/sql/forge/FluidContainer.java
  116. +6 −0 src/main/java/com/github/dcysteine/nesql/sql/forge/FluidContainerRepository.java
  117. +36 −0 src/main/java/com/github/dcysteine/nesql/sql/forge/OreDictionary.java
  118. +6 −0 src/main/java/com/github/dcysteine/nesql/sql/forge/OreDictionaryRepository.java
  119. +104 −0 src/main/java/com/github/dcysteine/nesql/sql/gregtech/GregTechRecipe.java
  120. +6 −0 src/main/java/com/github/dcysteine/nesql/sql/gregtech/GregTechRecipeRepository.java
  121. +67 −0 src/main/java/com/github/dcysteine/nesql/sql/mobinfo/MobDrop.java
  122. +19 −0 src/main/java/com/github/dcysteine/nesql/sql/mobinfo/MobDropType.java
  123. +76 −0 src/main/java/com/github/dcysteine/nesql/sql/mobinfo/MobInfo.java
  124. +118 −0 src/main/java/com/github/dcysteine/nesql/sql/quest/Quest.java
  125. +89 −0 src/main/java/com/github/dcysteine/nesql/sql/quest/QuestLine.java
  126. +46 −0 src/main/java/com/github/dcysteine/nesql/sql/quest/QuestLineEntry.java
  127. +6 −0 src/main/java/com/github/dcysteine/nesql/sql/quest/QuestLineRepository.java
  128. +6 −0 src/main/java/com/github/dcysteine/nesql/sql/quest/QuestRepository.java
  129. +70 −0 src/main/java/com/github/dcysteine/nesql/sql/quest/Reward.java
  130. +6 −0 src/main/java/com/github/dcysteine/nesql/sql/quest/RewardRepository.java
  131. +36 −0 src/main/java/com/github/dcysteine/nesql/sql/quest/RewardType.java
  132. +86 −0 src/main/java/com/github/dcysteine/nesql/sql/quest/Task.java
  133. +6 −0 src/main/java/com/github/dcysteine/nesql/sql/quest/TaskRepository.java
  134. +39 −0 src/main/java/com/github/dcysteine/nesql/sql/quest/TaskType.java
  135. +81 −0 src/main/java/com/github/dcysteine/nesql/sql/thaumcraft/Aspect.java
  136. +54 −0 src/main/java/com/github/dcysteine/nesql/sql/thaumcraft/AspectEntry.java
  137. +6 −0 src/main/java/com/github/dcysteine/nesql/sql/thaumcraft/AspectEntryRepository.java
  138. +6 −0 src/main/java/com/github/dcysteine/nesql/sql/thaumcraft/AspectRepository.java
  139. +9 −7 src/main/proto/fluid.proto
  140. +11 −15 src/main/proto/item.proto
  141. +6 −7 src/main/resources/META-INF/persistence.xml
83 changes: 65 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,75 @@
## Not Enough SQL Exporter

The exporter module for NESQL. The server module can be found
[here](https://github.com/D-Cysteine/nesql-server). Still very WIP.
[here](https://github.com/D-Cysteine/nesql-server). Still WIP.

Currently only supports exporting items, fluids, and vanilla crafting and
furnace recipes. The exported database is an
[H2 database](http://www.h2database.com/html/main.html), and can also be queried
directly with the H2 client.
The exported database is an
[HSQLDB database](http://hsqldb.org/), and can also be queried directly with the
HSQLDB client.

Currently supported exported data:

* NEI item list
* Forge ore dictionary
* Forge fluids and fluid container data
* Minecraft crafting table and furnace recipes
* GTNH GT5 recipe maps
* BetterQuesting quests
* Thaumcraft aspects for items

For GTNH, the exported database file is ~600 MB, and the export process takes my
computer ~60 min. There are ~150k exported images, which take up a total of
~90 MB raw; more on disk due to file overhead.

### Instructions

1. Place `NESQL-Exporter-0.2.0.jar` and `NESQL-Exporter-0.2.0-deps.jar` into
your `mods/` folder. `NotEnoughItems` is the only required dependency.
2. Start Minecraft and join a single-player world.
3. If you're using the GTNH version of `NotEnoughItems`, open your inventory and
1. Place `NESQL-Exporter-*.jar` and `NESQL-Exporter-*-deps.jar` into your
`mods/` folder. `NotEnoughItems` is the only required dependency.
2. If you have `bugtorch-1.7.10-*.jar` in your `mods/` folder, move it somewhere
else temporarily, as it conflicts with rendering enchanted items. See below.
3. Start Minecraft and join a world. It is recommended that you use a new
creative, single-player world for this. It is recommended to use a new world
because the exporter uses your current player state, so e.g. if you have
`Spice of Life` installed, tooltips will reflect which foods you have eaten.
4. If you're using the GTNH version of `NotEnoughItems`, open your inventory and
view the NEI item list so that it gets loaded. If you forget to do this, some
items might not be exported.
4. Run the command `/nesql`. You may optionally specify a repository name with
5. If you are exporting `Thaumcraft` data, it is recommended that you acquire
all `Thaumcraft` knowledge, as missing knowledge may cause some data not to
be exported properly. See below for detailed instructions.
6. Run the command `/nesql`. You may optionally specify a repository name with
`/nesql your_repository_name`.
5. Wait for the export process to finish. It can take a very long time depending
on how many mods you have installed. For reference, exporting GTNH can take
10-30 minutes, and the resulting repository is ~3GB, and contains ~83k image
files.
6. Depending on your computer's specs, rendering may end up taking a lot longer
to finish than exporting the database. Check your logs to see how many render
jobs are left.
7. Once the export is finished, you can delete the two mod jars.
7. You can now pause the game, and the export will continue while the game is
paused. Doing this can make things a little bit faster.
8. Wait for the export process to finish. It can take a very long time depending
on how many mods you have installed. The exported database can be found in
`.minecraft/nesql`.
9. Once the export is finished, you can delete the two mod jars. Remember to
replace `bugtorch-1.7.10-*.jar` if you moved it earlier.

You may see Forge complaining about a call to `System.exit()` in the logs.
Please disregard it; this is due to one of Hibernate's libraries containing a
call to `System.exit()`.

### Enchanted item rendering issue

If enchanted items (anything with that purple glint overlay) are showing up as
blank images for you, then there is likely a conflict with the BugTorch mod.

I believe that
[this line](https://github.com/GTNewHorizons/BugTorch/blob/adec7fb0d48f499344cb9f4cf9c2f597b6ddb687/src/main/java/jss/bugtorch/mixins/minecraft/client/renderer/entity/MixinItemRenderer.java)
is causing the problem, but it probably can't be fixed by NESQL Exporter since
it is a mix-in. I recommend just temporarily removing BugTorch from your `mods/`
folder until after export is complete.

### Thaumcraft knowledge

If you are exporting `Thaumcraft` data, some data may not be exported properly
if your character is missing `Thaumcraft` knowledge. It is recommended that you
do the following to acquire all knowledge before exporting:

1. Read the creative Thaumonomicon
2. Run the following commands to purge all warp:
* `/tc warp @p set 0`
* `/tc warp @p set 0 PERM`
* `/tc warp @p set 0 TEMP`
149 changes: 76 additions & 73 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,78 +1,82 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import net.minecraftforge.gradle.user.UserExtension

buildscript {
repositories {
maven("https://maven.minecraftforge.net") { name = "Forge" }
maven("http://jenkins.usrv.eu:8081/nexus/content/groups/public/") { name = "GTNH Maven" }
}
dependencies {
classpath("net.minecraftforge.gradle:ForgeGradle:1.2.13")
classpath("com.google.protobuf:protobuf-gradle-plugin:0.9.1")
}
}

plugins {
idea
java
id("com.github.johnrengelman.shadow") version "6.1.0"
id("com.google.protobuf") version "0.9.1"
id("com.github.johnrengelman.shadow") version "7.1.2"
id("com.google.protobuf") version "0.9.4"
id("com.gtnewhorizons.retrofuturagradle") version "1.3.35"
}

apply(plugin = "forge")

val projectJavaVersion = JavaLanguageVersion.of(8)

idea {
module {
isDownloadJavadoc = true
isDownloadSources = true
}
}

java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}

tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
protobuf {
protoc {
artifact = "com.google.protobuf:protoc:4.26.1"
}
}

val nesqlExporterVersion: String by project
group = "com.github.dcysteine.nesql.exporter"
version = nesqlExporterVersion

val minecraftVersion: String by project
val forgeVersion: String by project
minecraft.version = "$minecraftVersion-$forgeVersion-$minecraftVersion"
minecraft {
mcVersion.set(minecraftVersion)

configure<UserExtension> {
replacements.putAll(
mapOf(
Pair("@version@", version)
)
)
runDir = "run"
injectedTags.put("EXPORTER_VERSION", project.version)
}

val Project.minecraft: UserExtension
get() = extensions.getByName<UserExtension>("minecraft")

val shadowImplementation: Configuration by configurations.creating {
configurations["implementation"].extendsFrom(this)
}

val shadowRuntime: Configuration by configurations.creating {
configurations["runtime"].extendsFrom(this)
configurations["runtimeOnly"].extendsFrom(this)
}

repositories {
maven("https://maven.minecraftforge.net") {
name = "Forge"
metadataSources { artifact() }
maven("https://nexus.gtnewhorizons.com/repository/public/") {
name = "GTNH Maven"
}
maven("https://cursemaven.com") {
name = "Curse Maven"
}

/*
* This repo seems to be broken...
maven("https://maven.ic2.player.to") {
name = "IC2 Maven"
metadataSources {
mavenPom()
artifact()
}
content {
includeGroup("net.industrial-craft")
}
}
*/
maven("https://maven2.ic2.player.to") {
name = "IC2 Maven2"
metadataSources {
mavenPom()
artifact()
}
content {
includeGroup("net.industrial-craft")
}
}

maven("https://gregtech.overminddl1.com") {
content {
includeGroup("thaumcraft")
}
}
maven("http://jenkins.usrv.eu:8081/nexus/content/groups/public/") { name = "GTNH Maven" }
}

dependencies {
@@ -97,37 +101,35 @@ dependencies {
shadowImplementation("org.hibernate:hibernate-core-jakarta:$hibernateVersion")
annotationProcessor("org.hibernate:hibernate-jpamodelgen-jakarta:$hibernateVersion")

val h2Version: String by project
shadowRuntime("com.h2database:h2:$h2Version")
val hsqldbVersion: String by project
shadowRuntime("org.hsqldb:hsqldb:$hsqldbVersion:jdk8")

val postgresqlVersion: String by project
shadowRuntime("org.postgresql:postgresql:$postgresqlVersion")

val neiVersion: String by project
implementation("com.github.GTNewHorizons:NotEnoughItems:$neiVersion:dev")

/*
val mobsInfoVersion: String by project
implementation("com.github.GTNewHorizons:Mobs-Info:$mobsInfoVersion:dev")

val avaritiaVersion: String by project
implementation("com.github.GTNewHorizons:Avaritia:$avaritiaVersion:dev")

val gregTech5Version: String by project
implementation("com.github.GTNewHorizons:GT5-Unofficial:$gregTech5Version:dev") {
isTransitive = false
}
implementation("com.github.GTNewHorizons:GT5-Unofficial:$gregTech5Version:dev")

// The following are compile-time dependencies of GT5.
val enderIoVersion: String by project
val forestryVersion: String by project
val railcraftVersion: String by project
compileOnly("crazypants.enderio:EnderIO-$minecraftVersion:${enderIoVersion}_beta:dev")
compileOnly("net.sengir.forestry:forestry_$minecraftVersion:$forestryVersion:dev")
compileOnly("mods.railcraft:Railcraft_$minecraftVersion:$railcraftVersion:dev")
val forestryVersion: String by project
implementation("com.github.GTNewHorizons:ForestryMC:$forestryVersion:dev") {
isTransitive = false
}
val thaumcraftVersion: String by project
implementation("thaumcraft:Thaumcraft:$minecraftVersion-$thaumcraftVersion:dev")
val thaumcraftNeiVersion: String by project
implementation("curse.maven:thaumcraft-nei-plugin-225095:$thaumcraftNeiVersion")

// The following are compile-time dependencies of Forestry.
val buildCraftVersion: String by project
implementation("com.github.GTNewHorizons:BuildCraft:$buildCraftVersion:dev") {
isTransitive = false
}
*/
val betterQuestingVersion: String by project
implementation("com.github.GTNewHorizons:BetterQuesting:$betterQuestingVersion:dev")
}

tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
}

tasks.withType<Jar> {
@@ -136,13 +138,17 @@ tasks.withType<Jar> {
expand(
mapOf(
"version" to project.version,
"mcversion" to project.minecraft.version
"mcversion" to minecraftVersion,
)
)
}
archiveBaseName.set("NESQL-Exporter")
}

tasks.injectTags.configure {
outputClassName.set("com.github.dcysteine.nesql.Tags")
}

// Unfortunately, we can neither minimize the shadow jar nor relocate it,
// because Hibernate seems to reference classes indirectly and so we would break it.
//
@@ -190,22 +196,19 @@ val sourcesJar by tasks.creating(Jar::class) {
archiveClassifier.set("sources")
}

val devJar by tasks.creating(Jar::class) {
from(sourceSets.main.get().output)
archiveClassifier.set("dev")
}

// Export SQL Schema for NESQL Server.
val sqlJar by tasks.creating(Jar::class) {
from(sourceSets.main.get().output)
from(sourceSets.injectedTags.get().output)
exclude("com/github/dcysteine/nesql/exporter")
exclude("*.proto")
exclude("META-INF")
exclude("mcmod.info")
archiveClassifier.set("sql")
}

artifacts {
archives(depsJar)
archives(sourcesJar)
archives(devJar)
archives(sqlJar)
}
36 changes: 18 additions & 18 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
nesqlExporterVersion=0.2.0
nesqlExporterVersion=0.5.2

minecraftVersion=1.7.10
forgeVersion=10.13.4.1614

autoValueVersion=1.8.2
protoBufferVersion=3.21.12
lombokVersion=1.18.24
autoValueVersion=1.10.4
protoBufferVersion=4.26.1
lombokVersion=1.18.32

# Be careful if you want to update these versions. Later versions may require newer Java than 1.8
springDataVersion=2.7.6
springDataVersion=2.7.7
# 3.1.0 requires newer Java than 1.8
jakartaPersistenceVersion=3.0.0
hibernateVersion=5.6.14.Final
h2Version=2.1.214
# Newer Hibernate requires newer Java than 1.8, or doesn't support Jakarta
hibernateVersion=5.6.15.Final
hsqldbVersion=2.7.2
postgresqlVersion=42.7.3

neiVersion=2.3.6-GTNH
neiVersion=2.5.27-GTNH

# The stuff below this line is currently unused.
gregTech5Version=5.09.41.66
mobsInfoVersion=0.2.6-GTNH

enderIoVersion=2.3.0.429
railcraftVersion=9.12.2.0
# maven("https://cursemaven.com")
# runtime("curse.maven:cofh-core-69162:2388751")
cofhCurseFileId=2388751
avaritiaVersion=1.49

forestryVersion=4.4.14
gregTech5Version=5.09.45.161

buildCraftVersion=7.1.27
thaumcraftVersion=4.2.3.5
thaumcraftNeiVersion=2241913

betterQuestingVersion=3.5.10-GTNH
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
12 changes: 12 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
pluginManagement {
repositories {
maven("https://nexus.gtnewhorizons.com/repository/public/") {
name = "GTNH Maven"
mavenContent {
includeGroup("com.gtnewhorizons")
includeGroupByRegex("com\\.gtnewhorizons\\..+")
}
}
gradlePluginPortal()
}
}
Loading