public abstract class StructureComponent
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected StructureBoundingBox |
boundingBox |
protected int |
componentType
The type ID of this component.
|
protected int |
coordBaseMode
switches the Coordinate System base off the Bounding Box
|
Modifier | Constructor and Description |
---|---|
|
StructureComponent() |
protected |
StructureComponent(int par1) |
Modifier and Type | Method and Description |
---|---|
abstract boolean |
addComponentParts(World world,
java.util.Random random,
StructureBoundingBox structureboundingbox)
second Part of Structure generating, this for example places Spiderwebs, Mob Spawners, it closes Mineshafts at
the end, it adds Fences...
|
void |
buildComponent(StructureComponent par1StructureComponent,
java.util.List par2List,
java.util.Random par3Random)
Initiates construction of the Structure Component picked, at the current Location of StructGen
|
protected void |
clearCurrentPositionBlocksUpwards(World par1World,
int par2,
int par3,
int par4,
StructureBoundingBox par5StructureBoundingBox)
Deletes all continuous blocks from selected position upwards.
|
protected void |
fillCurrentPositionBlocksDownwards(World par1World,
int par2,
int par3,
int par4,
int par5,
int par6,
StructureBoundingBox par7StructureBoundingBox)
Overwrites air and liquids from selected position downwards, stops at hitting anything else.
|
protected void |
fillWithAir(World par1World,
StructureBoundingBox par2StructureBoundingBox,
int par3,
int par4,
int par5,
int par6,
int par7,
int par8)
arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int
maxZ)
|
protected void |
fillWithBlocks(World par1World,
StructureBoundingBox par2StructureBoundingBox,
int par3,
int par4,
int par5,
int par6,
int par7,
int par8,
int par9,
int par10,
boolean par11)
arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int
maxZ, int placeBlockId, int replaceBlockId, boolean alwaysreplace)
|
protected void |
fillWithMetadataBlocks(World par1World,
StructureBoundingBox par2StructureBoundingBox,
int par3,
int par4,
int par5,
int par6,
int par7,
int par8,
int par9,
int par10,
int par11,
int par12,
boolean par13)
arguments: (World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int
maxZ, int placeBlockId, int placeBlockMetadata, int replaceBlockId, int replaceBlockMetadata, boolean
alwaysreplace)
|
protected void |
fillWithRandomizedBlocks(World par1World,
StructureBoundingBox par2StructureBoundingBox,
int par3,
int par4,
int par5,
int par6,
int par7,
int par8,
boolean par9,
java.util.Random par10Random,
StructurePieceBlockSelector par11StructurePieceBlockSelector)
arguments: World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int
maxZ, boolean alwaysreplace, Random rand, StructurePieceBlockSelector blockselector
|
static StructureComponent |
findIntersecting(java.util.List par0List,
StructureBoundingBox par1StructureBoundingBox)
Discover if bounding box can fit within the current bounding box object.
|
void |
func_143009_a(World par1World,
NBTTagCompound par2NBTTagCompound) |
NBTTagCompound |
func_143010_b() |
protected abstract void |
func_143011_b(NBTTagCompound nbttagcompound) |
protected abstract void |
func_143012_a(NBTTagCompound nbttagcompound) |
protected boolean |
generateStructureChestContents(World par1World,
StructureBoundingBox par2StructureBoundingBox,
java.util.Random par3Random,
int par4,
int par5,
int par6,
WeightedRandomChestContent[] par7ArrayOfWeightedRandomChestContent,
int par8)
Used to generate chests with items in it.
|
protected boolean |
generateStructureDispenserContents(World par1World,
StructureBoundingBox par2StructureBoundingBox,
java.util.Random par3Random,
int par4,
int par5,
int par6,
int par7,
WeightedRandomChestContent[] par8ArrayOfWeightedRandomChestContent,
int par9)
Used to generate dispenser contents for structures.
|
protected int |
getBlockIdAtCurrentPosition(World par1World,
int par2,
int par3,
int par4,
StructureBoundingBox par5StructureBoundingBox) |
StructureBoundingBox |
getBoundingBox() |
ChunkPosition |
getCenter() |
int |
getComponentType()
Returns the component type ID of this component.
|
protected int |
getMetadataWithOffset(int par1,
int par2)
Returns the direction-shifted metadata for blocks that require orientation, e.g.
|
protected int |
getXWithOffset(int par1,
int par2) |
protected int |
getYWithOffset(int par1) |
protected int |
getZWithOffset(int par1,
int par2) |
protected boolean |
isLiquidInStructureBoundingBox(World par1World,
StructureBoundingBox par2StructureBoundingBox)
checks the entire StructureBoundingBox for Liquids
|
protected void |
placeBlockAtCurrentPosition(World par1World,
int par2,
int par3,
int par4,
int par5,
int par6,
StructureBoundingBox par7StructureBoundingBox)
current Position depends on currently set Coordinates mode, is computed here
|
protected void |
placeDoorAtCurrentPosition(World par1World,
StructureBoundingBox par2StructureBoundingBox,
java.util.Random par3Random,
int par4,
int par5,
int par6,
int par7) |
protected void |
randomlyFillWithBlocks(World par1World,
StructureBoundingBox par2StructureBoundingBox,
java.util.Random par3Random,
float par4,
int par5,
int par6,
int par7,
int par8,
int par9,
int par10,
int par11,
int par12,
boolean par13)
arguments: World worldObj, StructureBoundingBox structBB, Random rand, float randLimit, int minX, int minY, int
minZ, int maxX, int maxY, int maxZ, int olaceBlockId, int replaceBlockId, boolean alwaysreplace
|
protected void |
randomlyPlaceBlock(World par1World,
StructureBoundingBox par2StructureBoundingBox,
java.util.Random par3Random,
float par4,
int par5,
int par6,
int par7,
int par8,
int par9)
Randomly decides if placing or not.
|
protected void |
randomlyRareFillWithBlocks(World par1World,
StructureBoundingBox par2StructureBoundingBox,
int par3,
int par4,
int par5,
int par6,
int par7,
int par8,
int par9,
boolean par10)
arguments: World worldObj, StructureBoundingBox structBB, int minX, int minY, int minZ, int maxX, int maxY, int
maxZ, int placeBlockId, boolean alwaysreplace
|
protected StructureBoundingBox boundingBox
protected int coordBaseMode
protected int componentType
public StructureComponent()
protected StructureComponent(int par1)
public NBTTagCompound func_143010_b()
protected abstract void func_143012_a(NBTTagCompound nbttagcompound)
public void func_143009_a(World par1World, NBTTagCompound par2NBTTagCompound)
protected abstract void func_143011_b(NBTTagCompound nbttagcompound)
public void buildComponent(StructureComponent par1StructureComponent, java.util.List par2List, java.util.Random par3Random)
public abstract boolean addComponentParts(World world, java.util.Random random, StructureBoundingBox structureboundingbox)
public StructureBoundingBox getBoundingBox()
public int getComponentType()
public static StructureComponent findIntersecting(java.util.List par0List, StructureBoundingBox par1StructureBoundingBox)
public ChunkPosition getCenter()
protected boolean isLiquidInStructureBoundingBox(World par1World, StructureBoundingBox par2StructureBoundingBox)
protected int getXWithOffset(int par1, int par2)
protected int getYWithOffset(int par1)
protected int getZWithOffset(int par1, int par2)
protected int getMetadataWithOffset(int par1, int par2)
protected void placeBlockAtCurrentPosition(World par1World, int par2, int par3, int par4, int par5, int par6, StructureBoundingBox par7StructureBoundingBox)
protected int getBlockIdAtCurrentPosition(World par1World, int par2, int par3, int par4, StructureBoundingBox par5StructureBoundingBox)
protected void fillWithAir(World par1World, StructureBoundingBox par2StructureBoundingBox, int par3, int par4, int par5, int par6, int par7, int par8)
protected void fillWithBlocks(World par1World, StructureBoundingBox par2StructureBoundingBox, int par3, int par4, int par5, int par6, int par7, int par8, int par9, int par10, boolean par11)
protected void fillWithMetadataBlocks(World par1World, StructureBoundingBox par2StructureBoundingBox, int par3, int par4, int par5, int par6, int par7, int par8, int par9, int par10, int par11, int par12, boolean par13)
protected void fillWithRandomizedBlocks(World par1World, StructureBoundingBox par2StructureBoundingBox, int par3, int par4, int par5, int par6, int par7, int par8, boolean par9, java.util.Random par10Random, StructurePieceBlockSelector par11StructurePieceBlockSelector)
protected void randomlyFillWithBlocks(World par1World, StructureBoundingBox par2StructureBoundingBox, java.util.Random par3Random, float par4, int par5, int par6, int par7, int par8, int par9, int par10, int par11, int par12, boolean par13)
protected void randomlyPlaceBlock(World par1World, StructureBoundingBox par2StructureBoundingBox, java.util.Random par3Random, float par4, int par5, int par6, int par7, int par8, int par9)
protected void randomlyRareFillWithBlocks(World par1World, StructureBoundingBox par2StructureBoundingBox, int par3, int par4, int par5, int par6, int par7, int par8, int par9, boolean par10)
protected void clearCurrentPositionBlocksUpwards(World par1World, int par2, int par3, int par4, StructureBoundingBox par5StructureBoundingBox)
protected void fillCurrentPositionBlocksDownwards(World par1World, int par2, int par3, int par4, int par5, int par6, StructureBoundingBox par7StructureBoundingBox)
protected boolean generateStructureChestContents(World par1World, StructureBoundingBox par2StructureBoundingBox, java.util.Random par3Random, int par4, int par5, int par6, WeightedRandomChestContent[] par7ArrayOfWeightedRandomChestContent, int par8)
protected boolean generateStructureDispenserContents(World par1World, StructureBoundingBox par2StructureBoundingBox, java.util.Random par3Random, int par4, int par5, int par6, int par7, WeightedRandomChestContent[] par8ArrayOfWeightedRandomChestContent, int par9)
protected void placeDoorAtCurrentPosition(World par1World, StructureBoundingBox par2StructureBoundingBox, java.util.Random par3Random, int par4, int par5, int par6, int par7)