Made Treasure Chests have to be right-clicked to drop something

This commit is contained in:
Ellpeck 2015-07-12 05:16:26 +02:00
parent 543a3f652b
commit 33cdd6f198
2 changed files with 6 additions and 18 deletions

View file

@ -36,8 +36,8 @@ public class BlockTreasureChest extends Block implements INameableItem{
public BlockTreasureChest(){ public BlockTreasureChest(){
super(Material.wood); super(Material.wood);
this.setHarvestLevel("axe", 0); this.setHarvestLevel("axe", 0);
this.setHardness(2.0F); this.setHardness(300.0F);
this.setResistance(10.0F); this.setResistance(50.0F);
this.setStepSound(soundTypeWood); this.setStepSound(soundTypeWood);
this.setTickRandomly(true); this.setTickRandomly(true);
} }
@ -99,17 +99,6 @@ public class BlockTreasureChest extends Block implements INameableItem{
return true; return true;
} }
@Override
public void harvestBlock(World world, EntityPlayer player, int x, int y, int z, int meta){
player.addStat(TheAchievements.OPEN_TREASURE_CHEST.ach, 1);
}
@Override
public void breakBlock(World world, int x, int y, int z, Block block, int par6){
this.dropItems(world, x, y, z);
super.breakBlock(world, x, y, z, block, par6);
}
private void dropItems(World world, int x, int y, int z){ private void dropItems(World world, int x, int y, int z){
Random rand = new Random(); Random rand = new Random();
for(int i = 0; i < MathHelper.getRandomIntegerInRange(rand, 3, 6); i++){ for(int i = 0; i < MathHelper.getRandomIntegerInRange(rand, 3, 6); i++){

View file

@ -13,7 +13,6 @@ import net.minecraft.world.biome.BiomeGenOcean;
import net.minecraftforge.event.terraingen.DecorateBiomeEvent; import net.minecraftforge.event.terraingen.DecorateBiomeEvent;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Random;
public class WorldDecorationEvent{ public class WorldDecorationEvent{
@ -27,7 +26,7 @@ public class WorldDecorationEvent{
//Generate Treasure Chests //Generate Treasure Chests
if(ConfigBoolValues.DO_TREASURE_CHEST_GEN.isEnabled()){ if(ConfigBoolValues.DO_TREASURE_CHEST_GEN.isEnabled()){
if(new Random().nextInt(ConfigIntValues.TREASURE_CHEST_CHANCE.getValue()) == 0){ if(event.rand.nextInt(ConfigIntValues.TREASURE_CHEST_CHANCE.getValue()) == 0){
int genX = event.chunkX+event.rand.nextInt(16)+8; int genX = event.chunkX+event.rand.nextInt(16)+8;
int genZ = event.chunkZ+event.rand.nextInt(16)+8; int genZ = event.chunkZ+event.rand.nextInt(16)+8;
int genY = event.world.getTopSolidOrLiquidBlock(genX, genZ); int genY = event.world.getTopSolidOrLiquidBlock(genX, genZ);
@ -36,7 +35,7 @@ public class WorldDecorationEvent{
if(genY >= ConfigIntValues.TREASURE_CHEST_MIN_HEIGHT.getValue() && genY <= ConfigIntValues.TREASURE_CHEST_MAX_HEIGHT.getValue()){ if(genY >= ConfigIntValues.TREASURE_CHEST_MIN_HEIGHT.getValue() && genY <= ConfigIntValues.TREASURE_CHEST_MAX_HEIGHT.getValue()){
if(event.world.getBlock(genX, genY, genZ).getMaterial() == Material.water){ if(event.world.getBlock(genX, genY, genZ).getMaterial() == Material.water){
if(event.world.getBlock(genX, genY-1, genZ).getMaterial().isSolid()){ if(event.world.getBlock(genX, genY-1, genZ).getMaterial().isSolid()){
event.world.setBlock(genX, genY, genZ, InitBlocks.blockTreasureChest, 0, 2); event.world.setBlock(genX, genY, genZ, InitBlocks.blockTreasureChest, event.rand.nextInt(4), 2);
} }
} }
} }
@ -49,7 +48,7 @@ public class WorldDecorationEvent{
private void genPlantNormally(Block plant, int meta, int amount, boolean doIt, Material blockBelow, DecorateBiomeEvent event){ private void genPlantNormally(Block plant, int meta, int amount, boolean doIt, Material blockBelow, DecorateBiomeEvent event){
if(doIt){ if(doIt){
for(int i = 0; i < amount; i++){ for(int i = 0; i < amount; i++){
if(new Random().nextInt(ConfigIntValues.NORMAL_PLANT_CHANCE.getValue()) == 0){ if(event.rand.nextInt(ConfigIntValues.NORMAL_PLANT_CHANCE.getValue()) == 0){
int genX = event.chunkX+event.rand.nextInt(16)+8; int genX = event.chunkX+event.rand.nextInt(16)+8;
int genZ = event.chunkZ+event.rand.nextInt(16)+8; int genZ = event.chunkZ+event.rand.nextInt(16)+8;
int genY = event.world.getTopSolidOrLiquidBlock(genX, genZ)-1; int genY = event.world.getTopSolidOrLiquidBlock(genX, genZ)-1;
@ -65,7 +64,7 @@ public class WorldDecorationEvent{
private void generateRice(DecorateBiomeEvent event){ private void generateRice(DecorateBiomeEvent event){
if(ConfigBoolValues.DO_RICE_GEN.isEnabled()){ if(ConfigBoolValues.DO_RICE_GEN.isEnabled()){
for(int i = 0; i < ConfigIntValues.RICE_AMOUNT.getValue(); i++){ for(int i = 0; i < ConfigIntValues.RICE_AMOUNT.getValue(); i++){
if(new Random().nextInt(ConfigIntValues.RICE_CHANCE.getValue()) == 0){ if(event.rand.nextInt(ConfigIntValues.RICE_CHANCE.getValue()) == 0){
int genX = event.chunkX+event.rand.nextInt(16)+8; int genX = event.chunkX+event.rand.nextInt(16)+8;
int genZ = event.chunkZ+event.rand.nextInt(16)+8; int genZ = event.chunkZ+event.rand.nextInt(16)+8;
int genY = event.world.getTopSolidOrLiquidBlock(genX, genZ); int genY = event.world.getTopSolidOrLiquidBlock(genX, genZ);