org.bukkit.Material#SPAWNER源码实例Demo

下面列出了org.bukkit.Material#SPAWNER 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Slimefun4   文件: BlockPlacer.java
private void placeSlimefunBlock(SlimefunItem sfItem, ItemStack item, Block block, Dispenser dispenser) {
    block.setType(item.getType());
    BlockStorage.store(block, sfItem.getID());
    block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, item.getType());

    if (item.getType() == Material.SPAWNER && sfItem instanceof RepairedSpawner) {
        Optional<EntityType> entity = ((RepairedSpawner) sfItem).getEntityType(item);

        if (entity.isPresent()) {
            CreatureSpawner spawner = (CreatureSpawner) block.getState();
            spawner.setSpawnedType(entity.get());
            spawner.update(true, false);
        }
    }

    if (dispenser.getInventory().containsAtLeast(item, 2)) {
        dispenser.getInventory().removeItem(new CustomItem(item, 1));
    }
    else {
        Slimefun.runSync(() -> dispenser.getInventory().removeItem(item), 2L);
    }
}
 
源代码2 项目: AACAdditionPro   文件: BlockUtils.java
/**
 * Fix for Spigot's broken occluding method.
 */
public static boolean isReallyOccluding(Material material)
{
    switch (ServerVersion.getActiveServerVersion()) {
        case MC188:
        case MC112:
            return material != Material.BARRIER && material != Material.getMaterial("MOB_SPAWNER") && material.isOccluding();
        case MC113:
        case MC114:
        case MC115:
            return material != Material.BARRIER && material != Material.SPAWNER && material.isOccluding();
        default:
            throw new UnknownMinecraftVersion();
    }
}
 
源代码3 项目: SkyWarsReloaded   文件: NMSHandler.java
@Override
public ItemStack getMaterial(String item) {
	if (item.equalsIgnoreCase("SKULL_ITEM")) {
		return new ItemStack(Material.SKELETON_SKULL, 1);
	} else if (item.equalsIgnoreCase("ENDER_PORTAL_FRAME")) {
		return new ItemStack(Material.END_PORTAL_FRAME, 1);
	} else if (item.equalsIgnoreCase("WORKBENCH")) {
		return new ItemStack(Material.CRAFTING_TABLE, 1);
	} else if (item.equalsIgnoreCase("IRON_FENCE")) {
		return new ItemStack(Material.IRON_BARS, 1);
	} else if (item.equalsIgnoreCase("REDSTONE_COMPARATOR")) {
		return new ItemStack(Material.COMPARATOR);
	} else if (item.equalsIgnoreCase("SIGN_POST")) {
		return new ItemStack(Material.SIGN);
	} else if (item.equalsIgnoreCase("STONE_PLATE")) {
		return new ItemStack(Material.STONE_PRESSURE_PLATE);
	} else if (item.equalsIgnoreCase("IRON_PLATE")) {
		return new ItemStack(Material.HEAVY_WEIGHTED_PRESSURE_PLATE);
	} else if (item.equalsIgnoreCase("GOLD_PLATE")) {
		return new ItemStack(Material.LIGHT_WEIGHTED_PRESSURE_PLATE);
	} else if (item.equalsIgnoreCase("MOB_SPAWNER")) {
		return new ItemStack(Material.SPAWNER);
	} else if (item.equalsIgnoreCase("SNOW_BALL")) {
		return new ItemStack(Material.SNOWBALL);
	} else {
		return new ItemStack(Material.AIR, 1);
	}
}
 
源代码4 项目: Slimefun4   文件: PickaxeOfContainment.java
@Override
public BlockBreakHandler getItemHandler() {
    return new BlockBreakHandler() {

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

        @Override
        public boolean onBlockBreak(BlockBreakEvent e, ItemStack item, int fortune, List<ItemStack> drops) {
            if (isItem(item)) {
                if (!Slimefun.hasUnlocked(e.getPlayer(), PickaxeOfContainment.this, true)) {
                    return true;
                }

                Block b = e.getBlock();

                if (b.getType() != Material.SPAWNER) {
                    return true;
                }

                ItemStack spawner = breakSpawner(b);
                b.getLocation().getWorld().dropItemNaturally(b.getLocation(), spawner);

                e.setExpToDrop(0);
                e.setDropItems(false);
                return true;
            }
            else {
                if (e.getBlock().getType() == Material.SPAWNER) e.setDropItems(false);
                return false;
            }
        }
    };
}
 
源代码5 项目: NBTEditor   文件: CommandNBTTile.java
@Override
protected TileNBTWrapper getWrapper(Player player) throws MyCommandException {
	Block block = UtilsMc.getTargetBlock(player, 5);
	if (block.getType() == Material.AIR) {
		throw new MyCommandException("§cNo tile in sight!");
	}
	try {
		if (block.getType() == Material.SPAWNER) {
			return new SpawnerNBTWrapper(block);
		}
		return new TileNBTWrapper(block);
	} catch (RuntimeException e) {
		throw new MyCommandException("§cCannot edit that tile!");
	}
}
 
 方法所在类
 同类方法