Advertisement
Creepinson

Untitled

Jun 20th, 2017
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.25 KB | None | 0 0
  1. package me.creepinson.main;
  2.  
  3.  
  4.  
  5. import java.util.Random;
  6.  
  7. import cpw.mods.fml.client.registry.RenderingRegistry;
  8. import cpw.mods.fml.common.Mod;
  9. import cpw.mods.fml.common.Mod.EventHandler;
  10. import cpw.mods.fml.common.SidedProxy;
  11. import cpw.mods.fml.common.event.FMLInitializationEvent;
  12. import cpw.mods.fml.common.event.FMLPostInitializationEvent;
  13. import cpw.mods.fml.common.event.FMLPreInitializationEvent;
  14. import cpw.mods.fml.common.event.FMLServerStartingEvent;
  15. import cpw.mods.fml.common.registry.EntityRegistry;
  16. import me.creepinson.entities.Creepino;
  17. import me.creepinson.entities.EntityCreepino;
  18. import me.creepinson.entities.ai.EntityAIAttackMelee;
  19. import me.creepinson.entities.model.ModelCreepino;
  20. import me.creepinson.entities.render.RenderCreepino;
  21. import me.creepinson.events.EventHandlerMOD;
  22. import me.creepinson.lib.RefStrings;
  23. import net.minecraft.entity.EntityLiving;
  24. import net.minecraft.entity.ai.EntityAIAttackOnCollide;
  25. import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
  26. import net.minecraft.util.ResourceLocation;
  27. import net.minecraftforge.client.model.AdvancedModelLoader;
  28. import net.minecraftforge.client.model.IModelCustom;
  29. import net.minecraftforge.client.model.obj.WavefrontObject;
  30. import net.minecraftforge.common.MinecraftForge;
  31. import obsidianAPI.ObsidianAPIUtil;
  32. import obsidianAPI.ObsidianEventHandler;
  33. import obsidianAPI.animation.wrapper.FunctionAnimationWrapper.IsActiveFunction;
  34. import obsidianAPI.file.importer.FileLoader;
  35. import obsidianAPI.network.AnimationNetworkHandler;
  36. import obsidianAPI.registry.AnimationRegistry;
  37.  
  38.  
  39.  
  40. @Mod(modid = me.creepinson.lib.RefStrings.MODID, version = me.creepinson.lib.RefStrings.VERSION)
  41. public class Main{
  42.  
  43. @Mod.Instance(RefStrings.MODID)
  44. public static Main instance;
  45.  
  46. @SidedProxy(clientSide = "me.creepinson.main.ClientProxy", serverSide = "me.creepinson.main.CommonProxy")
  47. public static CommonProxy proxy;
  48.  
  49. //VARIABLES
  50.  
  51. private ResourceLocation creepinoModel = new ResourceLocation("meepersplus:Creepino.obm");
  52. private ResourceLocation creepinoTexture = new ResourceLocation("meepersplus:animations/Creepino-texturemap.png");
  53.  
  54.  
  55. RenderCreepino creepinoR = new RenderCreepino(FileLoader.loadModelFromResources("Creepino", creepinoModel, creepinoTexture, ModelCreepino.class));
  56.  
  57. Creepino creepino = new Creepino();
  58.  
  59. @EventHandler
  60. public void severStarting(FMLServerStartingEvent event)
  61. {
  62. creepino.serverLoad(event);
  63. }
  64.  
  65.  
  66.  
  67.  
  68. //INITS
  69. @EventHandler
  70. public void preInit(FMLPreInitializationEvent event)
  71. {
  72. creepino.instance = this.instance;
  73.  
  74. creepino.preInit(event);
  75.  
  76.  
  77. RenderingRegistry.registerEntityRenderingHandler(EntityCreepino.class, creepinoR);
  78. proxy.preInit();
  79.  
  80. }
  81. @EventHandler
  82. public void init(FMLInitializationEvent event)
  83. {
  84. MinecraftForge.EVENT_BUS.register(new ObsidianEventHandler());
  85.  
  86. creepino.load();
  87.  
  88. AnimationNetworkHandler.init();
  89.  
  90.  
  91. IsActiveFunction isWalking = (entity) -> {
  92. return ObsidianAPIUtil.isEntityMoving(entity) && !entity.isSprinting() && !entity.isSneaking() && entity.onGround;
  93. };
  94. IsActiveFunction returnTrue = (entity) -> {
  95. return true;
  96. };
  97. IsActiveFunction isAttacking = (entity) -> {
  98. if(entity instanceof EntityLiving) {
  99. EntityLiving entityLiving = (EntityLiving) entity;
  100. return ObsidianAPIUtil.isEntityAITaskActive(entityLiving, EntityAIAttackMelee.name);
  101. }
  102. return false;
  103. };
  104. AnimationRegistry.registerEntity(EntityCreepino.class, "Creepino");
  105. AnimationRegistry.registerAnimation("Creepino", "idle", new ResourceLocation("meepersplus:animations/creepinoidle.oba"), 100, true, returnTrue);
  106. AnimationRegistry.registerAnimation("Creepino", "walk", new ResourceLocation("meepersplus:animations/creepinowalk.oba"), 50, true, isWalking);
  107. AnimationRegistry.registerAnimation("Creepino", "bite", new ResourceLocation("meepersplus:animations/creepinobite.oba"), 50, true, isAttacking);
  108.  
  109.  
  110. proxy.registerModelBakeryStuff();
  111.  
  112. proxy.init();
  113. MinecraftForge.EVENT_BUS.register(new EventHandlerMOD());
  114.  
  115.  
  116.  
  117. }
  118. @EventHandler
  119. public void postInit(FMLPostInitializationEvent PostEvent)
  120. {
  121.  
  122. proxy.postInit();
  123.  
  124. }
  125.  
  126.  
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement