diff --git a/gradle.properties b/gradle.properties index 532bd94d..9783db34 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,10 +3,10 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check https://fabricmc.net/develop/ - minecraft_version=24w10a + minecraft_version=24w12a loader_version=0.15.7 jsr305_version=3.0.2 - fabric_version=0.91.1+1.20.3 + fabric_version=0.96.9+1.20.5 # Mod Properties mod_version = 1.4.134 diff --git a/src/main/java/carpet/mixins/MinecraftServer_scarpetMixin.java b/src/main/java/carpet/mixins/MinecraftServer_scarpetMixin.java index eaa6f0c1..a52d55a0 100644 --- a/src/main/java/carpet/mixins/MinecraftServer_scarpetMixin.java +++ b/src/main/java/carpet/mixins/MinecraftServer_scarpetMixin.java @@ -102,7 +102,7 @@ public abstract class MinecraftServer_scarpetMixin extends ReentrantBlockableEve @Override public void reloadAfterReload(RegistryAccess newRegs) { - resources.managers().updateRegistryTags(newRegs); + resources.managers().updateRegistryTags(); getPlayerList().saveAll(); getPlayerList().reloadResources(); functionManager.replaceLibrary(this.resources.managers().getFunctionLibrary()); diff --git a/src/main/java/carpet/mixins/PickaxeItem_missingToolsMixin.java b/src/main/java/carpet/mixins/PickaxeItem_missingToolsMixin.java index 075e7e65..a8e9a3f4 100644 --- a/src/main/java/carpet/mixins/PickaxeItem_missingToolsMixin.java +++ b/src/main/java/carpet/mixins/PickaxeItem_missingToolsMixin.java @@ -1,12 +1,15 @@ package carpet.mixins; import carpet.CarpetSettings; +import net.minecraft.core.component.DataComponents; import net.minecraft.tags.TagKey; import net.minecraft.world.item.DiggerItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.PickaxeItem; import net.minecraft.world.item.Tier; +import net.minecraft.world.item.component.Tool; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; import org.spongepowered.asm.mixin.Mixin; @@ -23,7 +26,8 @@ public class PickaxeItem_missingToolsMixin extends DiggerItem public float getDestroySpeed(ItemStack stack, BlockState state) { if (CarpetSettings.missingTools && state.getSoundType() == SoundType.GLASS) { - return speed; + final Tool tool = stack.get(DataComponents.TOOL); + return tool != null ? tool.getMiningSpeed(Blocks.STONE.defaultBlockState()) : super.getDestroySpeed(stack, state); } return super.getDestroySpeed(stack, state); } diff --git a/src/main/java/carpet/script/api/Inventories.java b/src/main/java/carpet/script/api/Inventories.java index 6e7c4afc..11bab7e7 100644 --- a/src/main/java/carpet/script/api/Inventories.java +++ b/src/main/java/carpet/script/api/Inventories.java @@ -56,7 +56,7 @@ public class Inventories public static void apply(Expression expression) { expression.addContextFunction("stack_limit", 1, (c, t, lv) -> - new NumericValue(NBTSerializableValue.parseItem(lv.get(0).getString(), ((CarpetContext) c).registryAccess()).getItem().getMaxStackSize())); + new NumericValue(NBTSerializableValue.parseItem(lv.get(0).getString(), ((CarpetContext) c).registryAccess()).getMaxStackSize())); expression.addContextFunction("item_category", -1, (c, t, lv) -> { c.host.issueDeprecation("item_category in 1.19.3+"); diff --git a/src/main/java/carpet/script/command/CommandArgument.java b/src/main/java/carpet/script/command/CommandArgument.java index a6d83f3d..c34b54c7 100644 --- a/src/main/java/carpet/script/command/CommandArgument.java +++ b/src/main/java/carpet/script/command/CommandArgument.java @@ -102,9 +102,9 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.MinecraftServer; import net.minecraft.server.commands.BossBarCommands; +import net.minecraft.server.commands.LootCommand; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.biome.Biome; -import net.minecraft.world.level.storage.loot.LootDataType; import net.minecraft.world.phys.Vec2; import net.minecraft.world.scores.ScoreHolder; @@ -211,10 +211,10 @@ public abstract class CommandArgument (c, p) -> ValueConversions.of(ResourceLocationArgument.getAdvancement(c, p).id()), (ctx, builder) -> SharedSuggestionProvider.suggestResource(ctx.getSource().getServer().getAdvancements().getAllAdvancements().stream().map(AdvancementHolder::id), builder) ), new VanillaUnconfigurableArgument("lootcondition", ResourceLocationArgument::id, - (c, p) -> ValueConversions.of(c.getSource().registryAccess().registryOrThrow(Registries.LOOT_CONDITION_TYPE).getKey(ResourceLocationArgument.getPredicate(c, p).getType())), (ctx, builder) -> SharedSuggestionProvider.suggestResource(ctx.getSource().getServer().getLootData().getKeys(LootDataType.PREDICATE), builder) + (c, p) -> ValueConversions.of(ResourceLocationArgument.getId(c, p)), (ctx, builder) -> SharedSuggestionProvider.suggestResource(ctx.getSource().getServer().reloadableRegistries().getKeys(Registries.LOOT_CONDITION_TYPE), builder) ), new VanillaUnconfigurableArgument("loottable", ResourceLocationArgument::id, - (c, p) -> ValueConversions.of(ResourceLocationArgument.getId(c, p)), (ctx, builder) -> SharedSuggestionProvider.suggestResource(ctx.getSource().getServer().getLootData().getKeys(LootDataType.TABLE), builder) + (c, p) -> ValueConversions.of(ResourceLocationArgument.getId(c, p)), LootCommand.SUGGEST_LOOT_TABLE ), new VanillaUnconfigurableArgument("attribute", Registries.ATTRIBUTE),