Advertisement
HalestormXV

Untitled

Jul 20th, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.36 KB | None | 0 0
  1. package halestormxv.eAngelus.main.proxy;
  2.  
  3. import halestormxv.eAngelus.achievements.EA_Achievements;
  4. import halestormxv.eAngelus.crafting.EARecipes;
  5. import halestormxv.eAngelus.main.Reference;
  6. import halestormxv.eAngelus.main.handlers.EA_EnumHandler;
  7. import halestormxv.eAngelus.main.init.eAngelusBlocks;
  8. import halestormxv.eAngelus.main.init.eAngelusItems;
  9. import halestormxv.eAngelus.mobs.entitys.EntityCelestialBolt;
  10. import halestormxv.eAngelus.mobs.entitys.EntityCreeperPrime;
  11. import halestormxv.eAngelus.mobs.entitys.EntityPhantom;
  12. import halestormxv.eAngelus.mobs.renders.RenderEnergyBall;
  13. import halestormxv.eAngelus.mobs.renders.RenderCreeperPrime;
  14. import halestormxv.eAngelus.mobs.renders.RenderPhantom;
  15. import net.minecraft.client.Minecraft;
  16. import net.minecraft.client.renderer.block.model.ModelBakery;
  17. import net.minecraft.client.renderer.entity.Render;
  18. import net.minecraft.client.renderer.entity.RenderManager;
  19. import net.minecraft.client.settings.KeyBinding;
  20. import net.minecraft.entity.Entity;
  21. import net.minecraft.entity.player.EntityPlayer;
  22. import net.minecraft.util.IThreadListener;
  23. import net.minecraft.util.ResourceLocation;
  24. import net.minecraftforge.fml.client.registry.ClientRegistry;
  25. import net.minecraftforge.fml.client.registry.IRenderFactory;
  26. import net.minecraftforge.fml.client.registry.RenderingRegistry;
  27. import net.minecraftforge.fml.common.event.FMLInitializationEvent;
  28. import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
  29. import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
  30. import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
  31. import org.lwjgl.input.Keyboard;
  32.  
  33. public class ClientProxy extends CommonProxy
  34. {
  35.     private final Minecraft MINECRAFT = Minecraft.getMinecraft();
  36.     public static KeyBinding[] keyBindings;
  37.  
  38.     @Override
  39.     public void preInit(FMLPreInitializationEvent event)
  40.     {
  41.         super.preInit(event);
  42.         EARecipes.initRecipes();
  43.         EA_Achievements.AchievementRegistry();
  44.         RenderingRegistry.registerEntityRenderingHandler(EntityPhantom.class, RenderPhantom.FACTORY);
  45.         RenderingRegistry.registerEntityRenderingHandler(EntityCreeperPrime.class, RenderCreeperPrime.FACTORY);
  46.         registerEntityRenderer(EntityCelestialBolt.class, RenderEnergyBall.class);
  47.         //registerModelBakeryStuff();
  48.     }
  49.    
  50.     @Override
  51.     public void init(FMLInitializationEvent event)
  52.     {
  53.         super.init(event);
  54.         eAngelusItems.registerRenders();
  55.         eAngelusBlocks.registerRenders();
  56.         keyBindings = new KeyBinding[1];
  57.         keyBindings[0] = new KeyBinding("eangelus.getmorality.desc", Keyboard.KEY_M, "eangelus.keymapping.category");
  58.         for (int i = 0; i < ClientProxy.keyBindings.length; ++i)
  59.         {
  60.             ClientRegistry.registerKeyBinding(ClientProxy.keyBindings[i]);
  61.         }
  62.     }
  63.    
  64.     @Override
  65.     public void postInit(FMLPostInitializationEvent event)
  66.     {
  67.         super.postInit(event); 
  68.     }
  69.    
  70.     @Override
  71.     public void registerModelBakeryStuff()
  72.     {
  73.         ModelBakery.registerItemVariants(eAngelusItems.essence,
  74.                 new ResourceLocation(Reference.MODID, "essence_chariot"),
  75.                 new ResourceLocation(Reference.MODID,"essence_knight"),
  76.                 new ResourceLocation(Reference.MODID,"essence_strength"));
  77.     }
  78.  
  79.     public IThreadListener getThreadListener(final MessageContext context) {
  80.         if (context.side.isClient()) {
  81.             return MINECRAFT;
  82.         } else {
  83.             return context.getServerHandler().playerEntity.mcServer;
  84.         }
  85.     }
  86.  
  87.     public EntityPlayer getPlayer(final MessageContext context) {
  88.         if (context.side.isClient()) {
  89.             return MINECRAFT.player;
  90.         } else {
  91.             return context.getServerHandler().playerEntity;
  92.         }
  93.     }
  94.  
  95.  
  96.  
  97.     private static <E extends Entity> void registerEntityRenderer(Class<E> entityClass, Class<? extends Render<E>> renderClass)
  98.     {
  99.         RenderingRegistry.registerEntityRenderingHandler(entityClass, new EntityRenderFactory(renderClass));
  100.     }
  101.  
  102.     private static class EntityRenderFactory<E extends Entity>
  103.             implements IRenderFactory<E>
  104.     {
  105.         private Class<? extends Render<E>> renderClass;
  106.  
  107.         private EntityRenderFactory(Class<? extends Render<E>> renderClass)
  108.         {
  109.             this.renderClass = renderClass;
  110.         }
  111.  
  112.         public Render<E> createRenderFor(RenderManager manager)
  113.         {
  114.             Render<E> renderer = null;
  115.             try
  116.             {
  117.                 renderer = (Render)this.renderClass.getConstructor(new Class[] { RenderManager.class }).newInstance(new Object[] { manager });
  118.             }
  119.             catch (Exception e)
  120.             {
  121.                 e.printStackTrace();
  122.             }
  123.             return renderer;
  124.         }
  125.     }
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement