public final class Schem extends AbstractNBTItem implements WPObject
WPObject.BlockVisitor
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
Constructor and Description |
---|
Schem(org.jnbt.CompoundTag tag,
java.lang.String fallBackName) |
Modifier and Type | Method and Description |
---|---|
Schem |
clone()
Create a clone of the object.
|
java.util.Set<Material> |
getAllMaterials()
Return all unique materials contained in this object.
|
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 the object.
|
javax.vecmath.Point3i |
getOffset()
Get the offset to apply to this object when placing it.
|
java.util.List<TileEntity> |
getTileEntities()
Get any tile entities contained in the object.
|
static Schem |
load(java.io.File file) |
static Schem |
load(java.io.InputStream stream,
java.lang.String fallBackName) |
void |
prepareForExport(Dimension dimension)
Make preparations, if necessary, for exporting the object.
|
<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.
|
containsTag, containsTag, containsType, forEachTag, getAllTags, getAllTags, getBoolean, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getByte, getByteArray, getByteArray, getDouble, getDouble, getDouble, getDouble, getDoubleList, getDoubleList, getFloat, getFloat, getFloat, getFloat, getFloatList, getFloatList, getInt, getInt, getInt, getInt, getIntArray, getIntArray, getList, getList, getLong, getLong, getLong, getLong, getLongArray, getLongArray, getMap, getMap, getShort, getShort, getShort, getShort, getString, getString, getString, getString, getTag, getTag, removeTag, removeTag, setBoolean, setBoolean, setByte, setByte, setByteArray, setByteArray, setDouble, setDouble, setDoubleList, setDoubleList, setFloat, setFloat, setFloatList, setFloatList, setInt, setInt, setIntArray, setIntArray, setList, setList, setLong, setLong, setLongArray, setLongArray, setMap, setMap, setShort, setShort, setString, setString, setTag, setTag, toMultipleNBT, toNBT, toString
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
dump, getAttribute, guessConnectBlocks, guessManageWaterlogged, guestimateOffset, hasAttribute, visitBlocks
public java.lang.String getName()
WPObject
public void setName(java.lang.String name)
WPObject
public javax.vecmath.Point3i getDimensions()
WPObject
getDimensions
in interface WPObject
public javax.vecmath.Point3i getOffset()
WPObject
This is a convenience method which must return the same as invoking
getAttribute(ATTRIBUTE_OFFSET)
. See
WPObject.getAttribute(AttributeKey)
and WPObject.ATTRIBUTE_OFFSET
.
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.Set<Material> getAllMaterials()
WPObject
getAllMaterials
in interface 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 void prepareForExport(Dimension dimension)
WPObject
WPObject.getMask(int, int, int)
or
WPObject.getMaterial(int, int, int)
are invoked.prepareForExport
in interface WPObject
dimension
- The dimension for which the object is being exported.public java.util.Map<java.lang.String,java.io.Serializable> getAttributes()
WPObject
getAttributes
in interface WPObject
null
.public void setAttributes(java.util.Map<java.lang.String,java.io.Serializable> attributes)
WPObject
setAttributes
in interface WPObject
attributes
- The external metadata to store.public <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 Schem clone()
WPObject
clone
in interface WPObject
clone
in class AbstractNBTItem
public static Schem load(java.io.File file) throws java.io.IOException
java.io.IOException
public static Schem load(java.io.InputStream stream, java.lang.String fallBackName) throws java.io.IOException
java.io.IOException