Jump to content

How best to describe Forge to an audience of programmers


kwpugh

Recommended Posts

Hi,

 

I'm looking for some guidance on how best to describe what Forge is and its relationship to Minecraft.   I have been asked to give a "Ted Talk" style presentation at work about how I ( a non-programmer by profession, I work in HR) learned to program (still learning) in Java.   The angle of the talk will be "How I learned Java by playing Minecraft" or something like that.   The point of the talk is to encourage non-programmers in the audience that anyone can get into programming, if you find the right motivation.

 

There will also be people from our technology divisions in the audience, so when I describe Forge, I don't what to be talking out my "behind" and look uninformed.  I'm looking for simple and technically accurate.

 

I also expect to get the question: "How does Forge do that, isn't that illegal?  Aren't they hacking Minecraft?"   So a straightforward answer to that would be help.

 

Thank you in advance and regards.

 

 

Link to comment
Share on other sites

1 hour ago, kwpugh said:

I also expect to get the question: "How does Forge do that, isn't that illegal?  Aren't they hacking Minecraft?"   So a straightforward answer to that would be help.

 


This is 100% allowed by Minecraft as in the eula described:
 

Quote

If you've bought the Game, you may play around with it and modify it. We'd appreciate it if you didn't use this for griefing, though, and remember not to distribute the changed versions of our software. Basically, mods (or plugins, or tools) are cool (you can distribute those), hacked versions of the Game client or server are not (you can't distribute those).

 

Link to comment
Share on other sites

Forge was initially a jar mod (you would directly drop it into the minecraft jar) which is legally questionable.

It was quickly converted to load by wrapping the minecraft launch and modifying specific class as they were loaded (with binary patches that were applied to the raw bytes of the classes as they were loaded from disk). This method is a lot less questionable.

Since 1.13.2 it applies it’s patches once (at install time) to a copy of the minecraft jar which it then launches. This removes the time it took to patch the files each launch making loading faster.

 

Forge is “the unofficial modding API for minecraft”.

 

It provides an abstraction layer on top of Minecraft and many useful API features. It allows many mods to load at the same time in a highly compatible manner.

 

If you’re interested in how Forge applies it’s patches google “delta patching” and “java ASM”/“bytecode modification”.

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

2 hours ago, Cadiboo said:

“java ASM”/“bytecode modification”

Do be careful though, this is a dark abyss that looks back at you.

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.

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

    • So im full into world generation right now, carving shit for a dimension I'm doing. I understand what the CarvingMask is, if i understand correctly, an array of bits that, for each chunk, marks wether the block the bit represent is (1) or isn't (0) carved. But I'm not seeing what uses it can have. Under what circumstances is good to make and keep track of a carvingmask?
    • Yes, it is possible. You should develop the API as a separate project. Wether you want your mod to have the API integrated or have a dependency on it is up to you. I'd say that for testing the API integration, you should have it separated and add it as a dependency to your mod (at least, thats how I've done it in the past).   I recall there is also option to compile different parts of your project on different jars. Either way, thats more of a forgegradle question, if i understand it correctly
    • forge simply won't boot up no matter how many mods are installed, i tried only the 1.20.1 and 1.20.6 versions and the same thing happened: nothing. the only thing that shows up in the logs is this   [14jun.2024 11:07:34.757] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--username, {MINECRAFT_USERNAME}, --version, 1.20.1, --gameDir, C:\Users\{COMPUTER_USERNAME}\AppData\Roaming\com.modrinth.theseus\profiles\s, --assetsDir, C:\Users\{COMPUTER_USERNAME}\AppData\Roaming\com.modrinth.theseus\meta\assets, --assetIndex, 5, --uuid, {MINECRAFT_UUID}, --accessToken, ????????, --clientId, c4502edb-87c6-40cb-b595-64a280cf8906, --xuid, 0, --userType, msa, --versionType, release, --width, 854, --height, 480, --launchTarget, forgeclient, --fml.forgeVersion, 47.2.17, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412] [14jun.2024 11:07:34.765] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.11 by Azul Systems, Inc.; OS Windows 10 arch amd64 version 10.0 [14jun.2024 11:07:34.946] [main/WARN] [net.minecraftforge.fml.loading.FMLConfig/CORE]: Configuration file C:\Users\{COMPUTER_USERNAME}\AppData\Roaming\com.modrinth.theseus\profiles\s\config\fml.toml is not correct. Correcting [14jun.2024 11:07:34.948] [main/INFO] [net.minecraftforge.fml.loading.FMLConfig/CORE]: Incorrect key [earlyWindowSkipGLVersions] was corrected from null to [] [14jun.2024 11:07:34.948] [main/INFO] [net.minecraftforge.fml.loading.FMLConfig/CORE]: Incorrect key [earlyWindowSquir] was corrected from null to false [14jun.2024 11:07:34.970] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: Loading ImmediateWindowProvider fmlearlywindow [14jun.2024 11:07:35.208] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.6   i tried in two different computers and had the same results help.....
    • Get the latest drivers from their website - do not update via system
    • https://paste.ee/p/2yikd  After installing curse forge and running 1.20.1 with 0 mods, only forge 47.3.1, this report is being yielded. Vanilla minecraft is not crashing, and I initially thought it was a mod issue, but it is clear now there is some sort of interaction between forge and my computer occurring.  Here are my computer specs for anyone wondering: TUF gaming A15 ASUS running Windows 11 Processor: AMD Ryzen 7 4800H with Radeon Graphics, fully updated (31.0.12014.6) Graphics: NVIDIA GeFORCE GTX 1660 Ti, fully updated game-ready drivers (32.0.15.5599)  I have been told this an error code related to graphics drivers, but both my integrated and dedicated drivers are entirely up to date. My AMD drivers have no version to roll back to and have never previously encountered this issue. I am seriously confused by this because I have never had an issue with running forge in the past and frequently play modded MC. This issue was exactly the same when I ran 1.19.2 with Forge version 43.2.0,  again with no mods.  Please help!!
  • Topics

×
×
  • Create New...

Important Information

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