From 2ebaf5c17ffeb5ba29f077075f7ed46eabec3e64 Mon Sep 17 00:00:00 2001 From: wolfkidsounds <32850639+wolfkidsounds@users.noreply.github.com> Date: Mon, 24 Jan 2022 11:20:32 +0100 Subject: [PATCH] - created FileUtils.java - cleanead up resourcepack - splitted block registration (disabling/enabling works correctly again) - fixed "Harvestcraft Wild Onion" having no block texture - updated version --- bin/main/META-INF/mods.toml | 21 - bin/main/assets/wildplants/lang/en_us.json | 89 ----- bin/main/pack.mcmeta | 7 - build.gradle | 2 +- .../wolfkidsounds/wildplants/Wildplants.java | 9 +- .../wildplants/block/ModBlocks.java | 361 +++++++++--------- .../wildplants/config/WildplantsConfig.java | 2 +- .../wildplants/utils/FileUtils.java | 21 + src/main/resources/META-INF/mods.toml | 2 +- .../blockstates/harvestcraft_wild_onion.json | 7 + src/main/resources/pack.mcmeta | 2 +- 11 files changed, 223 insertions(+), 300 deletions(-) delete mode 100644 bin/main/META-INF/mods.toml delete mode 100644 bin/main/assets/wildplants/lang/en_us.json delete mode 100644 bin/main/pack.mcmeta create mode 100644 src/main/java/wks/wolfkidsounds/wildplants/utils/FileUtils.java diff --git a/bin/main/META-INF/mods.toml b/bin/main/META-INF/mods.toml deleted file mode 100644 index 03a86ad..0000000 --- a/bin/main/META-INF/mods.toml +++ /dev/null @@ -1,21 +0,0 @@ -modLoader="javafml" -loaderVersion="[36,)" -license="GNU General Public License version 3 (GPLv3)" - -[[mods]] -modId="wildplants" -version="${file.jarVersion}" -displayName="Wildplants" -credits="WOLFKIDSOUNDS" -displayURL="https://wolfkidsounds.com" -authors="WOLFKIDsounds" -description=''' -Adds wild plant generation mainly used for crops that should generate in the wild. -''' - -[[dependencies.wildplants]] -modId="minecraft" -mandatory=true -versionRange="[1.16.5]" -ordering="NONE" -side="BOTH" \ No newline at end of file diff --git a/bin/main/assets/wildplants/lang/en_us.json b/bin/main/assets/wildplants/lang/en_us.json deleted file mode 100644 index d2ad145..0000000 --- a/bin/main/assets/wildplants/lang/en_us.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "itemGroup.tab_wild_plants": "Wildplants", - - "block.wildplants.minecraft_wild_wheat": "Wild Wheat", - "block.wildplants.minecraft_wild_carrots": "Wild Carrot", - "block.wildplants.minecraft_wild_potatoes": "Wild Potato", - "block.wildplants.minecraft_wild_beetroots": "Wild Beetroot", - - "block.wildplants.immersiveenineering_wild_hemp": "Wild Hemp", - - "block.wildplants.harvestcraft_wild_agave": "Wild Agave", - "block.wildplants.harvestcraft_wild_amaranth": "Wild Amaranth", - "block.wildplants.harvestcraft_wild_arrowroot": "Wild Arrowroot", - "block.wildplants.harvestcraft_wild_artichoke": "Wild Artichoke", - "block.wildplants.harvestcraft_wild_asparagus": "Wild Asparagus", - "block.wildplants.harvestcraft_wild_barley": "Wild Barley", - "block.wildplants.harvestcraft_wild_bean": "Wild Bean", - "block.wildplants.harvestcraft_wild_bellpepper": "Wild Bellpepper", - "block.wildplants.harvestcraft_wild_blackberry": "Wild Blackberry", - "block.wildplants.harvestcraft_wild_blueberry": "Wild Blueberry", - "block.wildplants.harvestcraft_wild_broccoli": "Wild Broccoli", - "block.wildplants.harvestcraft_wild_brusselsprout": "Wild Brusselsprout", - "block.wildplants.harvestcraft_wild_cabbage": "Wild Cabbage", - "block.wildplants.harvestcraft_wild_cactusfruit": "Wild Cactusfruit", - "block.wildplants.harvestcraft_wild_candleberry": "Wild Candleberry", - "block.wildplants.harvestcraft_wild_cantaloupe": "Wild Cantaloupe", - "block.wildplants.harvestcraft_wild_cassava": "Wild Cassava", - "block.wildplants.harvestcraft_wild_cauliflower": "Wild Cauliflower", - "block.wildplants.harvestcraft_wild_celery": "Wild Celery", - "block.wildplants.harvestcraft_wild_chickpea": "Wild Chickpea", - "block.wildplants.harvestcraft_wild_chilipepper": "Wild Chillipepper", - "block.wildplants.harvestcraft_wild_coffeebean": "Wild Coffebean", - "block.wildplants.harvestcraft_wild_corn": "Wild Corn", - "block.wildplants.harvestcraft_wild_cotton": "Wild Cotton", - "block.wildplants.harvestcraft_wild_cranberry": "Wild Cranberry", - "block.wildplants.harvestcraft_wild_cucumber": "Wild Cucumber", - "block.wildplants.harvestcraft_wild_eggplant": "Wild Eggplant", - "block.wildplants.harvestcraft_wild_elderberry": "Wild Elderberry", - "block.wildplants.harvestcraft_wild_flax": "Wild Flax", - "block.wildplants.harvestcraft_wild_garlic": "Wild Garlic", - "block.wildplants.harvestcraft_wild_ginger": "Wild Ginger", - "block.wildplants.harvestcraft_wild_grape": "Wild Grape", - "block.wildplants.harvestcraft_wild_greengrape": "Wild Greengrape", - "block.wildplants.harvestcraft_wild_huckleberry": "Wild Huckleberry", - "block.wildplants.harvestcraft_wild_jicama": "Wild Jicama", - "block.wildplants.harvestcraft_wild_juniperberry": "Wild Juniperberry", - "block.wildplants.harvestcraft_wild_jute": "Wild Jute", - "block.wildplants.harvestcraft_wild_kale": "Wild Kale", - "block.wildplants.harvestcraft_wild_kenaf": "Wild Kenaf", - "block.wildplants.harvestcraft_wild_kiwi": "Wild Kiwi", - "block.wildplants.harvestcraft_wild_kohlrabi": "Wild Kohlrabi", - "block.wildplants.harvestcraft_wild_leek": "Wild Leek", - "block.wildplants.harvestcraft_wild_lentil": "Wild Lentil", - "block.wildplants.harvestcraft_wild_lettuce": "Wild Lettuce", - "block.wildplants.harvestcraft_wild_millet": "Wild Millet", - "block.wildplants.harvestcraft_wild_mulberry": "Wild Mulberry", - "block.wildplants.harvestcraft_wild_mustardseeds": "Wild Mustardseeds", - "block.wildplants.harvestcraft_wild_oats": "Wild Oats", - "block.wildplants.harvestcraft_wild_okra": "Wild Okra", - "block.wildplants.harvestcraft_wild_onion": "Wild Onion", - "block.wildplants.harvestcraft_wild_parsnip": "Wild Parsnip", - "block.wildplants.harvestcraft_wild_peanut": "Wild Peanut", - "block.wildplants.harvestcraft_wild_peas": "Wild Peas", - "block.wildplants.harvestcraft_wild_pineapple": "Wild Pineapple", - "block.wildplants.harvestcraft_wild_quinoa": "Wild Quinoa", - "block.wildplants.harvestcraft_wild_radish": "Wild Radish", - "block.wildplants.harvestcraft_wild_raspberry": "Wild Raspberry", - "block.wildplants.harvestcraft_wild_rhubarb": "Wild Rhubarb", - "block.wildplants.harvestcraft_wild_rice": "Wild Rice", - "block.wildplants.harvestcraft_wild_rutabaga": "Wild Rutabaga", - "block.wildplants.harvestcraft_wild_rye": "Wild Rye", - "block.wildplants.harvestcraft_wild_scallion": "Wild Scallion", - "block.wildplants.harvestcraft_wild_sesameseeds": "Wild Sesameseeds", - "block.wildplants.harvestcraft_wild_sisal": "Wild Sisal", - "block.wildplants.harvestcraft_wild_soybean": "Wild Soybean", - "block.wildplants.harvestcraft_wild_spinach": "Wild Spinach", - "block.wildplants.harvestcraft_wild_spiceleaf": "Wild Spicyleaf", - "block.wildplants.harvestcraft_wild_strawberry": "Wild Strawberry", - "block.wildplants.harvestcraft_wild_sweetpotato": "Wild Sweetpotato", - "block.wildplants.harvestcraft_wild_taro": "Wild Taro", - "block.wildplants.harvestcraft_wild_tealeaf": "Wild Tealeaf", - "block.wildplants.harvestcraft_wild_tomatillo": "Wild Tomatillo", - "block.wildplants.harvestcraft_wild_tomato": "Wild Tomato", - "block.wildplants.harvestcraft_wild_turnip": "Wild Turnip", - "block.wildplants.harvestcraft_wild_waterchestnut": "Wild Waterchestnut", - "block.wildplants.harvestcraft_wild_whitemushroom": "Wild White Mushroom", - "block.wildplants.harvestcraft_wild_wintersquash": "Wild Wintersquash", - "block.wildplants.harvestcraft_wild_zucchini": "Wild Zucchini" -} \ No newline at end of file diff --git a/bin/main/pack.mcmeta b/bin/main/pack.mcmeta deleted file mode 100644 index 324af4e..0000000 --- a/bin/main/pack.mcmeta +++ /dev/null @@ -1,7 +0,0 @@ -{ - "pack": { - "description": "wildplants resources", - "pack_format": 6, - "_comment": "A pack_format of 6 requires json lang files and some texture changes from 1.16.2. Note: we require v6 pack meta for all mods." - } -} diff --git a/build.gradle b/build.gradle index 66e4eda..382c395 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ buildscript { apply plugin: 'net.minecraftforge.gradle' group = 'wks.wolfkidsounds' -version = '1.16.5_forge_2.1.4' +version = '1.16.5_2.1.5_forge' java { archivesBaseName = 'wildplants' diff --git a/src/main/java/wks/wolfkidsounds/wildplants/Wildplants.java b/src/main/java/wks/wolfkidsounds/wildplants/Wildplants.java index 4556436..0b8694c 100644 --- a/src/main/java/wks/wolfkidsounds/wildplants/Wildplants.java +++ b/src/main/java/wks/wolfkidsounds/wildplants/Wildplants.java @@ -18,6 +18,7 @@ import wks.wolfkidsounds.wildplants.config.features.WildplantsFeaturesConfig; import wks.wolfkidsounds.wildplants.items.ModItems; import wks.wolfkidsounds.wildplants.render.ModRenderers; +import wks.wolfkidsounds.wildplants.utils.FileUtils; // The value here should match an entry in the META-INF/mods.toml file @Mod("wildplants") @@ -35,11 +36,9 @@ public ItemStack createIcon() { public Wildplants() { IEventBus eventBus = FMLJavaModLoadingContext.get().getModEventBus(); - ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, - WildplantsConfig.SPEC, "./wildplants/wildplants-common.toml"); - - ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, - WildplantsFeaturesConfig.SPEC, "./wildplants/wildplants-features-common.toml"); + FileUtils.createFolders(); + ModLoadingContext.get().registerConfig(net.minecraftforge.fml.config.ModConfig.Type.COMMON, WildplantsConfig.SPEC, "wildplants/wildplants-common.toml"); + ModLoadingContext.get().registerConfig(net.minecraftforge.fml.config.ModConfig.Type.CLIENT, WildplantsFeaturesConfig.SPEC, "wildplants/settings-common.toml"); ModBlocks.register(eventBus); ModItems.register(eventBus); diff --git a/src/main/java/wks/wolfkidsounds/wildplants/block/ModBlocks.java b/src/main/java/wks/wolfkidsounds/wildplants/block/ModBlocks.java index a2a6919..33c2ebc 100644 --- a/src/main/java/wks/wolfkidsounds/wildplants/block/ModBlocks.java +++ b/src/main/java/wks/wolfkidsounds/wildplants/block/ModBlocks.java @@ -12,271 +12,284 @@ import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import wks.wolfkidsounds.wildplants.Wildplants; +import wks.wolfkidsounds.wildplants.config.CompatConfig; import wks.wolfkidsounds.wildplants.items.ModItems; import java.util.function.Supplier; public class ModBlocks { - public static final DeferredRegister BLOCKS - = DeferredRegister.create(ForgeRegistries.BLOCKS, Wildplants.MOD_ID); + public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, Wildplants.MOD_ID); - public static RegistryObject registerBlock(String name, Supplier block) { - RegistryObject toReturn = BLOCKS.register(name, block); - registerBlockItem(name, toReturn); - return toReturn; - } + public static final RegistryObject MINECRAFT_WILD_WHEAT = registerMinecraftBlock("minecraft_wild_wheat", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); + + public static final RegistryObject MINECRAFT_WILD_CARROTS = registerMinecraftBlock("minecraft_wild_carrots", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject MINECRAFT_WILD_WHEAT = registerBlock("minecraft_wild_wheat", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject MINECRAFT_WILD_POTATOES = registerMinecraftBlock("minecraft_wild_potatoes", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject MINECRAFT_WILD_CARROTS = registerBlock("minecraft_wild_carrots", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject MINECRAFT_WILD_BEETROOTS = registerMinecraftBlock("minecraft_wild_beetroots", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject MINECRAFT_WILD_POTATOES = registerBlock("minecraft_wild_potatoes", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject IMMERSIVEENGINEERING_WILD_HEMP = registerImmersiveEngineeringBlock("immersiveenineering_wild_hemp", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject MINECRAFT_WILD_BEETROOTS = registerBlock("minecraft_wild_beetroots", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_AGAVE = registerHarvestcraftBlock("harvestcraft_wild_agave", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject IMMERSIVEENGINEERING_WILD_HEMP = registerBlock("immersiveenineering_wild_hemp", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_AMARANTH = registerHarvestcraftBlock("harvestcraft_wild_amaranth", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_AGAVE = registerBlock("harvestcraft_wild_agave", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_ARROWROOT = registerHarvestcraftBlock("harvestcraft_wild_arrowroot", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_AMARANTH = registerBlock("harvestcraft_wild_amaranth", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_ARTICHOKE = registerHarvestcraftBlock("harvestcraft_wild_artichoke", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_ARROWROOT = registerBlock("harvestcraft_wild_arrowroot", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_ASPARAGUS = registerHarvestcraftBlock("harvestcraft_wild_asparagus", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_ARTICHOKE = registerBlock("harvestcraft_wild_artichoke", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_BARLEY = registerHarvestcraftBlock("harvestcraft_wild_barley", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_ASPARAGUS = registerBlock("harvestcraft_wild_asparagus", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_BEAN = registerHarvestcraftBlock("harvestcraft_wild_bean", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_BARLEY = registerBlock("harvestcraft_wild_barley", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_BELLPEPPER = registerHarvestcraftBlock("harvestcraft_wild_bellpepper", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_BEAN = registerBlock("harvestcraft_wild_bean", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_BLACKBERRY = registerHarvestcraftBlock("harvestcraft_wild_blackberry", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_BELLPEPPER = registerBlock("harvestcraft_wild_bellpepper", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_BLUEBERRY = registerHarvestcraftBlock("harvestcraft_wild_blueberry", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_BLACKBERRY = registerBlock("harvestcraft_wild_blackberry", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_BROCCOLI = registerHarvestcraftBlock("harvestcraft_wild_broccoli", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_BLUEBERRY = registerBlock("harvestcraft_wild_blueberry", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_BRUSSELSPROUT = registerHarvestcraftBlock("harvestcraft_wild_brusselsprout", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_BROCCOLI = registerBlock("harvestcraft_wild_broccoli", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CABBAGE = registerHarvestcraftBlock("harvestcraft_wild_cabbage", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_BRUSSELSPROUT = registerBlock("harvestcraft_wild_brusselsprout", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CACTUSFRUIT = registerHarvestcraftBlock("harvestcraft_wild_cactusfruit", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CABBAGE = registerBlock("harvestcraft_wild_cabbage", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CANDLEBERRY = registerHarvestcraftBlock("harvestcraft_wild_candleberry", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CACTUSFRUIT = registerBlock("harvestcraft_wild_cactusfruit", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CANTALOUPE = registerHarvestcraftBlock("harvestcraft_wild_cantaloupe", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CANDLEBERRY = registerBlock("harvestcraft_wild_candleberry", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CASSAVA = registerHarvestcraftBlock("harvestcraft_wild_cassava", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CANTALOUPE = registerBlock("harvestcraft_wild_cantaloupe", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CAULIFLOWER = registerHarvestcraftBlock("harvestcraft_wild_cauliflower", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CASSAVA = registerBlock("harvestcraft_wild_cassava", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CELERY = registerHarvestcraftBlock("harvestcraft_wild_celery", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CAULIFLOWER = registerBlock("harvestcraft_wild_cauliflower", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CHICKPEA = registerHarvestcraftBlock("harvestcraft_wild_chickpea", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CELERY = registerBlock("harvestcraft_wild_celery", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CHILIPEPPER = registerHarvestcraftBlock("harvestcraft_wild_chilipepper", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CHICKPEA = registerBlock("harvestcraft_wild_chickpea", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_COFFEEBEAN = registerHarvestcraftBlock("harvestcraft_wild_coffeebean", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CHILIPEPPER = registerBlock("harvestcraft_wild_chilipepper", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CORN = registerHarvestcraftBlock("harvestcraft_wild_corn", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_COFFEEBEAN = registerBlock("harvestcraft_wild_coffeebean", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_COTTON = registerHarvestcraftBlock("harvestcraft_wild_cotton", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CORN = registerBlock("harvestcraft_wild_corn", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CRANBERRY = registerHarvestcraftBlock("harvestcraft_wild_cranberry", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_COTTON = registerBlock("harvestcraft_wild_cotton", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_CUCUMBER = registerHarvestcraftBlock("harvestcraft_wild_cucumber", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CRANBERRY = registerBlock("harvestcraft_wild_cranberry", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_EGGPLANT = registerHarvestcraftBlock("harvestcraft_wild_eggplant", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_CUCUMBER = registerBlock("harvestcraft_wild_cucumber", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_ELDERBERRY = registerHarvestcraftBlock("harvestcraft_wild_elderberry", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_EGGPLANT = registerBlock("harvestcraft_wild_eggplant", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_FLAX = registerHarvestcraftBlock("harvestcraft_wild_flax", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_ELDERBERRY = registerBlock("harvestcraft_wild_elderberry", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_GARLIC = registerHarvestcraftBlock("harvestcraft_wild_garlic", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_FLAX = registerBlock("harvestcraft_wild_flax", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_GINGER = registerHarvestcraftBlock("harvestcraft_wild_ginger", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_GARLIC = registerBlock("harvestcraft_wild_garlic", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_GRAPE = registerHarvestcraftBlock("harvestcraft_wild_grape", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_GINGER = registerBlock("harvestcraft_wild_ginger", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_GREENGRAPE = registerHarvestcraftBlock("harvestcraft_wild_greengrape", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_GRAPE = registerBlock("harvestcraft_wild_grape", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_HUCKLEBERRY = registerHarvestcraftBlock("harvestcraft_wild_huckleberry", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_GREENGRAPE = registerBlock("harvestcraft_wild_greengrape", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_JICAMA = registerHarvestcraftBlock("harvestcraft_wild_jicama", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_HUCKLEBERRY = registerBlock("harvestcraft_wild_huckleberry", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_JUNIPERBERRY = registerHarvestcraftBlock("harvestcraft_wild_juniperberry", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_JICAMA = registerBlock("harvestcraft_wild_jicama", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_JUTE = registerHarvestcraftBlock("harvestcraft_wild_jute", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_JUNIPERBERRY = registerBlock("harvestcraft_wild_juniperberry", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_KALE = registerHarvestcraftBlock("harvestcraft_wild_kale", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_JUTE = registerBlock("harvestcraft_wild_jute", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_KENAF = registerHarvestcraftBlock("harvestcraft_wild_kenaf", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_KALE = registerBlock("harvestcraft_wild_kale", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_KIWI = registerHarvestcraftBlock("harvestcraft_wild_kiwi", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_KENAF = registerBlock("harvestcraft_wild_kenaf", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_KOHLRABI = registerHarvestcraftBlock("harvestcraft_wild_kohlrabi", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_KIWI = registerBlock("harvestcraft_wild_kiwi", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_LEEK = registerHarvestcraftBlock("harvestcraft_wild_leek", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_KOHLRABI = registerBlock("harvestcraft_wild_kohlrabi", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_LENTIL = registerHarvestcraftBlock("harvestcraft_wild_lentil", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_LEEK = registerBlock("harvestcraft_wild_leek", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_LETTUCE = registerHarvestcraftBlock("harvestcraft_wild_lettuce", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_LENTIL = registerBlock("harvestcraft_wild_lentil", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_MILLET = registerHarvestcraftBlock("harvestcraft_wild_millet", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_LETTUCE = registerBlock("harvestcraft_wild_lettuce", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_MULBERRY = registerHarvestcraftBlock("harvestcraft_wild_mulberry", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_MILLET = registerBlock("harvestcraft_wild_millet", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_MUSTARDSEEDS = registerHarvestcraftBlock("harvestcraft_wild_mustardseeds", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_MULBERRY = registerBlock("harvestcraft_wild_mulberry", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_OATS = registerHarvestcraftBlock("harvestcraft_wild_oats", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_MUSTARDSEEDS = registerBlock("harvestcraft_wild_mustardseeds", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_OKRA = registerHarvestcraftBlock("harvestcraft_wild_okra", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_OATS = registerBlock("harvestcraft_wild_oats", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_ONION = registerHarvestcraftBlock("harvestcraft_wild_onion", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_OKRA = registerBlock("harvestcraft_wild_okra", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_PARSNIP = registerHarvestcraftBlock("harvestcraft_wild_parsnip", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_ONION = registerBlock("harvestcraft_wild_onion", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_PEANUT = registerHarvestcraftBlock("harvestcraft_wild_peanut", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_PARSNIP = registerBlock("harvestcraft_wild_parsnip", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_PEAS = registerHarvestcraftBlock("harvestcraft_wild_peas", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_PEANUT = registerBlock("harvestcraft_wild_peanut", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_PINEAPPLE = registerHarvestcraftBlock("harvestcraft_wild_pineapple", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_PEAS = registerBlock("harvestcraft_wild_peas", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_QUINOA = registerHarvestcraftBlock("harvestcraft_wild_quinoa", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_PINEAPPLE = registerBlock("harvestcraft_wild_pineapple", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_RADISH = registerHarvestcraftBlock("harvestcraft_wild_radish", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_QUINOA = registerBlock("harvestcraft_wild_quinoa", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_RASPBERRY = registerHarvestcraftBlock("harvestcraft_wild_raspberry", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_RADISH = registerBlock("harvestcraft_wild_radish", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_RHUBARB = registerHarvestcraftBlock("harvestcraft_wild_rhubarb", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_RASPBERRY = registerBlock("harvestcraft_wild_raspberry", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_RICE = registerHarvestcraftBlock("harvestcraft_wild_rice", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_RHUBARB = registerBlock("harvestcraft_wild_rhubarb", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_RUTABAGA = registerHarvestcraftBlock("harvestcraft_wild_rutabaga", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_RICE = registerBlock("harvestcraft_wild_rice", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_RYE = registerHarvestcraftBlock("harvestcraft_wild_rye", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_RUTABAGA = registerBlock("harvestcraft_wild_rutabaga", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_SCALLION = registerHarvestcraftBlock("harvestcraft_wild_scallion", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_RYE = registerBlock("harvestcraft_wild_rye", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_SESAMESEEDS = registerHarvestcraftBlock("harvestcraft_wild_sesameseeds", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_SCALLION = registerBlock("harvestcraft_wild_scallion", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_SISAL = registerHarvestcraftBlock("harvestcraft_wild_sisal", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_SESAMESEEDS = registerBlock("harvestcraft_wild_sesameseeds", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_SOYBEAN = registerHarvestcraftBlock("harvestcraft_wild_soybean", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_SISAL = registerBlock("harvestcraft_wild_sisal", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_SPINACH = registerHarvestcraftBlock("harvestcraft_wild_spinach", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_SOYBEAN = registerBlock("harvestcraft_wild_soybean", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_SPICELEAF = registerHarvestcraftBlock("harvestcraft_wild_spiceleaf", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_SPINACH = registerBlock("harvestcraft_wild_spinach", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_STRAWBERRY = registerHarvestcraftBlock("harvestcraft_wild_strawberry", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_SPICELEAF = registerBlock("harvestcraft_wild_spiceleaf", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_SWEETPOTATO = registerHarvestcraftBlock("harvestcraft_wild_sweetpotato", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_STRAWBERRY = registerBlock("harvestcraft_wild_strawberry", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_TARO = registerHarvestcraftBlock("harvestcraft_wild_taro", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_SWEETPOTATO = registerBlock("harvestcraft_wild_sweetpotato", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_TEALEAF = registerHarvestcraftBlock("harvestcraft_wild_tealeaf", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_TARO = registerBlock("harvestcraft_wild_taro", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_TOMATILLO = registerHarvestcraftBlock("harvestcraft_wild_tomatillo", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_TEALEAF = registerBlock("harvestcraft_wild_tealeaf", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_TOMATO = registerHarvestcraftBlock("harvestcraft_wild_tomato", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_TOMATILLO = registerBlock("harvestcraft_wild_tomatillo", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_TURNIP = registerHarvestcraftBlock("harvestcraft_wild_turnip", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_TOMATO = registerBlock("harvestcraft_wild_tomato", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_WATERCHESTNUT = registerHarvestcraftBlock("harvestcraft_wild_waterchestnut", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_TURNIP = registerBlock("harvestcraft_wild_turnip", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_WHITEMUSHROOM = registerHarvestcraftBlock("harvestcraft_wild_whitemushroom", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_WATERCHESTNUT = registerBlock("harvestcraft_wild_waterchestnut", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_WINTERSQUASH = registerHarvestcraftBlock("harvestcraft_wild_wintersquash", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); - public static final RegistryObject HARVESTCRAFT_WILD_WHITEMUSHROOM = registerBlock("harvestcraft_wild_whitemushroom", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + public static final RegistryObject HARVESTCRAFT_WILD_ZUCCHINI = registerHarvestcraftBlock("harvestcraft_wild_zucchini", + () -> new FlowerBlock(Effects.INSTANT_HEALTH, 2, AbstractBlock.Properties.from(Blocks.DANDELION))); + + private static RegistryObject registerMinecraftBlock(String name, Supplier block) { + RegistryObject toReturn = BLOCKS.register(name, block); + if (CompatConfig.ENABLE_MINECRAFT.get()) {registerBlockItem(name, toReturn);} + return toReturn; + } - public static final RegistryObject HARVESTCRAFT_WILD_WINTERSQUASH = registerBlock("harvestcraft_wild_wintersquash", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + private static RegistryObject registerImmersiveEngineeringBlock(String name, Supplier block) { + RegistryObject toReturn = BLOCKS.register(name, block); + if (CompatConfig.ENABLE_IMMERSIVEENGINEERING.get() && CompatConfig.LOADED_IMMERSIVEENGINEERING) {registerBlockItem(name, toReturn);} + return toReturn; + } - public static final RegistryObject HARVESTCRAFT_WILD_ZUCCHINI = registerBlock("harvestcraft_wild_zucchini", - () -> new FlowerBlock(Effects.HASTE, 1, AbstractBlock.Properties.from(Blocks.DANDELION))); + private static RegistryObject registerHarvestcraftBlock(String name, Supplier block) { + RegistryObject toReturn = BLOCKS.register(name, block); + if (CompatConfig.ENABLE_HARVESTCRAFT.get() && CompatConfig.LOADED_HARVESTCRAFT) {registerBlockItem(name, toReturn);} + return toReturn; + } private static void registerBlockItem(String name, RegistryObject block) { - ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties().group(Wildplants.ITEM_GROUP))); + ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), + new Item.Properties().group(Wildplants.ITEM_GROUP))); } public static void register(IEventBus eventBus) { diff --git a/src/main/java/wks/wolfkidsounds/wildplants/config/WildplantsConfig.java b/src/main/java/wks/wolfkidsounds/wildplants/config/WildplantsConfig.java index f2d08f3..99a639d 100644 --- a/src/main/java/wks/wolfkidsounds/wildplants/config/WildplantsConfig.java +++ b/src/main/java/wks/wolfkidsounds/wildplants/config/WildplantsConfig.java @@ -26,7 +26,7 @@ public final class WildplantsConfig { .comment("Global generation patch size modifier (higher is more) [Default: 5]") .define("Size", 2); BUILDER.pop(); - BUILDER.push("Compat *NOT WORKING IN THIS VERSION*"); + BUILDER.push("Compat"); BUILDER.comment("A config file will be generated when the mod is loaded while the feature is enabled. \n" + "If you disable a feature the config file and block registration/generation will be disabled"); CompatConfig.initMinecraft(BUILDER); diff --git a/src/main/java/wks/wolfkidsounds/wildplants/utils/FileUtils.java b/src/main/java/wks/wolfkidsounds/wildplants/utils/FileUtils.java new file mode 100644 index 0000000..0f0f514 --- /dev/null +++ b/src/main/java/wks/wolfkidsounds/wildplants/utils/FileUtils.java @@ -0,0 +1,21 @@ +package wks.wolfkidsounds.wildplants.utils; + +import net.minecraftforge.fml.loading.FMLPaths; +import wks.wolfkidsounds.wildplants.Wildplants; + +import java.io.IOException; +import java.nio.file.FileAlreadyExistsException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class FileUtils { + + public static void createFolders() { + Path wildplantsConfigurationPath = Paths.get(FMLPaths.CONFIGDIR.get().toAbsolutePath().toString(), "wildplants"); + + try {Files.createDirectory(wildplantsConfigurationPath);} + catch (FileAlreadyExistsException event) { Wildplants.LOGGER.debug("Configuration already exists. nice."); }//do nothing + catch (IOException event) {Wildplants.LOGGER.error("The wildplants configuration directory could not be created", event);} + } +} diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 03a86ad..5f6bb00 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -4,7 +4,7 @@ license="GNU General Public License version 3 (GPLv3)" [[mods]] modId="wildplants" -version="${file.jarVersion}" +version="1.16.5_2.1.5_forge" displayName="Wildplants" credits="WOLFKIDSOUNDS" displayURL="https://wolfkidsounds.com" diff --git a/src/main/resources/assets/wildplants/blockstates/harvestcraft_wild_onion.json b/src/main/resources/assets/wildplants/blockstates/harvestcraft_wild_onion.json index e69de29..4f4e49f 100644 --- a/src/main/resources/assets/wildplants/blockstates/harvestcraft_wild_onion.json +++ b/src/main/resources/assets/wildplants/blockstates/harvestcraft_wild_onion.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "wildplants:block/harvestcraft_wild_onion" + } + } +} \ No newline at end of file diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index 324af4e..b95cac5 100644 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -2,6 +2,6 @@ "pack": { "description": "wildplants resources", "pack_format": 6, - "_comment": "A pack_format of 6 requires json lang files and some texture changes from 1.16.2. Note: we require v6 pack meta for all mods." + "_comment": "" } }