public final class Schem extends AbstractNBTItem implements WPObject
WPObject.BlockVisitorATTRIBUTE_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, toStringequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitdump, getAttribute, guessConnectBlocks, guessManageWaterlogged, guestimateOffset, hasAttribute, visitBlockspublic java.lang.String getName()
WPObjectpublic void setName(java.lang.String name)
WPObjectpublic javax.vecmath.Point3i getDimensions()
WPObjectgetDimensions in interface WPObjectpublic javax.vecmath.Point3i getOffset()
WPObjectThis 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)
WPObjectWPObject.getMask(int, int, int) returns true. These coordinates are zero-based and must never be
 negative.getMaterial in interface WPObjectx - The relative X coordinate.y - The relative Y coordinate.z - The relative Z coordinate.public boolean getMask(int x,
                       int y,
                       int z)
WPObjectpublic java.util.Set<Material> getAllMaterials()
WPObjectgetAllMaterials in interface WPObjectpublic java.util.List<Entity> getEntities()
WPObjectgetEntities in interface WPObjectnull.public java.util.List<TileEntity> getTileEntities()
WPObjectgetTileEntities in interface WPObjectnull.public void prepareForExport(Dimension dimension)
WPObjectWPObject.getMask(int, int, int) or
 WPObject.getMaterial(int, int, int) are invoked.prepareForExport in interface WPObjectdimension - The dimension for which the object is being exported.public java.util.Map<java.lang.String,java.io.Serializable> getAttributes()
WPObjectgetAttributes in interface WPObjectnull.public void setAttributes(java.util.Map<java.lang.String,java.io.Serializable> attributes)
WPObjectsetAttributes in interface WPObjectattributes - The external metadata to store.public <T extends java.io.Serializable> void setAttribute(org.pepsoft.util.AttributeKey<T> key,
                                                          T value)
WPObjectnull will
 delete the attribute from the store. If the store becomes empty it is
 deleted entirely.setAttribute in interface WPObjectT - 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()
WPObjectclone in interface WPObjectclone in class AbstractNBTItempublic static Schem load(java.io.File file) throws java.io.IOException
java.io.IOExceptionpublic static Schem load(java.io.InputStream stream, java.lang.String fallBackName) throws java.io.IOException
java.io.IOException