From 6b23024f114b433cbfe87cc110951e34b6f0d47c Mon Sep 17 00:00:00 2001 From: Christian Weeks Date: Mon, 14 May 2012 16:21:05 -0400 Subject: [PATCH] ModLoader worldtype hackery compatibility --- .../minecraft/src/WorldProvider.java.patch | 45 +++++++++++++++++++ .../net/minecraft/src/WorldType.java.patch | 29 +++++++++++- 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 fml/patches/minecraft/net/minecraft/src/WorldProvider.java.patch diff --git a/fml/patches/minecraft/net/minecraft/src/WorldProvider.java.patch b/fml/patches/minecraft/net/minecraft/src/WorldProvider.java.patch new file mode 100644 index 000000000..3b5ff5281 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/src/WorldProvider.java.patch @@ -0,0 +1,45 @@ +--- ../src-base/minecraft/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000 ++++ ../src-work/minecraft/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000 +@@ -32,19 +32,12 @@ + + protected void func_4098_a() + { +- if (this.field_4216_a.func_22144_v().func_46133_t() == WorldType.field_48636_c) +- { +- this.field_4215_b = new WorldChunkManagerHell(BiomeGenBase.field_35485_c, 0.5F, 0.5F); +- } +- else +- { +- this.field_4215_b = new WorldChunkManager(this.field_4216_a); +- } ++ this.field_46067_b.getChunkManager(field_4216_a); + } + + public IChunkProvider func_4094_c() + { +- return (IChunkProvider)(this.field_46067_b == WorldType.field_48636_c ? new ChunkProviderFlat(this.field_4216_a, this.field_4216_a.func_22138_q(), this.field_4216_a.func_22144_v().func_35917_r()) : new ChunkProviderGenerate(this.field_4216_a, this.field_4216_a.func_22138_q(), this.field_4216_a.func_22144_v().func_35917_r())); ++ return this.field_46067_b.getChunkGenerator(field_4216_a); + } + + public boolean func_4102_a(int p_4102_1_, int p_4102_2_) +@@ -157,17 +150,17 @@ + + public int func_46066_g() + { +- return this.field_46067_b == WorldType.field_48636_c ? 4 : 64; ++ return this.field_46067_b.getSeaLevel(field_4216_a); + } + + public boolean func_46064_i() + { +- return this.field_46067_b != WorldType.field_48636_c && !this.field_6478_e; ++ return this.field_46067_b.hasVoidParticles(this.field_6478_e); + } + + public double func_46065_j() + { +- return this.field_46067_b == WorldType.field_48636_c ? 1.0D : 0.03125D; ++ return this.field_46067_b.voidFadeMagnitude(); + } + + public boolean func_48218_b(int p_48218_1_, int p_48218_2_) diff --git a/fml/patches/minecraft/net/minecraft/src/WorldType.java.patch b/fml/patches/minecraft/net/minecraft/src/WorldType.java.patch index 7694510a7..fae3a2c41 100644 --- a/fml/patches/minecraft/net/minecraft/src/WorldType.java.patch +++ b/fml/patches/minecraft/net/minecraft/src/WorldType.java.patch @@ -32,11 +32,36 @@ } public String func_48628_a() -@@ -78,4 +90,20 @@ +@@ -78,4 +90,47 @@ return null; } + ++ public WorldChunkManager getChunkManager(World var1) ++ { ++ return this == field_48636_c ? new WorldChunkManagerHell(BiomeGenBase.field_35485_c, 0.5F, 0.5F) : new WorldChunkManager(var1); ++ } ++ ++ public IChunkProvider getChunkGenerator(World var1) ++ { ++ return this == field_48636_c ? new ChunkProviderFlat(var1, var1.func_22138_q(), var1.func_22144_v().func_35917_r()) : new ChunkProviderGenerate(var1, var1.func_22138_q(), var1.func_22144_v().func_35917_r()); ++ } ++ ++ public int getSeaLevel(World var1) ++ { ++ return this == field_48636_c ? 4 : 64; ++ } ++ ++ public boolean hasVoidParticles(boolean var1) ++ { ++ return this != field_48636_c && !var1; ++ } ++ ++ public double voidFadeMagnitude() ++ { ++ return this == field_48636_c ? 1.0D : 0.03125D; ++ } ++ + public BiomeGenBase[] getBiomesForWorldType() { + return biomesForWorldType; + } @@ -52,4 +77,6 @@ + biomes.remove(biome); + biomesForWorldType=biomes.toArray(new BiomeGenBase[0]); + } ++ ++ }