Posted July 7, 201312 yr So, I'm writing some code to implement something like http://forums.bukkit.org/threads/permissions-faq.25080/ for forge. This should make life much easier than the current creation of fake players and total reliance of mod authors to work well together with mods like Forge Essentials or the PEX port to Forge, instead of the current situation in which mods will oftentimes implement their own pseudo perm system which will be very difficult to modify or deal with from a mod maker and a server owner perspective. Anyways..... I've got the code written that doesn't require modification of base classes, but I can't figure out a way to finish the code off without doing so. I know to do so I should get a clean github copy of forge, get the mcp running and the eclipse directory and all that jazz ready, make my code modifications to the base classes, and then update the patches with the changes I made to base classes, but whenever I try to get a clean version of forge set-up for this purpose (I've already got a 1.6 version of forge for writing mods running fine), I run in to issues. Here are the steps I'm following: 1. Fork MinecraftForge. 2. Download fork using the official OS X GitHub app. 3. Go to terminal and move to the directory the downloaded fork is in and run setup.py The issue seems to be the following error, but below that I've included the full text of the terminal output. Just the error: http://pastebin.com/vUssWvva BUILD FAILED /Users/RobertSBaker/Dropbox/Programming/Minecraft/MinecraftForge/fml/build.xml:263: Execute failed: java.io.IOException: Cannot run program "xz": error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:460) at java.lang.Runtime.exec(Runtime.java:593) at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:862) at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:481) at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:495) at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:631) at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:672) at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:498) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:390) at org.apache.tools.ant.Target.performTasks(Target.java:411) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) at org.apache.tools.ant.Project.executeTarget(Project.java:1368) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1251) at org.apache.tools.ant.Main.runBuild(Main.java:809) at org.apache.tools.ant.Main.startAnt(Main.java:217) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) Caused by: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.<init>(UNIXProcess.java:53) at java.lang.ProcessImpl.start(ProcessImpl.java:91) at java.lang.ProcessBuilder.start(ProcessBuilder.java:453) ... 23 more Full Report: http://pastebin.com/8i7XEjMD
July 8, 201312 yr Easiest way to modify forge files I'd say would be to download the forge src package from files.minecraftforge.net and run the install file. Open the generated eclipse environment and edit away! Once you're ready to make the pull request, push all of your changes to your forked repository.
July 8, 201312 yr That would work for any forge added files, but it wont generate the needed patch files for altered Minecraft classes. Unfortunately I don't seem to be able to setup an environment also. Not sure if things are not yet set up, things have changed, I'm just having bad luck, or just out right forgot how I was sure it was as simple as - download forge from github (MinecraftForge-master.zip) - extract to a folder - download fml from github (FML-master.zip) - put files in /forge/fml/ - run /forge/setup.py but that isn't providing the usual results /forge/mcp/src_base doesn't exist, nor does /forge/mcp/src_work and /forge/eclipse-workspace-dev.zip is never extracted to /forge/eclipse I thought about manually setting it up but ran into a snag while src_work is easy, its the same we use to create mods src_base is another thing, its a decompile with merged client and server, fml patches, but no forge patches. update_patches.py compares src_work and src_base, if you set up the folders wrong the patch files will be an unusable mess.
July 8, 201312 yr Author Switching to windows was a bit weird, but this seems to have ALMOST worked. This is the output I'm getting: http://pastebin.com/N0nhwvny It seems to be MCP throwing an error and while I'm no expert in this regards, I think it's related to a python script building mcp and possibly the fact that the file system attempts.... well lemme show you the final error: recompile: [exec] == MCP 8.03 (data: 8.03, client: 1.6.1, server: 1.6.1) == [exec] FATAL ERROR [exec] Traceback (most recent call last): [exec] File "C:\Minecraft\forge/mcp/runtime/recompile.py", line 29, in re compile [exec] commands = Commands(conffile, verify=True) [exec] File "C:\Minecraft\forge\mcp\runtime\commands.py", line 206, in __ init__ [exec] self.checkjava() [exec] File "C:\Minecraft\forge\mcp\runtime\commands.py", line 853, in ch eckjava [exec] results.extend(whereis('javac.exe', os.getenv("JAVA_HOME"))) [exec] File "C:\Minecraft\forge\mcp\runtime\pylibs\whereis.py", line 14, in whereis [exec] if not os.path.exists(rootdir): [exec] File "genericpath.pyc", line 18, in exists [exec] TypeError: coercing to Unicode: need string or buffer, NoneType foun d BUILD FAILED C:\Minecraft\forge\fml\build.xml:116: exec returned: 1 Total time: 10 minutes 4 seconds failed: 1 Specifically at one point it shows: [exec] Traceback (most recent call last): [exec] File "C:\Minecraft\forge/mcp/runtime/recompile.py", line 29, in re compile [exec] commands = Commands(conffile, verify=True) [exec] File "C:\Minecraft\forge\mcp\runtime\commands.py", line 206, in __ init__ and I noticed that "C:\Minecraft\forge/mcp/runtime/recompile.py" is.... well I'm pretty sure that's not a valid windows file? I'm honestly a bit out of my depth here right now, but if nobody else has any ideas I can try to go in and get it fixed for myself.
July 9, 201312 yr Thankyou diesieben07 Turns out I forgot how I was running setup.py directly rather then running it through fml/python/python_fml.exe
July 10, 201312 yr Author I got it working. I just had fucked up my javapath and JDK (I don't normally do development work on my bootcamp partition....) and so now it all appears to be working. THANK YOU SO MUCH!
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.