diff --git a/gradle.properties b/gradle.properties index de5c4211..089fb5cd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,9 +4,9 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use # or better: https://modmuss50.me/fabric.html - minecraft_version=22w12a + minecraft_version=22w13a loader_version=0.13.3 - fabric_version=0.46.4+1.18 + fabric_version=0.49.4+1.19 # Mod Properties mod_version = 1.4.68 @@ -17,7 +17,7 @@ org.gradle.jvmargs=-Xmx1G # The Curseforge versions "names" or ids for the main branch (comma separated: 1.16.4,1.16.5) # This is needed because CF uses too vague names for prereleases and release candidates # Can also be the version ID directly coming from https://minecraft.curseforge.com/api/game/versions?token=[API_TOKEN] - release-curse-versions = 1.18.2 + release-curse-versions = 1.18-1.18.2 # Whether or not to build another branch on release release-extra-branch = true # The name of the second branch to release diff --git a/src/main/java/carpet/commands/SpawnCommand.java b/src/main/java/carpet/commands/SpawnCommand.java index 831b5712..df8b6bc4 100644 --- a/src/main/java/carpet/commands/SpawnCommand.java +++ b/src/main/java/carpet/commands/SpawnCommand.java @@ -14,6 +14,8 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.brigadier.exceptions.SimpleCommandExceptionType; import java.util.Arrays; import java.util.Locale; +import java.util.Map; +import java.util.function.Function; import java.util.stream.Collectors; import net.minecraft.commands.CommandBuildContext; @@ -107,13 +109,15 @@ public class SpawnCommand dispatcher.register(literalargumentbuilder); } + private static final Map MOB_CATEGORY_MAP = Arrays.stream(MobCategory.values()).collect(Collectors.toMap(MobCategory::getName, Function.identity())); + private static MobCategory getCategory(String string) throws CommandSyntaxException { if (!Arrays.stream(MobCategory.values()).map(MobCategory::getName).collect(Collectors.toSet()).contains(string)) { throw new SimpleCommandExceptionType(Messenger.c("r Wrong mob type: "+string+" should be "+ Arrays.stream(MobCategory.values()).map(MobCategory::getName).collect(Collectors.joining(", ")))).create(); } - return MobCategory.byName(string.toLowerCase(Locale.ROOT)); + return MOB_CATEGORY_MAP.get(string.toLowerCase(Locale.ROOT)); } diff --git a/src/main/java/carpet/helpers/FeatureGenerator.java b/src/main/java/carpet/helpers/FeatureGenerator.java index 2f2b501b..4547711d 100644 --- a/src/main/java/carpet/helpers/FeatureGenerator.java +++ b/src/main/java/carpet/helpers/FeatureGenerator.java @@ -46,6 +46,7 @@ import net.minecraft.world.level.levelgen.heightproviders.ConstantHeight; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.Structure; import net.minecraft.world.level.levelgen.structure.StructureType; +import net.minecraft.world.level.levelgen.structure.TerrainAdjustment; import net.minecraft.world.level.levelgen.structure.pools.StructurePoolElement; import net.minecraft.world.level.levelgen.structure.pools.StructureTemplatePool; import net.minecraft.world.level.levelgen.feature.treedecorators.BeehiveDecorator; @@ -259,11 +260,12 @@ public class FeatureGenerator PlacementUtils.inlinePlaced(Feature.CORAL_MUSHROOM, FeatureConfiguration.NONE) )))); put("bastion_remnant_units", spawnCustomStructure( - new JigsawStructure( + new JigsawStructure( new Structure.StructureSettings( BuiltinRegistries.BIOME.getOrCreateTag(BiomeTags.HAS_BASTION_REMNANT), Map.of(), GenerationStep.Decoration.SURFACE_STRUCTURES, - false, + TerrainAdjustment.NONE + ), Holder.direct(new StructureTemplatePool( new ResourceLocation("bastion/starts"), new ResourceLocation("empty"), @@ -278,11 +280,12 @@ public class FeatureGenerator ) )); put("bastion_remnant_hoglin_stable", spawnCustomStructure( - new JigsawStructure( + new JigsawStructure( new Structure.StructureSettings( BuiltinRegistries.BIOME.getOrCreateTag(BiomeTags.HAS_BASTION_REMNANT), Map.of(), GenerationStep.Decoration.SURFACE_STRUCTURES, - false, + TerrainAdjustment.NONE + ), Holder.direct(new StructureTemplatePool( new ResourceLocation("bastion/starts"), new ResourceLocation("empty"), @@ -297,11 +300,12 @@ public class FeatureGenerator ) )); put("bastion_remnant_treasure", spawnCustomStructure( - new JigsawStructure( + new JigsawStructure( new Structure.StructureSettings( BuiltinRegistries.BIOME.getOrCreateTag(BiomeTags.HAS_BASTION_REMNANT), Map.of(), GenerationStep.Decoration.SURFACE_STRUCTURES, - false, + TerrainAdjustment.NONE + ), Holder.direct(new StructureTemplatePool( new ResourceLocation("bastion/starts"), new ResourceLocation("empty"), @@ -316,11 +320,12 @@ public class FeatureGenerator ) )); put("bastion_remnant_bridge", spawnCustomStructure( - new JigsawStructure( + new JigsawStructure( new Structure.StructureSettings( BuiltinRegistries.BIOME.getOrCreateTag(BiomeTags.HAS_BASTION_REMNANT), Map.of(), GenerationStep.Decoration.SURFACE_STRUCTURES, - false, + TerrainAdjustment.NONE + ), Holder.direct(new StructureTemplatePool( new ResourceLocation("bastion/starts"), new ResourceLocation("empty"), diff --git a/src/main/java/carpet/patches/EntityPlayerMPFake.java b/src/main/java/carpet/patches/EntityPlayerMPFake.java index 96fd4cd6..2156e9f9 100644 --- a/src/main/java/carpet/patches/EntityPlayerMPFake.java +++ b/src/main/java/carpet/patches/EntityPlayerMPFake.java @@ -107,9 +107,9 @@ public class EntityPlayerMPFake extends ServerPlayer } @Override - protected void equipEventAndSound(ItemStack stack) + protected void equipEventAndSound(ItemStack stack, boolean sendGameEvent) { - if (!isUsingItem()) super.equipEventAndSound(stack); + if (!isUsingItem()) super.equipEventAndSound(stack, sendGameEvent); } @Override diff --git a/src/main/java/carpet/script/api/Monitoring.java b/src/main/java/carpet/script/api/Monitoring.java index 1a9e7763..d3234734 100644 --- a/src/main/java/carpet/script/api/Monitoring.java +++ b/src/main/java/carpet/script/api/Monitoring.java @@ -12,14 +12,20 @@ import carpet.script.value.StringValue; import carpet.script.value.Value; import carpet.utils.SpawnReporter; import it.unimi.dsi.fastutil.objects.Object2IntMap; + +import java.util.Arrays; import java.util.HashMap; import java.util.Locale; import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.MobCategory; import net.minecraft.world.level.NaturalSpawner; public class Monitoring { + private static final Map MOB_CATEGORY_MAP = Arrays.stream(MobCategory.values()).collect(Collectors.toMap(MobCategory::getName, Function.identity())); public static void apply(Expression expression) { @@ -62,7 +68,7 @@ public class Monitoring { return MapValue.wrap(retDict); } String catString = lv.get(0).getString(); - MobCategory cat = MobCategory.byName(catString.toLowerCase(Locale.ROOT)); + MobCategory cat = MOB_CATEGORY_MAP.get(catString.toLowerCase(Locale.ROOT)); if (cat == null) throw new InternalExpressionException("Unreconized mob category: "+catString); return ListValue.of( new NumericValue(mobcounts.getInt(cat)),