Jump to content

[SOLVED][1.7.10]Entity instantly despawning?


Nimbleguy

Recommended Posts

I am trying to make a boss, but whenever it is spawned it instantly dies. It has full health when it is spawned. I am on Normal mode.

VoidMod:

 

 

package aj.Java.Nullvoid;

 

import java.lang.reflect.Field;

import java.lang.reflect.Modifier;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

 

import aj.Java.Nullvoid.Armor.ArmorNull;

import aj.Java.Nullvoid.Armor.GlitchAmulet;

import aj.Java.Nullvoid.Armor.GravityBelt;

import aj.Java.Nullvoid.Biome.BiomeGenNull;

import aj.Java.Nullvoid.Dimention.WorldProviderNullVoid;

import aj.Java.Nullvoid.Entity.EntityBuilder;

import aj.Java.Nullvoid.Entity.EntityGlitch;

import aj.Java.Nullvoid.Entity.EntityNullFloater;

import aj.Java.Nullvoid.Entity.EntityVoidCloud;

import aj.Java.Nullvoid.Entity.EntityVoidMaster;

import aj.Java.Nullvoid.Liquids.BucketHandler;

import aj.Java.Nullvoid.Liquids.FluidMoltenFlux;

import aj.Java.Nullvoid.Listners.TickListner;

import aj.Java.Nullvoid.Packet.PacketHandler;

import aj.Java.Nullvoid.Potion.PotionDissolving;

import aj.Java.Nullvoid.Tools.ItemBaneOfDarkness;

import aj.Java.Nullvoid.Tools.ItemDarknessPick;

import aj.Java.Nullvoid.Tools.ItemElementalHammer;

import aj.Java.Nullvoid.block.BlockChamberWall;

import aj.Java.Nullvoid.block.BlockGeneric;

import aj.Java.Nullvoid.block.BlockGlitchFrame;

import aj.Java.Nullvoid.block.BlockMoltenFlux;

import aj.Java.Nullvoid.block.BlockNullOre;

import aj.Java.Nullvoid.block.BlockStorage;

import aj.Java.Nullvoid.block.BlockSwordWall;

import aj.Java.Nullvoid.block.BlockTransparent;

import aj.Java.Nullvoid.block.BlockVoidDoor;

import aj.Java.Nullvoid.block.BlockVoidFabric;

import aj.Java.Nullvoid.block.BlockVoidOre;

import aj.Java.Nullvoid.block.BlockVoidReactor;

import aj.Java.Nullvoid.block.BlockVoidWalker;

import aj.Java.Nullvoid.block.item.ItemBlockChamberWall;

import aj.Java.Nullvoid.block.item.ItemBlockStorage;

import aj.Java.Nullvoid.client.GUIHandler;

import aj.Java.Nullvoid.client.render.TextureNullOre;

import aj.Java.Nullvoid.gen.VoidModOreGenerator;

import aj.Java.Nullvoid.gen.VoidModStructureGenerator;

import aj.Java.Nullvoid.item.ItemAntiGlitchCore;

import aj.Java.Nullvoid.item.ItemBucket;

import aj.Java.Nullvoid.item.ItemCircut;

import aj.Java.Nullvoid.item.ItemEssenceDark;

import aj.Java.Nullvoid.item.ItemEssenceLight;

import aj.Java.Nullvoid.item.ItemFrame;

import aj.Java.Nullvoid.item.ItemGlitchyAlloy;

import aj.Java.Nullvoid.item.ItemIngotNull;

import aj.Java.Nullvoid.item.ItemIngotVoid;

import aj.Java.Nullvoid.item.ItemNullInk;

import aj.Java.Nullvoid.item.ItemNullVoidAlloy;

import aj.Java.Nullvoid.item.ItemTablet;

import aj.Java.Nullvoid.item.ItemVoidBook;

import aj.Java.Nullvoid.item.ItemVoidRecord;

import aj.Java.Nullvoid.item.ItemYingYang;

import aj.Java.Nullvoid.tileentity.TileEntitySwordWall;

import aj.Java.Nullvoid.tileentity.TileEntityVoidReactor;

import aj.Java.Nullvoid.tileentity.TileEntityVoidWalker;

import net.minecraft.block.Block;

import net.minecraft.block.material.Material;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.entity.EntityList;

import net.minecraft.entity.EnumCreatureType;

import net.minecraft.init.Blocks;

import net.minecraft.init.Items;

import net.minecraft.item.Item;

import net.minecraft.item.Item.ToolMaterial;

import net.minecraft.item.ItemArmor.ArmorMaterial;

import net.minecraft.item.ItemStack;

import net.minecraft.potion.Potion;

import net.minecraft.potion.PotionHelper;

import net.minecraft.stats.Achievement;

