/** * Builds a FuzzyBlockState from this builder. * * @return The fuzzy BlockState */ public FuzzyBlockState build() { checkNotNull(type); if (values.isEmpty()) { return type.getFuzzyMatcher(); } return new FuzzyBlockState(type, values); }
/** * Gets a full BlockState from this fuzzy one, filling in * properties with default values where necessary. * * @return The full BlockState */ public BlockState getFullState() { BlockState state = getBlockType().getDefaultState(); for (Map.Entry<Property<?>, Object> entry : getStates().entrySet()) { @SuppressWarnings("unchecked") Property<Object> objKey = (Property<Object>) entry.getKey(); state = state.with(objKey, entry.getValue()); } return getBlockType().getDefaultState(); }
private FuzzyBlockState(BlockType blockType, Map<Property<?>, Object> values) { this(blockType); for (Map.Entry<Property<?>, Object> entry : values.entrySet()) { setState(entry.getKey(), entry.getValue()); } }
FuzzyBlockState.Builder fuzzyBuilder = FuzzyBlockState.builder(); fuzzyBuilder.type(blockType); for (Map.Entry<Property<?>, Object> blockState : blockStates.entrySet()) {
public FuzzyBlockState getFuzzyMatcher() { return updateField(emptyFuzzy, () -> new FuzzyBlockState(this)); }