当前位置: 首页>>代码示例>>Java>>正文


Java Profession类代码示例

本文整理汇总了Java中org.bukkit.entity.Villager.Profession的典型用法代码示例。如果您正苦于以下问题:Java Profession类的具体用法?Java Profession怎么用?Java Profession使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Profession类属于org.bukkit.entity.Villager包,在下文中一共展示了Profession类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: spawnVillager

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
/**
 * Spawns a Villager of the given VillagerType at the provided Location
 * 
 * @param type - the Type of the Villager you wish to Spawn
 * @param location - the Location at which you want the Villager to be
 * @return Villager - the Villager that you had set at the provided Location if you wish to use it
 */
public Villager spawnVillager(VillagerType type, Location location) {
	if (!location.getChunk().isLoaded()) {
		location.getChunk().load();
	}
	Villager villager = (Villager) location.getWorld().spawnEntity(location, EntityType.VILLAGER);
	villager.setAdult();
	villager.setAgeLock(true);
	villager.setProfession(Profession.FARMER);
	villager.setRemoveWhenFarAway(false);
	villager.setCustomName(type.getColor() + type.getName());
	villager.setCustomNameVisible(true);
	villager.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, Integer.MAX_VALUE, -6, true), true);
	villager.teleport(location, TeleportCause.PLUGIN);
	villager.setHealth(20.0D);
	return villager;
}
 
开发者ID:HuliPvP,项目名称:Chambers,代码行数:24,代码来源:VillagerManager.java

示例2: load

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
@Override
protected void load(ConfigurationSection config) {
	super.load(config);

	// load profession:
	String professionInput;
	if (config.isInt("prof")) {
		// import from pre 1.10 profession ids:
		int profId = config.getInt("prof");
		professionInput = String.valueOf(profId);
		this.profession = getProfessionFromOldId(profId);
	} else {
		professionInput = config.getString("prof");
		this.profession = getProfession(professionInput);
	}
	// validate:
	if (!isVillagerProfession(profession)) {
		// fallback:
		Log.warning("Missing or invalid villager profession '" + professionInput
				+ "'. Using '" + Profession.FARMER + "' now.");
		this.profession = Profession.FARMER;
	}
}
 
开发者ID:nisovin,项目名称:Shopkeepers,代码行数:24,代码来源:VillagerShop.java

示例3: getNextVillagerProfession

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
private Profession getNextVillagerProfession() {
	Profession[] professions = Profession.values();
	int id = profession.ordinal();
	while (true) {
		id += 1;
		if (id >= professions.length) {
			id = 0;
		}
		Profession nextProfession = professions[id];
		if (isVillagerProfession(nextProfession)) {
			return nextProfession;
		} else {
			continue;
		}
	}
}
 
开发者ID:nisovin,项目名称:Shopkeepers,代码行数:17,代码来源:VillagerShop.java

示例4: getProfessionFromOldId

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
private static Profession getProfessionFromOldId(int oldProfessionId) {
	switch (oldProfessionId) {
	case 0:
		return Profession.FARMER;
	case 1:
		return Profession.LIBRARIAN;
	case 2:
		return Profession.PRIEST;
	case 3:
		return Profession.BLACKSMITH;
	case 4:
		return Profession.BUTCHER;
	default:
		return null;
	}
}
 
开发者ID:nisovin,项目名称:Shopkeepers,代码行数:17,代码来源:VillagerShop.java

示例5: spawn

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
protected boolean spawn() {
    if (loc.getChunk().isLoaded()) {
        despawn();
        le = type.createEntity(loc.clone().add(0, 0.5, 0));
        boolean mobile = false;
        if (this instanceof GenericNPC) {
            ((Leashable) ((CraftLivingEntity) le).getHandle()).allowWalk(((GenericNPC) this).leash);
            mobile = true;
        }
        String displayName = getColor() + name;
        le.setCustomName(displayName);
        le.setCustomNameVisible(true);
        if (le instanceof Villager) {
            if (this instanceof QuestVillager) {
                ((Villager) le).setProfession(Profession.PRIEST);
            } else if (this instanceof ShopVillager) {
                ((Villager) le).setProfession(Profession.LIBRARIAN);
            } else if (this instanceof DungeonVillager) {
                ((Villager) le).setProfession(Profession.BUTCHER);
            } else if (this instanceof HorseVillager) {
                ((Villager) le).setProfession(Profession.BLACKSMITH);
            }
        }
        if (!mobile) {
            double mult = type.tagHeight;
            as = RTags.makeStand(ChatColor.GRAY + getSub(), loc.clone().add(0, ((CraftLivingEntity) le).getHandle().getHeadHeight() * mult, 0), true);
            NPCManager.npcs.put(as.getUniqueId(), this);
        }
        NPCManager.npcs.put(le.getUniqueId(), this);
        RScheduler.schedule(NPCManager.plugin, new Runnable() {
            public void run() {
                if (loc.getChunk().isLoaded() && le != null && le.isValid()) {
                    le.teleport(loc);
                }
            }
        }, RTicks.seconds(1));
        return true;
    }
    return false;
}
 
