mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
68 lines
1.5 KiB
Java
68 lines
1.5 KiB
Java
package com.hbm.blocks.generic;
|
|
|
|
import java.util.Random;
|
|
|
|
import com.hbm.handler.radiation.ChunkRadiationManager;
|
|
import com.hbm.hazard.HazardRegistry;
|
|
import com.hbm.hazard.HazardSystem;
|
|
|
|
import net.minecraft.block.BlockFalling;
|
|
import net.minecraft.block.material.Material;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.world.IBlockAccess;
|
|
import net.minecraft.world.World;
|
|
|
|
public class BlockHazardFalling extends BlockFalling {
|
|
|
|
private float rad = 0.0F;
|
|
|
|
private boolean beaconable = false;
|
|
|
|
public BlockHazardFalling() {
|
|
this(Material.sand);
|
|
}
|
|
|
|
public BlockHazardFalling(Material mat) {
|
|
super(mat);
|
|
}
|
|
|
|
public BlockHazardFalling makeBeaconable() {
|
|
this.beaconable = true;
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public boolean isBeaconBase(IBlockAccess worldObj, int x, int y, int z, int beaconX, int beaconY, int beaconZ) {
|
|
return beaconable;
|
|
}
|
|
|
|
@Override
|
|
public void updateTick(World world, int x, int y, int z, Random rand) {
|
|
|
|
if(this.rad > 0) {
|
|
ChunkRadiationManager.proxy.incrementRad(world, x, y, z, rad);
|
|
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
|
|
}
|
|
|
|
super.updateTick(world, x, y, z, rand);
|
|
}
|
|
|
|
@Override
|
|
public int tickRate(World world) {
|
|
|
|
if(this.rad > 0)
|
|
return 20;
|
|
|
|
return super.tickRate(world);
|
|
}
|
|
|
|
public void onBlockAdded(World world, int x, int y, int z) {
|
|
super.onBlockAdded(world, x, y, z);
|
|
|
|
rad = HazardSystem.getHazardLevelFromStack(new ItemStack(this), HazardRegistry.RADIATION) * 0.1F;
|
|
|
|
if(this.rad > 0)
|
|
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
|
|
}
|
|
}
|