Skip to content

Commit 717abbc

Browse files
committed
22w14a
1 parent 09a7aff commit 717abbc

File tree

25 files changed

+94
-100
lines changed

25 files changed

+94
-100
lines changed

fabric-data-generation-api-v1/src/main/resources/fabric-data-generation-api-v1.accesswidener

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ transitive-accessible method net/minecraft/data/server/RecipeProvider offerPlank
4242
transitive-accessible method net/minecraft/data/server/RecipeProvider offerPlanksRecipe (Ljava/util/function/Consumer;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/tag/TagKey;)V
4343
transitive-accessible method net/minecraft/data/server/RecipeProvider offerBarkBlockRecipe (Ljava/util/function/Consumer;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/item/ItemConvertible;)V
4444
transitive-accessible method net/minecraft/data/server/RecipeProvider offerBoatRecipe (Ljava/util/function/Consumer;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/item/ItemConvertible;)V
45-
transitive-accessible method net/minecraft/data/server/RecipeProvider method_42754 (Ljava/util/function/Consumer;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/item/ItemConvertible;)V
45+
transitive-accessible method net/minecraft/data/server/RecipeProvider offerChestBoatRecipe (Ljava/util/function/Consumer;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/item/ItemConvertible;)V
4646
transitive-accessible method net/minecraft/data/server/RecipeProvider createTransmutationRecipe (Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/recipe/Ingredient;)Lnet/minecraft/data/server/recipe/CraftingRecipeJsonBuilder;
4747
transitive-accessible method net/minecraft/data/server/RecipeProvider createDoorRecipe (Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/recipe/Ingredient;)Lnet/minecraft/data/server/recipe/CraftingRecipeJsonBuilder;
4848
transitive-accessible method net/minecraft/data/server/RecipeProvider createFenceRecipe (Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/recipe/Ingredient;)Lnet/minecraft/data/server/recipe/CraftingRecipeJsonBuilder;
@@ -228,7 +228,7 @@ transitive-accessible method net/minecraft/data/server/BlockLootTableGenerator d
228228
transitive-accessible method net/minecraft/data/server/BlockLootTableGenerator glowLichenDrops (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
229229
transitive-accessible method net/minecraft/data/server/BlockLootTableGenerator leavesDrop (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;[F)Lnet/minecraft/loot/LootTable$Builder;
230230
transitive-accessible method net/minecraft/data/server/BlockLootTableGenerator oakLeavesDrop (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;[F)Lnet/minecraft/loot/LootTable$Builder;
231-
transitive-accessible method net/minecraft/data/server/BlockLootTableGenerator method_42752 (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
231+
transitive-accessible method net/minecraft/data/server/BlockLootTableGenerator mangroveLeavesDrop (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
232232
transitive-accessible method net/minecraft/data/server/BlockLootTableGenerator cropDrops (Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;Lnet/minecraft/item/Item;Lnet/minecraft/loot/condition/LootCondition$Builder;)Lnet/minecraft/loot/LootTable$Builder;
233233
transitive-accessible method net/minecraft/data/server/BlockLootTableGenerator seagrassDrops (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
234234
transitive-accessible method net/minecraft/data/server/BlockLootTableGenerator tallGrassDrops (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;

fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/StructureTestUtilMixin.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
import java.io.InputStream;
2121
import java.nio.charset.StandardCharsets;
2222

23+
import com.mojang.brigadier.exceptions.CommandSyntaxException;
2324
import org.spongepowered.asm.mixin.Mixin;
2425
import org.spongepowered.asm.mixin.injection.At;
2526
import org.spongepowered.asm.mixin.injection.Inject;
2627
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
27-
import com.mojang.brigadier.exceptions.CommandSyntaxException;
2828

2929
import net.minecraft.nbt.NbtCompound;
3030
import net.minecraft.nbt.NbtHelper;
@@ -45,7 +45,12 @@ private static void createStructure(String id, ServerWorld world, CallbackInfoRe
4545
Identifier structureId = new Identifier(baseId.getNamespace(), GAMETEST_STRUCTURE_PATH + baseId.getPath() + ".snbt");
4646

4747
try {
48-
Resource resource = world.getServer().getResourceManager().getResource(structureId);
48+
Resource resource = world.getServer().getResourceManager().getResource(structureId).orElse(null);
49+
50+
if (resource == null) {
51+
throw new RuntimeException("Unable to get resource: " + structureId);
52+
}
53+
4954
String snbt;
5055

5156
try (InputStream inputStream = resource.getInputStream()) {

fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/ItemStackMixin.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ private void saveDamager(int amount, LivingEntity entity, Consumer<LivingEntity>
4949
this.fabric_breakCallback = breakCallback;
5050
}
5151

52-
@ModifyArg(method = "damage(ILnet/minecraft/entity/LivingEntity;Ljava/util/function/Consumer;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ItemStack;damage(ILjava/util/Random;Lnet/minecraft/server/network/ServerPlayerEntity;)Z"), index = 0)
52+
@ModifyArg(method = "damage(ILnet/minecraft/entity/LivingEntity;Ljava/util/function/Consumer;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ItemStack;damage(ILnet/minecraft/world/gen/random/AbstractRandom;Lnet/minecraft/server/network/ServerPlayerEntity;)Z"), index = 0)
5353
private int hookDamage(int amount) {
5454
CustomDamageHandler handler = ((ItemExtensions) getItem()).fabric_getCustomDamageHandler();
5555

@@ -61,7 +61,7 @@ private int hookDamage(int amount) {
6161
}
6262

6363
@Inject(method = "damage(ILnet/minecraft/entity/LivingEntity;Ljava/util/function/Consumer;)V", at = @At("RETURN"))
64-
private <T extends LivingEntity> void clearDamager(int amount, T entity, Consumer<T> breakCallback, CallbackInfo ci) {
64+
private <T extends LivingEntity> void clearDamage(int amount, T entity, Consumer<T> breakCallback, CallbackInfo ci) {
6565
this.fabric_damagingEntity = null;
6666
this.fabric_breakCallback = null;
6767
}

fabric-models-v0/src/testmod/java/net/fabricmc/fabric/test/model/BakedModelRenderer.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
package net.fabricmc.fabric.test.model;
1818

19-
import java.util.Random;
20-
2119
import org.apache.commons.lang3.ArrayUtils;
2220

2321
import net.minecraft.client.render.OverlayTexture;
@@ -26,10 +24,11 @@
2624
import net.minecraft.client.render.model.BakedQuad;
2725
import net.minecraft.client.util.math.MatrixStack;
2826
import net.minecraft.util.math.Direction;
27+
import net.minecraft.world.gen.random.AbstractRandom;
2928

3029
public class BakedModelRenderer {
3130
private static final Direction[] CULL_FACES = ArrayUtils.add(Direction.values(), null);
32-
private static final Random RANDOM = new Random();
31+
private static final AbstractRandom RANDOM = AbstractRandom.method_43047();
3332

3433
public static void renderBakedModel(BakedModel model, VertexConsumer vertices, MatrixStack.Entry entry, int light) {
3534
for (Direction cullFace : CULL_FACES) {

fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/TypeAwareTradeMixin.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package net.fabricmc.fabric.mixin.object.builder;
1818

19-
import java.util.Random;
2019
import java.util.stream.Stream;
2120

2221
import org.spongepowered.asm.mixin.Mixin;
@@ -30,6 +29,7 @@
3029
import net.minecraft.item.ItemStack;
3130
import net.minecraft.util.registry.DefaultedRegistry;
3231
import net.minecraft.village.TradeOffer;
32+
import net.minecraft.world.gen.random.AbstractRandom;
3333

3434
@Mixin(targets = "net/minecraft/village/TradeOffers$TypeAwareBuyForOneEmeraldFactory")
3535
public abstract class TypeAwareTradeMixin {
@@ -47,8 +47,8 @@ private <T> Stream<T> disableVanillaCheck(DefaultedRegistry<T> registry) {
4747
/**
4848
* To prevent "item" -> "air" trades, if the result of a type aware trade is air, make sure no offer is created.
4949
*/
50-
@Inject(method = "create(Lnet/minecraft/entity/Entity;Ljava/util/Random;)Lnet/minecraft/village/TradeOffer;", at = @At(value = "NEW", target = "net/minecraft/village/TradeOffer"), locals = LocalCapture.CAPTURE_FAILEXCEPTION, cancellable = true)
51-
private void failOnNullItem(Entity entity, Random random, CallbackInfoReturnable<TradeOffer> cir, ItemStack buyingItem) {
50+
@Inject(method = "create", at = @At(value = "NEW", target = "net/minecraft/village/TradeOffer"), locals = LocalCapture.CAPTURE_FAILEXCEPTION, cancellable = true)
51+
private void failOnNullItem(Entity entity, AbstractRandom random, CallbackInfoReturnable<TradeOffer> cir, ItemStack buyingItem) {
5252
if (buyingItem.isEmpty()) { // Will return true for an "empty" item stack that had null passed in the ctor
5353
cir.setReturnValue(null); // Return null to prevent creation of empty trades
5454
}

fabric-object-builder-api-v1/src/testmod/java/net/fabricmc/fabric/test/object/builder/SimpleTradeFactory.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@
1616

1717
package net.fabricmc.fabric.test.object.builder;
1818

19-
import java.util.Random;
20-
2119
import net.minecraft.entity.Entity;
2220
import net.minecraft.village.TradeOffer;
2321
import net.minecraft.village.TradeOffers;
22+
import net.minecraft.world.gen.random.AbstractRandom;
2423

2524
class SimpleTradeFactory implements TradeOffers.Factory {
2625
private final TradeOffer offer;
@@ -30,7 +29,7 @@ class SimpleTradeFactory implements TradeOffers.Factory {
3029
}
3130

3231
@Override
33-
public TradeOffer create(Entity entity, Random random) {
32+
public TradeOffer create(Entity entity, AbstractRandom random) {
3433
// ALWAYS supply a copy of the offer.
3534
return new TradeOffer(this.offer.toNbt());
3635
}

fabric-object-builder-api-v1/src/testmod/java/net/fabricmc/fabric/test/object/builder/VillagerTypeTest1.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
import static net.minecraft.server.command.CommandManager.argument;
2222
import static net.minecraft.server.command.CommandManager.literal;
2323

24-
import java.util.Random;
25-
2624
import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
2725

2826
import net.minecraft.entity.Entity;
@@ -33,6 +31,7 @@
3331
import net.minecraft.village.TradeOffer;
3432
import net.minecraft.village.TradeOffers;
3533
import net.minecraft.village.VillagerProfession;
34+
import net.minecraft.world.gen.random.AbstractRandom;
3635

3736
import net.fabricmc.api.ModInitializer;
3837
import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback;
@@ -69,7 +68,7 @@ public void onInitialize() {
6968

7069
for (TradeOffers.Factory[] value : TradeOffers.WANDERING_TRADER_TRADES.values()) {
7170
for (TradeOffers.Factory factory : value) {
72-
final TradeOffer result = factory.create(trader, new Random());
71+
final TradeOffer result = factory.create(trader, AbstractRandom.method_43047());
7372

7473
if (result == null) {
7574
continue;

fabric-particles-v1/src/main/java/net/fabricmc/fabric/impl/client/particle/FabricSpriteProviderImpl.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717
package net.fabricmc.fabric.impl.client.particle;
1818

1919
import java.util.List;
20-
import java.util.Random;
2120

2221
import net.minecraft.client.particle.ParticleManager;
2322
import net.minecraft.client.particle.SpriteProvider;
2423
import net.minecraft.client.texture.Sprite;
2524
import net.minecraft.client.texture.SpriteAtlasTexture;
25+
import net.minecraft.world.gen.random.AbstractRandom;
2626

2727
import net.fabricmc.fabric.api.client.particle.v1.FabricSpriteProvider;
2828
import net.fabricmc.fabric.mixin.client.particle.ParticleManagerAccessor;
@@ -52,7 +52,7 @@ public Sprite getSprite(int i, int j) {
5252
}
5353

5454
@Override
55-
public Sprite getSprite(Random random) {
55+
public Sprite getSprite(AbstractRandom random) {
5656
return delegate.getSprite(random);
5757
}
5858
}

fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/api/renderer/v1/model/FabricBakedModel.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package net.fabricmc.fabric.api.renderer.v1.model;
1818

19-
import java.util.Random;
2019
import java.util.function.Supplier;
2120

2221
import net.minecraft.block.BlockState;
@@ -27,6 +26,7 @@
2726
import net.minecraft.item.ItemStack;
2827
import net.minecraft.util.math.BlockPos;
2928
import net.minecraft.world.BlockRenderView;
29+
import net.minecraft.world.gen.random.AbstractRandom;
3030

3131
import net.fabricmc.fabric.api.renderer.v1.Renderer;
3232
import net.fabricmc.fabric.api.renderer.v1.render.RenderContext;
@@ -42,7 +42,7 @@
4242
*/
4343
public interface FabricBakedModel {
4444
/**
45-
* When true, signals renderer this producer is implemented through {@link BakedModel#getQuads(BlockState, net.minecraft.util.math.Direction, Random)}.
45+
* When true, signals renderer this producer is implemented through {@link BakedModel#getQuads(BlockState, net.minecraft.util.math.Direction, AbstractRandom)}.
4646
* Also means the model does not rely on any non-vanilla features.
4747
* Allows the renderer to optimize or route vanilla models through the unmodified vanilla pipeline if desired.
4848
*
@@ -64,7 +64,7 @@ public interface FabricBakedModel {
6464
* <p>Also called to render block models outside of chunk rebuild or block entity rendering.
6565
* Typically this happens when the block is being rendered as an entity, not as a block placed in the world.
6666
* Currently this happens for falling blocks and blocks being pushed by a piston, but renderers
67-
* should invoke this for all calls to {@link BlockModelRenderer#render(BlockRenderView, BakedModel, BlockState, BlockPos, MatrixStack, VertexConsumer, boolean, Random, long, int)}
67+
* should invoke this for all calls to {@link BlockModelRenderer#render(BlockRenderView, BakedModel, BlockState, BlockPos, MatrixStack, VertexConsumer, boolean, AbstractRandom, long, int)}
6868
* that occur outside of chunk rebuilds to allow for features added by mods, unless
6969
* {@link #isVanillaAdapter()} returns true.
7070
*
@@ -78,7 +78,7 @@ public interface FabricBakedModel {
7878
* neighboring blocks (if appropriate). Models only need to consider "sides" to the
7979
* extent the model is driven by connection with neighbor blocks or other world state.
8080
*
81-
* <p>Note: with {@link BakedModel#getQuads(BlockState, net.minecraft.util.math.Direction, Random)}, the random
81+
* <p>Note: with {@link BakedModel#getQuads(BlockState, net.minecraft.util.math.Direction, AbstractRandom)}, the random
8282
* parameter is normally initialized with the same seed prior to each face layer.
8383
* Model authors should note this method is called only once per block, and call the provided
8484
* Random supplier multiple times if re-seeding is necessary. For wrapped vanilla baked models,
@@ -94,7 +94,7 @@ public interface FabricBakedModel {
9494
* Will not be thread-safe. Do not cache or retain a reference.
9595
* @param context Accepts model output.
9696
*/
97-
void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context);
97+
void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<AbstractRandom> randomSupplier, RenderContext context);
9898

9999
/**
100100
* This method will be called during item rendering to generate both the static and
@@ -123,5 +123,5 @@ public interface FabricBakedModel {
123123
* logic here, instead of returning every possible shape from {@link BakedModel#getOverrides}
124124
* as vanilla baked models.
125125
*/
126-
void emitItemQuads(ItemStack stack, Supplier<Random> randomSupplier, RenderContext context);
126+
void emitItemQuads(ItemStack stack, Supplier<AbstractRandom> randomSupplier, RenderContext context);
127127
}

fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/api/renderer/v1/model/ForwardingBakedModel.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package net.fabricmc.fabric.api.renderer.v1.model;
1818

1919
import java.util.List;
20-
import java.util.Random;
2120
import java.util.function.Supplier;
2221

2322
import net.minecraft.block.BlockState;
@@ -30,6 +29,7 @@
3029
import net.minecraft.util.math.BlockPos;
3130
import net.minecraft.util.math.Direction;
3231
import net.minecraft.world.BlockRenderView;
32+
import net.minecraft.world.gen.random.AbstractRandom;
3333

3434
import net.fabricmc.fabric.api.renderer.v1.render.RenderContext;
3535

@@ -42,7 +42,7 @@ public abstract class ForwardingBakedModel implements BakedModel, FabricBakedMod
4242
protected BakedModel wrapped;
4343

4444
@Override
45-
public void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context) {
45+
public void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<AbstractRandom> randomSupplier, RenderContext context) {
4646
((FabricBakedModel) wrapped).emitBlockQuads(blockView, state, pos, randomSupplier, context);
4747
}
4848

@@ -52,12 +52,12 @@ public boolean isVanillaAdapter() {
5252
}
5353

5454
@Override
55-
public void emitItemQuads(ItemStack stack, Supplier<Random> randomSupplier, RenderContext context) {
55+
public void emitItemQuads(ItemStack stack, Supplier<AbstractRandom> randomSupplier, RenderContext context) {
5656
((FabricBakedModel) wrapped).emitItemQuads(stack, randomSupplier, context);
5757
}
5858

5959
@Override
60-
public List<BakedQuad> getQuads(BlockState blockState, Direction face, Random rand) {
60+
public List<BakedQuad> getQuads(BlockState blockState, Direction face, AbstractRandom rand) {
6161
return wrapped.getQuads(blockState, face, rand);
6262
}
6363

fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/mixin/renderer/client/MixinBakedModel.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package net.fabricmc.fabric.mixin.renderer.client;
1818

19-
import java.util.Random;
2019
import java.util.function.Supplier;
2120

2221
import org.spongepowered.asm.mixin.Mixin;
@@ -26,6 +25,7 @@
2625
import net.minecraft.item.ItemStack;
2726
import net.minecraft.util.math.BlockPos;
2827
import net.minecraft.world.BlockRenderView;
28+
import net.minecraft.world.gen.random.AbstractRandom;
2929

3030
import net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel;
3131
import net.fabricmc.fabric.api.renderer.v1.render.RenderContext;
@@ -41,12 +41,12 @@ default boolean isVanillaAdapter() {
4141
}
4242

4343
@Override
44-
default void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context) {
44+
default void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<AbstractRandom> randomSupplier, RenderContext context) {
4545
context.fallbackConsumer().accept((BakedModel) this);
4646
}
4747

4848
@Override
49-
default void emitItemQuads(ItemStack stack, Supplier<Random> randomSupplier, RenderContext context) {
49+
default void emitItemQuads(ItemStack stack, Supplier<AbstractRandom> randomSupplier, RenderContext context) {
5050
context.fallbackConsumer().accept((BakedModel) this);
5151
}
5252
}

fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/mixin/renderer/client/MixinMultipartBakedModel.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import java.util.BitSet;
2020
import java.util.List;
2121
import java.util.Map;
22-
import java.util.Random;
2322
import java.util.function.Predicate;
2423
import java.util.function.Supplier;
2524

@@ -38,6 +37,7 @@
3837
import net.minecraft.item.ItemStack;
3938
import net.minecraft.util.math.BlockPos;
4039
import net.minecraft.world.BlockRenderView;
40+
import net.minecraft.world.gen.random.AbstractRandom;
4141

4242
import net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel;
4343
import net.fabricmc.fabric.api.renderer.v1.render.RenderContext;
@@ -71,7 +71,7 @@ private void onInit(List<Pair<Predicate<BlockState>, BakedModel>> components, Ca
7171
}
7272

7373
@Override
74-
public void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context) {
74+
public void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<AbstractRandom> randomSupplier, RenderContext context) {
7575
BitSet bitSet = this.stateCache.get(state);
7676

7777
if (bitSet == null) {
@@ -95,7 +95,7 @@ public void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos
9595
}
9696

9797
@Override
98-
public void emitItemQuads(ItemStack stack, Supplier<Random> randomSupplier, RenderContext context) {
98+
public void emitItemQuads(ItemStack stack, Supplier<AbstractRandom> randomSupplier, RenderContext context) {
9999
// Vanilla doesn't use MultipartBakedModel for items.
100100
}
101101
}

fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/mixin/renderer/client/MixinWeightedBakedModel.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package net.fabricmc.fabric.mixin.renderer.client;
1818

1919
import java.util.List;
20-
import java.util.Random;
2120
import java.util.function.Supplier;
2221

2322
import org.spongepowered.asm.mixin.Final;
@@ -36,6 +35,7 @@
3635
import net.minecraft.util.collection.Weighting;
3736
import net.minecraft.util.math.BlockPos;
3837
import net.minecraft.world.BlockRenderView;
38+
import net.minecraft.world.gen.random.AbstractRandom;
3939

4040
import net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel;
4141
import net.fabricmc.fabric.api.renderer.v1.render.RenderContext;
@@ -67,7 +67,7 @@ public boolean isVanillaAdapter() {
6767
}
6868

6969
@Override
70-
public void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context) {
70+
public void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<AbstractRandom> randomSupplier, RenderContext context) {
7171
Weighted.Present<BakedModel> selected = Weighting.getAt(this.models, Math.abs((int) randomSupplier.get().nextLong()) % this.totalWeight).orElse(null);
7272

7373
if (selected != null) {
@@ -76,7 +76,7 @@ public void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos
7676
}
7777

7878
@Override
79-
public void emitItemQuads(ItemStack stack, Supplier<Random> randomSupplier, RenderContext context) {
79+
public void emitItemQuads(ItemStack stack, Supplier<AbstractRandom> randomSupplier, RenderContext context) {
8080
Weighted.Present<BakedModel> selected = Weighting.getAt(this.models, Math.abs((int) randomSupplier.get().nextLong()) % this.totalWeight).orElse(null);
8181

8282
if (selected != null) {

0 commit comments

Comments
 (0)