From 0c3d83a544e3b3935b9f0a28e66457356eda5018 Mon Sep 17 00:00:00 2001
From: modmuss50 <modmuss50@gmail.com>
Date: Wed, 25 Nov 2020 19:34:48 +0000
Subject: [PATCH] 20w48a - Just mapping updates

---
 build.gradle                                     |  8 ++++----
 fabric-loot-tables-v1/build.gradle               |  2 +-
 .../fabric/api/loot/v1/FabricLootPool.java       |  4 ++--
 .../api/loot/v1/FabricLootPoolBuilder.java       |  4 ++--
 .../fabric/mixin/loot/table/MixinLootPool.java   |  4 ++--
 .../net/fabricmc/fabric/test/loot/LootTest.java  |  4 ++--
 fabric-renderer-registries-v1/build.gradle       |  2 +-
 .../v1/EntityRendererRegistry.java               |  6 +++---
 ...ntityFeatureRendererRegistrationCallback.java |  4 ++--
 .../registry/EntityRendererRegistryImpl.java     | 10 +++++-----
 .../renderer/registry/MixinEntityRenderers.java  | 16 ++++++++--------
 .../registry/FeatureRendererGenericTests.java    |  8 ++++----
 12 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/build.gradle b/build.gradle
index ea8082be2..6210c2973 100644
--- a/build.gradle
+++ b/build.gradle
@@ -18,9 +18,9 @@ plugins {
 def ENV = System.getenv()
 
 class Globals {
-	static def baseVersion = "0.26.3"
-	static def mcVersion = "20w46a"
-	static def yarnVersion = "+build.2"
+	static def baseVersion = "0.26.4"
+	static def mcVersion = "20w48a"
+	static def yarnVersion = "+build.1"
 	static def loaderVersion = "0.10.5+build.213"
 }
 
@@ -338,7 +338,7 @@ curseforge {
 		id = "306612"
 		changelog = "A changelog can be found at https://github.com/FabricMC/fabric/commits"
 		releaseType = "beta"
-		addGameVersion "1.16-Snapshot"
+		addGameVersion "1.17"
 		addGameVersion "Fabric"
 
 		mainArtifact(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar")) {
diff --git a/fabric-loot-tables-v1/build.gradle b/fabric-loot-tables-v1/build.gradle
index 1a3236b34..509e8e1a1 100644
--- a/fabric-loot-tables-v1/build.gradle
+++ b/fabric-loot-tables-v1/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-loot-tables-v1"
-version = getSubprojectVersion(project, "1.0.2")
+version = getSubprojectVersion(project, "1.0.3")
 
 moduleDependencies(project, [
 		'fabric-api-base'
diff --git a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPool.java b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPool.java
index b5c6fd5e0..3cb664229 100644
--- a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPool.java
+++ b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPool.java
@@ -19,7 +19,7 @@ package net.fabricmc.fabric.api.loot.v1;
 import java.util.List;
 
 import net.minecraft.loot.LootPool;
-import net.minecraft.class_5658;
+import net.minecraft.loot.provider.number.LootNumberProvider;
 import net.minecraft.loot.condition.LootCondition;
 import net.minecraft.loot.entry.LootPoolEntry;
 import net.minecraft.loot.function.LootFunction;
@@ -36,5 +36,5 @@ public interface FabricLootPool {
 	List<LootPoolEntry> getEntries();
 	List<LootCondition> getConditions();
 	List<LootFunction> getFunctions();
-	class_5658 getRolls();
+	LootNumberProvider getRolls();
 }
diff --git a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPoolBuilder.java b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPoolBuilder.java
index af348e1a9..81744e41c 100644
--- a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPoolBuilder.java
+++ b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPoolBuilder.java
@@ -18,7 +18,7 @@ package net.fabricmc.fabric.api.loot.v1;
 
 import net.minecraft.loot.condition.LootCondition;
 import net.minecraft.loot.LootPool;
-import net.minecraft.class_5658;
+import net.minecraft.loot.provider.number.LootNumberProvider;
 import net.minecraft.loot.entry.LootPoolEntry;
 import net.minecraft.loot.function.LootFunction;
 
@@ -34,7 +34,7 @@ public class FabricLootPoolBuilder extends LootPool.Builder {
 	}
 
 	@Override
-	public FabricLootPoolBuilder rolls(class_5658 range) {
+	public FabricLootPoolBuilder rolls(LootNumberProvider range) {
 		super.rolls(range);
 		return this;
 	}
diff --git a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/table/MixinLootPool.java b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/table/MixinLootPool.java
index 9f44651ec..1d58e9d69 100644
--- a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/table/MixinLootPool.java
+++ b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/table/MixinLootPool.java
@@ -25,7 +25,7 @@ import org.spongepowered.asm.mixin.Shadow;
 import org.spongepowered.asm.mixin.gen.Accessor;
 
 import net.minecraft.loot.LootPool;
-import net.minecraft.class_5658;
+import net.minecraft.loot.provider.number.LootNumberProvider;
 import net.minecraft.loot.condition.LootCondition;
 import net.minecraft.loot.entry.LootPoolEntry;
 import net.minecraft.loot.function.LootFunction;
@@ -63,5 +63,5 @@ public abstract class MixinLootPool implements FabricLootPool {
 
 	@Accessor
 	@Override
-	public abstract class_5658 getRolls();
+	public abstract LootNumberProvider getRolls();
 }
diff --git a/fabric-loot-tables-v1/src/testmod/java/net/fabricmc/fabric/test/loot/LootTest.java b/fabric-loot-tables-v1/src/testmod/java/net/fabricmc/fabric/test/loot/LootTest.java
index 88ebd190b..76c6cde18 100644
--- a/fabric-loot-tables-v1/src/testmod/java/net/fabricmc/fabric/test/loot/LootTest.java
+++ b/fabric-loot-tables-v1/src/testmod/java/net/fabricmc/fabric/test/loot/LootTest.java
@@ -24,7 +24,7 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
 import net.minecraft.item.Items;
-import net.minecraft.loot.ConstantLootTableRange;
+import net.minecraft.loot.provider.number.ConstantLootNumberProvider;
 import net.minecraft.loot.LootGsons;
 import net.minecraft.loot.LootPool;
 import net.minecraft.loot.condition.LootCondition;
@@ -59,7 +59,7 @@ public class LootTest implements ModInitializer {
 				LootPool pool = FabricLootPoolBuilder.builder()
 						.withEntry(ItemEntry.builder(Items.FEATHER).build())
 						.withEntry(entryFromString)
-						.rolls(ConstantLootTableRange.method_32448(1))
+						.rolls(ConstantLootNumberProvider.create(1))
 						.withCondition(SurvivesExplosionLootCondition.builder().build())
 						.build();
 
diff --git a/fabric-renderer-registries-v1/build.gradle b/fabric-renderer-registries-v1/build.gradle
index a583d8a9e..d1ca0e8ca 100644
--- a/fabric-renderer-registries-v1/build.gradle
+++ b/fabric-renderer-registries-v1/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-renderer-registries-v1"
-version = getSubprojectVersion(project, "3.0.2")
+version = getSubprojectVersion(project, "3.0.3")
 
 dependencies {
 	testmodCompile project(path: ':fabric-lifecycle-events-v1', configuration: 'dev')
diff --git a/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/api/client/rendereregistry/v1/EntityRendererRegistry.java b/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/api/client/rendereregistry/v1/EntityRendererRegistry.java
index 8d006332c..867bea85d 100644
--- a/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/api/client/rendereregistry/v1/EntityRendererRegistry.java
+++ b/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/api/client/rendereregistry/v1/EntityRendererRegistry.java
@@ -16,7 +16,7 @@
 
 package net.fabricmc.fabric.api.client.rendereregistry.v1;
 
-import net.minecraft.class_5617;
+import net.minecraft.client.render.entity.EntityRendererFactory;
 import net.minecraft.entity.Entity;
 import net.minecraft.entity.EntityType;
 
@@ -32,10 +32,10 @@ public interface EntityRendererRegistry {
 	 * Register a BlockEntityRenderer for a BlockEntityType. Can be called clientside before the world is rendered.
 	 *
 	 * @param entityType the {@link EntityType} to register a renderer for
-	 * @param entityRendererFactory a {@link class_5617} that creates a {@link EntityRenderer}, called
+	 * @param entityRendererFactory a {@link EntityRendererFactory} that creates a {@link EntityRenderer}, called
 	 *                            when {@link EntityRenderDispatcher} is initialized or immediately if the dispatcher
 	 *                            class is already loaded
 	 * @param <E> the {@link Entity}
 	 */
-	<E extends Entity> void register(EntityType<? extends E> entityType, class_5617<E> entityRendererFactory);
+	<E extends Entity> void register(EntityType<? extends E> entityType, EntityRendererFactory<E> entityRendererFactory);
 }
diff --git a/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/api/client/rendereregistry/v1/LivingEntityFeatureRendererRegistrationCallback.java b/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/api/client/rendereregistry/v1/LivingEntityFeatureRendererRegistrationCallback.java
index a2ca04086..7b662c034 100644
--- a/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/api/client/rendereregistry/v1/LivingEntityFeatureRendererRegistrationCallback.java
+++ b/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/api/client/rendereregistry/v1/LivingEntityFeatureRendererRegistrationCallback.java
@@ -16,7 +16,7 @@
 
 package net.fabricmc.fabric.api.client.rendereregistry.v1;
 
-import net.minecraft.class_5617;
+import net.minecraft.client.render.entity.EntityRendererFactory;
 import net.minecraft.client.render.entity.LivingEntityRenderer;
 import net.minecraft.client.render.entity.feature.Deadmau5FeatureRenderer;
 import net.minecraft.client.render.entity.feature.FeatureRenderer;
@@ -61,7 +61,7 @@ public interface LivingEntityFeatureRendererRegistrationCallback {
 	 * @param entityType     the entity type of the renderer
 	 * @param entityRenderer the entity renderer
 	 */
-	void registerRenderers(EntityType<? extends LivingEntity> entityType, LivingEntityRenderer<?, ?> entityRenderer, RegistrationHelper registrationHelper, class_5617.class_5618 context);
+	void registerRenderers(EntityType<? extends LivingEntity> entityType, LivingEntityRenderer<?, ?> entityRenderer, RegistrationHelper registrationHelper, EntityRendererFactory.Context context);
 
 	/**
 	 * A delegate object used to help register feature renderers for an entity renderer.
diff --git a/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/impl/client/renderer/registry/EntityRendererRegistryImpl.java b/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/impl/client/renderer/registry/EntityRendererRegistryImpl.java
index e66ee07e2..0040bb70f 100644
--- a/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/impl/client/renderer/registry/EntityRendererRegistryImpl.java
+++ b/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/impl/client/renderer/registry/EntityRendererRegistryImpl.java
@@ -19,7 +19,7 @@ package net.fabricmc.fabric.impl.client.renderer.registry;
 import java.util.HashMap;
 import java.util.function.BiConsumer;
 
-import net.minecraft.class_5617;
+import net.minecraft.client.render.entity.EntityRendererFactory;
 import net.minecraft.entity.Entity;
 import net.minecraft.entity.EntityType;
 
@@ -29,14 +29,14 @@ import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry;
  * Helper class for registering EntityRenderers.
  */
 public final class EntityRendererRegistryImpl implements EntityRendererRegistry {
-	private static HashMap<EntityType<?>, class_5617<?>> map = new HashMap<>();
-	private static BiConsumer<EntityType<?>, class_5617<?>> handler = (type, function) -> map.put(type, function);
+	private static HashMap<EntityType<?>, EntityRendererFactory<?>> map = new HashMap<>();
+	private static BiConsumer<EntityType<?>, EntityRendererFactory<?>> handler = (type, function) -> map.put(type, function);
 
-	public <T extends Entity> void register(EntityType<? extends T> entityType, class_5617<T> factory) {
+	public <T extends Entity> void register(EntityType<? extends T> entityType, EntityRendererFactory<T> factory) {
 		handler.accept(entityType, factory);
 	}
 
-	public static void setup(BiConsumer<EntityType<?>, class_5617<?>> vanillaHandler) {
+	public static void setup(BiConsumer<EntityType<?>, EntityRendererFactory<?>> vanillaHandler) {
 		map.forEach(vanillaHandler);
 		handler = vanillaHandler;
 	}
diff --git a/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/mixin/client/renderer/registry/MixinEntityRenderers.java b/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/mixin/client/renderer/registry/MixinEntityRenderers.java
index ea176a04a..7efd4abbd 100644
--- a/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/mixin/client/renderer/registry/MixinEntityRenderers.java
+++ b/fabric-renderer-registries-v1/src/main/java/net/fabricmc/fabric/mixin/client/renderer/registry/MixinEntityRenderers.java
@@ -27,7 +27,7 @@ import org.spongepowered.asm.mixin.injection.Inject;
 import org.spongepowered.asm.mixin.injection.Redirect;
 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
 
-import net.minecraft.class_5617;
+import net.minecraft.client.render.entity.EntityRendererFactory;
 import net.minecraft.client.render.entity.EntityRenderers;
 import net.minecraft.client.network.AbstractClientPlayerEntity;
 import net.minecraft.client.render.entity.EntityRenderer;
@@ -44,18 +44,18 @@ import net.fabricmc.fabric.impl.client.renderer.registry.EntityRendererRegistryI
 public abstract class MixinEntityRenderers {
 	@Shadow()
 	@Final
-	private static Map<EntityType<?>, class_5617<?>> field_27768;
+	private static Map<EntityType<?>, EntityRendererFactory<?>> rendererFactories;
 
 	@SuppressWarnings({"unchecked", "rawtypes"})
 	@Inject(method = "<clinit>*", at = @At(value = "RETURN"))
 	private static void onRegisterRenderers(CallbackInfo info) {
-		EntityRendererRegistryImpl.setup(((t, factory) -> field_27768.put(t, factory)));
+		EntityRendererRegistryImpl.setup(((t, factory) -> rendererFactories.put(t, factory)));
 	}
 
-	// synthetic lambda in method_32176
+	// synthetic lambda in reloadEntityRenderers
 	@SuppressWarnings({"unchecked", "rawtypes"})
-	@Redirect(method = "method_32174", at = @At(value = "INVOKE", target = "Lnet/minecraft/class_5617;create(Lnet/minecraft/class_5617$class_5618;)Lnet/minecraft/client/render/entity/EntityRenderer;"))
-	private static EntityRenderer<?> createEntityRenderer(class_5617<?> entityRendererFactory, class_5617.class_5618 context, ImmutableMap.Builder builder, class_5617.class_5618 context2, EntityType<?> entityType) {
+	@Redirect(method = "method_32174", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/entity/EntityRendererFactory;create(Lnet/minecraft/client/render/entity/EntityRendererFactory$Context;)Lnet/minecraft/client/render/entity/EntityRenderer;"))
+	private static EntityRenderer<?> createEntityRenderer(EntityRendererFactory<?> entityRendererFactory, EntityRendererFactory.Context context, ImmutableMap.Builder builder, EntityRendererFactory.Context context2, EntityType<?> entityType) {
 		EntityRenderer<?> entityRenderer = entityRendererFactory.create(context);
 
 		if (entityRenderer instanceof LivingEntityRenderer) { // Must be living for features
@@ -68,8 +68,8 @@ public abstract class MixinEntityRenderers {
 
 	// private static synthetic method_32175(Lcom/google/common/collect/ImmutableMap$Builder;Lnet/minecraft/class_5617$class_5618;Ljava/lang/String;Lnet/minecraft/class_5617;)V
 	@SuppressWarnings({"unchecked", "rawtypes"})
-	@Redirect(method = "method_32175", at = @At(value = "INVOKE", target = "Lnet/minecraft/class_5617;create(Lnet/minecraft/class_5617$class_5618;)Lnet/minecraft/client/render/entity/EntityRenderer;"))
-	private static EntityRenderer<? extends PlayerEntity> createPlayerEntityRenderer(class_5617<AbstractClientPlayerEntity> playerEntityRendererFactory, class_5617.class_5618 context, ImmutableMap.Builder builder, class_5617.class_5618 context2, String str, class_5617<AbstractClientPlayerEntity> playerEntityRendererFactory2) {
+	@Redirect(method = "method_32175", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/entity/EntityRendererFactory;create(Lnet/minecraft/client/render/entity/EntityRendererFactory$Context;)Lnet/minecraft/client/render/entity/EntityRenderer;"))
+	private static EntityRenderer<? extends PlayerEntity> createPlayerEntityRenderer(EntityRendererFactory<AbstractClientPlayerEntity> playerEntityRendererFactory, EntityRendererFactory.Context context, ImmutableMap.Builder builder, EntityRendererFactory.Context context2, String str, EntityRendererFactory<AbstractClientPlayerEntity> playerEntityRendererFactory2) {
 		EntityRenderer<? extends PlayerEntity> entityRenderer = playerEntityRendererFactory.create(context);
 
 		LivingEntityRendererAccessor accessor = (LivingEntityRendererAccessor) entityRenderer;
diff --git a/fabric-renderer-registries-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/registry/FeatureRendererGenericTests.java b/fabric-renderer-registries-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/registry/FeatureRendererGenericTests.java
index d12d9d77a..b7645c13c 100644
--- a/fabric-renderer-registries-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/registry/FeatureRendererGenericTests.java
+++ b/fabric-renderer-registries-v1/src/testmod/java/net/fabricmc/fabric/test/renderer/registry/FeatureRendererGenericTests.java
@@ -16,7 +16,7 @@
 
 package net.fabricmc.fabric.test.renderer.registry;
 
-import net.minecraft.class_5617;
+import net.minecraft.client.render.entity.EntityRendererFactory;
 import net.minecraft.client.network.AbstractClientPlayerEntity;
 import net.minecraft.client.render.VertexConsumerProvider;
 import net.minecraft.client.render.entity.ArmorStandEntityRenderer;
@@ -58,7 +58,7 @@ public class FeatureRendererGenericTests implements ClientModInitializer {
 			}
 
 			// Obviously not recommended, just used for testing generics
-			registrationHelper.register(new ElytraFeatureRenderer<>(entityRenderer, context.method_32170()));
+			registrationHelper.register(new ElytraFeatureRenderer<>(entityRenderer, context.getModelLoader()));
 
 			if (entityRenderer instanceof BipedEntityRenderer) {
 				// It works, method ref is encouraged
@@ -69,7 +69,7 @@ public class FeatureRendererGenericTests implements ClientModInitializer {
 		LivingEntityFeatureRendererRegistrationCallback.EVENT.register(this::registerFeatures);
 	}
 
-	private void registerFeatures(EntityType<? extends LivingEntity> entityType, LivingEntityRenderer<?, ?> entityRenderer, LivingEntityFeatureRendererRegistrationCallback.RegistrationHelper registrationHelper, class_5617.class_5618 context) {
+	private void registerFeatures(EntityType<? extends LivingEntity> entityType, LivingEntityRenderer<?, ?> entityRenderer, LivingEntityFeatureRendererRegistrationCallback.RegistrationHelper registrationHelper, EntityRendererFactory.Context context) {
 		if (entityRenderer instanceof PlayerEntityRenderer) {
 			registrationHelper.register(new TestPlayerFeature((PlayerEntityRenderer) entityRenderer));
 
@@ -82,7 +82,7 @@ public class FeatureRendererGenericTests implements ClientModInitializer {
 		}
 
 		// Obviously not recommended, just used for testing generics.
-		registrationHelper.register(new ElytraFeatureRenderer<>(entityRenderer, context.method_32170()));
+		registrationHelper.register(new ElytraFeatureRenderer<>(entityRenderer, context.getModelLoader()));
 
 		if (entityRenderer instanceof BipedEntityRenderer) {
 			// It works, method ref is encouraged