public class NullWorld extends AbstractWorld
World that drops all changes and
returns dummy data.| Modifier | Constructor and Description |
|---|---|
protected |
NullWorld() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
clearContainerBlockContents(Vector position)
Clear a chest's contents.
|
Entity |
createEntity(Location location,
BaseEntity entity)
Create an entity at the given location.
|
void |
dropItem(Vector position,
BaseItemStack item)
Drop one stack of the item at the given position.
|
boolean |
generateTree(TreeGenerator.TreeType type,
EditSession editSession,
Vector position)
Generate a tree at the given position.
|
BaseBiome |
getBiome(Vector2D position)
Get the biome at the given location.
|
BaseBlock |
getBlock(Vector position)
Get a snapshot of the block at the given location.
|
int |
getBlockLightLevel(Vector position)
Get the light level at the given block.
|
List<Entity> |
getEntities()
Get a list of all entities.
|
List<Entity> |
getEntities(Region region)
Get a list of all entities within the given region.
|
static NullWorld |
getInstance()
Return an instance of this null world.
|
BaseBlock |
getLazyBlock(Vector position)
Get a lazy, immutable snapshot of the block at the given location that only
immediately contains information about the block's type (and metadata).
|
String |
getName()
Get the name of the world.
|
WorldData |
getWorldData()
Get the data for blocks and so on for this world.
|
boolean |
regenerate(Region region,
EditSession editSession)
Regenerate an area.
|
boolean |
setBiome(Vector2D position,
BaseBiome biome)
Set the biome.
|
boolean |
setBlock(Vector position,
BaseBlock block,
boolean notifyAndLight)
Similar to
OutputExtent.setBlock(Vector, BaseBlock) but a
notifyAndLight parameter indicates whether adjacent blocks
should be notified that changes have been made and lighting operations
should be executed. |
checkLoadedChunk, commit, createLiquidMask, dropItem, fixAfterFastMode, fixLighting, generateBigTree, generateBirchTree, generateRedwoodTree, generateTallRedwoodTree, generateTree, getBlockData, getBlockType, getMaximumPoint, getMaxY, getMinimumPoint, isValidBlockType, playEffect, queueBlockBreakEffect, setBlock, setBlockData, setBlockType, setTypeIdAndData, simulateBlockMine, usesBlockDatapublic String getName()
Worldpublic boolean setBlock(Vector position, BaseBlock block, boolean notifyAndLight) throws WorldEditException
WorldOutputExtent.setBlock(Vector, BaseBlock) but a
notifyAndLight parameter indicates whether adjacent blocks
should be notified that changes have been made and lighting operations
should be executed.
If it's not possible to skip lighting, or if it's not possible to avoid notifying adjacent blocks, then attempt to meet the specification as best as possible.
On implementations where the world is not simulated, the
notifyAndLight parameter has no effect either way.
position - position of the blockblock - block to setnotifyAndLight - true to to notify and lightWorldEditExceptionpublic int getBlockLightLevel(Vector position)
Worldposition - the positionpublic boolean clearContainerBlockContents(Vector position)
Worldposition - the positionpublic BaseBiome getBiome(Vector2D position)
InputExtentIf there is no biome available, then the ocean biome should be returned.
position - the (x, z) location to check the biome atpublic boolean setBiome(Vector2D position, BaseBiome biome)
OutputExtentposition - the (x, z) location to set the biome atbiome - the biome to set topublic void dropItem(Vector position, BaseItemStack item)
Worldposition - the positionitem - the item to dropshortcut method to specify the number of stackspublic boolean regenerate(Region region, EditSession editSession)
Worldregion - the regioneditSession - the EditSessionpublic boolean generateTree(TreeGenerator.TreeType type, EditSession editSession, Vector position) throws MaxChangedBlocksException
Worldtype - the tree typeeditSession - the EditSessionposition - the positionMaxChangedBlocksException - thrown if too many blocks were changedpublic WorldData getWorldData()
Worldpublic BaseBlock getBlock(Vector position)
InputExtentIf the given position is out of the bounds of the extent, then the behavior
is undefined (an air block could be returned). However, null
should not be returned.
The returned block is mutable and is a snapshot of the block at the time
of call. It has no position attached to it, so it could be reused in
Patterns and so on.
Calls to this method can actually be quite expensive, so cache results
whenever it is possible, while being aware of the mutability aspect.
The cost, however, depends on the implementation and particular extent.
If only basic information about the block is required, then use of
InputExtent.getLazyBlock(Vector) is recommended.
position - position of the blockpublic BaseBlock getLazyBlock(Vector position)
InputExtentFurther information (such as NBT data) will be available by the time of access. Therefore, it is not recommended that this method is used if the world is being simulated at the time of call. If the block needs to be stored for future use, then this method should definitely not be used. Moreover, the block that is returned is immutable (or should be), and therefore modifications should not be attempted on it. If a modifiable copy is required, then the block should be cloned.
This method exists because it is sometimes important to inspect the block
at a given location, but InputExtent.getBlock(Vector) may be too expensive in
the underlying implementation. It is also not possible to implement
caching if the returned object is mutable, so this methods allows caching
implementations to be used.
position - position of the blockpublic List<Entity> getEntities(Region region)
ExtentIf the extent is not wholly loaded (i.e. a world being simulated in the game will not have every chunk loaded), then this list may not be incomplete.
region - the region in which entities must be containedpublic List<Entity> getEntities()
ExtentIf the extent is not wholly loaded (i.e. a world being simulated in the game will not have every chunk loaded), then this list may not be incomplete.
@Nullable public Entity createEntity(Location location, BaseEntity entity)
Extentlocation - the locationentity - the entitypublic static NullWorld getInstance()
Copyright © 2010-2014. All Rights Reserved.