开发者ID:edasaki,项目名称:ZentrelaRPG,代码行数:41,代码来源:NPCEntity.java

示例6: spawnVillager

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
/**
 * @param location
 * the location where the villager will spawn
 * @return
 * the spawned villager
 */
public static Villager spawnVillager(Location location) {
    Villager villager = (Villager) location.getWorld().spawnEntity(location, EntityType.VILLAGER);
    if (Version.andHigher(Version.MC1_11).contains(CompatibilityHandler.getInstance().getVersion())) {
        villager.setProfession(Profession.NITWIT);
    } else {
        villager.setProfession(Profession.FARMER);
    }
    villager.setCustomName(MOB_VILLAGER.getMessage());
    villager.setCustomNameVisible(true);
    return villager;
}
 
开发者ID:DRE2N,项目名称:FactionsXL,代码行数:18,代码来源:FMob.java

示例7: spawnTrader

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
/**
 * @param location
 * the location where the trader will spawn
 * @return
 * the spawned trader
 */
public static Villager spawnTrader(Location location) {
    Villager villager = (Villager) location.getWorld().spawnEntity(location, EntityType.VILLAGER);
    villager.setProfession(Profession.LIBRARIAN);
    villager.setCustomName(MOB_TRADER.getMessage());
    villager.setCustomNameVisible(true);
    return villager;
}
 
开发者ID:DRE2N,项目名称:FactionsXL,代码行数:14,代码来源:FMob.java

示例8: spawn

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
@Override
@Nullable
public Villager spawn(final Location loc) {
	final Villager v = super.spawn(loc);
	if (v == null)
		return null;
	if (profession == null)
		v.setProfession(CollectionUtils.getRandom(Profession.values()));
	return v;
}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:11,代码来源:VillagerData.java

示例9: deserialize

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
@Override
protected boolean deserialize(final String s) {
	if (s.isEmpty())
		return true;
	try {
		profession = Profession.valueOf(s);
		return true;
	} catch (final IllegalArgumentException e) {
		return false;
	}
}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:12,代码来源:VillagerData.java

示例10: spawnZombieVillager

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
@Override
public LivingEntity spawnZombieVillager(Location loc, Profession profession)
{
	ZombieVillager entity = (ZombieVillager) loc.getWorld().spawnEntity(loc, EntityType.ZOMBIE_VILLAGER);
	entity.setVillagerProfession(profession);
	return entity;
}
 
开发者ID:dmulloy2,项目名称:SwornAPI,代码行数:8,代码来源:SpecialEntities.java

示例11: onGrinchDeath

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
@EventHandler
public void onGrinchDeath(EntityDeathEvent e) {
	final Location loc = e.getEntity().getLocation();
	final World wLoc = loc.getWorld();

	if(e.getEntity().getCustomName() == null){
		return;
	}

	Player player = e.getEntity().getKiller();

	if(e.getEntity().getCustomName().contains("The Grinch!") && (e.getEntityType() == EntityType.GIANT)){

		spawnedGrinch = 0;
		dropXmasBoots(player);
		GrinchDefeatSpeech.speech(player);
		dropExp(e.getEntity().getLocation());

		for(Player p : Bukkit.getOnlinePlayers()){
			if (p.getWorld().getName() == "Christmas"){
				giveCake(p);
			}
		}

		final Villager v = (Villager)wLoc.spawnEntity(loc.add(0,1,0), EntityType.VILLAGER);
		v.setCanPickupItems(false);
		v.setCustomName(ChatColor.GREEN + "The Grinch!");
		v.setProfession(Profession.PRIEST);			
	}
}
 
开发者ID:EmilHernvall,项目名称:tregmine,代码行数:31,代码来源:GrinchListener.java

示例12: getProfession

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
private static Profession getProfession(String professionName) {
	if (professionName != null) {
		try {
			return Profession.valueOf(professionName);
		} catch (IllegalArgumentException e) {
		}
	}
	return null;
}
 
