package info.u_team.u_team_core.util.registry;

import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.entity.*;
import net.minecraft.tileentity.*;
import net.minecraftforge.api.distmarker.*;
import net.minecraftforge.fml.client.registry.*;

@OnlyIn(Dist.CLIENT)
public class ClientRegistry {
	
	public static <T extends Entity> void registerEntityRenderer(EntityType<T> clazz, IRenderFactory<? super T> rendererFactory) {
		RenderingRegistry.registerEntityRenderingHandler(clazz, rendererFactory);
	}
	
	public static <T extends TileEntity> void registerSpecialTileEntityRenderer(TileEntityType<T> clazz, TileEntityRenderer<? super T> renderer) {
		net.minecraftforge.fml.client.registry.ClientRegistry.bindTileEntityRenderer(clazz, renderer);
	}
	
	public static void registerKeybinding(KeyBinding key) {
		net.minecraftforge.fml.client.registry.ClientRegistry.registerKeyBinding(key);
	}
	
}

@@ -43,16 +43,55 @@
 try;%0D%0A%0D%0A
+import java.util.function.Function;%0D%0A%0D%0A
 import n
@@ -130,34 +130,17 @@
 eentity.
-TileEntityRenderer
+*
 ;%0D%0Aimpor
@@ -759,24 +759,310 @@
 enderer) %7B%0D%0A
+%09%09registerSpecialTileEntityRenderer(clazz, dispatcher -%3E renderer);%0D%0A%09%7D%0D%0A%09%0D%0A%09public static %3CT extends TileEntity%3E void registerSpecialTileEntityRenderer(TileEntityType%3CT%3E clazz, Function%3C? super TileEntityRendererDispatcher, ? extends TileEntityRenderer%3C? super T%3E%3E rendererFactory) %7B%0D%0A
 %09%09net.minecr
@@ -1135,32 +1135,39 @@
 (clazz, renderer
+Factory
 );%0D%0A%09%7D%0D%0A%09%0D%0A%09publ

Fix changes in the registry of tile entity renderer in the latest forge updates (30.0.19)