Jump to content

Recommended Posts

Posted

Hi everyone,

 

I haven't done any modding work since Minecraft 1.7.10, so I'm more than a little rusty. Needless to say, I've been asked to update a mod that was created for Minecraft 1.5 by someone else. I've set everything up in Eclipse and made sure that the dependencies are all correct. When I open the mod up, I get hit with 2419 errors that all need fixing. I'm a bit over my head here because the modding environment looks so different from what I'm used to and really don't know where to start. Does anyone have any pointers on how to get this updated? I've attached an example of one of the files that needs fixing.

BiologicalElement.java

Posted

Unfortunately, so much has changed since 1.7 that you're better off rewriting the mod from scratch (create a new workspace so you can copy the old functionality).

Posted

If that code is from 1.7, you need to delete everything and start over. So much has changed even from 1.12 that it's advised to rewrite from scratch (and going from 1.7 to 1.10 was a complete rewrite).

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted (edited)

Wait, so the mod you are trying to update was made for Minecraft 1.5? That is so ancient that there is no chance in hell that you can update the existing code for the current version. Not faster than rewriting the whole thing anyways. As Alpvax and Draco have already suggested, you will be far better off re-doing the whole thing yourself. Being a mod from 1.5 it shouldn't be very difficult (depending on the content of course) to recreate its functionality for 1.14-15 considering the tool-set Forge offers now is more extensive than it was back then.

Edited by Cerandior
Posted

Hi

 

Updating from 1.5 to 1.12 can be done and it's not as hard as you might think because there was a lot less functionality back then.

But most of the code will need to be refactored by hand, search and replace is not going to work for you.  You're also going to have to relearn a bunch of stuff because as the other folks said, many parts of the vanilla code and forge have completely changed the way they do things.

 

If the mod was simple (new block types, item types) then it won't be too difficult.  If it did complicated new functionality or buried deep into vanilla it's going to be a real chore.  At least you will be able to re-use the artwork!

 

This example project might help get you started (available for 1.12.2)

https://github.com/TheGreyGhost/MinecraftByExample/tree/1-12-2-final

 

Unfortunately 1.12 is "no longer supported on this forum" so most folks here will refuse to help you, you will need to get advice from other forums or direct messaging.

 

-TGG

 

Posted

In that case I hope you cope with frustration well :)

 

Might be better to say "sorry bud, too hard" and abort the mission now, unless you're really really invested in resurrecting a zombie... that "one weekend code update" will be six months before you know it...

Posted
3 hours ago, TheGreyGhost said:

that "one weekend code update" will be six months before you know it...

Ugh. Don't remind me. I've spent the better part of that six months not doing anything because of a hard dependency that I'm both unwilling to abandon and unable to get updated. Worldgen is complicated.

  • Sad 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • that happens every time I enter a new dimension.
    • This is the last line before the crash: [ebwizardry]: Synchronising spell emitters for PixelTraveler But I have no idea what this means
    • What in particular? I barely used that mod this time around, and it's never been a problem in the past.
    • Im trying to build my mod using shade since i use the luaj library however i keep getting this error Reason: Task ':reobfJar' uses this output of task ':shadowJar' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. So i try adding reobfJar.dependsOn shadowJar  Could not get unknown property 'reobfJar' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. my gradle file plugins { id 'eclipse' id 'idea' id 'maven-publish' id 'net.minecraftforge.gradle' version '[6.0,6.2)' id 'com.github.johnrengelman.shadow' version '7.1.2' id 'org.spongepowered.mixin' version '0.7.+' } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'org.spongepowered.mixin' apply plugin: 'com.github.johnrengelman.shadow' version = mod_version group = mod_group_id base { archivesName = mod_id } // Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17. java.toolchain.languageVersion = JavaLanguageVersion.of(17) //jarJar.enable() println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}" minecraft { mappings channel: mapping_channel, version: mapping_version copyIdeResources = true runs { configureEach { workingDirectory project.file('run') property 'forge.logging.markers', 'REGISTRIES' property 'forge.logging.console.level', 'debug' arg "-mixin.config=derp.mixin.json" mods { "${mod_id}" { source sourceSets.main } } } client { // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. property 'forge.enabledGameTestNamespaces', mod_id } server { property 'forge.enabledGameTestNamespaces', mod_id args '--nogui' } gameTestServer { property 'forge.enabledGameTestNamespaces', mod_id } data { workingDirectory project.file('run-data') args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') } } } sourceSets.main.resources { srcDir 'src/generated/resources' } repositories { flatDir { dirs './libs' } maven { url = "https://jitpack.io" } } configurations { shade implementation.extendsFrom shade } dependencies { minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" implementation 'org.luaj:luaj-jse-3.0.2' implementation fg.deobf("com.github.Virtuoel:Pehkui:${pehkui_version}") annotationProcessor 'org.spongepowered:mixin:0.8.5:processor' minecraftLibrary 'luaj:luaj-jse:3.0.2' shade 'luaj:luaj-jse:3.0.2' } // Example for how to get properties into the manifest for reading at runtime. tasks.named('jar', Jar).configure { manifest { attributes([ 'Specification-Title' : mod_id, 'Specification-Vendor' : mod_authors, 'Specification-Version' : '1', // We are version 1 of ourselves 'Implementation-Title' : project.name, 'Implementation-Version' : project.jar.archiveVersion, 'Implementation-Vendor' : mod_authors, 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", "TweakOrder" : 0, "MixinConfigs" : "derp.mixin.json" ]) } rename 'mixin.refmap.json', 'derp.mixin-refmap.json' } shadowJar { archiveClassifier = '' configurations = [project.configurations.shade] finalizedBy 'reobfShadowJar' } assemble.dependsOn shadowJar reobf { re shadowJar {} } publishing { publications { mavenJava(MavenPublication) { artifact jar } } repositories { maven { url "file://${project.projectDir}/mcmodsrepo" } } } my entire project:https://github.com/kevin051606/DERP-Mod/tree/Derp-1.0-1.20
  • Topics

×
×
  • Create New...

Important Information

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