import net.minecraft.util.WeightedRandomChestContent;

import net.minecraft.world.ChunkCoordIntPair;

import net.minecraft.world.World;

import net.minecraft.world.biome.BiomeGenBase;

import net.minecraftforge.common.AchievementPage;

import net.minecraftforge.common.BiomeDictionary;

import net.minecraftforge.common.BiomeDictionary.Type;

import net.minecraftforge.common.BiomeManager;

import net.minecraftforge.common.ChestGenHooks;

import net.minecraftforge.common.DimensionManager;

import net.minecraftforge.common.ForgeChunkManager;

import net.minecraftforge.common.ForgeChunkManager.LoadingCallback;

import net.minecraftforge.common.ForgeChunkManager.Ticket;

import net.minecraftforge.common.MinecraftForge;

import net.minecraftforge.common.config.Configuration;

import net.minecraftforge.fluids.Fluid;

import net.minecraftforge.fluids.FluidContainerRegistry;

import net.minecraftforge.fluids.FluidRegistry;

import net.minecraftforge.fluids.FluidStack;

import net.minecraftforge.oredict.OreDictionary;

import net.minecraftforge.oredict.ShapedOreRecipe;

import cpw.mods.fml.client.registry.ClientRegistry;

import cpw.mods.fml.common.FMLCommonHandler;

import cpw.mods.fml.common.Mod;

import cpw.mods.fml.common.Mod.EventHandler;

import cpw.mods.fml.common.Mod.Instance;

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.registry.EntityRegistry;

import cpw.mods.fml.common.registry.GameRegistry;

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

import net.minecraftforge.common.util.EnumHelper;

 

@Mod(modid = VoidMod.MODID, name = "The Void", version = VoidMod.VERSION, guiFactory = "aj.Java.Nullvoid.client.VoidModGUIFactory")

