Hbm-s-Nuclear-Tech-GIT/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java
2025-04-16 16:49:47 +02:00

48 lines
1.4 KiB
Java

package com.hbm.entity.mob;
import com.hbm.explosion.vanillant.ExplosionVNT;
import com.hbm.explosion.vanillant.standard.*;
import com.hbm.items.ModItems;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class EntityCreeperGold extends EntityCreeper {
public EntityCreeperGold(World world) {
super(world);
}
@Override
public void func_146077_cc() {
if(!this.worldObj.isRemote) {
this.setDead();
ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, this.getPowered() ? 14 : 7, this);
vnt.setBlockAllocator(new BlockAllocatorBulkie(60, this.getPowered() ? 32 : 16));
vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorBulkie(Blocks.gold_ore)));
vnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(0.5F));
vnt.setPlayerProcessor(new PlayerProcessorStandard());
vnt.setSFX(new ExplosionEffectStandard());
vnt.explode();
}
}
@Override
public boolean getCanSpawnHere() {
return super.getCanSpawnHere() && this.posY <= 40 && this.dimension == 0;
}
@Override
protected void dropFewItems(boolean byPlayer, int looting) {
int amount = byPlayer ? 5 + rand.nextInt(6 + looting * 2) : 3;
for(int i = 0; i < amount; ++i) {
this.entityDropItem(new ItemStack(ModItems.crystal_gold), 0F);
}
}
}