Jump to content

Tikaji

Members
  • Posts

    82
  • Joined

  • Last visited

Everything posted by Tikaji

  1. Perfect, sounds great. Thanks for your help!
  2. That worked great! Is there a place where I can learn about all of these different tags and stuff for ForgeGradle? I seem to be getting to a point where I need to understand how it works better.
  3. I would like to use some of the models from one of my mods as the base for another mod. I know that you can specify the location of existing resources in the build.gradle. Is there a way to add a mod dependency as one of those existing resource locations? I would assume you would do that in the data section of the build.gradle?
  4. Disabling Gradle Daemons in gradle.properties seems to have fixed this. I guess this is why they are disabled by default. I would be interested as to why this happens, if you care to share. If not, no big deal. Thanks for your help.
  5. That makes sense. Here's the rest of the log: Gradle Build Failure (github.com) Something that I'm seeing is Could not create task ':_'. I don't know where that task is coming from.
  6. I recently changed to a new Jenkins server and I haven't touched my build.gradle, however, I'm running into an issue where my dependencies are attempting to resolve from incorrect repositories. This worked on my old Jenkins server. Here's the error Could not resolve all files for configuration ':compileClasspath'. > Could not resolve mezz.jei:jei-1.16.2:7.3.2.25_mapped_snapshot_20201028-1.16.3. Required by: project : > Could not resolve mezz.jei:jei-1.16.2:7.3.2.25_mapped_snapshot_20201028-1.16.3. > Could not get resource 'https://maven.tehnut.info/mezz/jei/jei-1.16.2/7.3.2.25_mapped_snapshot_20201028-1.16.3/jei-1.16.2-7.3.2.25_mapped_snapshot_20201028-1.16.3.pom'. > Could not GET 'https://maven.tehnut.info/mezz/jei/jei-1.16.2/7.3.2.25_mapped_snapshot_20201028-1.16.3/jei-1.16.2-7.3.2.25_mapped_snapshot_20201028-1.16.3.pom'. Received status code 403 from server: Forbidden > Could not resolve net.minecraftforge:forge:1.16.4-35.1.13_mapped_snapshot_20201028-1.16.3. Required by: project : > Could not resolve net.minecraftforge:forge:1.16.4-35.1.13_mapped_snapshot_20201028-1.16.3. > Could not get resource 'https://maven.tehnut.info/net/minecraftforge/forge/1.16.4-35.1.13_mapped_snapshot_20201028-1.16.3/forge-1.16.4-35.1.13_mapped_snapshot_20201028-1.16.3.pom'. > Could not GET 'https://maven.tehnut.info/net/minecraftforge/forge/1.16.4-35.1.13_mapped_snapshot_20201028-1.16.3/forge-1.16.4-35.1.13_mapped_snapshot_20201028-1.16.3.pom'. Received status code 403 from server: Forbidden Here's my build.gradle buildscript { repositories { maven { url = 'https://files.minecraftforge.net/maven' } maven { url "https://plugins.gradle.org/m2/" } jcenter() mavenCentral() } dependencies { classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true classpath 'gradle.plugin.com.matthewprenger:CurseGradle:1.1.0' } } apply plugin: 'net.minecraftforge.gradle' // Only edit below this line, the above code adds and enables the necessary things for Forge to be setup. apply plugin: 'idea' apply plugin: 'maven-publish' apply plugin: 'com.matthewprenger.cursegradle' def ENV = System.getenv() def mc_version = "${mc_major}.4" version = "${mc_major}-${exnihilosequentia_version}" group = 'novamachina.exnihilosequentia' // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = 'exnihilosequentia' sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. //Print out JVM information so that we know what version is running. Extreamly useful for people to know when helping you. println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch')) minecraft { // The mappings can be changed at any time, and must be in the following format. // snapshot_YYYYMMDD Snapshot are built nightly. // stable_# Stables are built at the discretion of the MCP team. // Use non-default mappings at your own risk. they may not always work. // Simply re-run your setup task after changing the mappings to update your workspace. mappings channel: 'snapshot', version: "${mcp_version}" // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. // accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') // Default run configurations. // These can be tweaked, removed, or duplicated as needed. runs { client { workingDirectory project.file('run') // Recommended logging data for a userdev environment property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' // Recommended logging level for the console property 'forge.logging.console.level', 'debug' mods { exnihilosequentia { source sourceSets.main } } } server { workingDirectory project.file('run') // Recommended logging data for a userdev environment property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' // Recommended logging level for the console property 'forge.logging.console.level', 'debug' mods { exnihilosequentia { source sourceSets.main } } } data { workingDirectory project.file('run') // Recommended logging data for a userdev environment property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' // Recommended logging level for the console property 'forge.logging.console.level', 'debug' args '--mod', 'exnihilosequentia', '--all', '--output', file('generated/resources/'), '--existing', file('src/main/resources') mods { exnihilosequentia { source sourceSets.main } } } } } dependencies { // Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed // that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied. // The userdev artifact is a special name and will get all sorts of transformations applied to it. minecraft "net.minecraftforge:forge:${mc_version}-${forge_version}" // You may put jars on which you depend on in ./libs or you may define them like so.. // compile "some.group:artifact:version:classifier" // compile "some.group:artifact:version" // Real examples // compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env // compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env // The 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime. // provided 'com.mod-buildcraft:buildcraft:6.0.8:dev' // These dependencies get remapped to your current MCP mappings // deobf 'com.mod-buildcraft:buildcraft:6.0.8:dev' // For more info... // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html // http://www.gradle.org/docs/current/userguide/dependency_management.html compileOnly fg.deobf("mezz.jei:jei-${mc_major}.2:${jei_version}:api") runtimeOnly fg.deobf("mezz.jei:jei-${mc_major}.2:${jei_version}") compileOnly fg.deobf("mcp.mobius.waila:Hwyla:${hwyla_version}_${mc_major}.2:api") runtime fg.deobf("mcp.mobius.waila:Hwyla:${hwyla_version}_${mc_major}.2") compileOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-${mc_major}:${mc_major}-${top_version}:api") runtimeOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-${mc_major}:${mc_major}-${top_version}") } // Example for how to get properties into the manifest for reading by the runtime.. jar { manifest { attributes([ "Specification-Title": "Ex Nihilo: Sequentia", "Specification-Vendor": "NovaMachina", "Specification-Version": "1", // We are version 1 of ourselves "Implementation-Title": project.name, "Implementation-Version": "${version}", "Implementation-Vendor" :"NovaMachina", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) } } // Example configuration to allow publishing using the maven-publish task // This is the preferred method to reobfuscate your jar file jar.finalizedBy('reobfJar') // However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing //publish.dependsOn('reobfJar') repositories { maven { // JEI name = "DVS1 Maven FS" url = "https://dvs1.progwml6.com/files/maven" } maven { // WAILA name = "Mobius Repo" url = "https://maven.tehnut.info" } maven { name = "TTerrag Repo" url = "https://maven.tterrag.com/" } maven { url "https://www.cursemaven.com" } maven { url = 'https://files.minecraftforge.net/maven' } } publishing { publications { mavenJava(MavenPublication) { artifact jar } } repositories { maven { url "file:///${project.projectDir}/mcmodsrepo" } } } if(ENV.CURSEFORGE_KEY) { curseforge { apiKey = ENV.CURSEFORGE_KEY project { id = '400012' releaseType = 'release' mainArtifact jar addGameVersion '1.16' addGameVersion '1.16.1' addGameVersion '1.16.2' addGameVersion '1.16.3' addGameVersion '1.16.4' changelog = file('changelog.md') changelogType = 'markdown' } } } Have I done something wrong to cause the dependencies to resolve incorrectly? I've also tried removing the gradle cache and the issue continues, but it might be different dependencies.
  7. I'm having an issue adding Applied Energistics as a dependency for my mod. I'm getting the following error and I'm not sure what it means: Mixin apply failed appliedenergistics2.mixins.json:structure.BiomeAccessor -> net.minecraft.world.biome.Biome: org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException No candidates were found matching field_242421_g:Ljava/util/Map; in net/minecraft/world/biome/Biome for appliedenergistics2.mixins.json:structure.BiomeAccessor->@Accessor[FIELD_GETTER]::getBiomeStructures()Ljava/util/Map; [INJECT Applicator Phase -> appliedenergistics2.mixins.json:structure.BiomeAccessor -> Apply Accessors -> -> Locate -> appliedenergistics2.mixins.json:structure.BiomeAccessor->@Accessor[FIELD_GETTER]::getBiomeStructures()Ljava/util/Map;] org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException: No candidates were found matching field_242421_g:Ljava/util/Map; in net/minecraft/world/biome/Biome for appliedenergistics2.mixins.json:structure.BiomeAccessor->@Accessor[FIELD_GETTER]::getBiomeStructures()Ljava/util/Map; [INJECT Applicator Phase -> appliedenergistics2.mixins.json:structure.BiomeAccessor -> Apply Accessors -> -> Locate -> appliedenergistics2.mixins.json:structure.BiomeAccessor->@Accessor[FIELD_GETTER]::getBiomeStructures()Ljava/util/Map;] Attached is my latest.log. latest.log
  8. Perfect, thank you so much. I do appreciate the time you took to help me understand. I wish I understood the Minecraft/Forge systems better, and these discussions help that.
  9. Ah ok, so if I understand correctly I could send a packet from the server to the client (presumably during some event) that doesn't send anything and just call the RecipeManager to load in the recipes, just as I've done in my RecipeReloadListener. Also, your phrasing seems to imply that there is a better way. Is this the case? Gotcha, so what I'm doing is not what a reload listener is really meant to do? What it's used for is actually loading data from file?
  10. No worries. I get that things can be confusing. So in my reload listener are calls to my mod registries to set the recipes. In each of those setRecipes method is a log statement. I get log statements on the server side that suggest that the reload listener is being called. However, on the client side I get no such log statements. So, the listener is subscribing to the event and is called on the dedicated server, but not on a client connecting to it. This might be true. I'm not sending any packets across the network because I assumed that it was all being taken care of behind the scenes. This probably comes from not understanding how exactly datapacks are synced to the client. If I'm needing to send a packet from the server to the client to sync my custom recipes, is there a good place to look to for guidance? Again, I'm guessing this comes from not understanding how datapacks work with between the server and the client, but why would I not need a reload listener? What would the purpose of a reload listener be then? Also, thanks for your help. I really appreciate it.
  11. I do create an IRecipe instance in my SerializableRecipe which all of my recipes extend from. Is this not what you're talking about or am I going about it a bit wrong? If it helps, I am using Immersive Engineering as a template for my own recipes. You mentioned that I'm not subscribing to the event bus. Am I not subscribing to the bus here?
  12. I've been working on getting datapack support for my mod and I've run into a bit of an issue when connecting to a dedicated server. I've know that recipes are supposed to be synced from the server to the client, however, I'm noticing that my RecipeReloadListener (which is added to the AddReloadListenerEvent) is not being called. Perhaps I'm misunderstanding how things are supposed to work here with datapacks, but I'm pretty sure that my custom recipes are not being loaded. Here's the RecipeReloadListener. Link the the current branch here.
  13. Perfect, thank you! Once debug.log generated I was able to resolve the issue!
  14. I'm having some issues connecting to a server that has my mod on it. I'm running Forge 34.1.42. Without any mods on the server I'm able to connect to it just fine. However, as soon as I add in my mod to the server I get the following error: According to the logs (found here: https://gist.github.com/NovaMachina/56ff7d8f66ea12074e1db487cbd17fc0), it would appear that there are no errors reported. I'm also not sure how to go about getting a debug log for the client, so I just provided the latest log. Here is the branch that the mod I'm working with is currently built on: https://github.com/NovaMachina/ExNihiloSequentia/tree/1.16-dev. Any help diagnosing this issue would be great!
  15. Ok, so If I am understanding correctly, in order for JEI to load correctly, I need to create recipes that will be available after datapack load. So, best course of action is to implement datapack support. Am I getting that right?
  16. Sorry, I should have stated that the normal crafting recipes work just fine, but custom recipes that I load from a JSON file do not. I had the thought that I should create custom recipe serializes and use a data pack. Would this potentially be the right route to solve my problem?
  17. That would make sense to me and upon further investigation, that seems to be the case. JEI runs and builds it's recipe list, and then the Tag Collections are created. I'm not sure if this is a question that the community here would be able to answer or if its something I should take to JEI, but since it seems to be the case that Tags are initialized after JEI runs, what is the best way to load in those recipes that allow for tags? Or perhaps I'm doing something else entirely wrong. Link to JEI package in my repo if it helps: https://github.com/NovaMachina/ExNihiloSequentia/tree/1.16/src/main/java/com/novamachina/exnihilosequentia/common/compat/jei
  18. I noticed that when I am running a world locally that calling BlockTags.getCollection() will return a filled out collection of tags. However, when I attempt to connect to a server that the same call results in a collection that is empty. This is causing a null pointer exception (because the list is empty) in my mod when I attempt to fill out JEI recipes. I did notice that the BlockTag collection was being filled out on the server however. I figured that these tags would be synced from server to client, but I think I'm wrong on that one. Any suggestions on what I should be doing so that I can access those tags from the server?
  19. That got it to work. I'm surprised that its not in the build.gradle already. Thanks!
  20. I'm attempting to implement data generators and I started simple with implementing a blockstate generator. However, I'm getting an error that states that a texture does not exist. I've done some debugging and tracked it down to the fact that in SimpleReloadableResourceManager my mod isn't included in the namespaceResourceManagers map. Any suggestions on what I might be doing wrong here? Here's the commit that added my data generators: https://github.com/NovaMachina/ExNihiloSequentia/commit/4d789a37d7ad91feaccd0f37e4b095e5c36c9c6d
  21. I have had several people request that certain blocks in my mod have different textures based on the materials they are made out of. For example, a wooden crucible having the oak log texture if it is made out of oak logs, and the spruce log texture if it is made out of spruce logs. If I understand correctly, the current paradigm for Minecraft and Forge is that every block have its own block, blockstate, model, and recipe. This seems like an absolute pain if I want to add the same block with different textures. Is there any other way to do this that I just don't know about? I'm trying to decide if it would be worth my time to add all of these different blocks. Thanks in advanced!
  22. Are there any good resources on using Waila/Hwyla for 1.15.2? I'm trying to add support for it in my mod, but I'm not coming across any good examples or resources on how to use it.
  23. Figured it out. I did some digging and figured out that it was calling the base Item class' canHarvestBlock which has to be true in order for the block drops to be generated. So, my loot modifier works just fine, but the tool has to return that it can harvest the block you're mining.
  24. I used a pickaxe on a coral block and that method is called. So for whatever reason, my custom tool will cause modifyLoot to be called on blocks other than coral blocks.
  25. Dropped a breakpoint in that method (ForgeHooks:1192). Breaking coral blocks does not cause it to break there. Just to check, I broke another block and it did break there.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.