package com.bioxx.tfc2.api.properties;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import net.minecraft.block.properties.PropertyHelper;
import net.minecraft.util.IStringSerializable;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Maps;
public class PropertyClass extends PropertyHelper
{
private final ImmutableSet allowedValues;
/** Map of names to Enum values */
private final Map nameToValue = Maps.newHashMap();
protected PropertyClass(String name, Class valueClass, Collection allowedValues)
{
super(name, valueClass);
this.allowedValues = ImmutableSet.copyOf(allowedValues);
Iterator iterator = allowedValues.iterator();
while (iterator.hasNext())
{
IStringSerializable oenum = (IStringSerializable)iterator.next();
String s1 = oenum.getName();
if (this.nameToValue.containsKey(s1))
{
throw new IllegalArgumentException("Multiple values have the same name \'" + s1 + "\'");
}
this.nameToValue.put(s1, oenum);
}
}
public static PropertyClass create(String name, Class clazz, Collection values)
{
return new PropertyClass(name, clazz, values);
}
@Override
public Collection getAllowedValues() {
return allowedValues;
}
@Override
public String getName(Comparable value) {
return ((IStringSerializable)value).getName();
}
@Override
public Optional parseValue(String paramString)
{
return null;
}
}