From 0ec246891bdc67c3bfa1d8efd21c1bef714287b2 Mon Sep 17 00:00:00 2001 From: RoBaertschi Date: Sun, 16 Jun 2024 13:19:29 +0200 Subject: [PATCH] update to 1.21 --- build.gradle.kts | 2 +- gradle.properties | 9 +++++---- .../0634480364d8061ae303195c707eb408c0d40406 | 4 ++-- .../8b2774695afa9ce737bd82b254cc934e377236ee | 2 +- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 18 +++++++++--------- .../recipes/environmental_essence.json | 0 .../recipes/misc/env_collector_block_item.json | 0 .../recipes/misc/glass_tank.json | 0 .../recipes/tools/env_detector_item.json | 0 .../env_collector_block_item.json | 0 .../{recipes => recipe}/env_detector_item.json | 0 .../environmental_essence.json | 0 .../{recipes => recipe}/glass_tank.json | 0 .../environmenttech/EnvironmentTech.java | 2 +- .../data/recipes/EnvCollectorRecipe.java | 11 ++++------- .../datagen/ETItemModelProvider.java | 4 ++-- .../environmenttech/level/ETChunkEvents.java | 2 +- .../block/entity/EnvCollectorBlockEntity.java | 14 +++++++++++++- .../level/item/EnvDetectorItem.java | 4 +++- 19 files changed, 42 insertions(+), 30 deletions(-) rename src/generated/resources/data/environmenttech/{advancements => advancement}/recipes/environmental_essence.json (100%) rename src/generated/resources/data/environmenttech/{advancements => advancement}/recipes/misc/env_collector_block_item.json (100%) rename src/generated/resources/data/environmenttech/{advancements => advancement}/recipes/misc/glass_tank.json (100%) rename src/generated/resources/data/environmenttech/{advancements => advancement}/recipes/tools/env_detector_item.json (100%) rename src/generated/resources/data/environmenttech/{recipes => recipe}/env_collector_block_item.json (100%) rename src/generated/resources/data/environmenttech/{recipes => recipe}/env_detector_item.json (100%) rename src/generated/resources/data/environmenttech/{recipes => recipe}/environmental_essence.json (100%) rename src/generated/resources/data/environmenttech/{recipes => recipe}/glass_tank.json (100%) diff --git a/build.gradle.kts b/build.gradle.kts index a50d17a..b51d23f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,7 +6,7 @@ plugins { idea `maven-publish` id("io.freefair.lombok") version "8.6" - id ("net.neoforged.gradle.userdev") version ("7.0.142") + id ("net.neoforged.gradle.userdev") version ("7.0.143") } val minecraftVersion: String by project diff --git a/gradle.properties b/gradle.properties index 4bea59f..1aebdc5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,18 +6,19 @@ org.gradle.debug=false ## Environment Properties # You can find the latest versions here: https://projects.neoforged.net/neoforged/neoforge # The Minecraft version must agree with the Neo version to get a valid artifact -minecraftVersion=1.20.6 +minecraftVersion=1.21.0 # The Minecraft version range can use any release version of Minecraft as bounds. # Snapshots, pre-releases, and release candidates are not guaranteed to sort properly # as they do not follow standard versioning conventions. -minecraftVersionRange=[1.20.6,1.21) +minecraftVersionRange=[1.21.0,1.22) # The Neo version must agree with the Minecraft version to get a valid artifact -neoVersion=20.6.115 +neoVersion=21.0.10-beta # The Neo version range can use any version of Neo as bounds -neoVersionRange=[20,) +neoVersionRange=[21,) # The loader version range can only use the major version of FML as bounds loaderVersionRange=[2,) +# TODO: Update to newer parchment version neogradle.subsystems.parchment.minecraftVersion=1.20.6 neogradle.subsystems.parchment.mappingsVersion=2024.05.01 diff --git a/src/generated/resources/.cache/0634480364d8061ae303195c707eb408c0d40406 b/src/generated/resources/.cache/0634480364d8061ae303195c707eb408c0d40406 index 6570f61..e9c0556 100644 --- a/src/generated/resources/.cache/0634480364d8061ae303195c707eb408c0d40406 +++ b/src/generated/resources/.cache/0634480364d8061ae303195c707eb408c0d40406 @@ -1,4 +1,5 @@ -// 1.20.6 2024-06-09T17:17:47.56778268 Item Models: environmenttech +// 1.21 2024-06-16T13:02:59.3393757 Item Models: environmenttech +f3f1594483691b7873d0679104a892bae138e925 assets/environmenttech/models/item/environmental_essence.json ee3837b261f3dbe2001ba1192716f0fdf144b663 assets/environmenttech/models/item/env_collector.json 719f96ed0245a9dc7c32294d66055e76fc594e30 assets/environmenttech/models/item/env_detector.json e6d7f80a803863d6196f53d67487af2b3644323b assets/environmenttech/models/item/env_detector_0.json @@ -10,5 +11,4 @@ b7bfd8c3f18761814a2c3562bba8aa5da4d6e553 assets/environmenttech/models/item/env_ 013a0e9cb6db2d7336647b0ab363d258e80c15cd assets/environmenttech/models/item/env_detector_6.json 5acb213593a6932b20ac83a20cc30803631d519d assets/environmenttech/models/item/env_detector_7.json ba599a8c31f0b4f9c41d5a5f79a83db41c29cb49 assets/environmenttech/models/item/env_detector_8.json -f3f1594483691b7873d0679104a892bae138e925 assets/environmenttech/models/item/environmental_essence.json a7c7074a907b7e00d0d320bd7bc4d7245eb58f19 assets/environmenttech/models/item/glass_tank.json diff --git a/src/generated/resources/.cache/8b2774695afa9ce737bd82b254cc934e377236ee b/src/generated/resources/.cache/8b2774695afa9ce737bd82b254cc934e377236ee index 51e294a..950aa9a 100644 --- a/src/generated/resources/.cache/8b2774695afa9ce737bd82b254cc934e377236ee +++ b/src/generated/resources/.cache/8b2774695afa9ce737bd82b254cc934e377236ee @@ -1,2 +1,2 @@ -// 1.20.6 2024-06-08T11:45:48.833276936 Block States: environmenttech +// 1.21 2024-06-16T13:02:59.3372838 Block States: environmenttech 6abc8b83d4fb4316ca2dbb977510e6f349ef9e9c assets/environmenttech/blockstates/env_collector.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 664a18f..b9dad00 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,9 +1,9 @@ -// 1.20.6 2024-06-09T15:31:42.389888152 Recipes -375ee3cb8eaf222bd0d5576061d1741b5b3d5cff data/environmenttech/advancements/recipes/environmental_essence.json -99b83974e5a7a570c2111cab62a292d126c36524 data/environmenttech/advancements/recipes/misc/env_collector_block_item.json -6962e07757d0b7087542bf51dddde36d4beb3ee4 data/environmenttech/advancements/recipes/misc/glass_tank.json -76b6b2850a79c80b2f2969b93b26bc3832a77ab4 data/environmenttech/advancements/recipes/tools/env_detector_item.json -23bb508829cafa270f61c06c8cc5aa3ad58e54e1 data/environmenttech/recipes/env_collector_block_item.json -17b9bb86d970f10b3784048b790ba541ed3bf8fd data/environmenttech/recipes/env_detector_item.json -d462a41d1b0fda35660ed3e4c807f83f6dc0e0cd data/environmenttech/recipes/environmental_essence.json -935db7eeeeb437ba83909ba578f14109f62485ef data/environmenttech/recipes/glass_tank.json +// 1.21 2024-06-16T13:02:59.3382935 Recipes +375ee3cb8eaf222bd0d5576061d1741b5b3d5cff data/environmenttech/advancement/recipes/environmental_essence.json +99b83974e5a7a570c2111cab62a292d126c36524 data/environmenttech/advancement/recipes/misc/env_collector_block_item.json +6962e07757d0b7087542bf51dddde36d4beb3ee4 data/environmenttech/advancement/recipes/misc/glass_tank.json +76b6b2850a79c80b2f2969b93b26bc3832a77ab4 data/environmenttech/advancement/recipes/tools/env_detector_item.json +d462a41d1b0fda35660ed3e4c807f83f6dc0e0cd data/environmenttech/recipe/environmental_essence.json +23bb508829cafa270f61c06c8cc5aa3ad58e54e1 data/environmenttech/recipe/env_collector_block_item.json +17b9bb86d970f10b3784048b790ba541ed3bf8fd data/environmenttech/recipe/env_detector_item.json +935db7eeeeb437ba83909ba578f14109f62485ef data/environmenttech/recipe/glass_tank.json diff --git a/src/generated/resources/data/environmenttech/advancements/recipes/environmental_essence.json b/src/generated/resources/data/environmenttech/advancement/recipes/environmental_essence.json similarity index 100% rename from src/generated/resources/data/environmenttech/advancements/recipes/environmental_essence.json rename to src/generated/resources/data/environmenttech/advancement/recipes/environmental_essence.json diff --git a/src/generated/resources/data/environmenttech/advancements/recipes/misc/env_collector_block_item.json b/src/generated/resources/data/environmenttech/advancement/recipes/misc/env_collector_block_item.json similarity index 100% rename from src/generated/resources/data/environmenttech/advancements/recipes/misc/env_collector_block_item.json rename to src/generated/resources/data/environmenttech/advancement/recipes/misc/env_collector_block_item.json diff --git a/src/generated/resources/data/environmenttech/advancements/recipes/misc/glass_tank.json b/src/generated/resources/data/environmenttech/advancement/recipes/misc/glass_tank.json similarity index 100% rename from src/generated/resources/data/environmenttech/advancements/recipes/misc/glass_tank.json rename to src/generated/resources/data/environmenttech/advancement/recipes/misc/glass_tank.json diff --git a/src/generated/resources/data/environmenttech/advancements/recipes/tools/env_detector_item.json b/src/generated/resources/data/environmenttech/advancement/recipes/tools/env_detector_item.json similarity index 100% rename from src/generated/resources/data/environmenttech/advancements/recipes/tools/env_detector_item.json rename to src/generated/resources/data/environmenttech/advancement/recipes/tools/env_detector_item.json diff --git a/src/generated/resources/data/environmenttech/recipes/env_collector_block_item.json b/src/generated/resources/data/environmenttech/recipe/env_collector_block_item.json similarity index 100% rename from src/generated/resources/data/environmenttech/recipes/env_collector_block_item.json rename to src/generated/resources/data/environmenttech/recipe/env_collector_block_item.json diff --git a/src/generated/resources/data/environmenttech/recipes/env_detector_item.json b/src/generated/resources/data/environmenttech/recipe/env_detector_item.json similarity index 100% rename from src/generated/resources/data/environmenttech/recipes/env_detector_item.json rename to src/generated/resources/data/environmenttech/recipe/env_detector_item.json diff --git a/src/generated/resources/data/environmenttech/recipes/environmental_essence.json b/src/generated/resources/data/environmenttech/recipe/environmental_essence.json similarity index 100% rename from src/generated/resources/data/environmenttech/recipes/environmental_essence.json rename to src/generated/resources/data/environmenttech/recipe/environmental_essence.json diff --git a/src/generated/resources/data/environmenttech/recipes/glass_tank.json b/src/generated/resources/data/environmenttech/recipe/glass_tank.json similarity index 100% rename from src/generated/resources/data/environmenttech/recipes/glass_tank.json rename to src/generated/resources/data/environmenttech/recipe/glass_tank.json diff --git a/src/main/java/robaertschi/environmenttech/EnvironmentTech.java b/src/main/java/robaertschi/environmenttech/EnvironmentTech.java index 0c6d7e1..2e4abab 100644 --- a/src/main/java/robaertschi/environmenttech/EnvironmentTech.java +++ b/src/main/java/robaertschi/environmenttech/EnvironmentTech.java @@ -30,7 +30,7 @@ public class EnvironmentTech public static final Logger LOGGER = LogUtils.getLogger(); public static ResourceLocation id(String name) { - return new ResourceLocation(MODID, name); + return ResourceLocation.fromNamespaceAndPath(MODID, name); } // The constructor for the mod class is the first code that is run when your mod is loaded. diff --git a/src/main/java/robaertschi/environmenttech/data/recipes/EnvCollectorRecipe.java b/src/main/java/robaertschi/environmenttech/data/recipes/EnvCollectorRecipe.java index e912730..34fa7e7 100644 --- a/src/main/java/robaertschi/environmenttech/data/recipes/EnvCollectorRecipe.java +++ b/src/main/java/robaertschi/environmenttech/data/recipes/EnvCollectorRecipe.java @@ -13,10 +13,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.Container; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.item.crafting.Recipe; -import net.minecraft.world.item.crafting.RecipeSerializer; -import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.item.crafting.*; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -24,14 +21,14 @@ import org.jetbrains.annotations.Nullable; import java.util.LinkedHashMap; import java.util.Map; -public record EnvCollectorRecipe(Ingredient input, ItemStack output, int envUsed) implements Recipe { +public record EnvCollectorRecipe(Ingredient input, ItemStack output, int envUsed) implements Recipe { @Override - public boolean matches(@NotNull Container pContainer, @NotNull Level pLevel) { + public boolean matches(@NotNull RecipeInput pContainer, @NotNull Level pLevel) { return this.input.test(pContainer.getItem(0)); } @Override - public @NotNull ItemStack assemble(@NotNull Container pCraftingContainer, HolderLookup.@NotNull Provider pRegistries) { + public @NotNull ItemStack assemble(@NotNull RecipeInput pCraftingContainer, HolderLookup.@NotNull Provider pRegistries) { return this.output.copy(); } diff --git a/src/main/java/robaertschi/environmenttech/datagen/ETItemModelProvider.java b/src/main/java/robaertschi/environmenttech/datagen/ETItemModelProvider.java index 53ab67f..ba83278 100644 --- a/src/main/java/robaertschi/environmenttech/datagen/ETItemModelProvider.java +++ b/src/main/java/robaertschi/environmenttech/datagen/ETItemModelProvider.java @@ -29,11 +29,11 @@ public class ETItemModelProvider extends ItemModelProvider { private void registerEnvDetector() { ItemModelBuilder builder = getBuilder("env_detector"); - builder.parent(new ModelFile.ExistingModelFile(new ResourceLocation("minecraft", "item/generated"), existingFileHelper)); + builder.parent(new ModelFile.ExistingModelFile(ResourceLocation.fromNamespaceAndPath("minecraft", "item/generated"), existingFileHelper)); for (int i = 0; i < EnvDetectorItem.STEPS; i++) { ItemModelBuilder sub_item_builder = getBuilder("env_detector_" + i); - sub_item_builder.parent(new ModelFile.ExistingModelFile(new ResourceLocation("minecraft", "item/generated"), existingFileHelper)); + sub_item_builder.parent(new ModelFile.ExistingModelFile(ResourceLocation.fromNamespaceAndPath("minecraft", "item/generated"), existingFileHelper)); sub_item_builder.texture("layer0", modLoc("item/env_detector_" + i)); builder.override().predicate(EnvironmentTech.id("filled"), i).model(sub_item_builder); } diff --git a/src/main/java/robaertschi/environmenttech/level/ETChunkEvents.java b/src/main/java/robaertschi/environmenttech/level/ETChunkEvents.java index 475bc8a..d4b7fd2 100644 --- a/src/main/java/robaertschi/environmenttech/level/ETChunkEvents.java +++ b/src/main/java/robaertschi/environmenttech/level/ETChunkEvents.java @@ -17,7 +17,7 @@ public class ETChunkEvents { public static void onChunkLoad(ChunkEvent.Load event) { if (event.getLevel().isClientSide()) return; if (event.isNewChunk() && event.getChunk() instanceof LevelChunk levelChunk && !event.getChunk().hasData(ETAttachments.ENV)) { - if (levelChunk.getStatus() != ChunkStatus.FULL) { + if (levelChunk.getPersistedStatus() != ChunkStatus.FULL) { return; } int random = event.getLevel().getRandom().nextIntBetweenInclusive(Config.minEnvForNewChunk, Config.maxEnvForNewChunk); diff --git a/src/main/java/robaertschi/environmenttech/level/block/entity/EnvCollectorBlockEntity.java b/src/main/java/robaertschi/environmenttech/level/block/entity/EnvCollectorBlockEntity.java index 960693f..349e3c5 100644 --- a/src/main/java/robaertschi/environmenttech/level/block/entity/EnvCollectorBlockEntity.java +++ b/src/main/java/robaertschi/environmenttech/level/block/entity/EnvCollectorBlockEntity.java @@ -16,6 +16,8 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.ContainerData; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeInput; +import net.minecraft.world.item.crafting.SingleRecipeInput; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; @@ -95,7 +97,17 @@ public class EnvCollectorBlockEntity extends BlockEntity implements MenuProvider } }); @Getter - private final Lazy recipeWrapper = Lazy.of(() -> new RecipeWrapper(inventory.get())); + private final Lazy recipeWrapper = Lazy.of(() -> new RecipeInput() { + @Override + public @NotNull ItemStack getItem(int slot) { + return getInputInventory().getStackInSlot(slot); + } + + @Override + public int size() { + return getInputInventory().getSlots(); + } + }); @Getter diff --git a/src/main/java/robaertschi/environmenttech/level/item/EnvDetectorItem.java b/src/main/java/robaertschi/environmenttech/level/item/EnvDetectorItem.java index a5a21d2..a138522 100644 --- a/src/main/java/robaertschi/environmenttech/level/item/EnvDetectorItem.java +++ b/src/main/java/robaertschi/environmenttech/level/item/EnvDetectorItem.java @@ -2,6 +2,8 @@ package robaertschi.environmenttech.level.item; import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.player.Player; @@ -51,7 +53,7 @@ public class EnvDetectorItem extends Item { } if (!pPlayer.isCreative()) { - pPlayer.getItemInHand(pUsedHand).hurtAndBreak(1, pLevel.getRandom(), pPlayer, () -> pPlayer.getItemInHand(pUsedHand).setCount(0)); + pPlayer.getItemInHand(pUsedHand).hurtAndBreak(1, (ServerLevel) pLevel, (ServerPlayer) pPlayer, (item) -> pPlayer.getItemInHand(pUsedHand).setCount(0)); } return InteractionResultHolder.consume(pPlayer.getItemInHand(pUsedHand));