public class VoidMod implements LoadingCallback {

public static List<Block> VoidReactorValidBlocks = new ArrayList<Block>(10);

public static Achievement mineNull = null;

public static Achievement enterNull = null;

public static Achievement useTardis = null;

public static Achievement fallVoid = null;

public static Achievement craftGoggle = null;

public static Achievement makeReactor = null;

public static Achievement mineVoid = null;

public static Achievement summonGlitch = null;

public static Achievement scat = null;

public static AchievementPage nullChievements = null;

public static Configuration config;

public static CreativeTabs ctab = new NullVoidTab(CreativeTabs.getNextID(),

"The Null Void");

public static Item circuts = null;

public static Item ingotNull = null;

public static Item ingotVoid = null;

public static Item corruptAlloy = null;

public static Item nullVoidAlloy = null;

public static Item bucket = null;

public static Item tablet = null;

public static Item lightEssence = null;

public static Item darkEssence = null;

public static Item yingYang = null;

public static ItemVoidBook voidBook = null;

public static Item scatman = null;

public static Item pier = null;

public static Item nullInk = null;

public static Potion dissolving = null;

public static Block NullOre = null;

public static Block VoidFabric = null;

public static Block walker = null;

public static Block voiddoor = null;

public static Block voidReactor = null;

public static Block swordWall = null;

public static Block chamberWall = null;

public static Block voidOre = null;

public static Block generic = null;

public static Block glitchFrame = null;

public static Block transparent = null;

public static Block storage = null;

public static int NullVoidDimID;

public static int NullVoidBioID;

public static int EntIDBuild;

public static int EntIDWalk;

public static int EntIDCloud;

public static int EntIDFloat;

public static int EntIDGlitch;

public static int PotIDDiss;

public static String PotBitDiss;

public static final String MODID = "nullvoid";

public static final String VERSION = "1.7.10-3.0.0-BETA";

public static Fluid liquidFlux = null;

public static Block blockLiquidFlux = null;

public static Item nullGoggles = null;

public static Item voidGear = null;

public static Item gravityBelt = null;

public static Item glitchAmulet = null;

public static Item ingotFrame = null;

public static Item baneOfDark = null;

public static Item darkPick = null;

public static Item glitchCore = null;

public static Item elementalHammer = null;

public static BiomeGenBase biomeNullVoid = null;

@SideOnly(Side.CLIENT)

public static TextureNullOre texNullOre;

public static ArmorMaterial NullArmor = EnumHelper.addArmorMaterial(

"NullArmor", 8, new int[] { 6, 12, 10, 6 }, 30);

public static ToolMaterial SpecialTool = EnumHelper.addToolMaterial(

"NullVoidSpecial", 100, 10000, 100F, 14F, 100);

public static int NullArmorRender;

@Instance(value = MODID)

public static VoidMod me;

@SidedProxy(clientSide = "aj.Java.Nullvoid.client.ClientProxy", serverSide = "aj.Java.Nullvoid.CommonProxy")

public static CommonProxy proxy;

public static int ReactorRender = -1;

 

@EventHandler

public void preInit(FMLPreInitializationEvent event) {

// Initing stuff

config = new Configuration(event.getSuggestedConfigurationFile());

config();

NullArmorRender = proxy.addArmor("Null");

blocks();

items();

potions();

 

// Fluids

FluidRegistry.registerFluid(liquidFlux);

 

// Blocks

GameRegistry.registerBlock(walker, "Voidwalker");

GameRegistry.registerBlock(voiddoor, "voidDoor");

GameRegistry.registerBlock(VoidFabric, "voidFabric");

GameRegistry.registerBlock(NullOre, "nullOre");

GameRegistry.registerBlock(blockLiquidFlux, "moltenFluxBlock");

GameRegistry.registerBlock(voidReactor, "voidReactor");

GameRegistry.registerBlock(swordWall, "swordWall");

GameRegistry.registerBlock(chamberWall, ItemBlockChamberWall.class,

"chamberWall");

GameRegistry.registerBlock(voidOre, "voidOre");

GameRegistry.registerBlock(generic, "generic");

GameRegistry.registerBlock(glitchFrame, "glitchFrame");

GameRegistry.registerBlock(transparent, "transparent");

GameRegistry.registerBlock(storage, ItemBlockStorage.class, "storage");

 

// Items

GameRegistry.registerItem(bucket, "bucketFlux");

GameRegistry.registerItem(circuts, "circutsVoidFlux");

GameRegistry.registerItem(ingotVoid, "ingotVoid");

GameRegistry.registerItem(ingotNull, "ingotNull");

GameRegistry.registerItem(nullGoggles, "goggleNull");

GameRegistry.registerItem(voidGear, "voidGear");

GameRegistry.registerItem(gravityBelt, "gravityBelt");

GameRegistry.registerItem(glitchAmulet, "glitchAmulet");

GameRegistry.registerItem(corruptAlloy, "corruptAlloy");

GameRegistry.registerItem(nullVoidAlloy, "nullVoidAlloy");

GameRegistry.registerItem(ingotFrame, "ingotFrame");

GameRegistry.registerItem(baneOfDark, "darknessBane");

GameRegistry.registerItem(tablet, "tablet");

GameRegistry.registerItem(lightEssence, "lightEssence");

GameRegistry.registerItem(darkEssence, "darkEssence");

GameRegistry.registerItem(darkPick, "darkPick");

GameRegistry.registerItem(elementalHammer, "elementHammer");

GameRegistry.registerItem(yingYang, "yingYang");

GameRegistry.registerItem(glitchCore, "antiGlitchCore");

GameRegistry.registerItem(voidBook, "voidBook");

GameRegistry.registerItem(scatman, "scatman");

GameRegistry.registerItem(pier, "piertonowhere");

GameRegistry.registerItem(nullInk, "nullInk");

 

// Tile entities

GameRegistry.registerTileEntity(TileEntityVoidWalker.class,

"NullVoidWalker");

GameRegistry.registerTileEntity(TileEntitySwordWall.class,

"NullSwordWall");

GameRegistry.registerTileEntity(TileEntityVoidReactor.class,

"NullVoidReactor");

 

// Oredict

OreDictionary.registerOre("crystalNull", ingotNull);

OreDictionary.registerOre("oreNull", NullOre);

OreDictionary.registerOre("gemVoid", ingotVoid);

OreDictionary.registerOre("oreVoid", voidOre);

 

// GUI

new GUIHandler();

 

// Buckets

FluidContainerRegistry.registerFluidContainer(new FluidStack(

liquidFlux, (FluidContainerRegistry.BUCKET_VOLUME / 7)),

new ItemStack(bucket), new ItemStack(Items.bucket));

MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE);

 

// Register Biomes

BiomeDictionary

.registerBiomeType(biomeNullVoid, Type.END, Type.MAGICAL);

BiomeManager.removeSpawnBiome(biomeNullVoid);

 

// Entities

EntityRegistry.registerModEntity(EntityVoidMaster.class, "Void Master",

EntIDWalk, this, 80, 10, true);

EntityRegistry.registerModEntity(EntityNullFloater.class,

"Null Floater", EntIDFloat, this, 80, 10, true);

EntityRegistry.registerModEntity(EntityBuilder.class, "Builder",

EntIDBuild, this, 80, 10, true);

EntityRegistry.registerModEntity(EntityGlitch.class, "Glitch",

EntIDGlitch, this, 80, 10, true);

EntityRegistry.registerModEntity(EntityVoidCloud.class, "Void Cloud",

EntIDCloud, this, 80, 10, true);

// Entities: Spawn

EntityRegistry.addSpawn(EntityNullFloater.class, 15, 3, 10,

EnumCreatureType.waterCreature, biomeNullVoid);

EntityRegistry.addSpawn(EntityVoidCloud.class, 10, 3, 5,

EnumCreatureType.ambient, biomeNullVoid);

// EntityRegistry.addSpawn(EntityVoidMaster.class, 5, 1, 1,

// EnumCreatureType.creature, biomeNullVoid);

// Entities: Eggs

EntityList.addMapping(EntityNullFloater.class, "Null Floater",

EntIDFloat, 0x8000FF, 0x0B0B61);

EntityList.addMapping(EntityBuilder.class, "Builder", EntIDBuild,

0x2EFE2E, 0x8000FF);

EntityList.addMapping(EntityVoidCloud.class, "Void Cloud", EntIDCloud,

0x9966FF, 0x352B47);

// EntityList.addMapping(EntityVoidMaster.class, "Void Master", 6,

// 0x000000, 0x6600FF);

// Entities: Register

EntityList.addMapping(EntityGlitch.class, "Glitch", EntIDGlitch);

 

// Chunkloading

ForgeChunkManager.setForcedChunkLoadingCallback(VoidMod.me, null);

 

// Register dims

DimensionManager.registerProviderType(VoidMod.NullVoidDimID,

WorldProviderNullVoid.class, true);

DimensionManager.registerDimension(VoidMod.NullVoidDimID,

VoidMod.NullVoidDimID);

 

// Generation

GameRegistry.registerWorldGenerator(new VoidModOreGenerator(), 100);

GameRegistry.registerWorldGenerator(new VoidModStructureGenerator(),

101);

 

// Renderers

proxy.registerRenderers();

 

// Packets

PacketHandler.init();

 

// Keys

if (FMLCommonHandler.instance().getSide().isClient()) {

ClientRegistry.registerKeyBinding(Utils.specialKey);

}

 

// Events

FMLCommonHandler.instance().bus().register(new TickListner());

MinecraftForge.EVENT_BUS.register(new TickListner());

}

 

@EventHandler

public void init(FMLInitializationEvent event) {

// NullCheivements

mineNull = new Achievement("achievement.MineNullOre", "MineNullOre",

-2, 0, new ItemStack(ingotNull, 1, 0), (Achievement) null)

.initIndependentStat().registerStat();

enterNull = new Achievement("achievement.GoToVoid", "GoToVoid", 0, 0,

new ItemStack(walker, 1, 0), mineNull).setSpecial()

.registerStat();

scat = new Achievement("achievement.scat", "scat", -1, -2,

VoidMod.scatman, enterNull).registerStat();

useTardis = new Achievement("achievement.UseTARDIS", "UseTARDIS", 2, 0,

new ItemStack(Blocks.lapis_block, 1, 0), enterNull)

.registerStat();

fallVoid = new Achievement("achievement.FallVoid", "FallVoid", -3, -1,

new ItemStack(voidOre, 1, 0), enterNull).registerStat();

craftGoggle = new Achievement("achievement.CraftGoggles",

"CraftGoggles", 0, 2, new ItemStack(nullGoggles, 1, 0),

enterNull).registerStat();

mineVoid = new Achievement("achievement.MineVoid", "MineVoid", 3, 3,

new ItemStack(ingotVoid, 1, 0), craftGoggle).registerStat();

makeReactor = new Achievement("achievement.MakeReactor", "MakeReactor",

2, 4, new ItemStack(voidReactor, 1, 0), mineVoid).setSpecial()

.registerStat();

summonGlitch = new Achievement("achievement.SummonGlitch",

"SummonGlitch", 2, 6, new ItemStack(corruptAlloy), makeReactor)

.setSpecial().registerStat();

nullChievements = new AchievementPage("The Null Void", mineNull,

enterNull, craftGoggle, useTardis, fallVoid, mineVoid,

makeReactor, summonGlitch, scat);

 

// NullChievementPage

AchievementPage.registerAchievementPage(nullChievements);

 

// Crafting

GameRegistry.addRecipe(new ShapedOreRecipe(

new ItemStack(circuts, 1, 0), "RPR", "NEN", "QNQ", 'R',

"dustRedstone", 'P', new ItemStack(Items.pumpkin_pie), 'N',

"crystalNull", 'E', "dyeLime", 'Q', "gemQuartz"));

if (OreDictionary.getOres("ingotCopper").size() != 0

&& OreDictionary.getOres("ingotElectrum").size() != 0) {

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(circuts,

1, 1), "OGO", "NCN", "RRR", 'R', "dustRedstone", 'G',

"ingotElectrum", 'C', new ItemStack(circuts, 1, 0), 'O',

"ingotCopper", 'N', "crystalNull"));

} else if (OreDictionary.getOres("ingotCopper").size() != 0) {

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(circuts,

1, 1), "OGO", "NCN", "RRR", 'R', "dustRedstone", 'G',

"dustGlowstone", 'C', new ItemStack(circuts, 1, 0), 'O',

"ingotCopper", 'N', "crystalNull"));

} else {

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(circuts,

1, 1), "GGG", "NCN", "RRR", 'R', "dustRedstone", 'G',

"dustGlowstone", 'C', new ItemStack(circuts, 1, 0), 'N',

"crystalNull"));

}

GameRegistry.addRecipe(new ShapedOreRecipe(

new ItemStack(circuts, 1, 2), "NNN", "NCN", "NRN", 'R',

"blockRedstone", 'N', "crystalNull", 'C', new ItemStack(

circuts, 1, 1)));

GameRegistry.addRecipe(new ShapedOreRecipe(

new ItemStack(circuts, 1, 3), "REB", "NCN", "YQP", 'C',

new ItemStack(circuts, 1, 2), 'N', "crystalNull", 'R',

"dyeRed", 'B', "dyeCyan", 'Y', "dyeYellow", 'P', "dyePurple",

'Q', "gemQuartz", 'E', "blockRedstone"));

GameRegistry.addRecipe(new ShapedOreRecipe(

new ItemStack(circuts, 1, 4), "NNN", "RCR", "IEI", 'R',

"blockRedstone", 'C', new ItemStack(circuts, 1, 3), 'N',

"crystalNull", 'D', "blockIron", 'E', Blocks.end_stone));

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(walker),

"NCN", "EDE", "NIN", 'D', "blockDiamond", 'C', new ItemStack(

circuts, 1, 0), 'I', new ItemStack(circuts, 1, 3), 'N',

"crystalNull", 'E', Blocks.end_stone));

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(nullGoggles),

"SCS", "GLG", "NGN", 'S', new ItemStack(Items.string), 'C',

new ItemStack(circuts, 1, 4), 'N', "crystalNull", 'G',

"paneGlass", 'L', Items.leather));

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(swordWall),

"NVN", "GSG", "CVC", 'V', new ItemStack(VoidFabric), 'C',

new ItemStack(circuts, 1, 3), 'N', "crystalNull", 'G',

"gemVoid", 'S', baneOfDark));

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ingotFrame),

"SWS", "VNV", "SGS", 'V', "gemVoid", 'W', "plankWood", 'N',

"crystalNull", 'G', "slimeball", 'S', new ItemStack(

Items.string)));

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(glitchFrame),

"NAN", "VGV", "FAF", 'N', "crystalNull", 'V', "gemVoid", 'G',

generic, 'F', VoidFabric, 'A', glitchCore));

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(baneOfDark),

"ABA", "CBC", " G ", 'A', nullVoidAlloy, 'B', lightEssence,

'G', glitchCore, 'C', new ItemStack(circuts, 1, 4)));

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(darkPick),

"DDD", "CGC", " A ", 'D', darkEssence, 'C', new ItemStack(

circuts, 1, 4), 'G', corruptAlloy, 'A', glitchCore));

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(glitchAmulet),

"SYS", "YCY", "YYY", 'S', Items.string, 'Y', yingYang, 'C',

glitchCore));

// Smelting

GameRegistry.addSmelting(NullOre, new ItemStack(ingotNull), 0.5f);

GameRegistry.addSmelting(voidOre, new ItemStack(ingotVoid), 1f);

// Dungeon Loot

ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST,

new WeightedRandomChestContent(new ItemStack(tablet, 1, 3), 1,

40, 2));

ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR,

new WeightedRandomChestContent(new ItemStack(tablet, 1, 4), 1,

40, 2));

ChestGenHooks.addItem(ChestGenHooks.STRONGHOLD_LIBRARY,

new WeightedRandomChestContent(new ItemStack(tablet, 1, 0), 50,

60, 51));

ChestGenHooks.addItem(ChestGenHooks.PYRAMID_DESERT_CHEST,

new WeightedRandomChestContent(new ItemStack(tablet, 1, 2), 1,

40, 2));

ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH,

new WeightedRandomChestContent(new ItemStack(tablet, 1, 1), 1,

40, 2));

ChestGenHooks.addItem(ChestGenHooks.PYRAMID_JUNGLE_DISPENSER,

new WeightedRandomChestContent(new ItemStack(tablet, 1, 5), 1,

40, 2));

ChestGenHooks.addItem(ChestGenHooks.STRONGHOLD_CROSSING,

new WeightedRandomChestContent(new ItemStack(glitchCore, 8), 1,

20, 19));

ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH,

new WeightedRandomChestContent(VoidMod.voidBook.getStack(0),

40, 60, 40));

ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH,

new WeightedRandomChestContent(VoidMod.voidBook.getStack(1),

20, 30, 20));

}

 

@EventHandler

public void postInit(FMLPostInitializationEvent event) {

// Upgrades

VoidReactorValidBlocks.add(walker);

VoidReactorValidBlocks.add(swordWall);

System.out.println("[NULLVOID]: Shall we traverse the void?");

}

 

@Override

public void ticketsLoaded(List<Ticket> tickets, World world) {

for (Ticket t : tickets) {

if (t != null) {

for (ChunkCoordIntPair chunk : t.getChunkList()) {

if (chunk != null) {

ForgeChunkManager.forceChunk(t, chunk);

}

}

}

}

}

 

public static void config() {

config.load();

config.getCategory("generation");

config.getCategory("entity");

config.getCategory("potion");

NullVoidDimID = config.get("generation", "Null Void Dimention ID", 42)

.getInt();

NullVoidBioID = config.get("generation", "Null Void Biome ID", 34)

.getInt();

EntIDBuild = config.get("entity", "The Builder Entity ID", 1337)

.getInt();

EntIDWalk = config.get("entity", "Void Walker Entity ID", 1338)

.getInt();

EntIDCloud = config.get("entity", "Void Cloud Entity ID", 1339)

.getInt();

EntIDFloat = config.get("entity", "Null Floater Entity ID", 1340)

.getInt();

EntIDGlitch = config.get("entity", "Glitch Entity ID", 1341).getInt();

PotIDDiss = config.get("potion", "Dissolving Potion ID", 42).getInt();

PotBitDiss = config.get("potion", "Dissolving Potion Bit", "+0+1-2+3")

.getString();

config.save();

}

 

private void items() {

nullGoggles = new ArmorNull(NullArmor, NullArmorRender, 0)

.setUnlocalizedName("nullGoggles");

voidGear = new ArmorNull(NullArmor, NullArmorRender, 1)

.setUnlocalizedName("voidGear");

circuts = new ItemCircut().setUnlocalizedName("circuits");

ingotNull = new ItemIngotNull().setUnlocalizedName("ingotNull");

ingotVoid = new ItemIngotVoid().setUnlocalizedName("ingotVoid");

gravityBelt = new GravityBelt().setUnlocalizedName("gravBelt");

glitchAmulet = new GlitchAmulet().setUnlocalizedName("glitchAmulet");

ingotFrame = new ItemFrame().setUnlocalizedName("ingotFrame");

bucket = new ItemBucket(blockLiquidFlux);

baneOfDark = new ItemBaneOfDarkness(SpecialTool)

.setUnlocalizedName("darknessBane");

darkPick = new ItemDarknessPick().setUnlocalizedName("darkPick");

elementalHammer = new ItemElementalHammer(SpecialTool)

.setUnlocalizedName("elementHammer");

corruptAlloy = new ItemGlitchyAlloy()

.setUnlocalizedName("corruptAlloy");

nullVoidAlloy = new ItemNullVoidAlloy()

.setUnlocalizedName("nullVoidAlloy");

tablet = new ItemTablet().setUnlocalizedName("tablet");

lightEssence = new ItemEssenceLight()

.setUnlocalizedName("lightEssence");

darkEssence = new ItemEssenceDark().setUnlocalizedName("darkEssence");

yingYang = new ItemYingYang().setUnlocalizedName("yingYang");

glitchCore = new ItemAntiGlitchCore()

.setUnlocalizedName("antiGlitchCore");

voidBook = (ItemVoidBook) new ItemVoidBook()

.setUnlocalizedName("voidBook");

scatman = new ItemVoidRecord("scatman").setUnlocalizedName("record");

pier = new ItemVoidRecord("piertonowhere").setUnlocalizedName("record");

nullInk = new ItemNullInk().setUnlocalizedName("nullInk");

}

 

private void blocks() {

voiddoor = new BlockVoidDoor().setBlockName("voidDoor"); // iron

NullOre = new BlockNullOre().setBlockName("nullOre");

voidOre = new BlockVoidOre().setBlockName("voidOre");

generic = new BlockGeneric().setBlockName("generic");

VoidFabric = new BlockVoidFabric().setBlockName("voidFabric");

walker = new BlockVoidWalker().setBlockName("voidWalker"); // iron

swordWall = new BlockSwordWall().setBlockName("swordWall");

chamberWall = new BlockChamberWall().setBlockName("chamberWall");

glitchFrame = new BlockGlitchFrame().setBlockName("glitchFrame");

transparent = new BlockTransparent().setBlockName("transparent");

storage = new BlockStorage().setBlockName("storage");

liquidFlux = new FluidMoltenFlux("Molten Flux");

blockLiquidFlux = new BlockMoltenFlux(liquidFlux)

.setBlockName("moltenFlux");

liquidFlux.setBlock(blockLiquidFlux);

voidReactor = new BlockVoidReactor(Material.iron)

.setBlockName("voidReactor");

biomeNullVoid = new BiomeGenNull(NullVoidBioID);

}

 

