Jump to content

Building mods against custom Minecraft Forge version


qqxv

Recommended Posts

I've made a few changes to Forge for 1.7.10 for custom, personal use.

 

The Forge project builds just fine. All the JARs come out properly, including the userdev one. I can play Minecraft with custom-Forge installed and it works fine.

 

(No, I can't use reflection. It would be ten times the effort for a personal project and would create issues between mods that use the extra hook and mods that don't.)

 

But when I try to use the "src" distribution that results, it crashes, saying it can't find Forge 10.14.4.0 in the Forge Maven repository.

 

How do I build other mods against my custom version of Minecraft Forge?

 

Is there any way I can tell Forge-Gradle to look locally?

 

Thanks so much for any help.

Link to comment
Share on other sites

It's an altered version of Forge to support 4096 biomes. I wanted to explore a more varied Minecraft world, so figured while I wouldn't want to support the (kind of hacky) methods I'd use to expand the biome array, I could handle it for personal use only.

 

I've gotten it working okay with base Minecraft, but I can't test the mods built against it as they use a new method and won't compile against unmodified Forge.

 

And yeah, I know this isn't an ideal way of doing it. I know Forge doesn't support 4096 biomes for a reason, and I'm not arguing with that. I wouldn't dream of doing this for anything but personal use, but for personal use I am willing to put up with some odd behavior.

Link to comment
Share on other sites

  • 2 years later...
On 8/26/2015 at 7:18 PM, LexManos said:

You can, but what are you trying to do...

I hate to revive such an old thread... But you mentioned this is possible. Mind explaining how? I've been searching Google and these forums for hours trying to figure this out. There's another thread with @diesieben07 saying its not possible at all.

 

My use case: I've compiled in a new event from a dead PR (AdvancementGrantEvent) without all the extra and irrelevant patches/changes and I would like to use it in one of my mods, but I cant for the life of me figure out how to compile my mod against the custom compiled forge.

 

Any insight would be highly grateful ^_^

Edited by BillyGalbreath
Clarification of dead pr
Link to comment
Share on other sites

Don't ping me, you can, but you shouldn't as thats just causing a fork in the community.

Its actually simple if you look into it But we leave it to the advanced users who can read the build system/workspace and understand what they are doing.

Beyond that, who says that PR is dead? Is it closed?

PRs that are remaining open need more discussion and interest from the community not 'Fuck it ill fork the shit myself and screw trying to keep end users lives straight'

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

Link to comment
Share on other sites

On 9/19/2017 at 3:13 AM, LexManos said:

Don't ping me, you can, but you shouldn't as thats just causing a fork in the community.

Its actually simple if you look into it But we leave it to the advanced users who can read the build system/workspace and understand what they are doing.

Beyond that, who says that PR is dead? Is it closed?

PRs that are remaining open need more discussion and interest from the community not 'Fuck it ill fork the shit myself and screw trying to keep end users lives straight'

Fair enough. Though, I'm not forking it for others, it's for my own server until the event gets PR'd (server side only mod), which I'm sure eventually will just not in its current state.

 

Edit: Finally got a day off work, and I figured it out. Posting solution here for search engines.

 

To make a long story short, I copied the cached gradle directory of the forge version I forked (2489) and named it as build 0. I then cleared the mcp mapping directory in the snapshots directory. I then placed my userdev jar in the cleared directory. In my mod I set my forge to build 0 and ran setupDecompWorkspace and ForgeGradle built all the other jars and md5 files needed.

 

I've attached a screenshot of the directory I cleared, with my userdev jar highlighted. All the other files there ForgeGradle built for me. I hope this helps the next person that finds this thread from searching. ;)

forked_forge.png

Edited by BillyGalbreath
Link to comment
Share on other sites

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.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • You can try other builds of Quark/Zeta
    • Hello all, I recently tried to upgrade my Minecraft mod to version 1.21.3, and I seem to have a problem with the `RenderSystem#setShaderColor` method. Here is how the screen is usually supposed to look like: Here is how it looks at present: To further explain, the note labels atop of the note buttons are colored cyan (here) using `RenderSystem#setShaderColor`. The note buttons and labels get their colors from their native texture - white. This means that even though I set the coloring to apply to the label (top), it is applied to the button (bottom). What I conclude is happening then, in essence, is that this method (at least for my case) does not color the blit after - but rather the blit before..?  This also blocks me from later resetting the shader, as I need to set it back to white before the blitting is done, and not when it's done. So like... what? I've tested this further with other components that require this method, and this preceding-like behavior seems to be pretty consistent for them too.   I should mention that all the snippets I am about to show have all worked in past versions. In my class `ClientUtil`, the following methods are defined: public static void setShaderColor(final Color color, final float alpha) { RenderSystem.setShaderColor( color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f, alpha ); } public static void setShaderColor(final Color color) { setShaderColor(color, 1); } public static void resetShaderColor() { setShaderColor(Color.WHITE); } //... public static RenderType guiRT(final ResourceLocation loc) { return RenderType.guiTextured(loc); } And here is the snippet from `NoteButtonRenderer#renderNote` using it: // "Note" here refers to those symbols in the middle of a note button protected void renderNote(final GuiGraphics gui, final InstrumentThemeLoader themeLoader) { final int noteWidth = noteButton.getWidth()/2, noteHeight = noteButton.getHeight()/2; ClientUtil.setShaderColor((noteButton.isPlaying() && !foreignPlaying) ? themeLoader.notePressed() : themeLoader.noteReleased() ); gui.blit(ClientUtil::guiRT, noteTextureProvider.get(), noteButton.getX() + noteWidth/2, noteButton.getY() + noteHeight/2, 0, 0, noteWidth, noteHeight, noteWidth, noteButton.getHeight()/2 ); ClientUtil.resetShaderColor(); } You may find the full source here. The odd thing is that Minecraft does seem to use this method the regular way I showed, for instance `SkyRenderer#renderSkyDisc` (not sure if I'l allowed to paste it). Could it be that I'm doing something wrong that leads to this issue..? I'm really stumped on this one.  I couldn't really find any change logs or documentation for this rendering API (even in this Fabric blog post), so I'm sorry if this seems obvious or anything.  Either way, any help would be appreciated.
    • This did work. rip Quark Thank you
    • It says Quark Requires zeta. do i just remove Quark? https://mclo.gs/cq799kI
    • It refers to the mod elenaidodge Backup the world and make a test without it
  • Topics

×
×
  • Create New...

Important Information

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