Wow, was pretty sure that I did look over this thread a long time ago. Maybe I really am blind or you really upped it. O_o
I'll be sure to visit this thread again when you update, Muse, I could definitely use a few of these tweaks.
Wow, was pretty sure that I did look over this thread a long time ago. Maybe I really am blind or you really upped it. O_o
I'll be sure to visit this thread again when you update, Muse, I could definitely use a few of these tweaks.
The Meaning of Life, the Universe, and Everything.
Join Date:
3/20/2012
Posts:
1,544
Member Details
Hi Muserae
I read your tutorial about how to use MCP , so I decided to try the ice return mod. I decompiled and modified the BlockIce.java file
I changed Block.waterstill.blockID to Block.ice.blockID
then I recompiled and reobfuscate to get the new agi.class file.
It made sence to me, that instead of getting a block of still water, I get a block of ice. I ended up with a working Ice return 1.3.2 Mod
source listed below. Did I do it the right way
----------------------------------------------------------------------------------------------
package net.minecraft.src;
import java.util.Random;
public class BlockIce extends BlockBreakable
{
public BlockIce(int par1, int par2)
{
super(par1, par2, Material.ice, false);
this.slipperiness = 0.98F;
this.setTickRandomly(true);
this.setCreativeTab(CreativeTabs.tabBlock);
}
/**
* Returns which pass should this block be rendered on. 0 for solids and 1 for alpha
*/
public int getRenderBlockPass()
{
return 1;
}
/**
* Returns true if the given side of this block type should be rendered, if the adjacent block is at the given
* coordinates. Args: blockAccess, x, y, z, side
*/
public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
{
return super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, 1 - par5);
}
/**
* Called when the player destroys a block with an item that can harvest it. (i, j, k) are the coordinates of the
* block and l is the block's subtype/damage.
*/
public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6)
{
par2EntityPlayer.addStat(StatList.mineBlockStatArray[this.blockID], 1);
par2EntityPlayer.addExhaustion(0.025F);
if (this.canSilkHarvest() && EnchantmentHelper.getSilkTouchModifier(par2EntityPlayer.inventory))
{
ItemStack var9 = this.createStackedBlock(par6);
/**
* Returns the quantity of items to drop on block destruction.
*/
public int quantityDropped(Random par1Random)
{
return 0;
}
/**
* Returns the mobility information of the block, 0 = free, 1 = can't push but can move over, 2 = total immobility
* and stop pistons
*/
public int getMobilityFlag()
{
return 0;
}
}
I'm sorry everyone who's waiting for 1.3.
I've been really busy with school and work, and I'm trying to release a project I've been working on.
Days I don't have school, i work, and I get a lot of homework from school, so I'm busy and tired every day. On the rare occurrence I don't have anything to do, I work on The Precursor so I can get it released as soon as possible. The tweaks aren't dead, but I promise I'll do my best to update them to 1.4 when it decides to come out in less than a month.
I just stoped by to say hey and see if the 1.3.2 has been posted . I'm glad to hear that you will be making a 1.3.2 pack
Thank's again
I'll be sure to visit this thread again when you update, Muse, I could definitely use a few of these tweaks.
About a year ago
Ya, I added a lot more to this mod
I read your tutorial about how to use MCP , so I decided to try the ice return mod. I decompiled and modified the BlockIce.java file
I changed Block.waterstill.blockID to Block.ice.blockID
then I recompiled and reobfuscate to get the new agi.class file.
It made sence to me, that instead of getting a block of still water, I get a block of ice. I ended up with a working Ice return 1.3.2 Mod
source listed below. Did I do it the right way
----------------------------------------------------------------------------------------------
import java.util.Random;
public class BlockIce extends BlockBreakable
{
public BlockIce(int par1, int par2)
{
super(par1, par2, Material.ice, false);
this.slipperiness = 0.98F;
this.setTickRandomly(true);
this.setCreativeTab(CreativeTabs.tabBlock);
}
/**
* Returns which pass should this block be rendered on. 0 for solids and 1 for alpha
*/
public int getRenderBlockPass()
{
return 1;
}
/**
* Returns true if the given side of this block type should be rendered, if the adjacent block is at the given
* coordinates. Args: blockAccess, x, y, z, side
*/
public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
{
return super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, 1 - par5);
}
/**
* Called when the player destroys a block with an item that can harvest it. (i, j, k) are the coordinates of the
* block and l is the block's subtype/damage.
*/
public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6)
{
par2EntityPlayer.addStat(StatList.mineBlockStatArray[this.blockID], 1);
par2EntityPlayer.addExhaustion(0.025F);
if (this.canSilkHarvest() && EnchantmentHelper.getSilkTouchModifier(par2EntityPlayer.inventory))
{
ItemStack var9 = this.createStackedBlock(par6);
if (var9 != null)
{
this.dropBlockAsItem_do(par1World, par3, par4, par5, var9);
}
}
else
{
if (par1World.provider.isHellWorld)
{
par1World.setBlockWithNotify(par3, par4, par5, 0);
return;
}
int var7 = EnchantmentHelper.getFortuneModifier(par2EntityPlayer.inventory);
this.dropBlockAsItem(par1World, par3, par4, par5, par6, var7);
Material var8 = par1World.getBlockMaterial(par3, par4 - 1, par5);
if (var8.blocksMovement() || var8.isLiquid())
{
par1World.setBlockWithNotify(par3, par4, par5, Block.waterMoving.blockID);
}
}
}
/**
* Returns the quantity of items to drop on block destruction.
*/
public int quantityDropped(Random par1Random)
{
return 0;
}
/**
* Returns the mobility information of the block, 0 = free, 1 = can't push but can move over, 2 = total immobility
* and stop pistons
*/
public int getMobilityFlag()
{
return 0;
}
}
Could you [spoiler] the code, please? It's very extensive. And you made it not melt in one of the few ways to do it.
would you change anything here to make it faster , such as deleting references to the random ticks for melting ?
It wouldn't make it faster, but more efficient. Delete the updateTick method
Ok I deleted that section about the random ticks and recompiled and works like a charm
Thanks a million for your help
Wondering the same thing. Abandoned?
I'm sorry, school started and I've been really busy. I get a ton of homework and I still work.
Sooner or later I'll get everything posted.
That's okay. We all have real life that we have to attend to, i'm just glad it's not abandoned.
You basically added a duplicate of the pumpkin generation. Most of the tweaks would work right now if they didn't get renamed every update.
I've been really busy with school and work, and I'm trying to release a project I've been working on.
Days I don't have school, i work, and I get a lot of homework from school, so I'm busy and tired every day. On the rare occurrence I don't have anything to do, I work on The Precursor so I can get it released as soon as possible. The tweaks aren't dead, but I promise I'll do my best to update them to 1.4 when it decides to come out in less than a month.
Again, sorry
-Muserae
could you make a fix that anvils dont take damage by using them
but they take damage if they fall
Thanks
I'll get to it as soon as I can, don't you worry.
-Muserae