Jump to content

Recommended Posts

Posted

It may not be the a very problematic but as far as I can see the .jars (Referenced libraries) are kept in the .gradle folder in the users account. I don't really like this method because I hate spreaded files which I have to search for if I want to clear the installation manually or something. It's just personal preference and maybe isn't that hard to archieve if you move the libraries into the same folder as gradlew or the assets or whatever. Also the foldername "cache" chosen by gradle could be misleading as you are normally allowed to delete cache without worries about your project what so ever.

Posted

I have used a custom development environment until now, following Pahimar's tutorials, but I am unsure how to set that up with the new Gradle system.If somebody managed to get it working please PM me.

 

Well that was completely unrelated to the topic.

 

To get on topic, I managed to install Forge using the new Gradle system by I couldn't find the usual MC classes.Then I downloaded the MCP beta version for 1.7.2 but I am not sure how to get the decompiled classes in the Forge workspace.I know I have to use MCP to decompile and deobfuscate MC, but what do I need to do after that?

Posted

It may not be the a very problematic but as far as I can see the .jars (Referenced libraries) are kept in the .gradle folder in the users account. I don't really like this method because I hate spreaded files which I have to search for if I want to clear the installation manually or something. It's just personal preference and maybe isn't that hard to archieve if you move the libraries into the same folder as gradlew or the assets or whatever. Also the foldername "cache" chosen by gradle could be misleading as you are normally allowed to delete cache without worries about your project what so ever.

You can delete the cache folder without issue, you just have to rebuild it by running setup again, just like any cache folder.

As for the location, user home was decided as a good place so that people who have multiple projects could benifit from caching system and not having to do things multiple times. If you don't like it, you can set the Gradle User home to whatever you want.

 

@decebaldecebal:

'Pahimars setup' is just A normal Multi-Project setup. It's all done internally by Gradle and Minecraft/Forge are referenced as a library. If you want to see the classes for it just look in your referenced libraries.

 

Seriously guys... This is pretty standard stuff....

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

I can't seem to get the workspace to work.

 

I opened the command prompt in the forge folder, typed the first command as shown on the instructions page, waited for it to finish, then typed "gradlew.bat eclipse" and waited for it to finish. I used the folder containing the forge folder as a workspace. I copied the name of the extracted forge folder and pasted it as a project name. Eclipse notified me that it would automatically configure the project from existing source. I assume it detected the .project file, because I saw all of the referenced libraries, but there are no run configurations, and I can't figure out which class to run and with what program and VM arguments.

 

What am I doing wrong? Or is something broken?

 

Read carefully how to setup your workspace :

http://www.minecraftforge.net/forum/index.php/topic,14048.0.html

 

Thanks, I was following the instructions on the wiki.

Posted

