• 0

    posted a message on HMGMC.com - Prison + Skyblock + PVP More Soon!
    Server was down for a while due to DDoS attacks... Back online now!
    Posted in: PC Servers
  • 0

    posted a message on Server logo
    You both misunderstand. I'm requesting a 64x64 logo that goes in the server status, not something for online.
    Posted in: Requests
  • 0

    posted a message on Server logo
    Hello everyone, today I'm looking for a nice, clean server logo.

    If you could do something with the name HMG-MC, regardless of theme, that looks clean and finished, I'd be very VERY grateful. I don't really have anything I can offer you, but if you'd like I can provide you a prefix on my server which has the IP: hmgmc.com

    If you can do this, please just send me an email at [email protected]

    Thanks,
    thekillerofevil
    Posted in: Requests
  • 0

    posted a message on HMGMC.com - Prison + Skyblock + PVP More Soon!
    Guys, please check out my YouTube channel for minecraft and other game videos
    http://youtube.com/user/LlmItChElLxXV2
    Posted in: PC Servers
  • 0

    posted a message on Bukget with Multicraft Question
    I wish I could find it too. It's bugging the crap out of me that I can't find it.
    Posted in: Server Support and Administration
  • 0

    posted a message on Fixing Minecraft Lag! [1.6.1] [With Pictures]
    Quote from PoodleFairy

    Thank you. Did not know that.



    This actually causes way LESS lag...

    The default is 1GB, which is 1024MB, and going back to basic elementary math, you should know that 1024 > 1000.
    Posted in: Java Edition Support
  • 0

    posted a message on [Forge][1.5.2]Custom TNT Entity Won't Render
    Quote from sorash67

    have you tried following this tutorial?

    -sorash67 || Skorpio

    Thank you so much, that worked. I can't believe from all of my googling I couldn't find that.
    Posted in: Modification Development
  • 0

    posted a message on [Forge][1.5.2]Custom TNT Entity Won't Render
    Hello all. I'm having major issues with this and nothing I have tried can fix it, and google hasn't been much help either. I'm trying to make a custom tnt block and I just can't get it to render. When I light the tnt block, it bounces up and flashes then turns invisible and blows up. If anyone has some suggestions, I'd be VERY VERY greatful.

    BlockTNTBox:

    package mitchell.obsidianmod;
    import java.util.Random;
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.client.renderer.texture.IconRegister;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityLiving;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.entity.projectile.EntityArrow;
    import net.minecraft.item.Item;
    import net.minecraft.util.Icon;
    import net.minecraft.world.Explosion;
    import net.minecraft.world.World;
    public class BlockTNTBox extends Block
    {
    private Icon field_94395_a;
    private Icon field_94394_b;
    public BlockTNTBox(int par1)
    {
    super(par1, Material.tnt);
    this.setCreativeTab(CreativeTabs.tabRedstone);
    }
    /**
    * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
    */
    public Icon getIcon(int par1, int par2)
    {
    return par1 == 0 ? this.field_94394_b : (par1 == 1 ? this.field_94395_a : this.blockIcon);
    }
    /**
    * Called whenever the block is added into the world. Args: world, x, y, z
    */
    public void onBlockAdded(World par1World, int par2, int par3, int par4)
    {
    super.onBlockAdded(par1World, par2, par3, par4);
    if (par1World.isBlockIndirectlyGettingPowered(par2, par3, par4))
    {
    this.onBlockDestroyedByPlayer(par1World, par2, par3, par4, 1);
    par1World.setBlockToAir(par2, par3, par4);
    }
    }
    /**
    * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are
    * their own) Args: x, y, z, neighbor blockID
    */
    public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5)
    {
    if (par1World.isBlockIndirectlyGettingPowered(par2, par3, par4))
    {
    this.onBlockDestroyedByPlayer(par1World, par2, par3, par4, 1);
    par1World.setBlockToAir(par2, par3, par4);
    }
    }
    /**
    * Returns the quantity of items to drop on block destruction.
    */
    public int quantityDropped(Random par1Random)
    {
    return 1;
    }
    /**
    * Called upon the block being destroyed by an explosion
    */
    public void onBlockDestroyedByExplosion(World par1World, int par2, int par3, int par4, Explosion par5Explosion)
    {
    if (!par1World.isRemote)
    {
    EntityTNTBoxPrimed var5 = new EntityTNTBoxPrimed(par1World, (double)((float)par2 + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4 + 0.5F), null);
    var5.fuse = par1World.rand.nextInt(var5.fuse / 4) + var5.fuse / 8;
    par1World.spawnEntityInWorld(var5);
    }
    }
    /**
    * Called right before the block is destroyed by a player. Args: world, x, y, z, metaData
    */
    public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5)
    {
    this.func_94396_a(par1World, par2, par3, par4, par5, (EntityLiving)null);
    }
    public void func_94396_a(World par1World, int par2, int par3, int par4, int par5, EntityLiving par6EntityLiving)
    {
    if (!par1World.isRemote)
    {
    if ((par5 & 1) == 1)
    {
    EntityTNTBoxPrimed var7 = new EntityTNTBoxPrimed(par1World, (double)((float)par2 + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4 + 0.5F), null);
    par1World.spawnEntityInWorld(var7);
    par1World.playSoundAtEntity(var7, "random.fuse", 1.0F, 1.0F);
    }
    }
    }
    /**
    * Called upon block activation (right click on the block.)
    */
    public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
    {
    if (par5EntityPlayer.getCurrentEquippedItem() != null && par5EntityPlayer.getCurrentEquippedItem().itemID == Item.flintAndSteel.itemID)
    {
    this.func_94396_a(par1World, par2, par3, par4, 1, par5EntityPlayer);
    par1World.setBlockToAir(par2, par3, par4);
    return true;
    }
    else
    {
    return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9);
    }
    }
    /**
    * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity
    */
    public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity)
    {
    if (par5Entity instanceof EntityArrow && !par1World.isRemote)
    {
    EntityArrow var6 = (EntityArrow)par5Entity;
    if (var6.isBurning())
    {
    this.func_94396_a(par1World, par2, par3, par4, 1, var6.shootingEntity instanceof EntityLiving ? (EntityLiving)var6.shootingEntity : null);
    par1World.setBlockToAir(par2, par3, par4);
    }
    }
    }
    /**
    * Return whether this block can drop from an explosion.
    */
    public boolean canDropFromExplosion(Explosion par1Explosion)
    {
    return false;
    }
    /**
    * When this method is called, your block should register all the icons it needs with the given IconRegister. This
    * is the only chance you get to register icons.
    */
    public void registerIcons(IconRegister par1IconRegister)
    {
    this.blockIcon = par1IconRegister.registerIcon("obsidiantnt_side");
    this.field_94395_a = par1IconRegister.registerIcon("obsidiantnt_top");
    this.field_94394_b = par1IconRegister.registerIcon("obsidiantnt_bottom");
    }
    }

    CommonProxy:

    package mitchell.obsidianmod;
    public class CommonProxy {
    public static String TNTBOX_PNG = "/terrain.png";
    public void registerRenderers () {
    }
    public void registerEntites() {
    }
    public void registerRenderInformation() {
    }
    }

    EntityTNTBoxPrimed

    package mitchell.obsidianmod;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityLiving;
    import net.minecraft.nbt.NBTTagCompound;
    import net.minecraft.world.World;
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    public class EntityTNTBoxPrimed extends Entity
    {
    /** How long the fuse is */
    public int fuse;
    private TNTBoxExplosionHandler expHandTNT;
    public EntityTNTBoxPrimed(World par1World)
    {
    super(par1World);
    this.fuse = 0;
    this.preventEntitySpawning = true;
    this.setSize(0.98F, 0.98F);
    this.yOffset = this.height / 2.0F;
    }
    public EntityTNTBoxPrimed(World par1World, double par2, double par4, double par6, EntityLiving entityLiving)
    {
    this(par1World);
    this.setPosition(par2, par4, par6);
    float var8 = (float)(Math.random() * Math.PI * 2.0D);
    this.motionX = (double)(-((float)Math.sin((double)var8)) * 0.02F);
    this.motionY = 0.20000000298023224D;
    this.motionZ = (double)(-((float)Math.cos((double)var8)) * 0.02F);
    this.fuse = ModRegistry.tntBoxFuse;
    this.prevPosX = par2;
    this.prevPosY = par4;
    this.prevPosZ = par6;
    expHandTNT = new TNTBoxExplosionHandler();
    }
    protected void entityInit() {}
    /**
    * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to
    * prevent them from trampling crops
    */
    protected boolean canTriggerWalking()
    {
    return false;
    }
    /**
    * Returns true if other Entities should be prevented from moving through this Entity.
    */
    public boolean canBeCollidedWith()
    {
    return !this.isDead;
    }
    /**
    * Called to update the entity's position/logic.
    */
    public void onUpdate()
    {
    this.prevPosX = this.posX;
    this.prevPosY = this.posY;
    this.prevPosZ = this.posZ;
    this.motionY -= 0.03999999910593033D;
    this.moveEntity(this.motionX, this.motionY, this.motionZ);
    this.motionX *= 0.9800000190734863D;
    this.motionY *= 0.9800000190734863D;
    this.motionZ *= 0.9800000190734863D;
    if (this.onGround)
    {
    this.motionX *= 0.699999988079071D;
    this.motionZ *= 0.699999988079071D;
    this.motionY *= -0.5D;
    }
    if (this.fuse-- <= 0)
    {
    this.setDead();
    if (!this.worldObj.isRemote)
    {
    this.explode();
    }
    }
    else
    {
    this.worldObj.spawnParticle("smoke", this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
    }
    }
    private void explode()
    {
    float var1 = ModRegistry.tntBoxExplodeSize;
    this.expHandTNT.createExplosion(this.worldObj, (Entity)null, this.posX, this.posY, this.posZ, var1, true, 1F);
    }
    /**
    * (abstract) Protected helper method to write subclass entity data to NBT.
    */
    protected void writeEntityToNBT(NBTTagCompound par1NBTTagCompound)
    {
    par1NBTTagCompound.setByte("Fuse", (byte)this.fuse);
    }
    /**
    * (abstract) Protected helper method to read subclass entity data from NBT.
    */
    protected void readEntityFromNBT(NBTTagCompound par1NBTTagCompound)
    {
    this.fuse = par1NBTTagCompound.getByte("Fuse");
    }
    @SideOnly(Side.CLIENT)
    public float getShadowSize()
    {
    return 0.0F;
    }
    }

    ModRegistry

    package mitchell.obsidianmod;
    import net.minecraft.block.Block;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.src.ModLoader;
    import net.minecraftforge.common.Configuration;
    import net.minecraftforge.common.MinecraftForge;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.Init;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.Mod.PostInit;
    import cpw.mods.fml.common.Mod.PreInit;
    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.network.NetworkMod;
    import cpw.mods.fml.common.network.NetworkRegistry;
    import cpw.mods.fml.common.registry.EntityRegistry;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.common.registry.LanguageRegistry;
    @Mod(modid = "mitchell", name = "ObsidianMod", version = "1.0")
    @NetworkMod(clientSideRequired = true, serverSideRequired = false)
    public class ModRegistry {
    @Instance("mitchell")
    public static ModRegistry instance;
    @SidedProxy(clientSide = "mitchell.obsidianmod.client.ClientProxy", serverSide = "mitchell.obsidianmod.CommonProxy")
    public static CommonProxy proxy;
    public static String configDir;
    public static float tntBoxExplodeSize;
    public static float tntBoxDropChance;
    public static int tntBoxFuse;
    public static Block tntbox;
    public static int tntboxID;

    @SuppressWarnings("static-access")
    @PreInit
    public void preInit(FMLPreInitializationEvent event) {
    configDir = event.getModConfigurationDirectory().getAbsolutePath();
    // Config
    Configuration config = new Configuration(event.getSuggestedConfigurationFile());
    config.load();
    tntboxID = config.get(config.CATEGORY_BLOCK, "TNT Box ID", 794).getInt(794);
    tntBoxExplodeSize = config.get(config.CATEGORY_GENERAL, "TNT Box Explosion Size", 12).getInt();
    tntBoxDropChance = config.get(config.CATEGORY_GENERAL, "TNT Box Drop Chance", 100).getInt();
    tntBoxFuse = config.get(config.CATEGORY_GENERAL, "TNT Box Fuse", 80).getInt();
    config.save();
    }
    @Init
    public void load(FMLInitializationEvent event) {
    proxy.registerRenderInformation();
    EntityRegistry.registerGlobalEntityID(EntityTNTBoxPrimed.class, "entitytntbox", EntityRegistry.findGlobalUniqueEntityId());
    EntityRegistry.registerModEntity(EntityTNTBoxPrimed.class, "entitytntbox", 129, this, 16, 1, true);
    tntbox = new BlockTNTBox(tntboxID).setUnlocalizedName("tntbox").setCreativeTab(CreativeTabs.tabRedstone);
    ModLoader.registerBlock(tntbox);
    }

    @PostInit
    public void postInit(FMLPostInitializationEvent event) {
    }
    }

    TNTBoxExplosion:

    package mitchell.obsidianmod;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import java.util.Random;
    import net.minecraft.block.Block;
    import net.minecraft.enchantment.EnchantmentProtection;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityLiving;
    import net.minecraft.entity.item.EntityTNTPrimed;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.util.AxisAlignedBB;
    import net.minecraft.util.DamageSource;
    import net.minecraft.util.MathHelper;
    import net.minecraft.util.Vec3;
    import net.minecraft.world.ChunkPosition;
    import net.minecraft.world.World;
    public class TNTBoxExplosion
    {
    /** whether or not the explosion sets fire to blocks around it */
    public boolean isFlaming = false;
    /** whether or not this explosion spawns smoke particles */
    public boolean isSmoking = true;
    private int field_77289_h = 16;
    private Random explosionRNG = new Random();
    private World worldObj;
    public double explosionX;
    public double explosionY;
    public double explosionZ;
    public Entity exploder;
    public float explosionSize;
    /** A list of ChunkPositions of blocks affected by this explosion */
    public List affectedBlockPositions = new ArrayList();
    private Map field_77288_k = new HashMap();
    public TNTBoxExplosion(World par1World, Entity par2Entity, double par3, double par5, double par7, float par9)
    {
    this.worldObj = par1World;
    this.exploder = par2Entity;
    this.explosionSize = par9;
    this.explosionX = par3;
    this.explosionY = par5;
    this.explosionZ = par7;
    }
    /**
    * Does the first part of the explosion (destroy blocks)
    */
    public void doExplosionA()
    {
    float f = this.explosionSize;
    HashSet hashset = new HashSet();
    int i;
    int j;
    int k;
    double d0;
    double d1;
    double d2;
    for (i = 0; i < this.field_77289_h; ++i)
    {
    for (j = 0; j < this.field_77289_h; ++j)
    {
    for (k = 0; k < this.field_77289_h; ++k)
    {
    if (i == 0 || i == this.field_77289_h - 1 || j == 0 || j == this.field_77289_h - 1 || k == 0 || k == this.field_77289_h - 1)
    {
    double d3 = (double)((float)i / ((float)this.field_77289_h - 1.0F) * 2.0F - 1.0F);
    double d4 = (double)((float)j / ((float)this.field_77289_h - 1.0F) * 2.0F - 1.0F);
    double d5 = (double)((float)k / ((float)this.field_77289_h - 1.0F) * 2.0F - 1.0F);
    double d6 = Math.sqrt(d3 * d3 + d4 * d4 + d5 * d5);
    d3 /= d6;
    d4 /= d6;
    d5 /= d6;
    float f1 = this.explosionSize * (0.7F + this.worldObj.rand.nextFloat() * 0.6F);
    d0 = this.explosionX;
    d1 = this.explosionY;
    d2 = this.explosionZ;
    for (float f2 = 0.3F; f1 > 0.0F; f1 -= f2 * 0.75F)
    {
    int l = MathHelper.floor_double(d0);
    int i1 = MathHelper.floor_double(d1);
    int j1 = MathHelper.floor_double(d2);
    int k1 = this.worldObj.getBlockId(l, i1, j1);
    if (k1 > 0)
    {
    Block block = Block.blocksList[k1];
    float f3 = this.exploder != null ? this.exploder.func_82147_a(this, this.worldObj, l, i1, j1, block) : block.getExplosionResistance(this.exploder, worldObj, l, i1, j1, explosionX, explosionY, explosionZ);
    f1 -= (f3 + 0.3F) * f2;
    }
    if (f1 > 0.0F && (this.exploder == null || this.exploder.func_96092_a(this, this.worldObj, l, i1, j1, k1, f1)))
    {
    hashset.add(new ChunkPosition(l, i1, j1));
    }
    d0 += d3 * (double)f2;
    d1 += d4 * (double)f2;
    d2 += d5 * (double)f2;
    }
    }
    }
    }
    }
    this.affectedBlockPositions.addAll(hashset);
    this.explosionSize *= 2.0F;
    i = MathHelper.floor_double(this.explosionX - (double)this.explosionSize - 1.0D);
    j = MathHelper.floor_double(this.explosionX + (double)this.explosionSize + 1.0D);
    k = MathHelper.floor_double(this.explosionY - (double)this.explosionSize - 1.0D);
    int l1 = MathHelper.floor_double(this.explosionY + (double)this.explosionSize + 1.0D);
    int i2 = MathHelper.floor_double(this.explosionZ - (double)this.explosionSize - 1.0D);
    int j2 = MathHelper.floor_double(this.explosionZ + (double)this.explosionSize + 1.0D);
    List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this.exploder, AxisAlignedBB.getAABBPool().getAABB((double)i, (double)k, (double)i2, (double)j, (double)l1, (double)j2));
    Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.explosionX, this.explosionY, this.explosionZ);
    for (int k2 = 0; k2 < list.size(); ++k2)
    {
    Entity entity = (Entity)list.get(k2);
    double d7 = entity.getDistance(this.explosionX, this.explosionY, this.explosionZ) / (double)this.explosionSize;
    if (d7 <= 1.0D)
    {
    d0 = entity.posX - this.explosionX;
    d1 = entity.posY + (double)entity.getEyeHeight() - this.explosionY;
    d2 = entity.posZ - this.explosionZ;
    double d8 = (double)MathHelper.sqrt_double(d0 * d0 + d1 * d1 + d2 * d2);
    if (d8 != 0.0D)
    {
    d0 /= d8;
    d1 /= d8;
    d2 /= d8;
    double d9 = (double)this.worldObj.getBlockDensity(vec3, entity.boundingBox);
    double d10 = (1.0D - d7) * d9;
    entity.attackEntityFrom(DamageSource.setExplosionSources(this), (int)((d10 * d10 + d10) / 2.0D * 8.0D * (double)this.explosionSize + 1.0D));
    double d11 = EnchantmentProtection.func_92092_a(entity, d10);
    entity.motionX += d0 * d11;
    entity.motionY += d1 * d11;
    entity.motionZ += d2 * d11;
    if (entity instanceof EntityPlayer)
    {
    this.field_77288_k.put((EntityPlayer)entity, this.worldObj.getWorldVec3Pool().getVecFromPool(d0 * d10, d1 * d10, d2 * d10));
    }
    }
    }
    }
    this.explosionSize = f;
    }
    /**
    * Does the second part of the explosion (sound, particles, drop spawn)
    */
    public void doExplosionB(boolean par1)
    {
    this.worldObj.playSoundEffect(this.explosionX, this.explosionY, this.explosionZ, "random.explode", 4.0F, (1.0F + (this.worldObj.rand.nextFloat() - this.worldObj.rand.nextFloat()) * 0.2F) * 0.7F);
    if (this.explosionSize >= 2.0F && this.isSmoking)
    {
    this.worldObj.spawnParticle("hugeexplosion", this.explosionX, this.explosionY, this.explosionZ, 1.0D, 0.0D, 0.0D);
    }
    else
    {
    this.worldObj.spawnParticle("largeexplode", this.explosionX, this.explosionY, this.explosionZ, 1.0D, 0.0D, 0.0D);
    }
    Iterator iterator;
    ChunkPosition chunkposition;
    int i;
    int j;
    int k;
    int l;
    if (this.isSmoking)
    {
    iterator = this.affectedBlockPositions.iterator();
    while (iterator.hasNext())
    {
    chunkposition = (ChunkPosition)iterator.next();
    i = chunkposition.x;
    j = chunkposition.y;
    k = chunkposition.z;
    l = this.worldObj.getBlockId(i, j, k);
    if (par1)
    {
    double d0 = (double)((float)i + this.worldObj.rand.nextFloat());
    double d1 = (double)((float)j + this.worldObj.rand.nextFloat());
    double d2 = (double)((float)k + this.worldObj.rand.nextFloat());
    double d3 = d0 - this.explosionX;
    double d4 = d1 - this.explosionY;
    double d5 = d2 - this.explosionZ;
    double d6 = (double)MathHelper.sqrt_double(d3 * d3 + d4 * d4 + d5 * d5);
    d3 /= d6;
    d4 /= d6;
    d5 /= d6;
    double d7 = 0.5D / (d6 / (double)this.explosionSize + 0.1D);
    d7 *= (double)(this.worldObj.rand.nextFloat() * this.worldObj.rand.nextFloat() + 0.3F);
    d3 *= d7;
    d4 *= d7;
    d5 *= d7;
    this.worldObj.spawnParticle("explode", (d0 + this.explosionX * 1.0D) / 2.0D, (d1 + this.explosionY * 1.0D) / 2.0D, (d2 + this.explosionZ * 1.0D) / 2.0D, d3, d4, d5);
    this.worldObj.spawnParticle("smoke", d0, d1, d2, d3, d4, d5);
    }
    if (l > 0)
    {
    Block block = Block.blocksList[l];
    if (block.canDropFromExplosions(this))
    {
    block.dropBlockAsItemWithChance(this.worldObj, i, j, k, this.worldObj.getBlockMetadata(i, j, k), 1.0F / this.explosionSize, 0);
    }
    block.onBlockExplode(this.worldObj, i, j, k, this);
    }
    }
    }
    if (this.isFlaming)
    {
    iterator = this.affectedBlockPositions.iterator();
    while (iterator.hasNext())
    {
    chunkposition = (ChunkPosition)iterator.next();
    i = chunkposition.x;
    j = chunkposition.y;
    k = chunkposition.z;
    l = this.worldObj.getBlockId(i, j, k);
    int i1 = this.worldObj.getBlockId(i, j - 1, k);
    if (l == 0 && Block.opaqueCubeLookup[i1] && this.explosionRNG.nextInt(3) == 0)
    {
    this.worldObj.setBlock(i, j, k, Block.fire.blockID);
    }
    }
    }
    }
    public Map func_77277_b()
    {
    return this.field_77288_k;
    }
    public EntityLiving func_94613_c()
    {
    return this.exploder == null ? null : (this.exploder instanceof EntityTNTPrimed ? ((EntityTNTPrimed)this.exploder).getTntPlacedBy() : (this.exploder instanceof EntityLiving ? (EntityLiving)this.exploder : null));
    }
    }

    TNTBoxExplosionHandler

    package mitchell.obsidianmod;
    import net.minecraft.entity.Entity;
    import net.minecraft.world.World;
    public class TNTBoxExplosionHandler {
    private World worldObj;

    public TNTBoxExplosion createExplosion(World world, Entity par1Entity, double par2, double par4, double par6, float par8, boolean par9, float drop)
    {
    this.worldObj = world;
    return this.newExplosion(par1Entity, par2, par4, par6, par8, false, par9, drop);
    }
    public TNTBoxExplosion newExplosion(Entity par1Entity, double par2, double par4, double par6, float par8, boolean par9, boolean par10, float drop)
    {
    TNTBoxExplosion var11 = new TNTBoxExplosion(worldObj ,par1Entity, par2, par4, par6, par8);
    var11.isFlaming = par9;
    var11.isSmoking = par10;
    var11.doExplosionA();
    var11.doExplosionB(true);
    return var11;
    }
    }

    ClientProxy:

    package mitchell.obsidianmod.client;
    import mitchell.obsidianmod.CommonProxy;
    import mitchell.obsidianmod.EntityTNTBoxPrimed;
    import net.minecraftforge.client.MinecraftForgeClient;
    import cpw.mods.fml.client.registry.RenderingRegistry;
    public class ClientProxy extends CommonProxy {
    @Override
    public void registerRenderers() {
    //MinecraftForgeClient.preloadTexture(TNTBOX_PNG);
    }
    @Override
    public void registerRenderInformation()
    {
    //MinecraftForgeClient.preloadTexture(TNTBOX_PNG);
    RenderingRegistry.registerEntityRenderingHandler(EntityTNTBoxPrimed.class, new RenderTNTBoxPrimed());
    }

    @Override
    public void registerEntites() {
    }
    }

    RenderTNTBoxPrimed

    package mitchell.obsidianmod.client;
    import mitchell.obsidianmod.CommonProxy;
    import mitchell.obsidianmod.EntityTNTBoxPrimed;
    import net.minecraftforge.client.MinecraftForgeClient;
    import cpw.mods.fml.client.registry.RenderingRegistry;
    public class ClientProxy extends CommonProxy {
    @Override
    public void registerRenderers() {
    //MinecraftForgeClient.preloadTexture(TNTBOX_PNG);
    }
    @Override
    public void registerRenderInformation()
    {
    //MinecraftForgeClient.preloadTexture(TNTBOX_PNG);
    RenderingRegistry.registerEntityRenderingHandler(EntityTNTBoxPrimed.class, new RenderTNTBoxPrimed());
    }

    @Override
    public void registerEntites() {
    }
    }

    Thanks a ton for anyone who helps.
    Posted in: Modification Development
  • 0

    posted a message on Help with making custom TNT
    I really need help as this has me stumped, and this mod is going to be my final project for this camp. The link to the classes in question: https://www.dropbox.com/sh/o14er2jlpxsobim/4kAB-DeC2G
    Posted in: Modification Development
  • 0

    posted a message on Help with making custom TNT
    Oh, and also, just a note if it helps, I'm using modloader for 1.5.2.
    Posted in: Modification Development
  • 0

    posted a message on Help with making custom TNT
    Okay, after creating the render class and renaming the things that should have needed to be renamed it still doesn't do anything. I've looked on google and haven't been able to find anything.
    Posted in: Modification Development
  • 0

    posted a message on Help with making custom TNT
    Do I need to register the render class anywhere?
    Posted in: Modification Development
  • 0

    posted a message on Help with making custom TNT
    Quote from Fr3nchT0ast

    You have to make a copy of the TNT Render class and change the texture.

    Thank you.
    Posted in: Modification Development
  • 0

    posted a message on Help with making custom TNT
    Hi, I'm just a bit confused. I'm creating my own mod for the first time, and I'm including a block called Obsidian TNT which is like TNT but more powerful, so I have made a new class for both the block itself and the entity for the explosion, however instead of doing like regular TNT does and bouncing around while flashing, it just goes invisible until it explodes. What do I have to do to make it actually animate the block that I textured?

    And also, if I just use the regular EntityTNTPrimed, when the Obsidian TNT is set off it just turns into regular tnt.

    Link to classes: https://www.dropbox.com/sh/o14er2jlpxsobim/4kAB-DeC2G
    Posted in: Modification Development
  • 0

    posted a message on HMGMC.com - Prison + Skyblock + PVP More Soon!
    In-Game Username: neklusa
    How do you like the server so far [Optional]: It's cool!
    Do you plan on donating? IT HELPS A TON!: Soon, my friends... Soon.
    Posted in: PC Servers
  • To post a comment, please or register a new account.