001 package net.minecraft.src; 002 003 public class GenLayerRiverMix extends GenLayer 004 { 005 private GenLayer biomePatternGeneratorChain; 006 private GenLayer riverPatternGeneratorChain; 007 008 public GenLayerRiverMix(long par1, GenLayer par3GenLayer, GenLayer par4GenLayer) 009 { 010 super(par1); 011 this.biomePatternGeneratorChain = par3GenLayer; 012 this.riverPatternGeneratorChain = par4GenLayer; 013 } 014 015 /** 016 * Initialize layer's local worldGenSeed based on its own baseSeed and the world's global seed (passed in as an 017 * argument). 018 */ 019 public void initWorldGenSeed(long par1) 020 { 021 this.biomePatternGeneratorChain.initWorldGenSeed(par1); 022 this.riverPatternGeneratorChain.initWorldGenSeed(par1); 023 super.initWorldGenSeed(par1); 024 } 025 026 /** 027 * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall 028 * amounts, or biomeList[] indices based on the particular GenLayer subclass. 029 */ 030 public int[] getInts(int par1, int par2, int par3, int par4) 031 { 032 int[] var5 = this.biomePatternGeneratorChain.getInts(par1, par2, par3, par4); 033 int[] var6 = this.riverPatternGeneratorChain.getInts(par1, par2, par3, par4); 034 int[] var7 = IntCache.getIntCache(par3 * par4); 035 036 for (int var8 = 0; var8 < par3 * par4; ++var8) 037 { 038 if (var5[var8] == BiomeGenBase.ocean.biomeID) 039 { 040 var7[var8] = var5[var8]; 041 } 042 else if (var6[var8] >= 0) 043 { 044 if (var5[var8] == BiomeGenBase.icePlains.biomeID) 045 { 046 var7[var8] = BiomeGenBase.frozenRiver.biomeID; 047 } 048 else if (var5[var8] != BiomeGenBase.mushroomIsland.biomeID && var5[var8] != BiomeGenBase.mushroomIslandShore.biomeID) 049 { 050 var7[var8] = var6[var8]; 051 } 052 else 053 { 054 var7[var8] = BiomeGenBase.mushroomIslandShore.biomeID; 055 } 056 } 057 else 058 { 059 var7[var8] = var5[var8]; 060 } 061 } 062 063 return var7; 064 } 065 }