Package fr.rodofire.ewc.blockdata.layer
Class BlockLayer
java.lang.Object
fr.rodofire.ewc.blockdata.layer.BlockLayer
Represents a layer in a structure.
Each layer consists of a list of
BlockState objects and an integer.
The list contains all the BlockState objects present in the layer,
while the integer represents the depth of the layer.
Be cautious with the depth parameter: The depth should never be less than 0. There is no benefit to having a depth equal to 0.
-
Constructor Summary
ConstructorsConstructorDescriptionBlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states) init the BlockLayerBlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states, int depth) init the BlockLayerBlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states, int depth, StructurePlacementRuleManager ruler) init the BlockLayerBlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states, StructurePlacementRuleManager ruler) init the BlockLayerBlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states, List<Short> chances) init the BlockLayerBlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states, List<Short> chances, int depth, StructurePlacementRuleManager ruler) init the BlockLayerBlockLayer(LayerPlacer placer, net.minecraft.world.level.block.state.BlockState state) init the BlockLayerBlockLayer(LayerPlacer placer, net.minecraft.world.level.block.state.BlockState state, int depth) init the BlockLayerBlockLayer(LayerPlacer placer, net.minecraft.world.level.block.state.BlockState state, int depth, StructurePlacementRuleManager ruler) init the BlockLayerBlockLayer(LayerPlacer placer, net.minecraft.world.level.block.state.BlockState state, StructurePlacementRuleManager ruler) init the BlockLayer -
Method Summary
Modifier and TypeMethodDescriptionvoidaddBlockState(net.minecraft.world.level.block.state.BlockState state) add a BlockState to the layervoidaddBlockState(net.minecraft.world.level.block.state.BlockState state, short chance) add a BlockState to the layervoidaddBlockStates(List<net.minecraft.world.level.block.state.BlockState> states) add multiple BlockStates to the layervoidaddBlockStates(List<net.minecraft.world.level.block.state.BlockState> states, List<Short> chances) add multiple BlockStates to the layervoidaddDepth(int depth) add a depth to theBlockLayerget()method to get the blockState as well as his chanceList<net.minecraft.world.level.block.state.BlockState> Method used to get all theBlockStatein aBlockLayer.intgetDepth()method used to get all the depth in aBlockLayergetRuler()voidremoveBlockState(int index) method used to remove aBlockStaterelated to the indexvoidremoveBlockState(List<net.minecraft.world.level.block.state.BlockState> state) removes some BlockStates of the LayervoidremoveBlockState(net.minecraft.world.level.block.state.BlockState state) removes a BlockState of the LayervoidsetBlockStates(List<net.minecraft.world.level.block.state.BlockState> blocks) method used to set all theBlockStatein aBlockLayervoidsetDepth(int depth) set a depth to theBlockLayervoidsetPlacer(LayerPlacer placer) voidintsize()method used to get the size of theBlockLayertoString()
-
Constructor Details
-
BlockLayer
public BlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states, int depth, StructurePlacementRuleManager ruler) init the BlockLayer- Parameters:
states- list of BlockStatesdepth- depth of the BlockStates
-
BlockLayer
public BlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states, List<Short> chances, int depth, StructurePlacementRuleManager ruler) init the BlockLayer- Parameters:
states- list of BlockStateschances- the chance of the related blockStates being chosendepth- depth of the BlockStates
-
BlockLayer
public BlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states, StructurePlacementRuleManager ruler) init the BlockLayer- Parameters:
states- list of BlockStates
-
BlockLayer
public BlockLayer(LayerPlacer placer, net.minecraft.world.level.block.state.BlockState state, int depth, StructurePlacementRuleManager ruler) init the BlockLayer- Parameters:
state- if the layer is only composed of one BlockState, you don't necessary need to create a list (created automatically)depth- list of BlockStates
-
BlockLayer
public BlockLayer(LayerPlacer placer, net.minecraft.world.level.block.state.BlockState state, StructurePlacementRuleManager ruler) init the BlockLayer- Parameters:
state- if the layer is only composed of one BlockState, you don't necessary need to create a list (created automatically)
-
BlockLayer
public BlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states, int depth) init the BlockLayer- Parameters:
states- list of BlockStatesdepth- depth of the BlockStates
-
BlockLayer
public BlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states) init the BlockLayer- Parameters:
states- list of BlockStates
-
BlockLayer
public BlockLayer(LayerPlacer placer, List<net.minecraft.world.level.block.state.BlockState> states, List<Short> chances) init the BlockLayer- Parameters:
states- list of BlockStateschances- the chance of the state being chosen
-
BlockLayer
public BlockLayer(LayerPlacer placer, net.minecraft.world.level.block.state.BlockState state, int depth) init the BlockLayer- Parameters:
state- if the layer is only composed of one BlockState, you don't necessary need to create a list (created automatically)depth- list of BlockStates
-
BlockLayer
init the BlockLayer- Parameters:
state- if the layer is only composed of one BlockState, you don't necessary need to create a list (created automatically)
-
-
Method Details
-
getRuler
-
setRuler
-
getPlacer
-
setPlacer
-
getDepth
public int getDepth()method used to get all the depth in aBlockLayer- Returns:
- the depth of the layer
-
setDepth
public void setDepth(int depth) set a depth to theBlockLayer- Parameters:
depth- int to change the layer depth
-
addDepth
public void addDepth(int depth) add a depth to theBlockLayer- Parameters:
depth- int added to the layer depth
-
getBlockStates
Method used to get all theBlockStatein aBlockLayer. The list returned will contain the BlockStates of the list, where each will be present n times, n being the chance related to that BlockState- Returns:
- the blockStates list of the layer
-
get
public List<com.mojang.datafixers.util.Pair<net.minecraft.world.level.block.state.BlockState,Short>> get()method to get the blockState as well as his chance- Returns:
- a list of pair corresponding to blockState as well as his chance
-
setBlockStates
method used to set all theBlockStatein aBlockLayer- Parameters:
blocks- change the BlockStates of a layer
-
addBlockState
public void addBlockState(net.minecraft.world.level.block.state.BlockState state) add a BlockState to the layer- Parameters:
state- BlockState to be added
-
addBlockStates
add multiple BlockStates to the layer- Parameters:
states- List of BlockState to be added
-
addBlockState
public void addBlockState(net.minecraft.world.level.block.state.BlockState state, short chance) add a BlockState to the layer- Parameters:
state- BlockState to be addedchance- the chance of a blockState being chosen
-
addBlockStates
public void addBlockStates(List<net.minecraft.world.level.block.state.BlockState> states, List<Short> chances) add multiple BlockStates to the layer- Parameters:
states- List of BlockState to be addedchances- the chance list related to the states of a blockState being chosen- Throws:
IndexOutOfBoundsException- in the case, the chance list has a size inferior to the BlockStates chance.
-
removeBlockState
removes some BlockStates of the Layer- Parameters:
state- list of BlockStates that will be removed
-
removeBlockState
public void removeBlockState(net.minecraft.world.level.block.state.BlockState state) removes a BlockState of the Layer- Parameters:
state- BlockState that will be removed
-
removeBlockState
public void removeBlockState(int index) method used to remove aBlockStaterelated to the index- Parameters:
index- remove the BlockState at the index
-
size
public int size()method used to get the size of theBlockLayer- Returns:
- the size of the BlockStates
-
toString
-