I hope Forge 1.7 is faster on my server, because my 1.6 server are very slow since the external minecraft forge jar came to the server and before the server was a lot faster (and the server has enough workspace (7GB Ram), but my internet isn't the fastest....) I'm really miss the old  forge universal zip, because this was faster for me on a server or an local server and now its so slow. (time delay from 2 to 5 seconds and before only if the map must be generated or loaded). I hope that one day they will come a version out, that is faster then now and that this version is for 1.7.

Developer of Primeval Forest.

Posted

so does this 'curse' change, mean that forge users will eventually have to pay to use forge? curse usually means hacked accounts, and pay for anything useful.

Posted

A very experienced coder will be able to recognize methods and variables of the code parts he uses habitually, but you better be patient and zen!

 

I probably won't try to update to 1.7.x (and 1.5.2) until both my current mod is in a usable state in 1.6.4 and some 1.7.x version of forge is mature enough to have non-obfuscated names for the functions I'm using.  Fortunately, I used wrapper classes so I only have to interact with Minecraft in a few lines of code.  Unfortunately, I  need be able reference and place lot of blocks in whatever new way is available.  Still very curious what the changes are like, especially this stuff about no IDs.

Developer of Doomlike Dungeons.

Posted

i don't understand here...is forge 1.7.4 released yet????

can anyone tell me? cuz i cant find the link or anything

 

there is no official release for 1.7.* there are dev builds available to modders, but nothing stable for general use quite yet.

Posted

Again as I said before, 1.7.2 is stable enough for people to use, it will not be RBed until King does Fluids. However for everything else you as a end user and modder can get to work.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

As the mojang blog post said, the major changes: IDs go bye bye, Networking System switched to netty, Sound system overhaul.

So yes when it comes to packets, things will change.

 

WHOAH WHOAH WHOAH!!!!

you mean to say that the ID system will be obsolete and minecraft can now have over 2 billion blocks & ITEMS?

eg you'd register

minecraftmod:Modded_block  ?

:-X

Also, I should have you know that you are reading my signature.

Posted

No, the limitation of 4096 is still in place as numerical ids are still used in storage/network traffic.

What it means is that the end user won't ever get any id conflicts anymore, and when you connect to servers/load old worlds it'll automatically load everything properly.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

Does that mean that config files for mods are individually stored per-world (and per-server in the case of multiplayer)?

 

To the funny mod that deleted my post and banned me for a few days: Had you been less hasty to hit the delete+ban button and read my post again, you'd have realised that I wasn't remotely begging for a 1.8 version, which of course doesn't even exist. But let's assume it was an honest mistake and that my previous post was poorly worded, so let me rephrase that.

 

My question was if the massive number of changes introduced by the 1.7 version contain a measurable improvement in the overall quality of the code, in the sense of how much it eases maintenance or future changes. Changes such as those introduced by new versions of Minecraft, but mentioning 1.8 here was an example in my original post, and by no means a "plz i can haz a 1.8 version kthxbai". Or any other changes, but those were the most obvious and the first that came to mind.

Posted

Lex will make a thread for Forge 10 (MC 1.7) when it goes to RB.

 

For now. KEEP ALL THE HELP REQUESTS OUT OF THIS POST. I WILL NOT HESITATE TO DELETE ANY AND ALL HELP POSTS. KEEP IT TO 1.7 UPDATE DISCUSSION.

 

Modders, for instructions on:

Setting up gradle: http://www.minecraftforge.net/forum/index.php/board,118.0.html

Porting a mod to 1.7: http://www.minecraftforge.net/forum/index.php/board,73.0.html

 

Bugs/end user help requests: http://www.minecraftforge.net/forum/index.php/board,15.0.html

 

 

Read the EAQ before posting! OR ELSE!

 

This isn't building better software, its trying to grab a place in the commit list of a highly visible github project.

 

www.forgeessentials.com

 

Don't PM me, I don't check this account unless I have to.

Posted

which means that we can sync data when you connect to the server

[...]

meaning that server/client id conflicts should be gone! {after we implement it}

 

I'm assuming that even with this implemented, we're still gonna have that 4k block limit, is that correct? I've had ideas in the past for my mods which I've avoided as I don't want to go mad and overuse IDs, that's the only reason for asking :P

You can theoretically add as many blocks as you want while only taking up a single block id, limited only by the size of the metadata value. (I think IC2 does this)

Posted

Wanted to update you guys again. With recent news, the task of updating the Fluids has switched back to me.

However, at this exact moment in time I am dealing some personal issues, not the least of which is organizing a new place to live.

I will be working on the fluid system and hopefully getting it pushed out this week.

Everything else critical to a RB of 1.7 is done. So for all intents, Forge 1.7 IS stable! We just can't push out a RB until the fluids are back.

As for end users, play away! If there are bugs, report them and we shall squash them!

 

The S2S system that I've been wanting to roll out is coming along nicely thanks to Abrar's hard work.

But ya, I need to sit down and dedicate time to Forge, but as I said, real life things are getting in the way.

Combine it with the drama that has been unfolding lately and I find it less of a priority.. But enough of that...

 

Just wanted to give a little heads up on that.

One last thing: https://crowdin.net/project/minecraft-forge

I've officially started a Crowdin for Forge, I will be expanding it to FML, as well as expanding the localization of the things we do in Forge/FML {which admitadly isn't much but we do have a few strings} So if you want to help out go there.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

Glad to hear we're close to an update, however take as long as you need to. Especially with 1.8 being so close (well, at least snapshots being released), I'm half expecting some mods to miss 1.7 entirely! (You're not the only one sorting out a new place to live either! Good luck with that also.)

Posted

A quick question, With an RB coming soon does that mean that there is a RB for MCP also? I have been looking through some of the latest builds of Forge for 1.7 and I downloaded the Beta MCP but didn't know how to integrate it so had to stare at all the old funcs style again.

Posted

You can't integrate the mappings from MCP into the Forge world, you've never been able to.

However we are hard at working making that into a possibility.

Probably won't be before the RB. But should be for the 1.7.4 release, See here: https://github.com/AbrarSyed/Srg2Source

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

So Srg2Source will effectively decrease the amount of time and effort it takes to go from MCP release to Forge/Bukkit/etc... release in future versions? Will it have any impact on the initial effort of updating MCP?

Posted

I think the long delay for the recent MCP update is showing that there has to be a better way than relying on a few overworked folks at MCP to do all the decompiling and deobfuscation themselves.  This is something that could be crowdsourced relatively easily with the right tools because it is intrinsically parallel and verifying the "correct answer" is easy (i.e. the decompiled code compiles back to the original bytecode properly - although this might be compiler dependent?) 

 

I also think that, in order to properly realise the advantages of Srg2Source, there needs to be a much better repository than the chatbot currently available.  Perhaps something that lets you download a class file, "refactor" the names you're interested in using your IDE, then upload back up again to the server (so it can diff your source and extract the names you replaced).

 

A bit of cunning pattern matching would probably allow automatic matching of most of the names, perhaps with a manual sanity check if the signature has changed. 

 

I don't have most of the skills I'd need to even set up a proof of concept for this, but I'm seriously considering bringing myself up to speed.  (Only problem is that's going to take a long time).

 

-TGG

 

 

Guest
This topic is now closed to further replies.

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.