Jump to content

REDX36

Forge Modder
  • Posts

    36
  • Joined

  • Last visited

Everything posted by REDX36

  1. I wrote this tutorial on making an ANT build script for Forge/MCP: This tutorial is about creating an ANT build script to easily produce .zip's of your mod. Step 1: Install ANT. On Mac/Linux, it should be already installed, but on Windows, you need to download it from http://ant.apache.org/bindownload.cgi. Step 2: Create a file build.xml in your Forge workspace (/forge, not /forge/mcp). If you have your code in a Github repository elsewhere in the hierarchy, put it there, I will tell you how to make it work later. Step 3: Fill build.xml with these contents, and edit anywhere that has {STUFF}. <?xml version="1.0" encoding="UTF-8" ?> <project name="{NAME}" basedir="{Root direcotry, use ../'s to move up to the Forge workspace if you use a Github repository that is elsewhere.}" default="build"> <target name="build"> <delete dir="build" /> <delete dir="mcp/reobf" /> <mkdir dir="build" /> <exec executable="recompile.bat" dir="mcp" resolveexecutable="true" osfamily="windows"></exec> <exec executable="reobfuscate.bat" dir="mcp" resolveexecutable="true" osfamily="windows"></exec> <exec executable="recompile.sh" dir="mcp" resolveexecutable="true" osfamily="unix"></exec> <exec executable="reobfuscate.sh" dir="mcp" resolveexecutable="true" osfamily="unix"></exec> <copy todir="build"> <fileset dir="mcp/reobf/minecraft" excludes=".git/**" /> <fileset dir="mcp/src/minecraft/{PATH TO PACKAGE}"> <exclude name=".git/**"/> <exclude name="**/*.java"/> <exclude name="**/*.xml"/> </fileset> </copy> <zip destfile="build/{NAME OF ZIP}.zip"> <fileset dir="build" /> </zip> </target> </project> Step 4: To run this script, run the command 'ant' in the directory it is located.
  2. I never said it was only on the island, its only in about a chunks area on the island, now here else on the island.
  3. I have code that DOES generate the ore (In the END), but only in one spot in the island. Nowhere else. Code: package redx36.enderite; import java.util.Random; import net.minecraft.src.BiomeGenBase; import net.minecraft.src.IChunkProvider; import net.minecraft.src.World; import cpw.mods.fml.common.IWorldGenerator; public class EnderiteWorldGenerator implements IWorldGenerator { @Override public void generate (final Random random, final int X, final int Z, final World world, final IChunkProvider chunkGenerator, final IChunkProvider chunkProvider) { if (world.getBiomeGenForCoords(X, Z).biomeName.equalsIgnoreCase(BiomeGenBase.sky.biomeName)) { for (int i = 0; i < 10; i++) { new WorldGenEndMinable(Enderite.enderiteOre.blockID, 4).generate(world, random, X + random.nextInt(16), random.nextInt(128), Z + random.nextInt(16)); } } } } WorldGenEndMineable is exactly the same as WorldGenMineable except is uses end stone instead of stone as the replaceable block. And the finals you see dont change code function at all.
  4. It works! Just have to ballence out the vein size, and make sure that the ender dragon doesnt destroy the ore.
  5. As a Java programmer I know that the final keyword in those places changes nothing; I have Eclipse place them automatically. And it just doesnt place the ore, I added system.outs to output the xyz coords whenever the generate method was called, and they came up, but no ores or veins showed up at those coords, in the overworld nor the end.
  6. It did not work :[ This is my code: package redx36.enderite; import java.util.Random; import net.minecraft.src.IChunkProvider; import net.minecraft.src.World; import net.minecraft.src.WorldGenMinable; import cpw.mods.fml.common.IWorldGenerator; public class EnderiteWorldGenerator implements IWorldGenerator { @Override public void generate (final Random random, final int chunkX, final int chunkZ, final World world, final IChunkProvider chunkGenerator, final IChunkProvider chunkProvider) { if (world.provider.dimensionId == 1) { for (int i = 0; i < 30; i++) { final int randPosX = chunkX + random.nextInt(16); final int randPosY = random.nextInt(64); final int randPosZ = chunkZ + random.nextInt(16); new WorldGenMinable(Enderite.enderiteOre.blockID, 10).generate(world, random, randPosX, randPosY, randPosZ); } } } }
  7. Thanks, both, I can definetly check how to do that, but is there no WorldGenEndstone or anything?
  8. Thats basically it, I have no idea how. I am also not at all familiar with world generation in the first place.
  9. Perhaps both will be compatible? And if both are present, it will use the @Mod instead.
  10. Is it compatible with 1.3.1 and MCP 7.0?
  11. I saw that forge was updated, silently. Should I use this latest build or wait until it is recommended?
  12. This is only a pre-release, full version coming out soon. (http://mcp.ocean-labs.de/index.php/MCP_Releases#MCP_7.0_prerelease)
  13. Unfortunately it doesn't fly too high in reddit: Users practically worship Dinnerbone.
  14. So Dinnerbone is starting his work on the official API ( ), what does this mean for Forge? Alot of forge modders have shown resentment over a whole new system, how do you feel? Will you keep using Forge? Fight to make the official API like Forge?
  15. Im not quite sure you understand what he's doing...
  16. I have not heard of these 'stupid issues', you can also deselect the features when installing other mods, and why would you need to disable it in-game? MCPatcher works exactly like it supposed to, its Optifine that's buggy and crappy? And besides, the method of functioning doesn't matter, its the features that count. I'm surprised Forge hasn't already functioned by injection already, it makes for easier updating regardless of Minecraft version. When was the last time you actually used MCPatcher? It might have greatly improved since then. If anything, Optifine causes tons of issues; its a whole game rewrite.
  17. Whoa, I was not looking for a fight, nor was I implying you are trying to take everything over. I only wanted to express my concerns about Forge's HD texture pack support. No harm intended. I must concur, this isn't about 'taking over the world', neither were we looking for a fight; it's just saving these features in case users don't feel like installing something else, especially since you just included a rudimentary HD fix. These are crucial for texture packs, having them go away takes away the pizazz they need. Of course, 'optifine', WE know to install it, but other people might not want to. There is no reason (well if there is say it) you can the come 'the ultimate API', it's better for everybody. And about byte code injection, it is the epitome of user-friendliness. You wouldn't even need to absorb any of MCPatcher's texture related features, just the neat patcher software. It wouldn't even be part of forge, it would only carry it. Here is what I meant in absolute depth: A user, told by a mod that they need Minecraft Forge, goes to the main download page. (Note: Lets say this is by 1.3, SSP and SMP are the same.) He/She hits download button, gets an .exe or .jar if on Mac or Linux (Note: This is NOT Forge, only SLIGHTLY modified MCPatcher code). This .exe would come with Forge, but on run-time can check if it has the latest version. Functionality would be identical to the existing patcher, except you wouldn't be able to uncheck Forge from the mod list, it would work on client or server jars, and mods editing base classes would get a warning, editing Forge classes would get an even bigger warning, and mods not editing any classes would just get copied into the mods folder. This would severely increase user friendliness, making Forge the epitome of easiness. I know, this argument is probably getting annoying for you now, but could we get other people into the discussion, see what they think? Perhaps you could message Eloraam and ask her to come and post her opinion? I message Misa, the maker of one of the most popular texture packs ever, and Kahr, maker of MCPatcher. I would like to see a colorful discussion instead of just 2 people arguing. And one last thing, Optifine is not the answer. It only copies code from MCPatcher and claims as being better and original, even though it is half-heatedly put together and sloppy, many of the features containing many bugs. Kahr (maker of MCPatcher) works directly with texture pack artist to get useful and creative features into his mod. Combining it / working with him would really make a difference concerning textures, Optifine doesn't actually create.
  18. Kahr is the one who creates all these features, Optifine just copies them over. It could be. There is much potential. You already have a basic HD fix. And the patcher interface will make it alot more user friendly.
  19. Why don't you like? MCPatcher has some very nice features that are crucial to texture packs, for instance, the upcoming custom sky. EDIT: And about optifine, the idea is to have people install less and get more, this will make it easier to take ALL these features together if Mojang will ever incorporate it.
  20. Let's face it; Forge is destined to become something great, and big. We already 'absorbed' Modloader/(MP). I suggest talking with the makers of MCPatcher and Optifine to include their features in Forge, which are, in all: HD Fixes up to 512x HD Fonts Random Mobs Connected Textures Random Textures Custom Colors Custom Sky Major performance fixes Patcher interface A lot of these fixes are essential to texture pack makers, especially one I work for, Soartex Fanver (soartex.net). Including these would majorly help them have special feature in the packs without having user install 'ANOTHER' thing. Also, so much work has been put into implementing these features, just adding a simple HD Fix would make all their work obsolete. The MCPatcher interface could be combined with Forge to make an easy install interface, which could even detect if the jar was a server jar or client, and install the appropriate Forge version (This could make for only one file to download on the user part). Another feature I thought of was detecting if mods modified base classes, warn the user if it did, and just copy the zip in the mods folder if it didn't. It could even fetch the newest version of Forge for a one-time download, and update the install program itself. Detail of patcher features: Install and update Forge, whether for client or server, always gets newest version of Forge if connected to the internet. (Texture pack and optimization stuff will be included in Forge) ((Forge will be an un-uncheck-able item on the list)) Install other mods, same way as before, except that it will warn you if the mod modifies base classes, and only copy the zip if it doesn't. Update itself. This would be a major break-thru for Forge, the incorporation of these wildly used mods would be easier on the user part (One thing to download, and once. Easy install interface for Forge and other mods), the modder part, giving him access to the MCPatcher/Optifine code in the forge source package, and the texture pack maker's part, making it easy to use these special features.
  21. I looked in DimensionManager, is the registerDimension() method the only one I need to use?
  22. Could you rewrite it? That would be awesome. I am arguing with my friend over whether or not to use the Dimension API, but I want to stay all-forge.
  23. Hi everyone, I am making a mod to add a basic sky dimension, using only forge. Could someone walk me through from scratch how to start? I could never find a decent explanation, documentation, or tutorial.
×
×
  • Create New...

Important Information

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