-
-
Save JayZX535/1f9853957db24482f059 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.caninemod.caninemod.structures; | |
import static net.minecraftforge.common.ChestGenHooks.DUNGEON_CHEST; | |
import java.util.Arrays; | |
import java.util.List; | |
import java.util.Random; | |
import java.io.PrintStream; | |
import net.minecraft.block.Block; | |
import net.minecraft.init.Blocks; | |
import net.minecraft.init.Items; | |
import net.minecraft.tileentity.TileEntityChest; | |
import net.minecraft.tileentity.TileEntityMobSpawner; | |
import net.minecraft.util.WeightedRandomChestContent; | |
import net.minecraft.world.World; | |
import net.minecraft.world.biome.BiomeGenBase; | |
import net.minecraft.world.gen.feature.WorldGenerator; | |
import net.minecraftforge.common.ChestGenHooks; | |
public class NetherDogDungeon extends WorldGenerator | |
{ | |
public static final WeightedRandomChestContent[] field_111189_a = new WeightedRandomChestContent[] {new WeightedRandomChestContent(Items.blaze_rod, 0, 1, 3, 5), new WeightedRandomChestContent(Items.bone, 0, 1, 8, 50), new WeightedRandomChestContent(Items.saddle, 0, 1, 1, 5), new WeightedRandomChestContent(Items.wheat, 0, 1, 4, 10), new WeightedRandomChestContent(Items.gunpowder, 0, 1, 4, 10), new WeightedRandomChestContent(Items.string, 0, 1, 4, 10), new WeightedRandomChestContent(Items.bucket, 0, 1, 1, 10), new WeightedRandomChestContent(Items.golden_apple, 0, 1, 1, 1), new WeightedRandomChestContent(Items.redstone, 0, 1, 4, 10), new WeightedRandomChestContent(Items.record_13, 0, 1, 1, 10), new WeightedRandomChestContent(Items.record_cat, 0, 1, 1, 10), new WeightedRandomChestContent(Items.name_tag, 0, 1, 1, 10), new WeightedRandomChestContent(Items.golden_horse_armor, 0, 1, 1, 2), new WeightedRandomChestContent(Items.iron_horse_armor, 0, 1, 1, 5), new WeightedRandomChestContent(Items.diamond_horse_armor, 0, 1, 1, 1)}; | |
public boolean generate(World par1World, Random par2Random, int x, int y, int z) | |
{ | |
//NOTE: To generate structures that appear above the ground, you'd want to run a check to see if the block ABOVE the base is air. If not, y=y+1 and so on | |
Random random = new Random(); | |
int Ycoord1 = random.nextInt(256); | |
while (par1World.isAirBlock(x, y, z) && y > 3) | |
{ | |
y = y-1; | |
} | |
if (par1World.isAirBlock(x, y, z) || par1World.getBlock(x, y, z) == Blocks.lava) | |
{ | |
return false; | |
} | |
else | |
{ | |
this.netherDogDungeon(par1World, x, y, z); | |
} | |
return true; | |
} | |
public void netherDogDungeon(World par1World, int x, int y, int z) | |
{ | |
Random random = new Random(); | |
//LAYER 1 (BASE) | |
z = z-3; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.obsidian); | |
par1World.setBlock(x-1, y, z, Blocks.obsidian); | |
par1World.setBlock(x, y, z, Blocks.obsidian); | |
par1World.setBlock(x+1, y, z, Blocks.obsidian); | |
par1World.setBlock(x+2, y, z, Blocks.obsidian); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.obsidian); | |
par1World.setBlock(x-1, y, z, Blocks.obsidian); | |
par1World.setBlock(x, y, z, Blocks.obsidian); | |
par1World.setBlock(x+1, y, z, Blocks.obsidian); | |
par1World.setBlock(x+2, y, z, Blocks.obsidian); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.obsidian); | |
par1World.setBlock(x-1, y, z, Blocks.obsidian); | |
par1World.setBlock(x, y, z, Blocks.obsidian); | |
par1World.setBlock(x+1, y, z, Blocks.obsidian); | |
par1World.setBlock(x+2, y, z, Blocks.obsidian); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.obsidian); | |
par1World.setBlock(x-1, y, z, Blocks.obsidian); | |
par1World.setBlock(x, y, z, Blocks.obsidian); | |
par1World.setBlock(x+1, y, z, Blocks.obsidian); | |
par1World.setBlock(x+2, y, z, Blocks.obsidian); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.obsidian); | |
par1World.setBlock(x-1, y, z, Blocks.obsidian); | |
par1World.setBlock(x, y, z, Blocks.obsidian); | |
par1World.setBlock(x+1, y, z, Blocks.obsidian); | |
par1World.setBlock(x+2, y, z, Blocks.obsidian); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
//LAYER 2 | |
y = y+1; | |
z = z-6; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.air); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.obsidian); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.obsidian); | |
par1World.setBlock(x, y, z, Blocks.chest); | |
TileEntityChest tileentitychest = (TileEntityChest)par1World.getTileEntity(x, y, z); | |
if (tileentitychest != null) | |
{ | |
WeightedRandomChestContent.generateChestContents(random, ChestGenHooks.getItems(DUNGEON_CHEST, random), tileentitychest, ChestGenHooks.getCount(DUNGEON_CHEST, random)); | |
} | |
par1World.setBlock(x+1, y, z, Blocks.obsidian); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.obsidian); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.air); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
//LAYER 3 | |
y = y+1; | |
z = z-6; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.air); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.air); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.mob_spawner); | |
TileEntityMobSpawner tileentitymobspawner = (TileEntityMobSpawner)par1World.getTileEntity(x, y, z); | |
if (tileentitymobspawner != null) | |
{ | |
tileentitymobspawner.func_145881_a().setEntityName("Nether Dog"); | |
} | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.air); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.air); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
//LAYER 4 | |
y = y+1; | |
z = z-6; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.air); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.air); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.air); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.air); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.air); | |
par1World.setBlock(x-1, y, z, Blocks.air); | |
par1World.setBlock(x, y, z, Blocks.air); | |
par1World.setBlock(x+1, y, z, Blocks.air); | |
par1World.setBlock(x+2, y, z, Blocks.air); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
//LAYER 5 | |
y = y+1; | |
z = z-6; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
z = z+1; | |
par1World.setBlock(x-3, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x-1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+1, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+2, y, z, Blocks.nether_brick); | |
par1World.setBlock(x+3, y, z, Blocks.nether_brick); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment