Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.creepinson.main;
- import java.util.Random;
- import cpw.mods.fml.client.registry.RenderingRegistry;
- import cpw.mods.fml.common.Mod;
- import cpw.mods.fml.common.Mod.EventHandler;
- import cpw.mods.fml.common.SidedProxy;
- import cpw.mods.fml.common.event.FMLInitializationEvent;
- import cpw.mods.fml.common.event.FMLPostInitializationEvent;
- import cpw.mods.fml.common.event.FMLPreInitializationEvent;
- import cpw.mods.fml.common.event.FMLServerStartingEvent;
- import cpw.mods.fml.common.registry.EntityRegistry;
- import me.creepinson.entities.Creepino;
- import me.creepinson.entities.EntityCreepino;
- import me.creepinson.entities.ai.EntityAIAttackMelee;
- import me.creepinson.entities.model.ModelCreepino;
- import me.creepinson.entities.render.RenderCreepino;
- import me.creepinson.events.EventHandlerMOD;
- import me.creepinson.lib.RefStrings;
- import net.minecraft.entity.EntityLiving;
- import net.minecraft.entity.ai.EntityAIAttackOnCollide;
- import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
- import net.minecraft.util.ResourceLocation;
- import net.minecraftforge.client.model.AdvancedModelLoader;
- import net.minecraftforge.client.model.IModelCustom;
- import net.minecraftforge.client.model.obj.WavefrontObject;
- import net.minecraftforge.common.MinecraftForge;
- import obsidianAPI.ObsidianAPIUtil;
- import obsidianAPI.ObsidianEventHandler;
- import obsidianAPI.animation.wrapper.FunctionAnimationWrapper.IsActiveFunction;
- import obsidianAPI.file.importer.FileLoader;
- import obsidianAPI.network.AnimationNetworkHandler;
- import obsidianAPI.registry.AnimationRegistry;
- @Mod(modid = me.creepinson.lib.RefStrings.MODID, version = me.creepinson.lib.RefStrings.VERSION)
- public class Main{
- @Mod.Instance(RefStrings.MODID)
- public static Main instance;
- @SidedProxy(clientSide = "me.creepinson.main.ClientProxy", serverSide = "me.creepinson.main.CommonProxy")
- public static CommonProxy proxy;
- //VARIABLES
- private ResourceLocation creepinoModel = new ResourceLocation("meepersplus:Creepino.obm");
- private ResourceLocation creepinoTexture = new ResourceLocation("meepersplus:animations/Creepino-texturemap.png");
- RenderCreepino creepinoR = new RenderCreepino(FileLoader.loadModelFromResources("Creepino", creepinoModel, creepinoTexture, ModelCreepino.class));
- Creepino creepino = new Creepino();
- @EventHandler
- public void severStarting(FMLServerStartingEvent event)
- {
- creepino.serverLoad(event);
- }
- //INITS
- @EventHandler
- public void preInit(FMLPreInitializationEvent event)
- {
- creepino.instance = this.instance;
- creepino.preInit(event);
- RenderingRegistry.registerEntityRenderingHandler(EntityCreepino.class, creepinoR);
- proxy.preInit();
- }
- @EventHandler
- public void init(FMLInitializationEvent event)
- {
- MinecraftForge.EVENT_BUS.register(new ObsidianEventHandler());
- creepino.load();
- AnimationNetworkHandler.init();
- IsActiveFunction isWalking = (entity) -> {
- return ObsidianAPIUtil.isEntityMoving(entity) && !entity.isSprinting() && !entity.isSneaking() && entity.onGround;
- };
- IsActiveFunction returnTrue = (entity) -> {
- return true;
- };
- IsActiveFunction isAttacking = (entity) -> {
- if(entity instanceof EntityLiving) {
- EntityLiving entityLiving = (EntityLiving) entity;
- return ObsidianAPIUtil.isEntityAITaskActive(entityLiving, EntityAIAttackMelee.name);
- }
- return false;
- };
- AnimationRegistry.registerEntity(EntityCreepino.class, "Creepino");
- AnimationRegistry.registerAnimation("Creepino", "idle", new ResourceLocation("meepersplus:animations/creepinoidle.oba"), 100, true, returnTrue);
- AnimationRegistry.registerAnimation("Creepino", "walk", new ResourceLocation("meepersplus:animations/creepinowalk.oba"), 50, true, isWalking);
- AnimationRegistry.registerAnimation("Creepino", "bite", new ResourceLocation("meepersplus:animations/creepinobite.oba"), 50, true, isAttacking);
- proxy.registerModelBakeryStuff();
- proxy.init();
- MinecraftForge.EVENT_BUS.register(new EventHandlerMOD());
- }
- @EventHandler
- public void postInit(FMLPostInitializationEvent PostEvent)
- {
- proxy.postInit();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement