package buildcraft.api.transport.pipe_bc8; import buildcraft.api.transport.pipe_bc8.IPipePropertyProvider.IPipePropertyImplicit; import buildcraft.api.transport.pipe_bc8.IPipePropertyProvider.IPipePropertyValue; public interface IPropertyRegistry { <T> IPipePropertyValue<T> getValueProperty(String modId, String name); <T> IPipePropertyValue<T> registerValueProperty(String name, Class<T> typeClass); <T> IPipePropertyImplicit<T> getImplicitProperty(String modId, String uniqueName); <T> IPipePropertyImplicit<T> registerSimpleImplicitProperty(String name, Class<T> typeClass); <T> IPipePropertyImplicit<T> registerCutomImplicitProperty(String name, IPipePropertyImplicit<T> property); // Used in case BuildCraft is not installed enum Void implements IPropertyRegistry { INSTANCE; // @formatter:off @Override public <T> IPipePropertyValue<T> getValueProperty(String a, String b) { return null; } @Override public <T> IPipePropertyValue<T> registerValueProperty(String a, Class<T> b) { return null; } @Override public <T> IPipePropertyImplicit<T> getImplicitProperty(String a, String b) { return null; } @Override public <T> IPipePropertyImplicit<T> registerSimpleImplicitProperty(String a, Class<T> b) { return null; } @Override public <T> IPipePropertyImplicit<T> registerCutomImplicitProperty(String a, IPipePropertyImplicit<T> p) { return p; } // @formatter:on } }