diff --git a/build.gradle b/build.gradle index 3d54640..251e0b8 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,10 @@ plugins { - id 'fabric-loom' version '1.5-SNAPSHOT' + id 'fabric-loom' version '1.6-SNAPSHOT' id 'maven-publish' } -sourceCompatibility = JavaVersion.VERSION_17 -targetCompatibility = JavaVersion.VERSION_17 +sourceCompatibility = JavaVersion.VERSION_21 +targetCompatibility = JavaVersion.VERSION_21 archivesBaseName = project.archives_base_name version = project.mod_version @@ -68,7 +68,7 @@ tasks.withType(JavaCompile).configureEach { it.options.encoding = "UTF-8" // Minecraft 1.17 (21w19a) upwards uses Java 16. - it.options.release = 17 + it.options.release = 21 } sourceSets { main { diff --git a/gradle.properties b/gradle.properties index dc33f87..da92b70 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,9 +3,9 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.20.4 - yarn_mappings=1.20.4+build.3 - loader_version=0.15.6 + minecraft_version=1.21 + yarn_mappings=1.21+build.2 + loader_version=0.15.11 # Mod Properties mod_version = 2.1.0 @@ -14,7 +14,7 @@ org.gradle.jvmargs=-Xmx1G # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.95.0+1.20.4 - lavender_version=0.1.1+1.20.3 + fabric_version=0.100.1+1.21 + lavender_version=0.1.10+1.21 maybedata_version=1.3.3-1.20.1 - midnightlib_version=1.5.3-fabric + midnightlib_version=1.5.7-fabric diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1af9e09..a441313 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java b/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java index e6d1db9..e95d081 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java @@ -1,6 +1,10 @@ package eu.midnightdust.motschen.dishes; -import eu.midnightdust.motschen.dishes.block.*; +import eu.midnightdust.motschen.dishes.block.Bowl; +import eu.midnightdust.motschen.dishes.block.Dish; +import eu.midnightdust.motschen.dishes.block.Pizza; +import eu.midnightdust.motschen.dishes.block.Plate; +import eu.midnightdust.motschen.dishes.block.Soup; import eu.midnightdust.motschen.dishes.blockstates.DishBites; import eu.midnightdust.motschen.dishes.compat.Flags; import eu.midnightdust.motschen.dishes.config.DishesConfig; @@ -12,17 +16,22 @@ import eu.midnightdust.motschen.dishes.utils.DishGroup; import io.wispforest.lavender.book.LavenderBookItem; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; import net.minecraft.block.Blocks; -import net.minecraft.item.*; +import net.minecraft.component.type.FoodComponent; +import net.minecraft.item.Item; +import net.minecraft.item.ItemGroup; +import net.minecraft.item.ItemStack; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.text.Text; import net.minecraft.util.Identifier; -import java.util.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerItem; import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerBlockWithItem; @@ -59,30 +68,30 @@ public class DishesMain implements ModInitializer { public static final Block FishAndChips = new Dish(); public static final Block Borscht = new Soup(); public static final Item Knife = new Item(new Item.Settings().recipeRemainder(DishesMain.Knife).maxCount(1)); - public static final Item PotatoSlice = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).snack().build())); - public static final Item RawFries = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).snack().build())); - public static final Item Fries = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(4).saturationModifier(1f).snack().build())); - public static final Block SaltOre = new Block(FabricBlockSettings.copyOf(Blocks.COAL_ORE)); + public static final Item PotatoSlice = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(1).saturationModifier(0.5f).snack().build())); + public static final Item RawFries = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(2).saturationModifier(0.75f).snack().build())); + public static final Item Fries = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(4).saturationModifier(1f).snack().build())); + public static final Block SaltOre = new Block(AbstractBlock.Settings.copy(Blocks.COAL_ORE)); public static final Item Salt = new Item(new Item.Settings()); public static final Item Flour = new Item(new Item.Settings()); - public static final Item RawSpaghetti = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).build())); - public static final Item Spaghetti = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).snack().build())); - public static final Item Salami = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(3).saturationModifier(1f).snack().build())); - public static final Item RawBacon = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).build())); - public static final Item Bacon = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).build())); - public static final Item CheeseRoll = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(4).saturationModifier(1f).build())); - public static final Item CheeseSlice = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.5f).snack().build())); + public static final Item RawSpaghetti = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(1).saturationModifier(0.5f).build())); + public static final Item Spaghetti = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(2).saturationModifier(0.75f).snack().build())); + public static final Item Salami = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(3).saturationModifier(1f).snack().build())); + public static final Item RawBacon = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(1).saturationModifier(0.5f).build())); + public static final Item Bacon = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(2).saturationModifier(0.75f).build())); + public static final Item CheeseRoll = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(4).saturationModifier(1f).build())); + public static final Item CheeseSlice = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(2).saturationModifier(0.5f).snack().build())); - public static final Item IceCreamVanilla = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamChocolate = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamWhiteChocolate = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamStrawberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamBanana = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamPear = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamSweetberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamBlueberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamBubblegum = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamGlowberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); + public static final Item IceCreamVanilla = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().nutrition(6).saturationModifier(1f).build())); + public static final Item IceCreamChocolate = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().nutrition(6).saturationModifier(1f).build())); + public static final Item IceCreamWhiteChocolate = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().nutrition(6).saturationModifier(1f).build())); + public static final Item IceCreamStrawberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().nutrition(6).saturationModifier(1f).build())); + public static final Item IceCreamBanana = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().nutrition(6).saturationModifier(1f).build())); + public static final Item IceCreamPear = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().nutrition(6).saturationModifier(1f).build())); + public static final Item IceCreamSweetberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().nutrition(6).saturationModifier(1f).build())); + public static final Item IceCreamBlueberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().nutrition(6).saturationModifier(1f).build())); + public static final Item IceCreamBubblegum = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().nutrition(6).saturationModifier(1f).build())); + public static final Item IceCreamGlowberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().nutrition(6).saturationModifier(1f).build())); @Override public void onInitialize() { @@ -91,75 +100,75 @@ public class DishesMain implements ModInitializer { new DishBites(); // General // - registerBlockWithItem(new Identifier(MOD_ID,"salt_ore"), SaltOre, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"salt"), Salt, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"flour"), Flour, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"knife"), Knife, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"potato_slice"), PotatoSlice, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"raw_fries"), RawFries, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"fries"), Fries, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"raw_spaghetti"), RawSpaghetti, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"spaghetti"), Spaghetti, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"salami"), Salami, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"raw_bacon"), RawBacon, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"bacon"), Bacon, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"cheese_roll"), CheeseRoll, DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"cheese_slice"), CheeseSlice, DishGroup.MAIN); + registerBlockWithItem(id("salt_ore"), SaltOre, DishGroup.MAIN); + registerItem(id("salt"), Salt, DishGroup.MAIN); + registerItem(id("flour"), Flour, DishGroup.MAIN); + registerItem(id("knife"), Knife, DishGroup.MAIN); + registerItem(id("potato_slice"), PotatoSlice, DishGroup.MAIN); + registerItem(id("raw_fries"), RawFries, DishGroup.MAIN); + registerItem(id("fries"), Fries, DishGroup.MAIN); + registerItem(id("raw_spaghetti"), RawSpaghetti, DishGroup.MAIN); + registerItem(id("spaghetti"), Spaghetti, DishGroup.MAIN); + registerItem(id("salami"), Salami, DishGroup.MAIN); + registerItem(id("raw_bacon"), RawBacon, DishGroup.MAIN); + registerItem(id("bacon"), Bacon, DishGroup.MAIN); + registerItem(id("cheese_roll"), CheeseRoll, DishGroup.MAIN); + registerItem(id("cheese_slice"), CheeseSlice, DishGroup.MAIN); CropInit.init(); // Dishes // - registerBlockWithItem(new Identifier(MOD_ID,"plate"), Plate, DishGroup.DISHES); - registerBlockWithItem(new Identifier(MOD_ID,"bowl"), Bowl, DishGroup.DISHES); - registerDishWithItem(new Identifier(MOD_ID,"potatoeswithcurdcheese"), PotatoesWithCurdCheese, DishGroup.DISHES, 10, 1f); + registerBlockWithItem(id("plate"), Plate, DishGroup.DISHES); + registerBlockWithItem(id("bowl"), Bowl, DishGroup.DISHES); + registerDishWithItem(id("potatoeswithcurdcheese"), PotatoesWithCurdCheese, DishGroup.DISHES, 10, 1f); if (FabricLoader.getInstance().isModLoaded("lil_tater") | FabricLoader.getInstance().isModLoaded("liltater") | FabricLoader.getInstance().isModLoaded("ltr")) - registerDishWithItem(new Identifier(MOD_ID,"tinypotatoeswithcurdcheese"), TinyPotatoesWithCurdCheese, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("tinypotatoeswithcurdcheese"), TinyPotatoesWithCurdCheese, DishGroup.DISHES, 10, 1f); else - registerDishWithItem(new Identifier(MOD_ID,"tinypotatoeswithcurdcheese"), TinyPotatoesWithCurdCheese, DishGroup.NONE, 10, 1f); + registerDishWithItem(id("tinypotatoeswithcurdcheese"), TinyPotatoesWithCurdCheese, DishGroup.NONE, 10, 1f); if (DishesConfig.enableMeatDishes) { - registerDishWithItem(new Identifier(MOD_ID, "schnitzel"), Schnitzel, DishGroup.DISHES, 10, 1f); - registerDishWithItem(new Identifier(MOD_ID, "spaghetti_bolognese"), SpaghettiBolognese, DishGroup.DISHES, 10, 1f); - registerDishWithItem(new Identifier(MOD_ID, "steak"), Steak, DishGroup.DISHES, 10, 1f); - registerDishWithItem(new Identifier(MOD_ID, "hamburger"), Hamburger, DishGroup.DISHES, 10, 1f); - registerDishWithItem(new Identifier(MOD_ID, "chickenburger"), Chickenburger, DishGroup.DISHES, 10, 1f); - registerDishWithItem(new Identifier(MOD_ID, "cheeseburger"), Cheeseburger, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("schnitzel"), Schnitzel, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("spaghetti_bolognese"), SpaghettiBolognese, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("steak"), Steak, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("hamburger"), Hamburger, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("chickenburger"), Chickenburger, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("cheeseburger"), Cheeseburger, DishGroup.DISHES, 10, 1f); if (FabricLoader.getInstance().isModLoaded("ad_astra")) - registerDishWithItem(new Identifier(MOD_ID, "spaceburger"), Spaceburger, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("spaceburger"), Spaceburger, DishGroup.DISHES, 10, 1f); else - registerDishWithItem(new Identifier(MOD_ID, "spaceburger"), Spaceburger, DishGroup.NONE, 10, 1f); + registerDishWithItem(id("spaceburger"), Spaceburger, DishGroup.NONE, 10, 1f); } - registerDishWithItem(new Identifier(MOD_ID, "potatoburger"), Potatoburger, DishGroup.DISHES, 10, 1f); - registerDishWithItem(new Identifier(MOD_ID, "beetrootburger"), Beetrootburger, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("potatoburger"), Potatoburger, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("beetrootburger"), Beetrootburger, DishGroup.DISHES, 10, 1f); if (DishesConfig.enableMeatDishes) { - registerDishWithItem(new Identifier(MOD_ID, "fishandchips"), FishAndChips, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("fishandchips"), FishAndChips, DishGroup.DISHES, 10, 1f); } - registerDishWithItem(new Identifier(MOD_ID,"borscht"), Borscht, DishGroup.DISHES, 10, 1f); + registerDishWithItem(id("borscht"), Borscht, DishGroup.DISHES, 10, 1f); // Pizza // - registerBlockWithItem(new Identifier(MOD_ID,"pizzabox"), PizzaBox, DishGroup.PIZZA); - registerDishWithItem(new Identifier(MOD_ID,"pizzamargherita"), PizzaMargherita, DishGroup.PIZZA, 10, 1f); - registerDishWithItem(new Identifier(MOD_ID,"pizzafungi"), PizzaFungi, DishGroup.PIZZA, 10, 1f); + registerBlockWithItem(id("pizzabox"), PizzaBox, DishGroup.PIZZA); + registerDishWithItem(id("pizzamargherita"), PizzaMargherita, DishGroup.PIZZA, 10, 1f); + registerDishWithItem(id("pizzafungi"), PizzaFungi, DishGroup.PIZZA, 10, 1f); if (DishesConfig.enableMeatDishes) { - registerDishWithItem(new Identifier(MOD_ID, "pizzasalami"), PizzaSalami, DishGroup.PIZZA, 10, 1f); - registerDishWithItem(new Identifier(MOD_ID, "pizzaham"), PizzaHam, DishGroup.PIZZA, 10, 1f); - registerDishWithItem(new Identifier(MOD_ID, "pizzatuna"), PizzaTuna, DishGroup.PIZZA, 10, 1f); - registerDishWithItem(new Identifier(MOD_ID, "pizzabacon"), PizzaBacon, DishGroup.PIZZA, 10, 1f); + registerDishWithItem(id("pizzasalami"), PizzaSalami, DishGroup.PIZZA, 10, 1f); + registerDishWithItem(id("pizzaham"), PizzaHam, DishGroup.PIZZA, 10, 1f); + registerDishWithItem(id("pizzatuna"), PizzaTuna, DishGroup.PIZZA, 10, 1f); + registerDishWithItem(id("pizzabacon"), PizzaBacon, DishGroup.PIZZA, 10, 1f); } // Ice Cream // - registerItem(new Identifier(MOD_ID,"ice_cream_vanilla"), IceCreamVanilla, DishGroup.SWEETS); - registerItem(new Identifier(MOD_ID,"ice_cream_chocolate"), IceCreamChocolate, DishGroup.SWEETS); - registerItem(new Identifier(MOD_ID,"ice_cream_white_chocolate"), IceCreamWhiteChocolate, DishGroup.SWEETS); - registerItem(new Identifier(MOD_ID,"ice_cream_strawberry"), IceCreamStrawberry, DishGroup.SWEETS); - registerItem(new Identifier(MOD_ID,"ice_cream_banana"), IceCreamBanana, DishGroup.SWEETS); - registerItem(new Identifier(MOD_ID,"ice_cream_pear"), IceCreamPear, DishGroup.SWEETS); - registerItem(new Identifier(MOD_ID,"ice_cream_sweetberry"), IceCreamSweetberry, DishGroup.SWEETS); - registerItem(new Identifier(MOD_ID,"ice_cream_blueberry"), IceCreamBlueberry, DishGroup.SWEETS); - registerItem(new Identifier(MOD_ID,"ice_cream_bubblegum"), IceCreamBubblegum, DishGroup.SWEETS); - registerItem(new Identifier(MOD_ID,"ice_cream_glowberry"), IceCreamGlowberry, DishGroup.SWEETS); + registerItem(id("ice_cream_vanilla"), IceCreamVanilla, DishGroup.SWEETS); + registerItem(id("ice_cream_chocolate"), IceCreamChocolate, DishGroup.SWEETS); + registerItem(id("ice_cream_white_chocolate"), IceCreamWhiteChocolate, DishGroup.SWEETS); + registerItem(id("ice_cream_strawberry"), IceCreamStrawberry, DishGroup.SWEETS); + registerItem(id("ice_cream_banana"), IceCreamBanana, DishGroup.SWEETS); + registerItem(id("ice_cream_pear"), IceCreamPear, DishGroup.SWEETS); + registerItem(id("ice_cream_sweetberry"), IceCreamSweetberry, DishGroup.SWEETS); + registerItem(id("ice_cream_blueberry"), IceCreamBlueberry, DishGroup.SWEETS); + registerItem(id("ice_cream_bubblegum"), IceCreamBubblegum, DishGroup.SWEETS); + registerItem(id("ice_cream_glowberry"), IceCreamGlowberry, DishGroup.SWEETS); // Compat // if (FabricLoader.getInstance().isModLoaded("lavender")) { @@ -171,10 +180,13 @@ public class DishesMain implements ModInitializer { DishesGroup = FabricItemGroup.builder().displayName(Text.translatable("itemGroup.dishes.dishes")).icon(() -> new ItemStack(DishesMain.PotatoesWithCurdCheese)).entries(((displayContext, entries) -> entries.addAll((itemGroupMap.get(DishGroup.DISHES))))).build(); PizzaGroup = FabricItemGroup.builder().displayName(Text.translatable("itemGroup.dishes.pizza")).icon(() -> new ItemStack(DishesMain.PizzaSalami)).entries(((displayContext, entries) -> entries.addAll((itemGroupMap.get(DishGroup.PIZZA))))).build(); SweetsGroup = FabricItemGroup.builder().displayName(Text.translatable("itemGroup.dishes.sweets")).icon(() -> new ItemStack(DishesMain.IceCreamVanilla)).entries(((displayContext, entries) -> entries.addAll((itemGroupMap.get(DishGroup.SWEETS))))).build(); - Registry.register(Registries.ITEM_GROUP, new Identifier(MOD_ID, "main"), MainGroup); - Registry.register(Registries.ITEM_GROUP, new Identifier(MOD_ID, "dishes"), DishesGroup); - Registry.register(Registries.ITEM_GROUP, new Identifier(MOD_ID, "pizza"), PizzaGroup); - Registry.register(Registries.ITEM_GROUP, new Identifier(MOD_ID, "sweets"), SweetsGroup); - CookingGuide = LavenderBookItem.registerForBook(new Identifier(MOD_ID, "cooking_guide"), new Item.Settings()); + Registry.register(Registries.ITEM_GROUP, id("main"), MainGroup); + Registry.register(Registries.ITEM_GROUP, id("dishes"), DishesGroup); + Registry.register(Registries.ITEM_GROUP, id("pizza"), PizzaGroup); + Registry.register(Registries.ITEM_GROUP, id("sweets"), SweetsGroup); + CookingGuide = LavenderBookItem.registerForBook(id("cooking_guide"), new Item.Settings()); + } + public static Identifier id(String path) { + return Identifier.of(MOD_ID, path); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java index a433486..eb43b49 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java @@ -27,7 +27,7 @@ public class Dish extends HorizontalFacingBlock { private static final VoxelShape SHAPE; public Dish() { - super(FabricBlockSettings.copyOf(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(AbstractBlock.Settings.copy(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(DISH_BITES, 0)); } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Lettuce.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Lettuce.java index f321175..90b1d65 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Lettuce.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Lettuce.java @@ -4,6 +4,7 @@ import eu.midnightdust.motschen.dishes.init.LettuceInit; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.AbstractBlock; import net.minecraft.block.Blocks; import net.minecraft.block.CropBlock; import net.minecraft.item.ItemConvertible; @@ -11,7 +12,7 @@ import net.minecraft.item.ItemConvertible; public class Lettuce extends CropBlock { public Lettuce() { - super(FabricBlockSettings.copy(Blocks.CARROTS)); + super(AbstractBlock.Settings.copy(Blocks.CARROTS)); } @Override diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java index 7da5947..4d5f5a6 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java @@ -26,7 +26,7 @@ public class Pizza extends HorizontalFacingBlock { private static final VoxelShape SHAPE; public Pizza() { - super(FabricBlockSettings.copyOf(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(AbstractBlock.Settings.copy(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(DISH_BITES, 0)); } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java index 4f8e3d9..5312d26 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java @@ -16,7 +16,7 @@ public class Plate extends HorizontalFacingBlock { private static final VoxelShape SHAPE; public Plate() { - super(FabricBlockSettings.copyOf(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(AbstractBlock.Settings.copy(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH)); } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java index b816c20..5807faf 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java @@ -3,7 +3,6 @@ package eu.midnightdust.motschen.dishes.block; import com.mojang.serialization.MapCodec; import eu.midnightdust.motschen.dishes.DishesMain; import eu.midnightdust.motschen.dishes.blockstates.SoupSips; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.*; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemPlacementContext; @@ -26,7 +25,7 @@ public class Soup extends HorizontalFacingBlock { private static final VoxelShape SHAPE; public Soup() { - super(FabricBlockSettings.copyOf(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(AbstractBlock.Settings.copy(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(SOUP_SIPS, 0)); } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Tomato.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Tomato.java index d746ef9..b05eca7 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Tomato.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Tomato.java @@ -3,7 +3,7 @@ package eu.midnightdust.motschen.dishes.block; import eu.midnightdust.motschen.dishes.init.TomatoInit; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.AbstractBlock; import net.minecraft.block.Blocks; import net.minecraft.block.CropBlock; import net.minecraft.item.ItemConvertible; @@ -11,7 +11,7 @@ import net.minecraft.item.ItemConvertible; public class Tomato extends CropBlock { public Tomato() { - super(FabricBlockSettings.copy(Blocks.CARROTS)); + super(AbstractBlock.Settings.copy(Blocks.CARROTS)); } @Override diff --git a/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java b/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java index 107d84b..0aeaee4 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java @@ -1,5 +1,6 @@ package eu.midnightdust.motschen.dishes.compat; +import net.minecraft.component.DataComponentTypes; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -18,9 +19,9 @@ public class CookingGuideItem extends Item { public TypedActionResult use(World world, PlayerEntity user, Hand hand) { ItemStack itemStack = user.getStackInHand(hand); - Optional item = Registries.ITEM.getOrEmpty(new Identifier("patchouli", "guide_book")); + Optional item = Registries.ITEM.getOrEmpty(Identifier.of("patchouli", "guide_book")); ItemStack stack = new ItemStack(item.get()); - stack.getOrCreateNbt().putString("patchouli:book", "dishes:cooking_guide"); + stack.getComponents().get(DataComponentTypes.CUSTOM_DATA).copyNbt().putString("patchouli:book", "dishes:cooking_guide"); user.setStackInHand(hand, stack); return TypedActionResult.pass(itemStack); diff --git a/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java b/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java index 3b75b76..0fabc3c 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java @@ -2,9 +2,8 @@ package eu.midnightdust.motschen.dishes.compat; import eu.midnightdust.motschen.dishes.utils.DishGroup; import net.minecraft.item.Item; -import net.minecraft.util.Identifier; -import static eu.midnightdust.motschen.dishes.DishesMain.MOD_ID; +import static eu.midnightdust.motschen.dishes.DishesMain.id; import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerItem; public class Flags { @@ -16,12 +15,12 @@ public class Flags { public static Item LabelVeggie = new Item(new Item.Settings()); public static Item LabelVegan = new Item(new Item.Settings()); public static void init() { - registerItem(new Identifier(MOD_ID,"flag_germany"), FlagGermany, DishGroup.NONE); - registerItem(new Identifier(MOD_ID,"flag_italy"), FlagItaly, DishGroup.NONE); - registerItem(new Identifier(MOD_ID,"flag_uk"), FlagUK, DishGroup.NONE); - registerItem(new Identifier(MOD_ID,"flag_ukraine"), FlagUkraine, DishGroup.NONE); - registerItem(new Identifier(MOD_ID,"flag_usa"), FlagUSA, DishGroup.NONE); - registerItem(new Identifier(MOD_ID,"label_veggie"), LabelVeggie, DishGroup.NONE); - registerItem(new Identifier(MOD_ID,"label_vegan"), LabelVegan, DishGroup.NONE); + registerItem(id("flag_germany"), FlagGermany, DishGroup.NONE); + registerItem(id("flag_italy"), FlagItaly, DishGroup.NONE); + registerItem(id("flag_uk"), FlagUK, DishGroup.NONE); + registerItem(id("flag_ukraine"), FlagUkraine, DishGroup.NONE); + registerItem(id("flag_usa"), FlagUSA, DishGroup.NONE); + registerItem(id("label_veggie"), LabelVeggie, DishGroup.NONE); + registerItem(id("label_vegan"), LabelVegan, DishGroup.NONE); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java index 4fd427d..511f3d1 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java @@ -1,20 +1,20 @@ package eu.midnightdust.motschen.dishes.entities; import eu.midnightdust.motschen.dishes.init.IceCreamTraderInit; -import net.minecraft.entity.EntityType; import net.minecraft.entity.SpawnReason; import net.minecraft.entity.SpawnRestriction; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.*; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.GameRules; +import net.minecraft.world.Heightmap; import net.minecraft.world.level.ServerWorldProperties; import net.minecraft.world.poi.PointOfInterestStorage; import java.util.Iterator; import java.util.Optional; -import java.util.Random; public class IceCreamTraderSpawn { public static void tick(ServerWorld serverWorld) { @@ -48,15 +48,15 @@ public class IceCreamTraderSpawn { } } - private static BlockPos getLlamaSpawnPosition(WorldView worldView, BlockPos blockPos, int i) { - Random random = new Random(); + private static BlockPos getLlamaSpawnPosition(ServerWorld worldView, BlockPos blockPos, int i) { + Random random = worldView.random; BlockPos blockPos2 = null; for (int j = 0; j < 10; ++j) { int k = blockPos.getX() + random.nextInt(i * 2) - i; int l = blockPos.getZ() + random.nextInt(i * 2) - i; int m = worldView.getTopY(Heightmap.Type.WORLD_SURFACE, k, l); BlockPos blockPos3 = new BlockPos(k, m, l); - if (SpawnHelper.canSpawn(SpawnRestriction.Location.ON_GROUND, worldView, blockPos3, EntityType.WANDERING_TRADER)) { + if (SpawnRestriction.canSpawn(IceCreamTraderInit.ICE_CREAM_TRADER, worldView, SpawnReason.EVENT, blockPos3, random)) { blockPos2 = blockPos3; break; } @@ -65,7 +65,7 @@ public class IceCreamTraderSpawn { } - private static boolean wontSuffocateAt(BlockView blockView, BlockPos blockPos) { + private static boolean wontSuffocateAt(ServerWorld blockView, BlockPos blockPos) { Iterator var3 = BlockPos.iterate(blockPos, blockPos.add(1, 2, 1)).iterator(); BlockPos blockPos2; do { diff --git a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderTradeOffers.java b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderTradeOffers.java index b9e9c24..64f686f 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderTradeOffers.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderTradeOffers.java @@ -11,6 +11,7 @@ import net.minecraft.item.Items; import net.minecraft.util.math.random.Random; import net.minecraft.village.TradeOffer; import net.minecraft.village.TradeOffers; +import net.minecraft.village.TradedItem; public class IceCreamTraderTradeOffers { public static final Int2ObjectMap ICE_CREAM_TRADER_TRADES; @@ -61,7 +62,7 @@ public class IceCreamTraderTradeOffers { } public TradeOffer create(Entity entity, Random random) { - return new TradeOffer(new ItemStack(Items.EMERALD, this.price), new ItemStack(this.sell.getItem(), this.count), this.maxUses, this.experience, this.multiplier); + return new TradeOffer(new TradedItem(Items.EMERALD, this.price), new ItemStack(this.sell.getItem(), this.count), this.maxUses, this.experience, this.multiplier); } } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/entities/client/IceCreamTraderRenderer.java b/src/main/java/eu/midnightdust/motschen/dishes/entities/client/IceCreamTraderRenderer.java index 1b121e0..0dba47c 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/entities/client/IceCreamTraderRenderer.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/client/IceCreamTraderRenderer.java @@ -9,6 +9,8 @@ import net.minecraft.client.render.entity.model.EntityModelLayers; import net.minecraft.client.render.entity.model.VillagerResemblingModel; import net.minecraft.util.Identifier; +import static eu.midnightdust.motschen.dishes.DishesMain.id; + @Environment(EnvType.CLIENT) public class IceCreamTraderRenderer extends MobEntityRenderer> { @@ -18,6 +20,6 @@ public class IceCreamTraderRenderer extends MobEntityRenderer ICE_CREAM_TRADER = - Registry.register(Registries.ENTITY_TYPE,new Identifier(MOD_ID,"ice_cream_trader"), FabricEntityTypeBuilder.create(SpawnGroup.CREATURE, IceCreamTraderEntity::new).dimensions(EntityDimensions.fixed(1f,2f)).trackRangeBlocks(100).trackedUpdateRate(4).build()); + Registry.register(Registries.ENTITY_TYPE, id("ice_cream_trader"), FabricEntityTypeBuilder.create(SpawnGroup.CREATURE, IceCreamTraderEntity::new).dimensions(EntityDimensions.fixed(1f,2f)).trackRangeBlocks(100).trackedUpdateRate(4).build()); public static void init() { - registerItem(new Identifier(MOD_ID,"ice_cream_trader_spawn_egg"), new SpawnEggItem(ICE_CREAM_TRADER,5349438,15377456, new Item.Settings()), DishGroup.MAIN); + registerItem(id("ice_cream_trader_spawn_egg"), new SpawnEggItem(ICE_CREAM_TRADER,5349438,15377456, new Item.Settings()), DishGroup.MAIN); FabricDefaultAttributeRegistry.register(ICE_CREAM_TRADER, MobEntity.createMobAttributes().add(EntityAttributes.GENERIC_MAX_HEALTH, 20.0D)); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java index 0139dee..eb2f5f8 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java @@ -3,23 +3,22 @@ package eu.midnightdust.motschen.dishes.init; import eu.midnightdust.motschen.dishes.block.Lettuce; import eu.midnightdust.motschen.dishes.utils.DishGroup; import net.minecraft.block.Block; +import net.minecraft.component.type.FoodComponent; import net.minecraft.item.AliasedBlockItem; -import net.minecraft.item.FoodComponent; import net.minecraft.item.Item; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; -import net.minecraft.util.Identifier; -import static eu.midnightdust.motschen.dishes.DishesMain.MOD_ID; +import static eu.midnightdust.motschen.dishes.DishesMain.id; import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerItem; public class LettuceInit { - public static final Item Lettuce = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(1).saturationModifier(0.75f).snack().build())); + public static final Item Lettuce = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(1).saturationModifier(0.75f).snack().build())); public static final Block LettuceBush = new Lettuce(); public static void init() { - registerItem(new Identifier(MOD_ID,"lettuceseed"), new AliasedBlockItem(LettuceBush, new Item.Settings()), DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"lettuce"), Lettuce, DishGroup.MAIN); - Registry.register(Registries.BLOCK, new Identifier(MOD_ID,"lettucebush"), LettuceBush); + registerItem(id("lettuceseed"), new AliasedBlockItem(LettuceBush, new Item.Settings()), DishGroup.MAIN); + registerItem(id("lettuce"), Lettuce, DishGroup.MAIN); + Registry.register(Registries.BLOCK, id("lettucebush"), LettuceBush); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java index 346baf4..4e8b453 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java @@ -3,23 +3,22 @@ package eu.midnightdust.motschen.dishes.init; import eu.midnightdust.motschen.dishes.block.Tomato; import eu.midnightdust.motschen.dishes.utils.DishGroup; import net.minecraft.block.Block; +import net.minecraft.component.type.FoodComponent; import net.minecraft.item.AliasedBlockItem; -import net.minecraft.item.FoodComponent; import net.minecraft.item.Item; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; -import net.minecraft.util.Identifier; -import static eu.midnightdust.motschen.dishes.DishesMain.MOD_ID; +import static eu.midnightdust.motschen.dishes.DishesMain.id; import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerItem; public class TomatoInit { - public static final Item Tomato = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(1f).snack().build())); + public static final Item Tomato = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(2).saturationModifier(1f).snack().build())); public static final Block TomatoBush = new Tomato(); public static void init() { - registerItem(new Identifier(MOD_ID,"tomatoseed"), new AliasedBlockItem(TomatoBush, new Item.Settings()), DishGroup.MAIN); - registerItem(new Identifier(MOD_ID,"tomato"), Tomato, DishGroup.MAIN); - Registry.register(Registries.BLOCK, new Identifier(MOD_ID,"tomatobush"), TomatoBush); + registerItem(id("tomatoseed"), new AliasedBlockItem(TomatoBush, new Item.Settings()), DishGroup.MAIN); + registerItem(id("tomato"), Tomato, DishGroup.MAIN); + Registry.register(Registries.BLOCK, id("tomatobush"), TomatoBush); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/item/DishItem.java b/src/main/java/eu/midnightdust/motschen/dishes/item/DishItem.java index c9bc56b..d2b4234 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/item/DishItem.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/item/DishItem.java @@ -1,13 +1,12 @@ package eu.midnightdust.motschen.dishes.item; import net.minecraft.block.Block; -import net.minecraft.client.item.TooltipContext; import net.minecraft.client.resource.language.I18n; import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.item.tooltip.TooltipType; import net.minecraft.text.Text; -import net.minecraft.world.World; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -17,8 +16,8 @@ public class DishItem extends BlockItem { } @Override - public void appendTooltip(ItemStack stack, @Nullable World world, List tooltip, TooltipContext context) { - super.appendTooltip(stack, world, tooltip, context); + public void appendTooltip(ItemStack stack, Item.TooltipContext context, List tooltip, TooltipType type) { + super.appendTooltip(stack, context, tooltip, type); if (I18n.hasTranslation(stack.getItem().getTranslationKey()+".tooltip")) { for (String str : I18n.translate(stack.getItem().getTranslationKey()+".tooltip").split("\n")) tooltip.add(Text.literal(str)); diff --git a/src/main/java/eu/midnightdust/motschen/dishes/item/IceCreamItem.java b/src/main/java/eu/midnightdust/motschen/dishes/item/IceCreamItem.java index b77780f..ccaf061 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/item/IceCreamItem.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/item/IceCreamItem.java @@ -1,6 +1,7 @@ package eu.midnightdust.motschen.dishes.item; import eu.midnightdust.motschen.dishes.DishesMain; +import net.minecraft.component.DataComponentTypes; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffects; @@ -15,7 +16,7 @@ public class IceCreamItem extends Item { @Override public ItemStack finishUsing(ItemStack stack, World world, LivingEntity user) { - if (stack.getItem() == DishesMain.IceCreamGlowberry && this.getFoodComponent() != null) + if (stack.getItem() == DishesMain.IceCreamGlowberry && this.getComponents().contains(DataComponentTypes.FOOD)) user.addStatusEffect(new StatusEffectInstance(StatusEffects.GLOWING, 100, 1)); return super.finishUsing(stack, world, user); } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/utils/RegistryUtils.java b/src/main/java/eu/midnightdust/motschen/dishes/utils/RegistryUtils.java index a43ef9c..8701060 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/utils/RegistryUtils.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/utils/RegistryUtils.java @@ -3,6 +3,7 @@ package eu.midnightdust.motschen.dishes.utils; import eu.midnightdust.motschen.dishes.DishesMain; import eu.midnightdust.motschen.dishes.item.DishItem; import net.minecraft.block.Block; +import net.minecraft.component.type.FoodComponent; import net.minecraft.item.*; import net.minecraft.registry.*; import net.minecraft.util.Identifier; @@ -12,6 +13,8 @@ import org.apache.commons.compress.utils.Lists; import java.util.List; +import static eu.midnightdust.motschen.dishes.DishesMain.id; + public class RegistryUtils { public static void registerBlockWithItem(Identifier id, Block block, DishGroup group) { Registry.register(Registries.BLOCK, id, block); @@ -19,7 +22,7 @@ public class RegistryUtils { } public static void registerDishWithItem(Identifier id, Block block, DishGroup group, int hunger, float saturation) { Registry.register(Registries.BLOCK, id, block); - registerItem(id, new DishItem(block, new Item.Settings().food(new FoodComponent.Builder().hunger(hunger).saturationModifier(saturation).build())), group); + registerItem(id, new DishItem(block, new Item.Settings().food(new FoodComponent.Builder().nutrition(hunger).saturationModifier(saturation).build())), group); } public static void registerItem(Identifier id, Item item, DishGroup group) { Registry.register(Registries.ITEM, id, item); @@ -28,9 +31,9 @@ public class RegistryUtils { DishesMain.itemGroupMap.put(group, groupItems); } public static void register(Registerable> context, String name, ConfiguredFeature feature) { - context.register(RegistryKey.of(RegistryKeys.CONFIGURED_FEATURE, new Identifier(DishesMain.MOD_ID, name)), feature); + context.register(RegistryKey.of(RegistryKeys.CONFIGURED_FEATURE, id(name)), feature); } public static void register(Registerable context, String name, PlacedFeature feature) { - context.register(RegistryKey.of(RegistryKeys.PLACED_FEATURE, new Identifier(DishesMain.MOD_ID, name)), feature); + context.register(RegistryKey.of(RegistryKeys.PLACED_FEATURE, id(name)), feature); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/world/LootModifier.java b/src/main/java/eu/midnightdust/motschen/dishes/world/LootModifier.java index 55cbf13..d9fb617 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/world/LootModifier.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/world/LootModifier.java @@ -14,46 +14,50 @@ import net.minecraft.loot.provider.number.UniformLootNumberProvider; public class LootModifier { public static void init() { if (FabricLoader.getInstance().isModLoaded("ad_astra")) { - LootTableEvents.MODIFY.register((resourceManager, lootManager, id, supplier, setter) -> { + LootTableEvents.MODIFY.register((key, tableBuilder, source) -> { + var id = key.getValue(); if (id.getPath().contains("ad_astra") && id.getPath().contains("loot_tables") && id.getPath().contains("chests")) { LootPool.Builder spaceburger = LootPool.builder() .rolls(UniformLootNumberProvider.create(0, 2)) .conditionally(RandomChanceLootCondition.builder(0.5f).build()) .with(ItemEntry.builder(DishesMain.Spaceburger)); - supplier.pool(spaceburger); + tableBuilder.pool(spaceburger); } }); } if (FabricLoader.getInstance().isModLoaded("patchouli")) { - LootTableEvents.MODIFY.register((resourceManager, lootManager, id, supplier, setter) -> { + LootTableEvents.MODIFY.register((key, tableBuilder, source) -> { + var id = key.getValue(); if (id.getPath().contains("chests") && id.getPath().contains("village")) { LootPool.Builder patchouli = LootPool.builder() .rolls(UniformLootNumberProvider.create(0, 1)) .conditionally(RandomChanceLootCondition.builder(0.5f).build()) .with(ItemEntry.builder(DishesMain.CookingGuide)); - supplier.pool(patchouli); + tableBuilder.pool(patchouli); } }); } if (DishesConfig.tomatoes) { - LootTableEvents.MODIFY.register((resourceManager, lootManager, id, supplier, setter) -> { + LootTableEvents.MODIFY.register((key, tableBuilder, source) -> { + var id = key.getValue(); if (id.getPath().contains("chests") && id.getPath().contains("village")) { LootPool.Builder tomato = LootPool.builder() .rolls(UniformLootNumberProvider.create(0, 5)) .conditionally(RandomChanceLootCondition.builder(0.5f).build()) .with(ItemEntry.builder(TomatoInit.Tomato)); - supplier.pool(tomato); + tableBuilder.pool(tomato); } }); } if (DishesConfig.lettuce) { - LootTableEvents.MODIFY.register((resourceManager, lootManager, id, supplier, setter) -> { + LootTableEvents.MODIFY.register((key, tableBuilder, source) -> { + var id = key.getValue(); if (id.getPath().contains("chests") && id.getPath().contains("village")) { LootPool.Builder lettuce = LootPool.builder() .rolls(UniformLootNumberProvider.create(0, 5)) .conditionally(RandomChanceLootCondition.builder(0.5f).build()) .with(ItemEntry.builder(LettuceInit.Lettuce)); - supplier.pool(lettuce); + tableBuilder.pool(lettuce); } }); } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java b/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java index 22d6583..856f5e2 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java @@ -16,6 +16,8 @@ import net.minecraft.world.gen.placementmodifier.*; import java.util.List; +import static eu.midnightdust.motschen.dishes.DishesMain.id; + public class OreFeatures { public static ConfiguredFeature SALT_ORE_FEATURE = new ConfiguredFeature<>(Feature.ORE, new OreFeatureConfig(new TagMatchRuleTest(BlockTags.STONE_ORE_REPLACEABLES), DishesMain.SaltOre.getDefaultState(), 9)); public static PlacedFeature SALT_ORE_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(SALT_ORE_FEATURE), List.of(CountPlacementModifier.of(20), SquarePlacementModifier.of(), HeightRangePlacementModifier.uniform(YOffset.BOTTOM, YOffset.fixed(120)), BiomePlacementModifier.of())); @@ -28,6 +30,6 @@ public class OreFeatures { } public static void init() { BiomeModifications.addFeature(biome -> (!biome.hasTag(BiomeTags.IS_NETHER) && !biome.hasTag(BiomeTags.END_CITY_HAS_STRUCTURE)), - GenerationStep.Feature.UNDERGROUND_ORES, RegistryKey.of(RegistryKeys.PLACED_FEATURE, new Identifier(DishesMain.MOD_ID, "salt_ore"))); + GenerationStep.Feature.UNDERGROUND_ORES, RegistryKey.of(RegistryKeys.PLACED_FEATURE, id("salt_ore"))); } }