Краш при юзе некоторого кода.

Код:
Encountered an unexpected exception
net.minecraft.util.ReportedException: Exception ticking world
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:698) ~[MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) ~[MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) ~[IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
Caused by: java.lang.NullPointerException
    at ru.steevenrichard.lastdays.common.blocks.LDBlockParticles1.updateTick(LDBlockParticles1.java:96) ~[LDBlockParticles1.class:?]
    at net.minecraft.world.WorldServer.func_147456_g(WorldServer.java:408) ~[WorldServer.class:?]
    at net.minecraft.world.WorldServer.tick(WorldServer.java:191) ~[WorldServer.class:?]
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:692) ~[MinecraftServer.class:?]
    ... 4 more
Сам код блока:
Код:
public class LDBlockParticles1 extends LDBlock {

    private LDPlayerHandler LDPlayerHandler;

    public static EntityFX getParticle(String s, World w, double x, double y, double z)
    {
       EntityFX fx = null;
       Minecraft mc = Minecraft.getMinecraft();
       if(mc.gameSettings.fancyGraphics)
            fx.renderDistanceWeight = 200D;
       
       if(!mc.gameSettings.fancyGraphics)
            fx.renderDistanceWeight = 200D;
        
        if(fx != null)
            mc.effectRenderer.addEffect(fx);
        return fx;
    }
    
    LDPlayerHandler ldp = LDPlayerHandler;
    
   protected LDBlockParticles1() {
      super(Material.wood);
      this.setStepSound(Block.soundTypeCloth);
      this.setTickRandomly(true);
   }

   public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int i) {
      return null;
   }


   public void updateTick(World world, int x, int y, int z, Random rand) {
       //Что бы не било каждый тик делаем рандом.
       //Если рандомное число равно 1 - делаем то что нам надо.

       if (rand.nextInt(2) == 1) {
           //Изменять радиус под себя. 10 - 10 блоков.
           int radius = 4;
           //Получаем так сказать 'коробку', с первыми тремя координатами первой точки и со вторыми координатами второй точки.
           AxisAlignedBB box = AxisAlignedBB.getBoundingBox(x - radius, y - radius, z - radius, x + radius, y + radius, z + radius);
           //С помощью этой 'коробки' достаем всех EntityLiving в радиусе.
           //Если хочешь чтоб реагировало только на игроков - меняй EntityLiving на EntityPlayer.
           List<EntityPlayer> entityLivings = world.getEntitiesWithinAABB(EntityPlayer.class, box);
           //Перебираем всех энтити и делаем то что нам надо.
           for (EntityPlayer entity : entityLivings) {
               //Атакуем энтити на пол сердечка. 1F - пол сердца.
               //entity.attackEntityFrom(DamageSource.generic, 1F);
               //Добавляем медлительность на 1 секунду 1 уровня.
               //entity.addPotionEffect(new PotionEffect(LDPotion.radiationPo.getId(), 120, 1));
               LDPlayerHandler.addRadiation(100);
           }
       }
   }
   
   @SideOnly(Side.CLIENT)
   public void randomDisplayTick(World p_149734_1_, int centerX, int centerY, int centerZ, Random p_149734_5_) {}

   public TileEntity createNewTileEntity(World arg0, int arg1) {
      return new LDTileEntityBlockParticles1();
   }

   @SideOnly(Side.CLIENT)
   public void registerBlockIcons(IIconRegister iconRegister) {
      super.blockIcon = iconRegister.registerIcon("minecraft:reinforcing_material");
   }
}

Если оставить entity.addPotionEffect(new PotionEffect(LDPotion.radiationPo.getId(), 120, 1)); вместо LDPlayerHandler.addRadiation(100); то будет крашить из-за зелья. В чем проблема?
 
435
1
Нафиг радиацию на зельях делать? Есть более интересные и действенные способы.
 
Есть и другой способ, да. Но мой тайл то не добавляет значения к счетчик, то вообще нихрена не тикает, то крашит налево и направо.
 
Сверху