update to 1.21

This commit is contained in:
RoBaertschi 2024-06-16 13:19:29 +02:00
parent 88753530be
commit 0ec246891b
19 changed files with 42 additions and 30 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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<Container> {
public record EnvCollectorRecipe(Ingredient input, ItemStack output, int envUsed) implements Recipe<RecipeInput> {
@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();
}

View File

@ -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);
}

View File

@ -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);

View File

@ -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> recipeWrapper = Lazy.of(() -> new RecipeWrapper(inventory.get()));
private final Lazy<RecipeInput> recipeWrapper = Lazy.of(() -> new RecipeInput() {
@Override
public @NotNull ItemStack getItem(int slot) {
return getInputInventory().getStackInSlot(slot);
}
@Override
public int size() {
return getInputInventory().getSlots();
}
});
@Getter

View File

@ -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));