/** * Gets a map of state to statevalue * * @return The state map */ @Override public Map<Property<?>, Object> getStates() { return this.blockState.getStates(); }
@Override public boolean equalsFuzzy(BlockStateHolder<?> o) { if (this == o) { // Added a reference equality check for return true; } if (!getBlockType().equals(o.getBlockType())) { return false; } Set<Property<?>> differingProperties = new HashSet<>(); for (Object state : o.getStates().keySet()) { if (getState((Property<?>) state) == null) { differingProperties.add((Property<?>) state); } } for (Property<?> property : getStates().keySet()) { if (o.getState(property) == null) { differingProperties.add(property); } } for (Property<?> property : getStates().keySet()) { if (differingProperties.contains(property)) { continue; } if (!Objects.equals(getState(property), o.getState(property))) { return false; } } return true; }
if (block.getStates().keySet().isEmpty()) { player.printError("That block's data cannot be cycled!"); } else { currentProperty = block.getStates().keySet().stream().findFirst().get(); selectedProperties.put(player.getUniqueId(), currentProperty); List<Property<?>> properties = Lists.newArrayList(block.getStates().keySet()); int index = properties.indexOf(currentProperty); index = (index + 1) % properties.size();
blockStates = blockInHand.getStates(); } else {
if (paletteEntry.containsKey("Properties")) { CompoundTag properties = NBTUtils.getChildTag(paletteEntry.getValue(), "Properties", CompoundTag.class); for (Property<?> property : blockState.getStates().keySet()) { if (properties.containsKey(property.getName())) { String value = properties.getString(property.getName());