Java 类org.bukkit.enchantments.Enchantment 实例源码
项目:HCFCore
文件:EnchantLimitListener.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onEnchantItem(EnchantItemEvent event) {
Map<Enchantment, Integer> adding = event.getEnchantsToAdd();
Iterator<Map.Entry<Enchantment, Integer>> iterator = adding.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Enchantment, Integer> entry = iterator.next();
Enchantment enchantment = entry.getKey();
int maxLevel = getMaxLevel(enchantment);
if (entry.getValue() > maxLevel) {
if (maxLevel > 0) {
adding.put(enchantment, maxLevel);
} else {
iterator.remove();
}
}
}
}
项目:uppercore
文件:EnchantedBookCustomItem.java
public EnchantedBookCustomItem(Material material, Config config, PlaceholderRegistry placeholders) {
super(material, config, placeholders);
storedEnchantments = new HashMap<>();
if (config.has("stored-enchantments")) {
Map<String, Object> stEnch = config.getMap("stored-enchantments");
for(Map.Entry<String, Object> e : stEnch.entrySet()) {
Enchantment ench = Enchantment.getByName(e.getKey().replace(' ', '_').toUpperCase(Locale.ENGLISH));
if (ench == null)
Uppercore.logger().severe("Cannot find enchantment: " + e.getKey());
else
storedEnchantments.put(ench, PlaceholderValue.intValue(e.getValue().toString()));
}
}
}
项目:Warzone
文件:EnchantGlow.java
public static Enchantment getGlow() {
if (glow != null)
return glow;
try {
Field f = Enchantment.class.getDeclaredField("acceptingNew");
f.setAccessible(true);
f.set(null, true);
} catch (Exception e) {
e.printStackTrace();
}
glow = new EnchantGlow(255);
Enchantment.registerEnchantment(glow);
return glow;
}
项目:AsgardAscension
文件:PlayerListener.java
@EventHandler
public void onQuit(PlayerQuitEvent event) {
// Removing Speed Miner effect
if(speedMiner.get(event.getPlayer().getName()) != null) {
speedMiner.get(event.getPlayer().getName()).removeEnchantment(Enchantment.DIG_SPEED);
event.getPlayer().removePotionEffect(PotionEffectType.FAST_DIGGING);
event.getPlayer().removePotionEffect(PotionEffectType.SPEED);
speedMiner.remove(event.getPlayer().getName());
}
// Removing Rainbow Miner effect
if(rainbowMiner.get(event.getPlayer().getName()) != null) {
rainbowMiner.get(event.getPlayer().getName()).removeEnchantment(Enchantment.LOOT_BONUS_BLOCKS);
event.getPlayer().removePotionEffect(PotionEffectType.FAST_DIGGING);
rainbowMiner.remove(event.getPlayer().getName());
}
// Removing Diamond Miner effect
if(diamondMiner.get(event.getPlayer().getName()) != null) {
diamondMiner.remove(event.getPlayer().getName());
}
// Quiting challenge in case player is doing it
if(plugin.getChallenges().getChallenge(event.getPlayer()) > 0){
plugin.getChallenges().quitChallenge(event.getPlayer());
}
plugin.getPlayerManager().saveData(event.getPlayer());
}
项目:AlphaLibary
文件:LeatherItemBuilder.java
/**
* Get the final {@link ItemStack} with all the attributes you have been adding
*
* @return the {@link ItemStack} of this {@link ItemBuilder}
*/
@Override
public ItemStack build() {
ItemStack s = new ItemStack(this.getMaterial());
s.setAmount(this.getAmount());
s.setDurability(this.getDamage());
LeatherArmorMeta m = (LeatherArmorMeta) s.getItemMeta();
for (ItemFlag iflag : this.getAllItemflags()) {
m.addItemFlags(iflag);
}
m.setDisplayName(this.getName());
m.setLore(this.getLore());
m.setColor(color);
s.setItemMeta(m);
for (Map.Entry<Enchantment, Integer> temp : this.getAllEnchantments().entrySet()) {
s.addUnsafeEnchantment(temp.getKey(), temp.getValue());
}
return s;
}
项目:Uranium
文件:CraftMetaItem.java
CraftMetaItem(CraftMetaItem meta) {
if (meta == null) {
attributes = null;
return;
}
this.displayName = meta.displayName;
if (meta.hasLore()) {
this.lore = new ArrayList<String>(meta.lore);
}
if (meta.hasEnchants()) {
this.enchantments = new HashMap<Enchantment, Integer>(meta.enchantments);
}
this.repairCost = meta.repairCost;
this.attributes = meta.attributes;
}
项目:Kineticraft
文件:Enchants.java
/**
* Register all of our custom enchants.
*/
private static void registerEnchants() {
// Tell bukkit it's ok to register new enchants.
try {
Field f = Enchantment.class.getDeclaredField("acceptingNew");
f.setAccessible(true);
f.set(null, true);
} catch (Exception e) {
e.printStackTrace();
}
// Register each enchant.
for (CustomEnchant ce : CustomEnchant.values())
Enchantment.registerEnchantment(ce.getEnchant());
}
项目:HCFCore
文件:BookDeenchantListener.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onPlayerInteract(PlayerInteractEvent event) {
if (event.getAction() == Action.LEFT_CLICK_BLOCK && event.hasItem()) {
// The player didn't click an enchantment table, Creative players will instantly destroy.
Player player = event.getPlayer();
if (event.getClickedBlock().getType() == Material.ENCHANTMENT_TABLE && player.getGameMode() != GameMode.CREATIVE) {
// The player didn't click with an enchanted book.
ItemStack stack = event.getItem();
if (stack != null && stack.getType() == Material.ENCHANTED_BOOK) {
ItemMeta meta = stack.getItemMeta();
if (meta instanceof EnchantmentStorageMeta) {
EnchantmentStorageMeta enchantmentStorageMeta = (EnchantmentStorageMeta) meta;
for (Enchantment enchantment : enchantmentStorageMeta.getStoredEnchants().keySet()) {
enchantmentStorageMeta.removeStoredEnchant(enchantment);
}
event.setCancelled(true);
player.setItemInHand(EMPTY_BOOK);
player.sendMessage(ChatColor.GREEN + "You reverted this item to its original form.");
}
}
}
}
}
项目:PA
文件:EnchantCMD.java
public void run(PAUser user, String label, String[] args) {
if (args.length == 2) {
ItemStack i = user.getPlayer().getInventory().getItemInHand();
Enchantment enchantment;
int level;
if (!Utils.isInt(args[1])) return;
enchantment = getEnchantment(args[0]);
level = Integer.parseInt(args[1]);
if (enchantment == null) return;
i.addUnsafeEnchantment(enchantment, level);
}
}
项目:mczone
文件:ItemUtil.java
public static String serialize(ItemStack item) {
String name = item.getType().name().toLowerCase();
String data = "";
if (item.getDurability() != (short) 0)
data = ":" + item.getDurability();
String amount = "";
if (item.getAmount() > 1)
amount = "," + item.getAmount();
String ench = "";
if (item.getEnchantments().size() > 0) {
for (Entry<Enchantment, Integer> e : item.getEnchantments().entrySet()) {
ench += e.getKey().getName().toLowerCase() + ":" + e.getValue() + ",";
}
ench = ench.substring(ench.length() - 1);
}
return name + data + amount + ench;
}
项目:VoxelGamesLibv2
文件:KitHandler.java
@Override
public void start() {
if (!kitsDir.exists()) {
log.info("Kits dir doesn't exist, creating....");
kitsDir.mkdirs();
}
File[] files = kitsDir.listFiles();
if (files != null) {
for (File file : files) {
if (file.getName().endsWith(".json")) {
availableKits.add(file.getName().replace(".json", ""));
}
}
}
log.info("There are " + availableKits.size() + " kits available.");
// test stuff
Kit kit = new Kit("DefaultKit");
kit.addItem(0, new ItemBuilder(Material.STONE).name("Test Stone").build());
kit.addItem(1, new ItemBuilder(Material.DIAMOND_SWORD).enchantment(Enchantment.DAMAGE_ALL, 5).name(ChatColor.RED + "Cool sword").amount(2).build());
kit.addItem(2, new ItemBuilder(Material.LEATHER_BOOTS).enchantment(Enchantment.PROTECTION_EXPLOSIONS, 2).enchantment(Enchantment.PROTECTION_FALL, 5).name("Cool bots").amount(3).color(Color.RED).durability(10).lore("test").lore("Lore").build());
createKit(kit);
kit = loadKit("DefaultKit", new File(kitsDir, kit.getName() + ".json"));
System.out.println(kit);
}
项目:NetworkCore
文件:ValeUtil.java
public static void setVale(Player player, int amount) throws SQLException {
UUID uuid = player.getUniqueId();
PreparedStatement stmt = plugin.getDb().getConnection().prepareStatement("UPDATE vale_eco SET amount = "+amount+" WHERE uuid = '"+uuid.toString()+"'");
stmt.executeUpdate();
ItemStack item = new ItemStack(Material.EMERALD, 1);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(ChatColor.GREEN.toString() + getVale(player) + (getVale(player)==1?" Vale":" Vales"));
meta.addEnchant(Enchantment.LUCK, 1, true);
meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
item.setItemMeta(meta);
if(plugin.getConfig().getString("valeitemininv").equals("true")){
player.getInventory().setItem(8, item);
}
}
项目:VanillaPlus
文件:MinecraftUtils.java
public static ItemStack getRandomEnchant(List<Enchantment>enchants, int amount){
ItemStack result = new ItemStack(Material.ENCHANTED_BOOK);
List<Enchantment>left = new ArrayList<Enchantment>(enchants);
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) result.getItemMeta();
if(amount > left.size())
amount = left.size();
for(int i = 0 ; i < amount && !left.isEmpty() ; i++){
Enchantment e = VanillaPlusCore.getRandom(left);
left.remove(e);
int level = VanillaPlusCore.getRandom().nextInt(100);
level = level % (e.getMaxLevel()+1-e.getStartLevel())+e.getStartLevel();
meta.addStoredEnchant(e, level, false);
}
result.setItemMeta(meta);
return result;
}
项目:Arcadia-Spigot
文件:GameVotingRunnable.java
private void updateVoting(int slot) {
Bukkit.getOnlinePlayers().forEach(player -> {
ItemStack itemStack = player.getInventory().getItem(slot);
itemStack.setAmount(getVotes(slot));
if(votes.containsKey(player)) {
for(int i=2; i<7; i++) {
ItemStack temp = player.getInventory().getItem(i);
if(temp != null) {
if(temp.getType() != Material.AIR) {
if(slots.get(i) != votes.get(player)) {
if(temp.getEnchantments().containsKey(Enchantment.DURABILITY)) {
temp.removeEnchantment(Enchantment.DURABILITY);
}
player.getInventory().setItem(i, temp);
} else {
temp.addUnsafeEnchantment(Enchantment.DURABILITY, 1);
player.getInventory().setItem(i, temp);
}
}
}
}
}
});
}
项目:Slimefun4-Chinese-Version
文件:TalismanListener.java
/**
*
* @param e BlockBreakEvent
* @since 4.2.0
*/
@EventHandler
public void onBlockBreak(BlockBreakEvent e) {
List<ItemStack> drops = new ArrayList<ItemStack>();
ItemStack item = e.getPlayer().getInventory().getItemInMainHand();
int fortune = 1;
if (item != null) {
if (item.getEnchantments().containsKey(Enchantment.LOOT_BONUS_BLOCKS) && !item.getEnchantments().containsKey(Enchantment.SILK_TOUCH)) {
fortune = SlimefunStartup.randomize(item.getEnchantmentLevel(Enchantment.LOOT_BONUS_BLOCKS) + 2) - 1;
if (fortune <= 0) fortune = 1;
fortune = (e.getBlock().getType() == Material.LAPIS_ORE ? 4 + SlimefunStartup.randomize(5) : 1) * (fortune + 1);
}
if (!item.getEnchantments().containsKey(Enchantment.SILK_TOUCH) && e.getBlock().getType().toString().endsWith("_ORE")) {
if (Talisman.checkFor(e, SlimefunItem.getByID("MINER_TALISMAN"))) {
if (drops.isEmpty()) drops = (List<ItemStack>) e.getBlock().getDrops();
for (ItemStack drop : new ArrayList<ItemStack>(drops)) {
if (!drop.getType().isBlock()) drops.add(new CustomItem(drop, fortune * 2));
}
}
}
}
}
项目:SparseBukkitAPI
文件:ItemBuilder.java
/**
* Applies the provided enchantment to the item.
* @param enchantment
* @param level
* @return this
*/
public ItemBuilder enchant(Enchantment enchantment, int level)
{
if(enchantment == null)
return this;
if(level <= 0)
{
enchantments.remove(enchantment);
return this;
}
if(enchantments == null)
enchantments = new HashMap<>();
enchantments.put(enchantment, level);
return this;
}
项目:HCFCore
文件:ExpMultiplierListener.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onPlayerFish(PlayerFishEvent event) {
double amount = event.getExpToDrop();
if (amount > 0) {
amount = Math.ceil(amount * SettingsYML.EXP_MULTIPLIER_FISHING);
ProjectileSource projectileSource = event.getHook().getShooter();
if (projectileSource instanceof Player) {
ItemStack stack = ((Player) projectileSource).getItemInHand();
int enchantmentLevel = stack.getEnchantmentLevel(Enchantment.LUCK);
if (enchantmentLevel > 0L) {
amount = Math.ceil(amount * (enchantmentLevel * SettingsYML.EXP_MULTIPLIER_LUCK_PER_LEVEL));
}
}
event.setExpToDrop((int) amount);
}
}
项目:AlphaLibary
文件:ItemBuilder.java
/**
* Get the final {@link ItemStack} with all the attributes you have been adding
*
* @return the {@link ItemStack} out of this {@link ItemBuilder}
*/
public ItemStack build() {
ItemStack s = new ItemStack(material);
s.setAmount(amount);
s.setDurability(damage);
ItemMeta m = s.getItemMeta();
for (ItemFlag iflag : itemflags)
m.addItemFlags(iflag);
m.setDisplayName(name);
m.setLore(lore);
s.setItemMeta(m);
for (Map.Entry<Enchantment, Integer> temp : enchantments.entrySet())
s.addUnsafeEnchantment(temp.getKey(), temp.getValue());
for (ItemData id : getAllData())
try {
id.applyOn(s);
} catch (WrongDataException e) {
e.printStackTrace();
}
return s;
}
项目:OMGPI
文件:Inventories.java
/**
* Copy an inventory and open it for player
*
* @param i Inventory to open
* @param p Player that needs the inventory
*/
public static void openFakeInv(Inventory i, OMGPlayer p) {
Inventory fake = Bukkit.createInventory(p.bukkit, i.getSize(), i.getTitle());
for (int slot = 0; slot < i.getContents().length; slot++) {
ItemStack e = i.getContents()[slot];
if (e != null) {
e = e.clone();
ItemMeta im = e.getItemMeta();
im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
im.addItemFlags(ItemFlag.HIDE_ENCHANTS);
if ((NBTParser.getTagCompound(e).hasKey("kitid") && NBTParser.getTagCompound(e).getString("kitid").equals(p.kit.name)) || (NBTParser.getTagCompound(e).hasKey("teamid") && NBTParser.getTagCompound(e).getString("teamid").equals(p.requestedTeam.id)))
im.addEnchant(Enchantment.DURABILITY, 1, true);
if (NBTParser.getTagCompound(e).hasKey("kitid")) {
ItemStack finalE = e;
OMGKit.kits.stream().filter(k -> k.getName().equals(NBTParser.getTagCompound(finalE).getString("kitid"))).forEach(k -> {
List<String> ss = im.hasLore() ? im.getLore() : new ArrayList<>();
ss.add(ChatColor.GREEN + "Can use: " + (OMGPI.g.player_hasKit(p, k) ? (ChatColor.GREEN + "YES") : (ChatColor.RED + "NO")));
im.setLore(ss);
});
}
e.setItemMeta(im);
fake.setItem(slot, e);
}
}
p.bukkit.openInventory(fake);
}
项目:WC
文件:Balfichas.java
private void initInv(String name){
balanceFichas = Bukkit.createInventory(null, 9, ChatColor.AQUA + "Fichas");
String cf1 = files.getDouble(name + "." + "FICHA_1") + " fichas";
String cf2 = files.getDouble(name + "." + "FICHA_10") + " fichas";
String cf3 = files.getDouble(name + "." + "FICHA_50") + " fichas";
String cf4 = files.getDouble(name + "." + "FICHA_100") + " fichas";
String cf5 = files.getDouble(name + "." + "FICHA_200") + " fichas";
String cf6 = files.getDouble(name + "." + "FICHA_500") + " fichas";
String cf7 = files.getDouble(name + "." + "BASURA_1") + " fichas";
String cf8 = files.getDouble(name + "." + "BASURA_2") + " fichas";
String cf9 = files.getDouble(name + "." + "BASURA_3") + " fichas";
balanceFichas.setItem(0, new ItemMaker(Material.WOOL).setDisplayName(ChatColor.WHITE + "Ficha " + ChatColor.GREEN + "1$").setLores(ChatColor.GREEN + cf1).setDurability(f1).addUnsafeEnchant(Enchantment.ARROW_INFINITE, 1).build());
balanceFichas.setItem(1, new ItemMaker(Material.WOOL).setDisplayName(ChatColor.WHITE + "Ficha " + ChatColor.AQUA + "10$").setLores(ChatColor.GREEN + cf2).setDurability(f2).addUnsafeEnchant(Enchantment.ARROW_INFINITE, 1).build());
balanceFichas.setItem(2, new ItemMaker(Material.WOOL).setDisplayName(ChatColor.WHITE + "Ficha " + ChatColor.GOLD + "50$").setLores(ChatColor.GREEN + cf3).setDurability(f3).addUnsafeEnchant(Enchantment.ARROW_INFINITE, 1).build());
balanceFichas.setItem(3, new ItemMaker(Material.WOOL).setDisplayName(ChatColor.WHITE + "Ficha " + ChatColor.YELLOW + "100$").setLores(ChatColor.GREEN + cf4).setDurability(f4).addUnsafeEnchant(Enchantment.ARROW_INFINITE, 1).build());
balanceFichas.setItem(4, new ItemMaker(Material.WOOL).setDisplayName(ChatColor.WHITE + "Ficha " + ChatColor.RED + "200$").setLores(ChatColor.GREEN + cf5).setDurability(f5).addUnsafeEnchant(Enchantment.ARROW_INFINITE, 1).build());
balanceFichas.setItem(5, new ItemMaker(Material.WOOL).setDisplayName(ChatColor.WHITE + "Ficha " + ChatColor.GRAY + "500$").setLores(ChatColor.GREEN + cf6).setDurability(f6).addUnsafeEnchant(Enchantment.ARROW_INFINITE, 1).build());
balanceFichas.setItem(6, new ItemMaker(Material.ROTTEN_FLESH).setDisplayName(ChatColor.LIGHT_PURPLE + "Carne Podrida").setLores(ChatColor.GREEN + cf7).addUnsafeEnchant(Enchantment.ARROW_INFINITE, 1).build());
balanceFichas.setItem(7, new ItemMaker(Material.STRING).setDisplayName(ChatColor.LIGHT_PURPLE + "Cuerda").setLores(ChatColor.GREEN + cf8).addUnsafeEnchant(Enchantment.ARROW_INFINITE, 1).build());
balanceFichas.setItem(8, new ItemMaker(Material.DIRT).setDisplayName(ChatColor.LIGHT_PURPLE + "Tierra").setLores(ChatColor.GREEN + cf9).addUnsafeEnchant(Enchantment.ARROW_INFINITE, 1).build());
}
项目:FactionsXL
文件:DemandMenu.java
public static ItemStack formButton(Faction faction, Resource resource) {
ItemStack icon = resource.getIcon();
ItemMeta meta = icon.getItemMeta();
SaturationLevel level = faction.isResourceSaturated(resource);
if (level == SaturationLevel.SURPLUS) {
meta.addEnchant(Enchantment.LUCK, 1, true);
meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
}
meta.setDisplayName(level.getColor() + resource.getName());
ArrayList<String> lore = new ArrayList<>();
lore.add(ProgressBar.getBar((double) faction.getSaturatedResources().get(resource)));
lore.add(level.getColor().toString() + faction.getSaturatedResources().get(resource) + "%");
String population = String.valueOf(faction.getPopulation());
String units = String.valueOf(faction.getDemand(resource));
lore.add(FMessage.POPULATION_REQUIRED.getMessage(population, units, resource.getName()));
lore.add(FMessage.POPULATION_GRANTING1.getMessage());
lore.add(FMessage.POPULATION_GRANTING2.getMessage(String.valueOf(faction.getConsumableResources().get(resource)), resource.getName()));
meta.setLore(lore);
icon.setItemMeta(meta);
return icon;
}
项目:HCFCore
文件:EnchantLimitListener.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onEnchantItem(EnchantItemEvent event) {
Map<Enchantment, Integer> adding = event.getEnchantsToAdd();
Iterator<Map.Entry<Enchantment, Integer>> iterator = adding.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Enchantment, Integer> entry = iterator.next();
Enchantment enchantment = entry.getKey();
int maxLevel = getMaxLevel(enchantment);
if (entry.getValue() > maxLevel) {
if (maxLevel > 0) {
adding.put(enchantment, maxLevel);
} else {
iterator.remove();
}
}
}
}
项目:DynamicAC
文件:Utilities.java
public static long calcSurvivalFastBreak(ItemStack tool, Material block) {
if (isInstantBreak(block) || (tool.getType() == Material.SHEARS && block == Material.LEAVES)) {
return 0;
}
double bhardness = BlockHardness.getBlockHardness(block);
double thardness = ToolHardness.getToolHardness(tool.getType());
long enchantlvl = (long) tool.getEnchantmentLevel(Enchantment.DIG_SPEED);
long result = Math.round((bhardness * thardness) * 0.10 * 10000);
if (enchantlvl > 0) {
result /= enchantlvl * enchantlvl + 1L;
}
result = result > 25000 ? 25000 : result < 0 ? 0 : result;
if (isQuickCombo(tool, block)) {
result = result / 2;
}
return result;
}
项目:ProjectAres
文件:GlobalItemParser.java
public Map<Enchantment, Integer> parseEnchantments(Element el, String name) throws InvalidXMLException {
Map<Enchantment, Integer> enchantments = Maps.newHashMap();
Node attr = Node.fromAttr(el, name, StringUtils.pluralize(name));
if(attr != null) {
Iterable<String> enchantmentTexts = Splitter.on(";").split(attr.getValue());
for(String enchantmentText : enchantmentTexts) {
int level = 1;
List<String> parts = Lists.newArrayList(Splitter.on(":").limit(2).split(enchantmentText));
Enchantment enchant = XMLUtils.parseEnchantment(attr, parts.get(0));
if(parts.size() > 1) {
level = XMLUtils.parseNumber(attr, parts.get(1), Integer.class);
}
enchantments.put(enchant, level);
}
}
for(Element elEnchantment : el.getChildren(name)) {
Pair<Enchantment, Integer> entry = parseEnchantment(elEnchantment);
enchantments.put(entry.first, entry.second);
}
return enchantments;
}
项目:prisonPicks
文件:EventTest.java
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
//Tool Stubbs
doReturn(0).when(tool).getEnchantmentLevel(Enchantment.LOOT_BONUS_BLOCKS);
doReturn(Material.DIAMOND_PICKAXE).when(tool).getType();
doReturn((short) 0).when(tool).getDurability();
doReturn(true).when(tool).hasItemMeta();
doReturn(itemMeta).when(tool).getItemMeta();
doReturn(tool).when(inventory).getItemInMainHand();
doReturn(inventory).when(player).getInventory();
doReturn(true).when(tool).hasItemMeta();
doReturn(itemMeta).when(tool).getItemMeta();
when(tool.getDurability()).thenReturn((short) 5);
lore = new ArrayList<String>();
lore.add(ChatColor.GOLD + "Explosive I");
doReturn(lore).when(itemMeta).getLore();
doReturn(true).when(itemMeta).hasLore();
}
项目:DoubleRunner
文件:DoubleRunnerGameLoop.java
@EventHandler
public void onCraftItem(CraftItemEvent event)
{
if (event.getRecipe().getResult().getType() == Material.DIAMOND_PICKAXE)
{
ItemStack pickaxe = new ItemStack(Material.DIAMOND_PICKAXE, 1);
pickaxe.addEnchantment(Enchantment.DIG_SPEED, 3);
event.getInventory().setResult(pickaxe);
this.plugin.getServer().getScheduler().runTaskLater(this.plugin, () ->
{
for (ItemStack stack : event.getWhoClicked().getInventory().getContents())
if (stack != null && stack.getType() == Material.DIAMOND_PICKAXE && !stack.containsEnchantment(Enchantment.DIG_SPEED))
stack.addEnchantment(Enchantment.DIG_SPEED, 3);
}, 5L);
}
}
项目:BedwarsXP
文件:XPItemShop.java
private void addCategoriesToInventory(Inventory inventory, Player player) {
for (MerchantCategory category : this.categories) {
if (category.getMaterial() == null) {
Main.getInstance()
.getServer()
.getConsoleSender()
.sendMessage(
ChatWriter
.pluginMessage(ChatColor.RED
+ "Careful: Not supported material in shop category '"
+ category.getName() + "'"));
} else if ((player == null)
|| (player.hasPermission(category.getPermission()))) {
ItemStack is = new ItemStack(category.getMaterial(), 1);
ItemMeta im = is.getItemMeta();
if ((this.currentCategory != null)
&& (this.currentCategory.equals(category))) {
im.addEnchant(Enchantment.DAMAGE_ALL, 1, true);
}
im.setDisplayName(category.getName());
im.setLore(category.getLores());
is.setItemMeta(im);
inventory.addItem(new ItemStack[] { is });
}
}
}
项目:FlexMC
文件:FlexItemMeta.java
@Override
public Map<Enchantment, Integer> getEnchants() {
Map<Enchantment, Integer> map = new HashMap<>();
this.enchantments.forEachEntry( new TObjectIntProcedure<Enchantment>() {
@Override
public boolean execute( Enchantment enchantment, int i ) {
map.put( enchantment, i );
return true;
}
} );
return map;
}
项目:InventoryAPI
文件:ItemBuilder.java
/**
* Adds an unsafe enchantment
* @param e the {@link Enchantment} to be added
* @param val the Enchantment's level
* @return this ItemBuilder
*/
public ItemBuilder enchant( Enchantment e, int val){
Validate.notNull( e , "Enchantment is null");
Validate.notNull( val , "Enchantment Level is null");
item.addUnsafeEnchantment( e, val );
return this;
}
项目:uppercore
文件:CustomItem.java
public void processMeta(Player player, ItemMeta meta) {
if (displayName != null)
meta.setDisplayName(displayName.resolve(player, placeholders));
meta.setLore(lore.stream().map(m -> m.resolve(player, placeholders)).collect(Collectors.toList()));
meta.addItemFlags(flags.toArray(new ItemFlag[0]));
for (Map.Entry<Enchantment, PlaceholderValue<Integer>> ench : enchantments.entrySet())
meta.addEnchant(ench.getKey(), ench.getValue().resolve(player), true);
}
项目:KingdomFactions
文件:Item.java
public ItemStack getItem(Material m, String name, int amount, HashMap<Enchantment, Integer> enchantments, boolean showEnchantments) {
ItemStack i = new ItemStack(m, amount);
ItemMeta im = i.getItemMeta();
for(Enchantment e : enchantments.keySet()) {
im.addEnchant(e, enchantments.get(e), true);
}
if (!showEnchantments) {
im.addItemFlags(ItemFlag.HIDE_ENCHANTS);
}
im.setDisplayName(name);
i.setItemMeta(im);
return i;
}
项目:PA
文件:Archer.java
public void setItems(Player p) {
p.getInventory().setItem(0, new ItemMaker(Material.BOW).addEnchant(Enchantment.ARROW_INFINITE, 1).setUnbreakable().build());
p.getInventory().setItem(4, new ItemMaker(Material.POTION).setDisplayName("Guerrillero").build());
p.getInventory().setItem(5, new ItemMaker(Material.SOUL_SAND).setDisplayName("Cadenas").build());
p.getInventory().setItem(8, new ItemMaker(Material.BLAZE_POWDER).setDisplayName("Fenix").build());
p.getInventory().setItem(9, new ItemMaker(Material.ARROW).build());
p.getInventory().setHelmet(new ItemMaker(Material.CHAINMAIL_HELMET).build());
p.getInventory().setChestplate(new ItemMaker(Material.CHAINMAIL_CHESTPLATE).build());
p.getInventory().setLeggings(new ItemMaker(Material.CHAINMAIL_LEGGINGS).build());
p.getInventory().setBoots(new ItemMaker(Material.CHAINMAIL_BOOTS).build());
}
项目:Warzone
文件:ItemFactory.java
public static ItemStack createItem(Material material, String name, List<String> lore, List<Enchantment> enchantments) {
ItemStack itemStack = createItem(material, name, lore);
for (Enchantment enchantment : enchantments) {
if (itemStack.getEnchantments().containsKey(enchantment)) {
itemStack.getEnchantments().put(enchantment, itemStack.getEnchantmentLevel(enchantment));
} else {
itemStack.getEnchantments().put(enchantment, 1);
}
}
return itemStack;
}
项目:Warzone
文件:ItemFactory.java
public static ItemStack createItem(Material material, List<Enchantment> enchantments) {
ItemStack itemStack = createItem(material);
for (Enchantment enchantment : enchantments) {
if (itemStack.getEnchantments().containsKey(enchantment)) {
itemStack.getEnchantments().put(enchantment, itemStack.getEnchantmentLevel(enchantment));
} else {
itemStack.addEnchantment(enchantment, 1);
}
}
return itemStack;
}
项目:Uranium
文件:CraftItemStack.java
@Override
public int getEnchantmentLevel(Enchantment ench) {
Validate.notNull(ench, "Cannot find null enchantment");
if (handle == null) {
return 0;
}
return net.minecraft.enchantment.EnchantmentHelper.getEnchantmentLevel(ench.getId(), handle);
}
项目:HCFCore
文件:FoundDiamondsListener.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onBlockBreak(final BlockBreakEvent event) {
final Player player = event.getPlayer();
if(player.getGameMode() == GameMode.CREATIVE) {
return;
}
if(player.getItemInHand().getEnchantments().containsKey(Enchantment.SILK_TOUCH)) return;;
final Block block = event.getBlock();
final Location blockLocation = block.getLocation();
if(block.getType() == FoundDiamondsListener.SEARCH_TYPE && this.foundLocations.add(blockLocation.toString())) {
int count = 1;
for(int x = -5; x < 5; ++x) {
for(int y = -5; y < 5; ++y) {
for(int z = -5; z < 5; ++z) {
final Block otherBlock = blockLocation.clone().add((double) x, (double) y, (double) z).getBlock();
if(!otherBlock.equals(block) && otherBlock.getType() == FoundDiamondsListener.SEARCH_TYPE && this.foundLocations.add(otherBlock.getLocation().toString())) {
++count;
}
}
}
}
String message;
for(Player on : Bukkit.getOnlinePlayers()) {
if(plugin.getFactionManager().getPlayerFaction(player.getUniqueId()) != null) {
message = plugin.getFactionManager().getPlayerFaction(player.getUniqueId()).getRelation(on).toChatColour() + player.getName() + ChatColor.GRAY + " has found " + ChatColor.AQUA + count + ChatColor.GRAY + " diamond(s).";
on.sendMessage(message);
}else{
message = ChatColor.AQUA + "[" + ChatColor.GRAY + "♠" + ChatColor.AQUA + "]" + ChatColor.GRAY + " " + ChatColor.AQUA + player.getName() + ChatColor.GRAY + " has just spotted " + ChatColor.BLUE + count + ChatColor.GRAY +" diamonds!";
on.sendMessage(message);
}
}
}
}
项目:MCLibrary
文件:ItemBuilder.java
public ItemBuilder enchant(Object... args) {
metaProcessors.add(meta ->
new VarargsParser(args).parse(section ->
meta.addEnchant(
section.<Enchantment>get(0),
section.<Integer>get(1),
false
)));
return this;
}
项目:KingdomFactions
文件:ShopItem.java
private void addEnchantments(String enchantments, String level, ItemStack is) {
try {
if (enchantments == null || level == null)
return;
ArrayList<String> enchants = new ArrayList<String>(Arrays.asList(enchantments.split("!")));
ArrayList<String> levels = new ArrayList<String>(Arrays.asList(level.split("!")));
if (enchantments.isEmpty())
return;
for (int i = 0; i < enchants.size(); i++) {
if (!enchants.get(i).equalsIgnoreCase(" ") && !enchants.get(i).equalsIgnoreCase("")) {
if (is.getType() == Material.ENCHANTED_BOOK) {
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) is.getItemMeta();
meta.addStoredEnchant(Enchantment.getByName(enchants.get(i)), Integer.parseInt(levels.get(i)), true);
is.setItemMeta(meta);
} else
is.addEnchantment(Enchantment.getByName(enchants.get(i)), Integer.parseInt(levels.get(i)));
}
}
enchants.clear();
levels.clear();
} catch(Exception e) {
if(e instanceof java.lang.IllegalArgumentException) {
Logger.ERROR.log("couldn't add enchantment " + enchantments + " level " + level + " to " + is.getType().toString());
Logger.ERROR.log("Cause: java.lang.IllegalArgumentException");
} else {
e.printStackTrace();
}
}
}
项目:PA
文件:PlayerEvents.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onConsume(PlayerInteractEvent e) {
SurvivalUser u = PASurvival.getPlayer(e.getPlayer());
if (e.getItem() == null) return;
if (e.getItem().getType() == Material.BREAD && e.getItem().hasItemMeta()) {
if (e.getItem().getEnchantments().keySet().contains(Enchantment.ARROW_DAMAGE)) {
String name = ChatColor.stripColor(e.getItem().getItemMeta().getDisplayName());
ItemStack i = u.getPlayer().getInventory().getItemInMainHand();
if (u.getPlayer().getFoodLevel() >= 20) return;
if (name.equalsIgnoreCase("Bocadillo de Jamón")) {
if (u.getPlayer().getFoodLevel() + 5 > 20) {
u.getPlayer().setFoodLevel(20);
} else {
u.getPlayer().setFoodLevel(u.getPlayer().getFoodLevel() + 5);
}
u.getPlayer().setSaturation(3F);
i.setAmount(i.getAmount() - 1);
u.getPlayer().getInventory().setItemInMainHand(i);
}
if (name.equalsIgnoreCase("Hamburguesa Artesana")) {
if (u.getPlayer().getFoodLevel() + 6 > 20) {
u.getPlayer().setFoodLevel(20);
} else {
u.getPlayer().setFoodLevel(u.getPlayer().getFoodLevel() + 6);
}
u.getPlayer().setSaturation(4F);
i.setAmount(i.getAmount() - 1);
u.getPlayer().getInventory().setItemInMainHand(i);
}
}
}
}
项目:HCFCore
文件:AutoSmeltOreListener.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onBlockBreak(final BlockBreakEvent event) {
Player player = event.getPlayer();
if (player.getGameMode() != GameMode.CREATIVE) {
if (player.hasPermission("hcf.listener.autosmeltore")) {
ItemStack stack = player.getItemInHand();
if (stack != null && stack.getType() != Material.AIR
&& !stack.containsEnchantment(Enchantment.SILK_TOUCH)) {
Block block = event.getBlock();
Material dropType = null;
switch (block.getType()) {
case IRON_ORE: {
dropType = Material.IRON_INGOT;
break;
}
case GOLD_ORE: {
dropType = Material.GOLD_INGOT;
break;
}
default: {
return;
}
}
Location location = block.getLocation();
World world = location.getWorld();
ItemStack drop = new ItemStack(dropType, 1);
world.dropItemNaturally(location, drop);
block.setType(Material.AIR);
block.getState().update();
}
}
}
}