Source PiglinBruteInfo - Spiderman31807/Mob_Selector_Mod GitHub Wiki

package playasmob;

import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.monster.piglin.PiglinBrute;
import net.minecraft.world.entity.monster.piglin.PiglinArmPose;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.core.BlockPos;
import net.minecraft.client.renderer.entity.PiglinRenderer;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.model.geom.ModelLayers;

public class PiglinBruteInfo extends AbstractPiglinInfo {
	public PiglinBruteInfo(Player player, CompoundTag compound) {
		super(EntityType.PIGLIN_BRUTE, PiglinBrute.class, player, compound);
	}

	public PiglinBruteInfo(Player player) {
		this(player, null);
	}

	public PiglinBruteInfo() {
		this(null);
	}

	@Override
	public EntityRenderer getRenderer() {
		return new PiglinRenderer(Utils.getContext(), ModelLayers.PIGLIN_BRUTE, ModelLayers.PIGLIN_BRUTE, ModelLayers.PIGLIN_BRUTE_INNER_ARMOR, ModelLayers.PIGLIN_BRUTE_OUTER_ARMOR, ModelLayers.PIGLIN_BRUTE_INNER_ARMOR,
 ModelLayers.PIGLIN_BRUTE_OUTER_ARMOR);
	}

	// PiglinBrute.class Code
	@Override
	public ItemStack spawnedMainHandStack() {
		return new ItemStack(Items.GOLDEN_AXE);
	}

	@Override
	public boolean canHunt() {
		return false;
	}

	@Override
	public PiglinArmPose getArmPose() {
		return this.isAggressive() && this.isHoldingMeleeWeapon() ? PiglinArmPose.ATTACKING_WITH_MELEE_WEAPON : PiglinArmPose.DEFAULT;
	}

	@Override
	public SoundEvent getAmbientSound() {
		return SoundEvents.PIGLIN_BRUTE_AMBIENT;
	}

	@Override
	public SoundEvent getHurtSound(SoundEvent original, DamageSource source) {
		return SoundEvents.PIGLIN_BRUTE_HURT;
	}

	@Override
	public SoundEvent getDeathSound(SoundEvent original) {
		return SoundEvents.PIGLIN_BRUTE_DEATH;
	}

	@Override
	public boolean playStepSound(Object object, BlockPos pos, BlockState state) {
		this.playSound(SoundEvents.PIGLIN_BRUTE_STEP, 0.15f, 1);
		return false;
	}

	public void playAngrySound() {
		this.makeSound(SoundEvents.PIGLIN_BRUTE_ANGRY);
	}

	@Override
	public void playConvertedSound() {
		this.makeSound(SoundEvents.PIGLIN_BRUTE_CONVERTED_TO_ZOMBIFIED);
	}
}