95 lines
2.8 KiB
Java
95 lines
2.8 KiB
Java
package org.bukkit.craftbukkit.entity;
|
|
|
|
import com.google.common.base.Preconditions;
|
|
import java.util.Collections;
|
|
import java.util.Set;
|
|
import java.util.stream.Collectors;
|
|
import net.minecraft.world.entity.monster.piglin.EntityPiglin;
|
|
import net.minecraft.world.item.Item;
|
|
import org.bukkit.Material;
|
|
import org.bukkit.craftbukkit.CraftServer;
|
|
import org.bukkit.craftbukkit.inventory.CraftInventory;
|
|
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
|
import org.bukkit.entity.EntityType;
|
|
import org.bukkit.entity.Piglin;
|
|
import org.bukkit.inventory.Inventory;
|
|
|
|
public class CraftPiglin extends CraftPiglinAbstract implements Piglin {
|
|
|
|
public CraftPiglin(CraftServer server, EntityPiglin entity) {
|
|
super(server, entity);
|
|
}
|
|
|
|
@Override
|
|
public boolean isAbleToHunt() {
|
|
return getHandle().cannotHunt;
|
|
}
|
|
|
|
@Override
|
|
public void setIsAbleToHunt(boolean flag) {
|
|
getHandle().cannotHunt = flag;
|
|
}
|
|
|
|
@Override
|
|
public boolean addBarterMaterial(Material material) {
|
|
Preconditions.checkArgument(material != null, "material cannot be null");
|
|
|
|
Item item = CraftMagicNumbers.getItem(material);
|
|
return getHandle().allowedBarterItems.add(item);
|
|
}
|
|
|
|
@Override
|
|
public boolean removeBarterMaterial(Material material) {
|
|
Preconditions.checkArgument(material != null, "material cannot be null");
|
|
|
|
Item item = CraftMagicNumbers.getItem(material);
|
|
return getHandle().allowedBarterItems.remove(item);
|
|
}
|
|
|
|
@Override
|
|
public boolean addMaterialOfInterest(Material material) {
|
|
Preconditions.checkArgument(material != null, "material cannot be null");
|
|
|
|
Item item = CraftMagicNumbers.getItem(material);
|
|
return getHandle().interestItems.add(item);
|
|
}
|
|
|
|
@Override
|
|
public boolean removeMaterialOfInterest(Material material) {
|
|
Preconditions.checkArgument(material != null, "material cannot be null");
|
|
|
|
Item item = CraftMagicNumbers.getItem(material);
|
|
return getHandle().interestItems.remove(item);
|
|
}
|
|
|
|
@Override
|
|
public Set<Material> getInterestList() {
|
|
return Collections.unmodifiableSet(getHandle().interestItems.stream().map(CraftMagicNumbers::getMaterial).collect(Collectors.toSet()));
|
|
}
|
|
|
|
@Override
|
|
public Set<Material> getBarterList() {
|
|
return Collections.unmodifiableSet(getHandle().allowedBarterItems.stream().map(CraftMagicNumbers::getMaterial).collect(Collectors.toSet()));
|
|
}
|
|
|
|
@Override
|
|
public Inventory getInventory() {
|
|
return new CraftInventory(getHandle().inventory);
|
|
}
|
|
|
|
@Override
|
|
public EntityPiglin getHandle() {
|
|
return (EntityPiglin) super.getHandle();
|
|
}
|
|
|
|
@Override
|
|
public EntityType getType() {
|
|
return EntityType.PIGLIN;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "CraftPiglin";
|
|
}
|
|
}
|