@SuppressWarnings("unchecked")

private void potions() {

Potion[] potionTypes = null;

for (Field f : Potion.class.getDeclaredFields()) {

f.setAccessible(true);

try {

if (f.getName().equals("potionTypes")

|| f.getName().equals("field_76425_a")) {

Field modfield = Field.class.getDeclaredField("modifiers");

modfield.setAccessible(true);

modfield.setInt(f, f.getModifiers() & ~Modifier.FINAL);

 

potionTypes = (Potion[]) f.get(null);

final Potion[] newPotionTypes = new Potion[256];

System.arraycopy(potionTypes, 0, newPotionTypes, 0,

potionTypes.length);

f.set(null, newPotionTypes);

}

} catch (Exception e) {

System.err

.println("Severe error, please report this to the mod author:");

e.printStackTrace(System.err);

}

}

for (Field f : PotionHelper.class.getDeclaredFields()) {

try {

if (f.getName().equals("potionRequirements")) {

Field modfield = Field.class.getDeclaredField("modifiers");

f.setAccessible(true);

modfield.setAccessible(true);

modfield.setInt(f, f.getModifiers() & ~Modifier.PRIVATE);

modfield.setInt(f, f.getModifiers() & ~Modifier.FINAL);

char[] c = PotBitDiss.toCharArray();

int firstPlus = -1;

StringBuilder b = new StringBuilder();

for (int where = 0; where < c.length; where++) {

switch (Character.valueOf(c[where])) {

case '-':

if (where == 0) {

b.append('!');

} else {

b.append(" !");

}

break;

case '+':

if (where != 0) {

b.append(" ");

}

if (firstPlus == -1) {

firstPlus = Integer.valueOf(c[where + 1]);

}

break;

default:

b.append(c[where] + " &");

break;

}

}

b.append(" " + firstPlus + "+6");

((HashMap<Integer, String>) f.get(null)).put(PotIDDiss,

b.toString());

}

} catch (Exception e) {

System.err

.println("Severe error, please report this to the mod author:");

e.printStackTrace(System.err);

}

}

dissolving = new PotionDissolving(PotIDDiss, true, 0x260060)

.setPotionName("potion.Dissolving");

}

 

}

 

 

EntityGlitch:

 

 

package aj.Java.Nullvoid.Entity;

 

import java.util.Random;

 

import cpw.mods.fml.common.FMLCommonHandler;

import aj.Java.Nullvoid.Tools.ItemElementalHammer;

import aj.Java.Nullvoid.Tools.ItemElementalHammer.EnumElement;

import aj.Java.Nullvoid.client.fx.EntityGlitchFX;

import net.minecraft.client.Minecraft;

import net.minecraft.client.particle.EntityFX;

import net.minecraft.entity.Entity;

import net.minecraft.entity.EntityLivingBase;

import net.minecraft.entity.IRangedAttackMob;

import net.minecraft.entity.SharedMonsterAttributes;

import net.minecraft.entity.ai.EntityAIArrowAttack;

import net.minecraft.entity.ai.EntityAIHurtByTarget;

import net.minecraft.entity.ai.EntityAILookIdle;

import net.minecraft.entity.ai.EntityAINearestAttackableTarget;

import net.minecraft.entity.ai.EntityAISwimming;

import net.minecraft.entity.ai.EntityAIWander;

import net.minecraft.entity.ai.EntityAIWatchClosest;

import net.minecraft.entity.boss.BossStatus;

import net.minecraft.entity.boss.IBossDisplayData;

import net.minecraft.entity.monster.EntityMob;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.util.ChatComponentText;

import net.minecraft.util.EnumChatFormatting;

import net.minecraft.util.IChatComponent;

import net.minecraft.world.World;

 

public class EntityGlitch extends EntityMob implements IBossDisplayData,

IRangedAttackMob, IVoidWalker {

public EntityGlitch(World par1World) {

super(par1World);

this.getNavigator().setCanSwim(true);

this.tasks.addTask(0, new EntityAISwimming(this));

this.tasks.addTask(2, new EntityAIArrowAttack(this, 1.0D, 40, 20.0F));

this.tasks.addTask(5, new EntityAIWander(this, 1.0D));

this.tasks.addTask(6, new EntityAIWatchClosest(this,

EntityPlayer.class, 8.0F));

this.tasks.addTask(7, new EntityAILookIdle(this));

 

this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false));

this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this,

EntityPlayer.class, 0, false, false));

this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this,

EntityBuilder.class, 1, false, false));

 

this.setSize(0.6F, 1.8F);

