There is no point in doing that. If you use MCP you have to create your own hooks. If you want to use forge’s hooks then create a Forge mod. These are the two options that you can try. If you are trying to create a pvp client and want mods like autogg then look at the mod’s source and create the required hooks yourself and implement it. If you create this as a all in one Forge mod you don’t need to create your hooks which saves time.
There is no point in doing that. If you use MCP you have to create your own hooks. If you want to use forge’s hooks then create a Forge mod. These are the two options that you can try. If you are trying to create a pvp client and want mods like autogg then look at the mod’s source and create the required hooks yourself and implement it. If you create this as a all in one Forge mod you don’t need to create your hooks which saves time.
It is/was used to be possible to directly modify the Forge source; I used to use Forge back in 1.6.2 and it was entirely based around MCP, which I used to make my own mods which were entirely compatible with Forge (it was the exact same as "vanilla" MCP except all the sources had Forge patches applied, and modifying any files and running reobfuscate.bat would output those files); for example, this is from the source for the personal version of my "TripleHeightTerrain" mod, which I used with several Forge mods, including one which added world generation, which worked with no issues even though I modified the main worldgen classes (in the examples I show other mods could still override my changes due to the Forge hooks being left in):
// Removed irrelevant code
public void replaceBlocksForBiome(int par1, int par2, byte[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase)
{
ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, par1, par2, par3ArrayOfByte, par4ArrayOfBiomeGenBase);
MinecraftForge.EVENT_BUS.post(event);
if (event.getResult() == Result.DENY) return;
// Variable xz added to reduce repeated calculations
// Changed multiplier from 128 to 256 and added 128 to index to lift terrain up;
// also skips lower 32 layers as they will always be solid stone
int xz = (l * 16 + k) * 256;
for (int y = 127; y >= 32; --y)
{
int l1 = xz + y + 128;
// Fills in lower layers with stone and one layer of bedrock at y = 0
for (int y = 159; y >= 1; --y)
{
par3ArrayOfByte[xz + y] = (byte)Block.stone.blockID;
}
par3ArrayOfByte[xz] = (byte)Block.bedrock.blockID;
}
}
}
// Increased dungeon altitude range from 128 to 256 and count from 8 to 16 (1.7 only increased the range,
// making dungeons twice as rare per volume of ground with the same cave density)
boolean doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, DUNGEON);
for (k1 = 0; doGen && k1 < 16; ++k1)
{
l1 = k + this.rand.nextInt(16) + 8;
i2 = this.rand.nextInt(256);
int j2 = l + this.rand.nextInt(16) + 8;
(new WorldGenDungeons()).generate(this.worldObj, this.rand, l1, i2, j2);
}
That said, I haven't used Forge since then, entirely relying on mods of my own making, in part because I only need to maintain one code base (THT also has a publicly available non-Forge version) and I can be much more flexible in what I change, even changing entire classes and class/method signatures (a definite no-no for mod compatibility), and being far more efficient (all those Forge hooks add a lot of overhead and GC churn. Even Optifine is not as good as it could be due to including Forge and its own hooks, including in critical code paths; it even used to have "vanilla-only" and "Forge" versions due to this).
Hello guys!
I want make a Minecraft Client but i want use mods in client.
So i need use Forge's Sources on MCP Sources.
I dont find 1.16.5 Forge Sources.
Can you help with this..
There is no point in doing that. If you use MCP you have to create your own hooks. If you want to use forge’s hooks then create a Forge mod. These are the two options that you can try. If you are trying to create a pvp client and want mods like autogg then look at the mod’s source and create the required hooks yourself and implement it. If you create this as a all in one Forge mod you don’t need to create your hooks which saves time.
It is/was used to be possible to directly modify the Forge source; I used to use Forge back in 1.6.2 and it was entirely based around MCP, which I used to make my own mods which were entirely compatible with Forge (it was the exact same as "vanilla" MCP except all the sources had Forge patches applied, and modifying any files and running reobfuscate.bat would output those files); for example, this is from the source for the personal version of my "TripleHeightTerrain" mod, which I used with several Forge mods, including one which added world generation, which worked with no issues even though I modified the main worldgen classes (in the examples I show other mods could still override my changes due to the Forge hooks being left in):
That said, I haven't used Forge since then, entirely relying on mods of my own making, in part because I only need to maintain one code base (THT also has a publicly available non-Forge version) and I can be much more flexible in what I change, even changing entire classes and class/method signatures (a definite no-no for mod compatibility), and being far more efficient (all those Forge hooks add a lot of overhead and GC churn. Even Optifine is not as good as it could be due to including Forge and its own hooks, including in critical code paths; it even used to have "vanilla-only" and "Forge" versions due to this).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?