71 lines
1.6 KiB
Java

package com.hbm.blocks.generic;
import java.util.Random;
import com.hbm.saveddata.TomSaveData;
import net.minecraft.block.Block;
import net.minecraft.block.BlockGrass;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.world.EnumSkyBlock;
import net.minecraft.world.World;
/*
* ___________
* / \
* |\___________/|
* | , |
* | | ` |
* | | |
* | ' . |
* \___________/
*
* PU-238
*
*/
public class BlockDirt extends Block {
public BlockDirt(Material mat) {
super(mat);
}
public BlockDirt(Material mat, boolean tick) {
super(mat);
this.setTickRandomly(tick);
}
@Override
public Item getItemDropped(int i, Random rand, int j) {
return Item.getItemFromBlock(Blocks.dirt);
}
@Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block block) {
for(int i = -1; i < 2; i++) {
for(int j = -1; j < 2; j++) {
for(int k = -1; k < 2; k++) {
Block b = world.getBlock(x + i, y + j, z + k);
if(b instanceof BlockGrass) {
world.setBlock(x, y, z, Blocks.dirt);
}
}
}
}
}
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
if(!world.isRemote) {
TomSaveData data = TomSaveData.forWorld(world);
int light = Math.max(world.getSavedLightValue(EnumSkyBlock.Block, x, y + 1, z), (int) (world.getBlockLightValue(x, y + 1, z) * (1 - data.dust)));
if(light >= 9 && data.fire == 0) {
world.setBlock(x, y, z, Blocks.grass);
}
}
}
}