mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
71 lines
1.6 KiB
Java
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);
|
|
}
|
|
}
|
|
}
|
|
} |