private Map<Property<?>, Object> adaptProperties(BlockType block, Map<IProperty<?>, Comparable<?>> mcProps) { Map<Property<?>, Object> props = new TreeMap<>(Comparator.comparing(Property::getName)); for (Map.Entry<IProperty<?>, Comparable<?>> prop : mcProps.entrySet()) { Object value = prop.getValue(); if (prop.getKey() instanceof PropertyDirection) { value = ForgeAdapter.adaptEnumFacing((EnumFacing) value); } else if (prop.getKey() instanceof PropertyEnum) { value = ((IStringSerializable) value).getName(); } props.put(block.getProperty(prop.getKey().getName()), value); } return props; }
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); }
@Override public E getObjectFromString(String string) { for (E e: values) { if (e.getName().equalsIgnoreCase(string)) return e; } return values[0]; }
/** * {@link InventoryRenderHelper#registerRender(Item, int, String, String)} with registry name for every variant. * each variant represents one meta value */ public void registerRenderAllMeta(Item item, IStringSerializable[] variants) { for (int i = 0; i < variants.length; i++) { registerRender(item, i, variants[i].getName()); } }
/** * Registers an item model for all of the provided variants * @param item The item * @param name see #registerModelAllVariants * @param variants see #registerModelAllVariants */ protected void registerModelAllVariants(Item item, String name, IStringSerializable[] variants) { for (int i = 0; i < variants.length; i++) { IStringSerializable string = variants[i]; registerModel(item, i, name + "=" + string.getName()); } }
protected String getNameFromStack(ItemStack stack) { return getEnumFromStack(stack).getName().replace("_", ""); }
@Override public String getUnlocalizedName(int meta) { return getEnumFromMeta(meta).getName().replace("_", ""); }
private ImmutableList<String> getCropNames() { try { Class<?> typeEnum = Class.forName("com.blakebr0.mysticalagriculture.lib.CropType$Type"); if (typeEnum.getEnumConstants() == null) { return ImmutableList.of(); } ImmutableList.Builder<String> builder = new ImmutableList.Builder<>(); for (Object obj : typeEnum.getEnumConstants()) { if (obj instanceof IStringSerializable) { builder.add(((IStringSerializable) obj).getName()); } } return builder.build(); } catch (ClassNotFoundException e) { Log.error("Failed to find the class ('com.blakebr0.mysticalagriculture.lib.CropType$Type') that contains the crop types of 'Mystical Agriculture'."); return ImmutableList.of(); } } }
@SideOnly(Side.CLIENT) @Override public void registerModels(Item item) { for (E e: values) { ModelLoader.setCustomModelResourceLocation(item, e.ordinal(), new ModelResourceLocation(getRegistryName(), e.getClass().getSimpleName() + "=" + e.getName())); } } }
@SideOnly(Side.CLIENT) @Override public void registerModels(Item item) { String prefix = isDouble() ? "" : "half=bottom,"; for (E type: values) { ModelLoader.setCustomModelResourceLocation(item, type.ordinal(), new ModelResourceLocation(getRegistryName(), prefix + type.getClass().getSimpleName().toLowerCase() + "=" + type.getName())); } } }
@SideOnly(Side.CLIENT) protected ResourceLocation getResourceForEnum(E e) { return new ResourceLocation(MODID, getUnlocalizedName().replace(MODID + ".", "") + "_" + e.getName()); }
@SideOnly(Side.CLIENT) @Override public void registerModels(Item item) { ModelLoader.setCustomStateMapper(this, NO_WATER); for (E e: values) { ModelLoader.setCustomModelResourceLocation(item, e.ordinal(), new ModelResourceLocation(new ResourceLocation(MODID, e.getClass().getSimpleName().toLowerCase() + "_" + e.getName()), "inventory")); } } }
@SideOnly(Side.CLIENT) @Override public void registerModels(Item item, String name) { for (E e: values) { ModelLoader.setCustomModelResourceLocation(item, e.ordinal(), new ModelResourceLocation(getRegistryName(), e.getName())); } } }
@SideOnly(Side.CLIENT) @Override public void registerModels(Item item, String name) { for (E e: values) { ModelLoader.setCustomModelResourceLocation(item, e.ordinal(), new ModelResourceLocation(getRegistryName(), e.getName())); } } }
@Override public String getUnlocalizedName(ItemStack stack) { return super.getUnlocalizedName(stack) + '.' + genericBlock.getState(getBlockState(stack)).getName(); }
@Override public String getItemStackDisplayName(ItemStack stack) { String size = TextHelper.translate("sizeable." + getSize(stack).name().toLowerCase(Locale.ENGLISH)); String name = TextHelper.translate(prefix + "." + getEnumFromStack(stack).getName()); String format = TextHelper.translate("sizeable.format"); return String.format(format, size, name); }
@Override public String getUnlocalizedName(ItemStack stack) { if(stack.getMetadata() >= values.length) throw new RuntimeException(super.getUnlocalizedName() +" Meta: " + stack.getMetadata()); return super.getUnlocalizedName() + separator + values[stack.getMetadata()].getName(); } }
if ( propVal instanceof IStringSerializable ) saveAs = ( (IStringSerializable) propVal ).getName();
@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())); } } } }
@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())); } } } }