public class Structure extends AbstractObject implements Bo2ObjectProvider
WPObject.BlockVisitor
Modifier and Type | Field and Description |
---|---|
static org.pepsoft.util.AttributeKey<java.lang.Boolean> |
ATTRIBUTE_IGNORE_AIR |
ATTRIBUTE_COLLISION_MODE, ATTRIBUTE_CONNECT_BLOCKS, ATTRIBUTE_EXTEND_FOUNDATION, ATTRIBUTE_FILE, ATTRIBUTE_FREQUENCY, ATTRIBUTE_HEIGHT_MODE, ATTRIBUTE_LEAF_DECAY_MODE, ATTRIBUTE_MANAGE_WATERLOGGED, ATTRIBUTE_NEEDS_FOUNDATION, ATTRIBUTE_OFFSET, ATTRIBUTE_RANDOM_MIRRORING_ONLY, ATTRIBUTE_RANDOM_ROTATION, ATTRIBUTE_RANDOM_ROTATION_ONLY, ATTRIBUTE_REPLACE_WITH_AIR, ATTRIBUTE_REPLACE_WITH_AIR_MATERIAL, ATTRIBUTE_SPAWN_IN_LAVA, ATTRIBUTE_SPAWN_IN_WATER, ATTRIBUTE_SPAWN_ON_LAND, ATTRIBUTE_SPAWN_ON_LAVA, ATTRIBUTE_SPAWN_ON_WATER, ATTRIBUTE_SPAWN_ON_WATER_NO_COLLIDE, ATTRIBUTE_UNDERGROUND_MODE, ATTRIBUTE_VERTICAL_OFFSET, ATTRIBUTE_Y_VARIATION, COLLISION_MODE_ALL, COLLISION_MODE_NONE, COLLISION_MODE_SOLID, HEIGHT_MODE_FIXED, HEIGHT_MODE_TERRAIN, LEAF_DECAY_NO_CHANGE, LEAF_DECAY_OFF, LEAF_DECAY_ON
Modifier and Type | Method and Description |
---|---|
Structure |
clone()
Create a clone of the object.
|
java.util.List<WPObject> |
getAllObjects()
Obtain a list of all different
WPObject s which this
object provider can return. |
java.util.Map<java.lang.String,java.io.Serializable> |
getAttributes()
Get a live view of the object metadata.
|
javax.vecmath.Point3i |
getDimensions()
Get the dimensions of the object.
|
java.util.List<Entity> |
getEntities()
Get any entities contained in the object.
|
boolean |
getMask(int x,
int y,
int z)
Determine whether a block should be placed at the specified relative coordinates.
|
Material |
getMaterial(int x,
int y,
int z)
Get the material to place at the specified relative coordinates.
|
java.lang.String |
getName()
Get the name of this object provider (if it represents one object this
may be the name of the object).
|
WPObject |
getObject()
Obtain one
WPObject , which may be the same one every time, or a
different one from a random collection or sequence every time. |
java.util.List<TileEntity> |
getTileEntities()
Get any tile entities contained in the object.
|
static Structure |
load(java.io.File file) |
static Structure |
load(java.lang.String objectName,
java.io.InputStream inputStream) |
<T extends java.io.Serializable> |
setAttribute(org.pepsoft.util.AttributeKey<T> key,
T value)
Convenience method for setting the value of an attribute stored in the
external metadata, if any.
|
void |
setAttributes(java.util.Map<java.lang.String,java.io.Serializable> attributes)
Store external metadata about the object.
|
void |
setName(java.lang.String name)
Set the name of the object.
|
void |
setSeed(long seed)
Sets the seed of the PRNG, for object providers which use one.
|
getOffset, prepareForExport
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
dump, getAllMaterials, getAttribute, guessConnectBlocks, guessManageWaterlogged, guestimateOffset, hasAttribute, visitBlocks
public static final org.pepsoft.util.AttributeKey<java.lang.Boolean> ATTRIBUTE_IGNORE_AIR
public WPObject getObject()
Bo2ObjectProvider
WPObject
, which may be the same one every time, or a
different one from a random collection or sequence every time.getObject
in interface Bo2ObjectProvider
WPObject
.public java.util.List<WPObject> getAllObjects()
Bo2ObjectProvider
WPObject
s which this
object provider can return. This is an optional operation which may
throw an UnsupportedOperationException
if this object provider
does not support it.getAllObjects
in interface Bo2ObjectProvider
public void setSeed(long seed)
Bo2ObjectProvider
setSeed
in interface Bo2ObjectProvider
seed
- The seed to set on the PRNG, if any.public java.lang.String getName()
Bo2ObjectProvider
getName
in interface Bo2ObjectProvider
getName
in interface WPObject
public void setName(java.lang.String name)
WPObject
public javax.vecmath.Point3i getDimensions()
WPObject
getDimensions
in interface WPObject
public Material getMaterial(int x, int y, int z)
WPObject
WPObject.getMask(int, int, int)
returns true
. These coordinates are zero-based and must never be
negative.getMaterial
in interface WPObject
x
- The relative X coordinate.y
- The relative Y coordinate.z
- The relative Z coordinate.public boolean getMask(int x, int y, int z)
WPObject
public java.util.List<Entity> getEntities()
WPObject
getEntities
in interface WPObject
null
.public java.util.List<TileEntity> getTileEntities()
WPObject
getTileEntities
in interface WPObject
null
.public final java.util.Map<java.lang.String,java.io.Serializable> getAttributes()
WPObject
getAttributes
in interface WPObject
null
.public final void setAttributes(java.util.Map<java.lang.String,java.io.Serializable> attributes)
WPObject
setAttributes
in interface WPObject
attributes
- The external metadata to store.public final <T extends java.io.Serializable> void setAttribute(org.pepsoft.util.AttributeKey<T> key, T value)
WPObject
null
will
delete the attribute from the store. If the store becomes empty it is
deleted entirely.setAttribute
in interface WPObject
T
- The type of the attribute.key
- The key of the attribute to set or delete.value
- The value of the attribute to set, or null
to
delete it.public Structure clone()
WPObject
clone
in interface Bo2ObjectProvider
clone
in interface WPObject
clone
in class AbstractObject
public static Structure load(java.io.File file) throws java.io.IOException
java.io.IOException
public static Structure load(java.lang.String objectName, java.io.InputStream inputStream) throws java.io.IOException
java.io.IOException