forked from Upstream/mmocore
API Update
added a few events + a new exp source enum for the exp gain event
This commit is contained in:
parent
b9b9a35471
commit
168d4a46b5
@ -0,0 +1,42 @@
|
|||||||
|
package net.Indyuce.mmocore.api.event;
|
||||||
|
|
||||||
|
import org.bukkit.event.Cancellable;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
|
|
||||||
|
public class MMOCommandEvent extends PlayerDataEvent implements Cancellable {
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
private boolean cancelled;
|
||||||
|
|
||||||
|
private final String command;
|
||||||
|
|
||||||
|
public MMOCommandEvent(PlayerData player, String command) {
|
||||||
|
super(player);
|
||||||
|
|
||||||
|
this.command = command;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCommand() {
|
||||||
|
return command;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HandlerList getHandlers() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isCancelled() {
|
||||||
|
return cancelled;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCancelled(boolean b) {
|
||||||
|
cancelled = b;
|
||||||
|
}
|
||||||
|
}
|
@ -3,6 +3,7 @@ package net.Indyuce.mmocore.api.event;
|
|||||||
import org.bukkit.event.Cancellable;
|
import org.bukkit.event.Cancellable;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.api.experience.EXPSource;
|
||||||
import net.Indyuce.mmocore.api.experience.Profession;
|
import net.Indyuce.mmocore.api.experience.Profession;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
|
|
||||||
@ -11,19 +12,21 @@ public class PlayerExperienceGainEvent extends PlayerDataEvent implements Cancel
|
|||||||
|
|
||||||
// if null, this is main experience
|
// if null, this is main experience
|
||||||
private final Profession profession;
|
private final Profession profession;
|
||||||
|
private final EXPSource source;
|
||||||
|
|
||||||
private int experience;
|
private int experience;
|
||||||
private boolean cancelled;
|
private boolean cancelled;
|
||||||
|
|
||||||
public PlayerExperienceGainEvent(PlayerData player, int experience) {
|
public PlayerExperienceGainEvent(PlayerData player, int experience, EXPSource source) {
|
||||||
this(player, null, experience);
|
this(player, null, experience, source);
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayerExperienceGainEvent(PlayerData player, Profession profession, int experience) {
|
public PlayerExperienceGainEvent(PlayerData player, Profession profession, int experience, EXPSource source) {
|
||||||
super(player);
|
super(player);
|
||||||
|
|
||||||
this.profession = profession;
|
this.profession = profession;
|
||||||
this.experience = experience;
|
this.experience = experience;
|
||||||
|
this.source = source;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getExperience() {
|
public int getExperience() {
|
||||||
@ -52,6 +55,10 @@ public class PlayerExperienceGainEvent extends PlayerDataEvent implements Cancel
|
|||||||
return profession;
|
return profession;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public EXPSource getSource() {
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HandlerList getHandlers() {
|
public HandlerList getHandlers() {
|
||||||
return handlers;
|
return handlers;
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
package net.Indyuce.mmocore.api.experience;
|
||||||
|
|
||||||
|
public enum EXPSource {
|
||||||
|
COMMAND,
|
||||||
|
VANILLA,
|
||||||
|
QUEST,
|
||||||
|
SOURCE,
|
||||||
|
OTHER;
|
||||||
|
}
|
@ -2,6 +2,7 @@ package net.Indyuce.mmocore.api.experience.source.type;
|
|||||||
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.api.experience.EXPSource;
|
||||||
import net.Indyuce.mmocore.api.experience.Profession;
|
import net.Indyuce.mmocore.api.experience.Profession;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.api.player.profess.PlayerClass;
|
import net.Indyuce.mmocore.api.player.profess.PlayerClass;
|
||||||
@ -48,6 +49,6 @@ public abstract class ExperienceSource<T> {
|
|||||||
if (hasProfession())
|
if (hasProfession())
|
||||||
player.getCollectionSkills().giveExperience(profession, amount, location == null ? player.getPlayer().getLocation() : location);
|
player.getCollectionSkills().giveExperience(profession, amount, location == null ? player.getPlayer().getLocation() : location);
|
||||||
else
|
else
|
||||||
player.giveExperience(amount, location == null ? player.getPlayer().getLocation() : location);
|
player.giveExperience(amount, location == null ? player.getPlayer().getLocation() : location, EXPSource.SOURCE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,7 @@ import net.Indyuce.mmocore.api.event.PlayerCastSkillEvent;
|
|||||||
import net.Indyuce.mmocore.api.event.PlayerExperienceGainEvent;
|
import net.Indyuce.mmocore.api.event.PlayerExperienceGainEvent;
|
||||||
import net.Indyuce.mmocore.api.event.PlayerLevelUpEvent;
|
import net.Indyuce.mmocore.api.event.PlayerLevelUpEvent;
|
||||||
import net.Indyuce.mmocore.api.event.PlayerRegenResourceEvent;
|
import net.Indyuce.mmocore.api.event.PlayerRegenResourceEvent;
|
||||||
|
import net.Indyuce.mmocore.api.experience.EXPSource;
|
||||||
import net.Indyuce.mmocore.api.experience.PlayerProfessions;
|
import net.Indyuce.mmocore.api.experience.PlayerProfessions;
|
||||||
import net.Indyuce.mmocore.api.player.attribute.PlayerAttribute;
|
import net.Indyuce.mmocore.api.player.attribute.PlayerAttribute;
|
||||||
import net.Indyuce.mmocore.api.player.attribute.PlayerAttributes;
|
import net.Indyuce.mmocore.api.player.attribute.PlayerAttributes;
|
||||||
@ -245,11 +246,11 @@ public class PlayerData extends OfflinePlayerData {
|
|||||||
getStats().updateStats();
|
getStats().updateStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void giveLevels(int value) {
|
public void giveLevels(int value, EXPSource source) {
|
||||||
int total = 0;
|
int total = 0;
|
||||||
while (value-- > 0)
|
while (value-- > 0)
|
||||||
total += getProfess().getExpCurve().getExperience(getLevel() + value + 1);
|
total += getProfess().getExpCurve().getExperience(getLevel() + value + 1);
|
||||||
giveExperience(total);
|
giveExperience(total, source);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setExperience(int value) {
|
public void setExperience(int value) {
|
||||||
@ -422,11 +423,11 @@ public class PlayerData extends OfflinePlayerData {
|
|||||||
return getProfess().getMaxLevel() > 0 && getLevel() >= getProfess().getMaxLevel();
|
return getProfess().getMaxLevel() > 0 && getLevel() >= getProfess().getMaxLevel();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void giveExperience(int value) {
|
public void giveExperience(int value, EXPSource source) {
|
||||||
giveExperience(value, null);
|
giveExperience(value, null, source);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void giveExperience(int value, Location loc) {
|
public void giveExperience(int value, Location loc, EXPSource source) {
|
||||||
if (hasReachedMaxLevel()) {
|
if (hasReachedMaxLevel()) {
|
||||||
setExperience(0);
|
setExperience(0);
|
||||||
return;
|
return;
|
||||||
@ -441,7 +442,7 @@ public class PlayerData extends OfflinePlayerData {
|
|||||||
value = MMOCore.plugin.boosterManager.calculateExp(null, value);
|
value = MMOCore.plugin.boosterManager.calculateExp(null, value);
|
||||||
value *= 1 + getStats().getStat(StatType.ADDITIONAL_EXPERIENCE) / 100;
|
value *= 1 + getStats().getStat(StatType.ADDITIONAL_EXPERIENCE) / 100;
|
||||||
|
|
||||||
PlayerExperienceGainEvent event = new PlayerExperienceGainEvent(this, value);
|
PlayerExperienceGainEvent event = new PlayerExperienceGainEvent(this, value, source);
|
||||||
Bukkit.getPluginManager().callEvent(event);
|
Bukkit.getPluginManager().callEvent(event);
|
||||||
if (event.isCancelled())
|
if (event.isCancelled())
|
||||||
return;
|
return;
|
||||||
|
@ -3,6 +3,7 @@ package net.Indyuce.mmocore.api.quest.trigger;
|
|||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
|
|
||||||
import net.Indyuce.mmocore.MMOCore;
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
|
import net.Indyuce.mmocore.api.experience.EXPSource;
|
||||||
import net.Indyuce.mmocore.api.experience.ExperienceInfo;
|
import net.Indyuce.mmocore.api.experience.ExperienceInfo;
|
||||||
import net.Indyuce.mmocore.api.experience.Profession;
|
import net.Indyuce.mmocore.api.experience.Profession;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
@ -29,7 +30,7 @@ public class ExperienceTrigger extends Trigger {
|
|||||||
@Override
|
@Override
|
||||||
public void apply(PlayerData player) {
|
public void apply(PlayerData player) {
|
||||||
if (profession == null)
|
if (profession == null)
|
||||||
player.giveExperience(amount.calculateInt());
|
player.giveExperience(amount.calculateInt(), EXPSource.QUEST);
|
||||||
else
|
else
|
||||||
player.getCollectionSkills().giveExperience(profession, amount.calculateInt());
|
player.getCollectionSkills().giveExperience(profession, amount.calculateInt());
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
package net.Indyuce.mmocore.command;
|
package net.Indyuce.mmocore.command;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.defaults.BukkitCommand;
|
import org.bukkit.command.defaults.BukkitCommand;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.api.event.MMOCommandEvent;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.manager.InventoryManager;
|
import net.Indyuce.mmocore.manager.InventoryManager;
|
||||||
|
|
||||||
@ -24,7 +26,10 @@ public class AttributesCommand extends BukkitCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
InventoryManager.ATTRIBUTE_VIEW.newInventory(PlayerData.get((Player) sender)).open();
|
PlayerData data = PlayerData.get((Player) sender);
|
||||||
|
MMOCommandEvent event = new MMOCommandEvent(data, "attributes");
|
||||||
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||||
|
if(!event.isCancelled()) InventoryManager.ATTRIBUTE_VIEW.newInventory(data).open();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import org.bukkit.command.defaults.BukkitCommand;
|
|||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.api.event.MMOCommandEvent;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.manager.InventoryManager;
|
import net.Indyuce.mmocore.manager.InventoryManager;
|
||||||
|
|
||||||
@ -30,6 +31,9 @@ public class ClassCommand extends BukkitCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
PlayerData data = PlayerData.get(player);
|
PlayerData data = PlayerData.get(player);
|
||||||
|
MMOCommandEvent event = new MMOCommandEvent(data, "class");
|
||||||
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||||
|
if(event.isCancelled()) return true;
|
||||||
if (data.getProfess().getSubclasses().stream().filter(sub -> sub.getLevel() <= data.getLevel()).count() > 0)
|
if (data.getProfess().getSubclasses().stream().filter(sub -> sub.getLevel() <= data.getLevel()).count() > 0)
|
||||||
InventoryManager.SUBCLASS_SELECT.newInventory(data).open();
|
InventoryManager.SUBCLASS_SELECT.newInventory(data).open();
|
||||||
else
|
else
|
||||||
|
@ -2,6 +2,7 @@ package net.Indyuce.mmocore.command;
|
|||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.defaults.BukkitCommand;
|
import org.bukkit.command.defaults.BukkitCommand;
|
||||||
@ -9,6 +10,7 @@ import org.bukkit.configuration.ConfigurationSection;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import net.Indyuce.mmocore.MMOCore;
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
|
import net.Indyuce.mmocore.api.event.MMOCommandEvent;
|
||||||
import net.Indyuce.mmocore.api.player.OfflinePlayerData;
|
import net.Indyuce.mmocore.api.player.OfflinePlayerData;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.api.player.social.FriendRequest;
|
import net.Indyuce.mmocore.api.player.social.FriendRequest;
|
||||||
@ -30,6 +32,11 @@ public class FriendsCommand extends BukkitCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PlayerData data = PlayerData.get((Player) sender);
|
||||||
|
MMOCommandEvent event = new MMOCommandEvent(data, "friends");
|
||||||
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||||
|
if(event.isCancelled()) return true;
|
||||||
|
|
||||||
if (args.length > 1) {
|
if (args.length > 1) {
|
||||||
UUID uuid;
|
UUID uuid;
|
||||||
try {
|
try {
|
||||||
@ -59,7 +66,7 @@ public class FriendsCommand extends BukkitCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
InventoryManager.FRIEND_LIST.newInventory(PlayerData.get((Player) sender)).open();
|
InventoryManager.FRIEND_LIST.newInventory(data).open();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package net.Indyuce.mmocore.command;
|
|||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -10,6 +11,7 @@ import org.bukkit.configuration.ConfigurationSection;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import net.Indyuce.mmocore.MMOCore;
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
|
import net.Indyuce.mmocore.api.event.MMOCommandEvent;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.api.player.social.Request;
|
import net.Indyuce.mmocore.api.player.social.Request;
|
||||||
import net.Indyuce.mmocore.api.player.social.guilds.GuildInvite;
|
import net.Indyuce.mmocore.api.player.social.guilds.GuildInvite;
|
||||||
@ -31,6 +33,11 @@ public class GuildCommand extends BukkitCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PlayerData data = PlayerData.get((OfflinePlayer) sender);
|
||||||
|
MMOCommandEvent event = new MMOCommandEvent(data, "guild");
|
||||||
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||||
|
if(event.isCancelled()) return true;
|
||||||
|
|
||||||
if (args.length > 1) {
|
if (args.length > 1) {
|
||||||
UUID uuid;
|
UUID uuid;
|
||||||
try {
|
try {
|
||||||
@ -60,7 +67,6 @@ public class GuildCommand extends BukkitCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
PlayerData data = PlayerData.get((OfflinePlayer) sender);
|
|
||||||
if (data.inGuild())
|
if (data.inGuild())
|
||||||
InventoryManager.GUILD_VIEW.newInventory(data).open();
|
InventoryManager.GUILD_VIEW.newInventory(data).open();
|
||||||
else
|
else
|
||||||
|
@ -2,6 +2,7 @@ package net.Indyuce.mmocore.command;
|
|||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -10,6 +11,7 @@ import org.bukkit.configuration.ConfigurationSection;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import net.Indyuce.mmocore.MMOCore;
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
|
import net.Indyuce.mmocore.api.event.MMOCommandEvent;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.api.player.social.PartyInvite;
|
import net.Indyuce.mmocore.api.player.social.PartyInvite;
|
||||||
import net.Indyuce.mmocore.api.player.social.Request;
|
import net.Indyuce.mmocore.api.player.social.Request;
|
||||||
@ -31,6 +33,11 @@ public class PartyCommand extends BukkitCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PlayerData data = PlayerData.get((OfflinePlayer) sender);
|
||||||
|
MMOCommandEvent event = new MMOCommandEvent(data, "party");
|
||||||
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||||
|
if(event.isCancelled()) return true;
|
||||||
|
|
||||||
if (args.length > 1) {
|
if (args.length > 1) {
|
||||||
UUID uuid;
|
UUID uuid;
|
||||||
try {
|
try {
|
||||||
@ -60,7 +67,6 @@ public class PartyCommand extends BukkitCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
PlayerData data = PlayerData.get((OfflinePlayer) sender);
|
|
||||||
if (data.hasParty())
|
if (data.hasParty())
|
||||||
InventoryManager.PARTY_VIEW.newInventory(data).open();
|
InventoryManager.PARTY_VIEW.newInventory(data).open();
|
||||||
else
|
else
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
package net.Indyuce.mmocore.command;
|
package net.Indyuce.mmocore.command;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.defaults.BukkitCommand;
|
import org.bukkit.command.defaults.BukkitCommand;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.api.event.MMOCommandEvent;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.manager.InventoryManager;
|
import net.Indyuce.mmocore.manager.InventoryManager;
|
||||||
|
|
||||||
@ -24,7 +26,10 @@ public class PlayerStatsCommand extends BukkitCommand {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
InventoryManager.PLAYER_STATS.newInventory(PlayerData.get((Player) sender)).open();
|
PlayerData data = PlayerData.get((Player) sender);
|
||||||
|
MMOCommandEvent event = new MMOCommandEvent(data, "profile");
|
||||||
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||||
|
if(!event.isCancelled()) InventoryManager.PLAYER_STATS.newInventory(data).open();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
package net.Indyuce.mmocore.command;
|
package net.Indyuce.mmocore.command;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.defaults.BukkitCommand;
|
import org.bukkit.command.defaults.BukkitCommand;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.api.event.MMOCommandEvent;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.manager.InventoryManager;
|
import net.Indyuce.mmocore.manager.InventoryManager;
|
||||||
|
|
||||||
@ -18,8 +20,12 @@ public class QuestsCommand extends BukkitCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean execute(CommandSender sender, String label, String[] args) {
|
public boolean execute(CommandSender sender, String label, String[] args) {
|
||||||
if (sender instanceof Player)
|
if (sender instanceof Player) {
|
||||||
InventoryManager.QUEST_LIST.newInventory(PlayerData.get((Player) sender)).open();
|
PlayerData data = PlayerData.get((Player) sender);
|
||||||
|
MMOCommandEvent event = new MMOCommandEvent(data, "quests");
|
||||||
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||||
|
if(!event.isCancelled()) InventoryManager.QUEST_LIST.newInventory(data).open();
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
package net.Indyuce.mmocore.command;
|
package net.Indyuce.mmocore.command;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.defaults.BukkitCommand;
|
import org.bukkit.command.defaults.BukkitCommand;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import net.Indyuce.mmocore.MMOCore;
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
|
import net.Indyuce.mmocore.api.event.MMOCommandEvent;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.manager.InventoryManager;
|
import net.Indyuce.mmocore.manager.InventoryManager;
|
||||||
|
|
||||||
@ -21,6 +23,10 @@ public class SkillsCommand extends BukkitCommand {
|
|||||||
public boolean execute(CommandSender sender, String label, String[] args) {
|
public boolean execute(CommandSender sender, String label, String[] args) {
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
PlayerData data = PlayerData.get((Player) sender);
|
PlayerData data = PlayerData.get((Player) sender);
|
||||||
|
MMOCommandEvent event = new MMOCommandEvent(data, "skills");
|
||||||
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||||
|
if(event.isCancelled()) return true;
|
||||||
|
|
||||||
if (data.getProfess().getSkills().size() < 1) {
|
if (data.getProfess().getSkills().size() < 1) {
|
||||||
MMOCore.plugin.configManager.getSimpleMessage("no-class-skill").send((Player) sender);
|
MMOCore.plugin.configManager.getSimpleMessage("no-class-skill").send((Player) sender);
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
package net.Indyuce.mmocore.command;
|
package net.Indyuce.mmocore.command;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.defaults.BukkitCommand;
|
import org.bukkit.command.defaults.BukkitCommand;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.api.event.MMOCommandEvent;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.manager.InventoryManager;
|
import net.Indyuce.mmocore.manager.InventoryManager;
|
||||||
|
|
||||||
@ -18,8 +20,12 @@ public class WaypointsCommand extends BukkitCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean execute(CommandSender sender, String label, String[] args) {
|
public boolean execute(CommandSender sender, String label, String[] args) {
|
||||||
if (sender instanceof Player && sender.hasPermission("mmocore.waypoints"))
|
if (sender instanceof Player && sender.hasPermission("mmocore.waypoints")) {
|
||||||
InventoryManager.WAYPOINTS.newInventory(PlayerData.get((Player) sender)).open();
|
PlayerData data = PlayerData.get((Player) sender);
|
||||||
|
MMOCommandEvent event = new MMOCommandEvent(data, "waypoints");
|
||||||
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||||
|
if(!event.isCancelled()) InventoryManager.WAYPOINTS.newInventory(data).open();
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ import org.bukkit.entity.Player;
|
|||||||
|
|
||||||
import net.Indyuce.mmocore.MMOCore;
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
import net.Indyuce.mmocore.api.experience.Profession;
|
import net.Indyuce.mmocore.api.experience.Profession;
|
||||||
|
import net.Indyuce.mmocore.api.experience.EXPSource;
|
||||||
import net.Indyuce.mmocore.api.experience.PlayerProfessions;
|
import net.Indyuce.mmocore.api.experience.PlayerProfessions;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.command.api.CommandEnd;
|
import net.Indyuce.mmocore.command.api.CommandEnd;
|
||||||
@ -20,7 +21,7 @@ public class ExperienceCommandMap extends CommandMap {
|
|||||||
super(parent, "exp");
|
super(parent, "exp");
|
||||||
|
|
||||||
addFloor(new ActionCommandMap(this, "set", (data, value) -> data.setExperience(value), (professions, profession, value) -> professions.setExperience(profession, value)));
|
addFloor(new ActionCommandMap(this, "set", (data, value) -> data.setExperience(value), (professions, profession, value) -> professions.setExperience(profession, value)));
|
||||||
addFloor(new ActionCommandMap(this, "give", (data, value) -> data.giveExperience(value, data.getPlayer().getLocation()), (professions, profession, value) -> professions.giveExperience(profession, value, professions.getPlayerData().getPlayer().getLocation())));
|
addFloor(new ActionCommandMap(this, "give", (data, value) -> data.giveExperience(value, data.getPlayer().getLocation(), EXPSource.COMMAND), (professions, profession, value) -> professions.giveExperience(profession, value, professions.getPlayerData().getPlayer().getLocation())));
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ActionCommandMap extends CommandEnd {
|
public class ActionCommandMap extends CommandEnd {
|
||||||
|
@ -9,6 +9,7 @@ import org.bukkit.entity.Player;
|
|||||||
|
|
||||||
import net.Indyuce.mmocore.MMOCore;
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
import net.Indyuce.mmocore.api.experience.Profession;
|
import net.Indyuce.mmocore.api.experience.Profession;
|
||||||
|
import net.Indyuce.mmocore.api.experience.EXPSource;
|
||||||
import net.Indyuce.mmocore.api.experience.PlayerProfessions;
|
import net.Indyuce.mmocore.api.experience.PlayerProfessions;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.command.api.CommandEnd;
|
import net.Indyuce.mmocore.command.api.CommandEnd;
|
||||||
@ -20,7 +21,7 @@ public class LevelCommandMap extends CommandMap {
|
|||||||
super(parent, "level");
|
super(parent, "level");
|
||||||
|
|
||||||
addFloor(new ActionCommandMap(this, "set", (data, value) -> data.setLevel(value), (professions, profession, value) -> professions.setLevel(profession, value)));
|
addFloor(new ActionCommandMap(this, "set", (data, value) -> data.setLevel(value), (professions, profession, value) -> professions.setLevel(profession, value)));
|
||||||
addFloor(new ActionCommandMap(this, "give", (data, value) -> data.giveLevels(value), (professions, profession, value) -> professions.giveLevels(profession, value)));
|
addFloor(new ActionCommandMap(this, "give", (data, value) -> data.giveLevels(value, EXPSource.COMMAND), (professions, profession, value) -> professions.giveLevels(profession, value)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ActionCommandMap extends CommandEnd {
|
public class ActionCommandMap extends CommandEnd {
|
||||||
|
@ -4,6 +4,7 @@ import org.bukkit.event.EventHandler;
|
|||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerExpChangeEvent;
|
import org.bukkit.event.player.PlayerExpChangeEvent;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.api.experience.EXPSource;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
|
|
||||||
public class RedirectVanillaExp implements Listener {
|
public class RedirectVanillaExp implements Listener {
|
||||||
@ -17,6 +18,6 @@ public class RedirectVanillaExp implements Listener {
|
|||||||
public void a(PlayerExpChangeEvent event) {
|
public void a(PlayerExpChangeEvent event) {
|
||||||
int a = (int) (event.getAmount() * ratio);
|
int a = (int) (event.getAmount() * ratio);
|
||||||
if (a > 0)
|
if (a > 0)
|
||||||
PlayerData.get(event.getPlayer()).giveExperience(a);
|
PlayerData.get(event.getPlayer()).giveExperience(a, EXPSource.VANILLA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user