Skip to content

Instantly share code, notes, and snippets.

@JayZX535
Created January 26, 2016 07:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JayZX535/1f9853957db24482f059 to your computer and use it in GitHub Desktop.
Save JayZX535/1f9853957db24482f059 to your computer and use it in GitHub Desktop.
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