public static Property<?> adaptProperty(IProperty<?> property) { if (property instanceof PropertyBool) { return new BooleanProperty(property.getName(), ImmutableList.copyOf(((PropertyBool) property).getAllowedValues())); } if (property instanceof PropertyInteger) { return new IntegerProperty(property.getName(), ImmutableList.copyOf(((PropertyInteger) property).getAllowedValues())); } if (property instanceof PropertyDirection) { return new DirectionalProperty(property.getName(), ((PropertyDirection) property).getAllowedValues().stream() .map(ForgeAdapter::adaptEnumFacing) .collect(Collectors.toList())); } if (property instanceof PropertyEnum) { return new EnumProperty(property.getName(), ((PropertyEnum<?>) property).getAllowedValues().stream() .map(e -> e.getName()) .collect(Collectors.toList())); } return new IPropertyAdapter<>(property); }
@SuppressWarnings({ "rawtypes", "unchecked" }) private IBlockState applyProperties(BlockStateContainer stateContainer, IBlockState newState, Map<Property<?>, Object> states) { for (Map.Entry<Property<?>, Object> state : states.entrySet()) { IProperty property = stateContainer.getProperty(state.getKey().getName()); Comparable value = (Comparable) state.getValue(); // we may need to adapt this value, depending on the source prop if (property instanceof PropertyDirection) { Direction dir = (Direction) value; value = ForgeAdapter.adapt(dir); } else if (property instanceof PropertyEnum) { String enumName = (String) value; value = ((PropertyEnum<?>) property).parseValue((String) value).or(() -> { throw new IllegalStateException("Enum property " + property.getName() + " does not contain " + enumName); }); } newState = newState.withProperty(property, value); } return newState; }
private static Material preInit(Material material, Class clazz) { temporary = PropertyEnum.create(clazz.getSimpleName().toLowerCase(), clazz); return material; }
Collection<BlockFlagPole.Variants> collec = BlockFlagPole.VARIANT.getAllowedValues(); final ResourceLocation[] variants = new ResourceLocation[collec.size()]; int i = 0; for (BlockFlagPole.Variants comparable : collec) { variants[i] = new ResourceLocation(BattlegearConfig.MODID + BattlegearConfig.itemNames[10] + "/" + BlockFlagPole.VARIANT.getName(comparable)); i++;
private static Material preInit(Material material, Class clazz) { temporary = PropertyEnum.create(clazz.getSimpleName().toLowerCase(Locale.ENGLISH), clazz); return material; }
@Override public void gatherVariants(@Nonnull Int2ObjectMap<String> variants) { if (getItem() == null) return; for (int i = 0; i < types.length; i++) variants.put(i, getProperty().getName() + "=" + types[i].name()); }
private static Material preInit(Material material, Class clazz) { temporary = PropertyEnum.create(clazz.getSimpleName().toLowerCase(), clazz); return material; }
@SideOnly(Side.CLIENT) @Override public void registerModels() { ModelHandler.registerBlockToState(this, BotaniaStateProps.PAVEMENT_COLOR.getAllowedValues().size()); }
BlockQuartz.EnumType type = state.getValue(BlockQuartz.VARIANT); if(ImmutableSet.of(BlockQuartz.EnumType.LINES_X, BlockQuartz.EnumType.LINES_Y, BlockQuartz.EnumType.LINES_Z).contains(type)) setState = state.withProperty(BlockQuartz.VARIANT, BlockQuartz.VARIANT.parseValue("lines_" + face.getAxis().getName()).or(BlockQuartz.EnumType.LINES_Y));
@SideOnly(Side.CLIENT) @Override public void registerModels(Item item, String name) { for (int i = 0; i < values.length; i++) { if (Character.toLowerCase(property.getName().charAt(0)) < Character.toLowerCase('f')) { ModelLoader.setCustomModelResourceLocation(item, i, new ModelResourceLocation(getRegistryName(), property.getName() + "=" + getEnumFromMeta(i).getName() + ",facing=north")); } else { ModelLoader.setCustomModelResourceLocation(item, i, new ModelResourceLocation(getRegistryName(), "facing=north," + property.getName() + "=" + getEnumFromMeta(i).getName())); } } } }
protected void addVariantPage(int pageNum, ArrayList<V> variants) { for (int index = 0; index < variants.size(); ++index) { V variant = variants.get(index); this.variantToPageIndex.put(variant, new PageIndex(pageNum, index)); this.masterIndexToVariant.put(Integer.valueOf(pageNum * this.variantsPerPage + index), variant); } this.pageNumToProperty.put(Integer.valueOf(pageNum), PropertyEnum.create("variant", this.variantsEnumClass, variants)); }
@Nonnull @Override public IBlockState getStateFromMeta(int meta) { if (meta < 0 || meta >= BotaniaStateProps.BIOMESTONEWALL_VARIANT.getAllowedValues().size()) { meta = 0; } return getDefaultState().withProperty(BotaniaStateProps.BIOMESTONEWALL_VARIANT, BiomeStoneVariant.values()[meta + 8]); }
@Override public void registerRendering(){ for(int i = 0; i < ALL_LAMP_TYPES.length; i++){ ActuallyAdditions.PROXY.addRenderRegister(new ItemStack(this, 1, i), this.getRegistryName(), TYPE.getName()+"="+ALL_LAMP_TYPES[i].regName); } }
public static final BlockHoneyComb[] create() { BlockHoneyComb[] blocks = new BlockHoneyComb[2]; for (int i = 0; i < blocks.length; i++) { HoneyCombPredicate filter = new HoneyCombPredicate(i, 16); PropertyEnum<EnumHoneyComb> variant = PropertyEnum.create("type", EnumHoneyComb.class, filter); blocks[i] = new BlockHoneyComb(filter.minMeta) { @Override protected PropertyEnum<EnumHoneyComb> getVariant() { return variant; } }; } return blocks; }
&& BotaniaAPI.paintableBlocks.get(block).getAllowedValues().contains(placeColor)) { entity.world.setBlockState(coords, stateThere.withProperty(BotaniaAPI.paintableBlocks.get(block), placeColor), 2); PacketHandler.sendToNearby(entity.world, coords,
@SideOnly(Side.CLIENT) @Override public void registerModels(Item item, String name) { for (int i = 0; i < values.length; i++) { if (Character.toLowerCase(property.getName().charAt(0)) < Character.toLowerCase('f')) { ModelLoader.setCustomModelResourceLocation(item, i, new ModelResourceLocation(getRegistryName(), property.getName() + "=" + getEnumFromMeta(i).getName() + ",facing=north")); } else { ModelLoader.setCustomModelResourceLocation(item, i, new ModelResourceLocation(getRegistryName(), "facing=north," + property.getName() + "=" + getEnumFromMeta(i).getName())); } } } }
@Override protected BlockStateContainer createBlockState() { Class<T> enumClass = GTUtility.getActualTypeParameter(getClass(), StoneBlock.class, 0); this.VARIANT = PropertyEnum.create("variant", enumClass); this.VALUES = enumClass.getEnumConstants(); return new BlockStateContainer(this, VARIANT, CHISELING_VARIANT); }
@Override public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list) { for (EnumResourceType resourceType : ORE_RESOURCES.getAllowedValues()) { list.add(get(resourceType, 1)); } }