开发者ID:nisovin,项目名称:Shopkeepers,代码行数:10,代码来源:VillagerShop.java

示例13: isVillagerProfession

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
private static boolean isVillagerProfession(Profession profession) {
	if (profession == null) return false;
	if (profession.ordinal() >= Profession.FARMER.ordinal()
			&& profession.ordinal() <= Profession.BUTCHER.ordinal()) {
		return true;
	}
	// TODO: update this once we only support MC 1.11 upwards
	if (profession.name().equals("NITWIT")) {
		return true;
	}
	return false;
}
 
开发者ID:nisovin,项目名称:Shopkeepers,代码行数:13,代码来源:VillagerShop.java

示例14: init

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
@Override
protected boolean init(final Literal<?>[] exprs, final int matchedPattern, final ParseResult parseResult) {
	if (matchedPattern > 0)
		profession = Profession.values()[matchedPattern - 1];
	return true;
}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:7,代码来源:VillagerData.java

示例15: onBlockPlaced

import org.bukkit.entity.Villager.Profession; //导入依赖的package包/类
@EventHandler(priority = EventPriority.NORMAL)
public void onBlockPlaced(BlockPlaceEvent evt) {
	Block block = evt.getBlock();
	if (block.getType().equals(Material.EMERALD_BLOCK) || block.getType().equals(Material.DIAMOND_BLOCK) || block.getType().equals(Material.IRON_BLOCK)) {
		World world = block.getWorld();
		
		Block below = world.getBlockAt(new Location(world, block.getX(), block.getY() - 1, block.getZ()));
		Block below2 = world.getBlockAt(new Location(world, block.getX(), block.getY() - 2, block.getZ()));
		
		if (below != null && below.getType().equals(Material.OBSIDIAN) && below2.getType().equals(Material.OBSIDIAN)) {
			
			VillagerTradeOffer[] offers = null;
			
			Profession profession = Profession.FARMER;
			

			if (block.getType().equals(Material.DIAMOND_BLOCK)) { 
				offers = new VillagerTradeOffer[] {
						new VillagerTradeOffer(new ItemStack(Material.EMERALD, 24), new ItemStack(Material.DIAMOND_SWORD, 1)),
						new VillagerTradeOffer(new ItemStack(Material.EMERALD, 64), new ItemStack(Material.DIAMOND_LEGGINGS, 1)),
						new VillagerTradeOffer(new ItemStack(Material.EMERALD, 64), new ItemStack(Material.DIAMOND_CHESTPLATE, 1)),
						new VillagerTradeOffer(new ItemStack(Material.EMERALD, 32), new ItemStack(Material.DIAMOND_HELMET, 1)),					
						new VillagerTradeOffer(new ItemStack(Material.EMERALD, 32), new ItemStack(Material.DIAMOND_BOOTS, 1)),					
						new VillagerTradeOffer(new ItemStack(Material.EMERALD, 24), new ItemStack(Material.DIAMOND_PICKAXE, 1))
				};

				profession = Profession.BLACKSMITH;
			} else if (block.getType().equals(Material.EMERALD_BLOCK)) {
				offers = new VillagerTradeOffer[] {
						new VillagerTradeOffer(new ItemStack(Material.BONE, 64), new ItemStack(Material.EMERALD, 1)),
						new VillagerTradeOffer(new ItemStack(Material.ROTTEN_FLESH, 64), new ItemStack(Material.EMERALD, 1)),
						new VillagerTradeOffer(new ItemStack(Material.SPIDER_EYE, 64), new ItemStack(Material.EMERALD, 1)),
						new VillagerTradeOffer(new ItemStack(Material.STRING, 64), new ItemStack(Material.EMERALD, 1)),
				};
				profession = Profession.FARMER;
			}
			
			if (offers != null) {
				block.setType(Material.AIR);
				below.setType(Material.AIR);
				below2.setType(Material.AIR);

				Villager villager = world.spawn(block.getLocation(), Villager.class);
				villager.setAdult();
				villager.setBreed(false);
				villager.setProfession(profession);					

				EntityVillager entityVillager = ((CraftVillager)villager).getHandle();
				MerchantRecipeList recipes = entityVillager.getOffers(((CraftPlayer)evt.getPlayer()).getHandle());
				recipes.clear();
				
				for(VillagerTradeOffer offer : offers) {
					recipes.add(offer.getMerchantRecipie());
				}
			}
		}
	}
}
 
开发者ID:Allov,项目名称:world-of-icerealm,代码行数:59,代码来源:TradingPlugin.java


注:本文中的org.bukkit.entity.Villager.Profession类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。