minecraft-source/src/net/minecraft/world/level/block/state/properties/BooleanProperty.java

54 lines
1.5 KiB
Java

package net.minecraft.world.level.block.state.properties;
import java.util.Optional;
import java.util.Collection;
import com.google.common.collect.ImmutableSet;
public class BooleanProperty extends AbstractProperty<Boolean> {
private final ImmutableSet<Boolean> values;
protected BooleanProperty(final String string) {
super(string, Boolean.class);
this.values = ImmutableSet.<Boolean>of(true, false);
}
@Override
public Collection<Boolean> getPossibleValues() {
return this.values;
}
public static BooleanProperty create(final String string) {
return new BooleanProperty(string);
}
@Override
public Optional<Boolean> getValue(final String string) {
if ("true".equals(string) || "false".equals(string)) {
return Optional.<Boolean>of(Boolean.valueOf(string));
}
return Optional.<Boolean>empty();
}
@Override
public String getName(final Boolean boolean1) {
return boolean1.toString();
}
@Override
public boolean equals(final Object object) {
if (this == object) {
return true;
}
if (object instanceof BooleanProperty && super.equals(object)) {
final BooleanProperty byy3 = (BooleanProperty)object;
return this.values.equals(byy3.values);
}
return false;
}
@Override
public int generateHashCode() {
return 31 * super.generateHashCode() + this.values.hashCode();
}
}