From e3bab37cd0ee5872fda287697fecfd33c074b5c8 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 18 Dec 2023 12:03:13 +0100 Subject: [PATCH] Fixed access wideners and `LootPoolMixin` --- .../bclib/mixin/common/LootPoolMixin.java | 17 +++++++---------- src/main/resources/bclib.accesswidener | 4 ++-- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/betterx/bclib/mixin/common/LootPoolMixin.java b/src/main/java/org/betterx/bclib/mixin/common/LootPoolMixin.java index f39390a3..447b2692 100644 --- a/src/main/java/org/betterx/bclib/mixin/common/LootPoolMixin.java +++ b/src/main/java/org/betterx/bclib/mixin/common/LootPoolMixin.java @@ -21,20 +21,11 @@ import java.util.function.Predicate; @Mixin(LootPool.class) public class LootPoolMixin implements LootPoolAccessor { - @Shadow - @Final - public LootPoolEntryContainer[] entries; - @Shadow - @Final - public LootItemCondition[] conditions; @Shadow @Final private Predicate compositeCondition; @Shadow @Final - public LootItemFunction[] functions; - @Shadow - @Final private BiFunction compositeFunction; @Shadow @Final @@ -43,13 +34,19 @@ public class LootPoolMixin implements LootPoolAccessor { @Final public NumberProvider bonusRolls; + @Shadow @Final public List conditions; + + @Shadow @Final public List functions; + + @Shadow @Final public List entries; + @Override public LootPool bcl_mergeEntries(List newEntries) { final List merged = Lists.newArrayList(entries); merged.addAll(newEntries); return new LootPool( - merged.toArray(new LootPoolEntryContainer[0]), + merged, this.conditions, this.functions, this.rolls, diff --git a/src/main/resources/bclib.accesswidener b/src/main/resources/bclib.accesswidener index 013c5ba3..509f87b3 100644 --- a/src/main/resources/bclib.accesswidener +++ b/src/main/resources/bclib.accesswidener @@ -19,7 +19,7 @@ accessible class net/minecraft/world/level/levelgen/SurfaceRules$BiomeConditionS accessible class net/minecraft/world/level/levelgen/SurfaceRules$TestRuleSource #Methods -accessible method net/minecraft/world/level/storage/loot/LootPool ([Lnet/minecraft/world/level/storage/loot/entries/LootPoolEntryContainer;[Lnet/minecraft/world/level/storage/loot/predicates/LootItemCondition;[Lnet/minecraft/world/level/storage/loot/functions/LootItemFunction;Lnet/minecraft/world/level/storage/loot/providers/number/NumberProvider;Lnet/minecraft/world/level/storage/loot/providers/number/NumberProvider;)V +accessible method net/minecraft/world/level/storage/loot/LootPool (Ljava/util/List;Ljava/util/List;Ljava/util/List;Lnet/minecraft/world/level/storage/loot/providers/number/NumberProvider;Lnet/minecraft/world/level/storage/loot/providers/number/NumberProvider;)V accessible method net/minecraft/world/entity/ai/village/poi/PoiTypes register (Lnet/minecraft/core/Registry;Lnet/minecraft/resources/ResourceKey;Ljava/util/Set;II)Lnet/minecraft/world/entity/ai/village/poi/PoiType; accessible method net/minecraft/world/level/levelgen/SurfaceRules$SequenceRuleSource (Ljava/util/List;)V accessible method net/minecraft/core/registries/BuiltInRegistries registerSimple (Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/core/registries/BuiltInRegistries$RegistryBootstrap;)Lnet/minecraft/core/Registry; @@ -30,7 +30,7 @@ accessible method net/minecraft/world/level/levelgen/NoiseRouterData noNewCaves accessible method net/minecraft/world/level/levelgen/NoiseRouterData slideNetherLike (Lnet/minecraft/core/HolderGetter;II)Lnet/minecraft/world/level/levelgen/DensityFunction; accessible method net/minecraft/tags/TagEntry elementOrTag ()Lnet/minecraft/util/ExtraCodecs$TagOrElementLocation; accessible method net/minecraft/data/worldgen/biome/OverworldBiomes calculateSkyColor (F)I -accessible method net/minecraft/advancements/Advancement$Builder (Z)V +accessible method net/minecraft/advancements/Advancement$Builder ()V accessible method net/minecraft/world/level/block/Blocks ocelotOrParrot (Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/EntityType;)Ljava/lang/Boolean; accessible method net/minecraft/world/level/block/Blocks never (Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/EntityType;)Ljava/lang/Boolean; accessible method net/minecraft/world/level/block/Blocks never (Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Z