public static GenLayer getTileableLayer(GenLayer layer) { Class<?> cl = layer.getClass(); if (cl == GenLayerVoronoiZoom.class) { return new VoronoiZoomTileable((GenLayerVoronoiZoom) layer); } if (cl == GenLayerRiverMix.class) { return new RiverMixTileable((GenLayerRiverMix) layer); } if (cl == GenLayerSmooth.class) { return new SmoothTileable((GenLayerSmooth) layer); } if (cl == GenLayerZoom.class) { return new ZoomTileable((GenLayerZoom) layer); } if (cl == GenLayerShore.class) { return new ShoreTileable((GenLayerShore) layer); } if (cl == GenLayerAddIsland.class) { return new AddForestIslandTileable((GenLayerAddIsland) layer); } if (cl == GenLayerRareBiome.class) { return new MutatedPlainsTileable((GenLayerRareBiome) layer); } if (cl == GenLayerHills.class) { return new HillsAndMutatedTileable((GenLayerHills) layer); } if (cl == GenLayerBiomeEdge.class) { return new BiomeEdgeTileable((GenLayerBiomeEdge) layer); } if (cl == GenLayerBiome.class) { return new BiomeTileable((GenLayerBiome) layer); } if (cl == GenLayerDeepOcean.class) { return new DeepOceanTileable((GenLayerDeepOcean) layer); } if (cl == GenLayerAddMushroomIsland.class) { return new AddMushroomIslandTileable((GenLayerAddMushroomIsland) layer); } if (cl == GenLayerEdge.class) { return new EdgeTemperaturesTileable((GenLayerEdge) layer); } if (cl == GenLayerAddSnow.class) { return new AddSnowTileable((GenLayerAddSnow) layer); } if (cl == GenLayerRemoveTooMuchOcean.class) { return new RemoveTooMuchOceanTileable((GenLayerRemoveTooMuchOcean) layer); } if (cl == GenLayerFuzzyZoom.class) { return new FuzzyZoomTileable((GenLayerFuzzyZoom) layer); } if (cl == GenLayerIsland.class) { return new PlainsIslandTileable((GenLayerIsland) layer); } if (cl == GenLayerRiverInit.class) { return new RiverInitTileable((GenLayerRiverInit) layer); } if (cl == GenLayerRiver.class) { return new RiverTileable((GenLayerRiver) layer); } throw new UnknownGenLayerException(layer); }
public RiverTileable(GenLayerRiver originalLayer) { super(0, null); ReflectionUtil.copyNonStaticFieldsByType(GenLayer.class, long.class, originalLayer, this); ReflectionUtil.copyNonStaticFieldsByType(GenLayer.class, GenLayer.class, originalLayer, this); this.parent = GenLayerTileableUtil.getTileableLayer(this.parent); }