this.getEntityAttribute(SharedMonsterAttributes.maxHealth)

.setBaseValue(4242.413F);

this.setHealth(4242.413F);

}

public EntityGlitch(World worldObj, double x, double y, double z) {

this(worldObj);

this.posX = x;

this.posY = y;

this.posZ = z;

}

 

@Override

public boolean isAIEnabled() {

return true;

}

 

@Override

public boolean allowLeashing() {

return false;

}

 

@Override

public void attackEntityWithRangedAttack(EntityLivingBase var1, float var2) {

// worldObj.spawnEntityInWorld(new EntityGlitchists(this.worldObj));

}

 

@Override

public void onLivingUpdate() {

BossStatus.setBossStatus(this, true);

super.onLivingUpdate();

}

 

@Override

public void onUpdate() {

if (FMLCommonHandler.instance().getEffectiveSide().isClient()) {

Random r = new Random();

for (int i = 0; i < 20; i++) {

EntityFX glitch = new EntityGlitchFX(worldObj, (posX - 0.5D)

+ r.nextDouble(), posY, (posZ - 0.5D) + r.nextDouble(),

r.nextDouble() - 0.5D, 2D + r.nextDouble(), r.nextDouble() - 0.5D);

Minecraft.getMinecraft().effectRenderer.addEffect(glitch);

}

}

super.onUpdate();

}

 

@Override

public boolean hitByEntity(Entity e) {

if (this.getHealth() > 4242.413/2) {

if (e instanceof EntityPlayer) {

if (((EntityPlayer) e).inventory.getCurrentItem().getItem() instanceof ItemElementalHammer) {

int[] values = new int[8];

values[0] = ((ItemElementalHammer) ((EntityPlayer) e).inventory

.getCurrentItem().getItem()).getElement(

EnumElement.FIRE,

((EntityPlayer) e).inventory.getCurrentItem());

values[1] = ((ItemElementalHammer) ((EntityPlayer) e).inventory

.getCurrentItem().getItem()).getElement(

EnumElement.ICE,

((EntityPlayer) e).inventory.getCurrentItem());

values[2] = ((ItemElementalHammer) ((EntityPlayer) e).inventory

.getCurrentItem().getItem()).getElement(

EnumElement.EARTH,

((EntityPlayer) e).inventory.getCurrentItem());

values[3] = ((ItemElementalHammer) ((EntityPlayer) e).inventory

.getCurrentItem().getItem()).getElement(

EnumElement.AIR,

((EntityPlayer) e).inventory.getCurrentItem());

values[4] = ((ItemElementalHammer) ((EntityPlayer) e).inventory

.getCurrentItem().getItem()).getElement(

EnumElement.ORDER,

((EntityPlayer) e).inventory.getCurrentItem());

values[5] = ((ItemElementalHammer) ((EntityPlayer) e).inventory

.getCurrentItem().getItem()).getElement(

EnumElement.ENTROPY,

((EntityPlayer) e).inventory.getCurrentItem());

values[6] = ((ItemElementalHammer) ((EntityPlayer) e).inventory

.getCurrentItem().getItem()).getElement(

EnumElement.DARK,

((EntityPlayer) e).inventory.getCurrentItem());

values[7] = ((ItemElementalHammer) ((EntityPlayer) e).inventory

.getCurrentItem().getItem()).getElement(

EnumElement.LIGHT,

((EntityPlayer) e).inventory.getCurrentItem());

boolean check = false;

for (int bla = 0; bla < 8; bla++) {

for (int value = 0; value < 8; value++) {

if (values[value] != values[bla]) {

check = true;

}

}

}

if (!check) {

return false;

}

}

}

} else {

if (e instanceof EntityBuilder) {

return false;

}

}

return true;

}

@Override

    public IChatComponent func_145748_c_(){

    return new ChatComponentText(EnumChatFormatting.OBFUSCATED.toString() + "OOO" +

    EnumChatFormatting.RESET.toString() + EnumChatFormatting.DARK_PURPLE.toString() + "The Glitch"

    + EnumChatFormatting.WHITE.toString() + EnumChatFormatting.OBFUSCATED.toString() + "OOO");

    }

@Override

protected String getLivingSound()

    {

return "mob.glitch.ambient";

    }

}

 

 

Code where I spawn the entity(I spawn it in a playerchatevent):

 

 

EntityGlitch ent = new EntityGlitch(

event.player.worldObj, (double) coords[0],

(double) coords[1], (double) coords[2]);

ent.setHealth(ent.getMaxHealth());

event.player.worldObj.spawnEntityInWorld(ent);

 

 

Also, I have it not have a model but be able to be seen by particles, if that makes a difference.

I see the particles appear for a second, then stop.

Also, am I able to post links to github instead of the code?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.