Search in sources :

Example 1 with Skull

use of org.bukkit.material.Skull in project Glowstone by GlowstoneMC.

the class BlockSkull method placeBlock.

@Override
public void placeBlock(GlowPlayer player, GlowBlockState state, BlockFace face, ItemStack holding, Vector clickedLoc) {
    super.placeBlock(player, state, face, holding, clickedLoc);
    MaterialData data = state.getData();
    if (!(data instanceof Skull)) {
        warnMaterialData(Skull.class, data);
        return;
    }
    Skull skull = (Skull) data;
    skull.setFacingDirection(face);
}
Also used : GlowSkull(net.glowstone.block.entity.state.GlowSkull) Skull(org.bukkit.material.Skull) MaterialData(org.bukkit.material.MaterialData)

Example 2 with Skull

use of org.bukkit.material.Skull in project Glowstone by GlowstoneMC.

the class BlockSkull method afterPlace.

@Override
public void afterPlace(GlowPlayer player, GlowBlock block, ItemStack holding, GlowBlockState oldState) {
    GlowSkull skull = (GlowSkull) block.getState();
    skull.setSkullType(getType(holding.getDurability()));
    if (skull.getSkullType() == SkullType.PLAYER) {
        SkullMeta meta = (SkullMeta) holding.getItemMeta();
        if (meta != null) {
            skull.setOwner(meta.getOwner());
        }
    }
    MaterialData data = skull.getData();
    if (!(data instanceof Skull)) {
        warnMaterialData(Skull.class, data);
        return;
    }
    Skull skullData = (Skull) data;
    if (canRotate(skullData)) {
        // Can be rotated
        skull.setRotation(player.getFacing().getOppositeFace());
    }
    skull.update();
    // Wither
    for (int i = 0; i < 3; i++) {
        if (WITHER_PATTERN.matches(block.getLocation().clone(), true, i, 0)) {
            block.getWorld().spawnEntity(block.getLocation().clone().subtract(0, 2, 0), EntityType.WITHER);
            break;
        }
    }
}
Also used : GlowSkull(net.glowstone.block.entity.state.GlowSkull) GlowSkull(net.glowstone.block.entity.state.GlowSkull) Skull(org.bukkit.material.Skull) SkullMeta(org.bukkit.inventory.meta.SkullMeta) MaterialData(org.bukkit.material.MaterialData)

Aggregations

GlowSkull (net.glowstone.block.entity.state.GlowSkull)2 MaterialData (org.bukkit.material.MaterialData)2 Skull (org.bukkit.material.Skull)2 SkullMeta (org.bukkit.inventory.meta.SkullMeta)1