EnumFruitFamily(String uid, String scientific) { this.uid = uid; this.scientific = scientific; AlleleManager.alleleRegistry.registerFruitFamily(this); }
public static void init() { for (AlleleETFruitDefinition definition : values()) { definition.addProducts(); } AlleleManager.alleleRegistry.registerFruitFamily(BERRY); AlleleManager.alleleRegistry.registerFruitFamily(CITRUS); if (ConfigurationMain.alterLemon) { try { final IAlleleFruit lemon = (IAlleleFruit) AlleleManager.alleleRegistry.getAllele("forestry.fruitLemon"); final FruitProviderNone prov = (FruitProviderNone) lemon.getProvider(); final Field familyField = FruitProviderNone.class.getDeclaredField("family"); final Field modifiersField = Field.class.getDeclaredField("modifiers"); familyField.setAccessible(true); modifiersField.setAccessible(true); modifiersField.setInt(familyField, familyField.getModifiers() & 0xFFFFFFEF); familyField.set(prov, CITRUS); } catch (IllegalAccessException | NoSuchFieldException e) { throw new RuntimeException(e); } } IBreedingSystem treeSystem = Binnie.GENETICS.getSystem(TreeManager.treeRoot); for (IAlleleSpecies tree : treeSystem.getAllSpecies()) { if (tree instanceof AlleleTreeSpecies && ((IAlleleTreeSpecies) tree).getSuitableFruit().contains(PRUNES)) { ((AlleleTreeSpecies) tree).addFruitFamily(CITRUS); } } }