Skip to content
Open

v4.5 #12

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>me.cervinakuy</groupId>
<artifactId>JoinEventsPro</artifactId>
<version>4.3</version>
<version>4.5</version>
<packaging>jar</packaging>

<name>${project.artifactId}</name>
Expand Down
6 changes: 1 addition & 5 deletions src/main/java/me/cervinakuy/joineventspro/Game.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@

public class Game extends JavaPlugin {

private static Game instance;
private Resources resources;
private DebugMode debugMode;

Expand All @@ -31,8 +30,7 @@ public class Game extends JavaPlugin {

@Override
public void onEnable() {

instance = this;

this.resources = new Resources(this);
this.debugMode = new DebugMode();

Expand Down Expand Up @@ -100,8 +98,6 @@ private void checkUpdates() {

public Resources getResources() { return resources; }

public static Game getInstance() { return instance; }

public static String getPrefix() { return prefix; }

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package me.cervinakuy.joineventspro.listener;

import com.cryptomorin.xseries.XMaterial;
import me.cervinakuy.joineventspro.Game;
import me.cervinakuy.joineventspro.util.DebugMode;
import me.cervinakuy.joineventspro.util.Resource;
Expand All @@ -26,14 +25,14 @@ public JoinBook(Game plugin) {
@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
String joinType = (!p.hasPlayedBefore() || debug.isDebugUser(p.getName())) ? "FirstJoin" : "Join";
String joinType = Toolkit.getJoinType(p, debug);
Resource joinConfig = resources.getResourceByName(joinType);
String pathPrefix = joinType + ".Book";

if (joinConfig.getBoolean(pathPrefix + ".Enabled") &&
p.hasPermission("jep." + joinType.toLowerCase() + ".book")) {

ItemStack book = XMaterial.WRITTEN_BOOK.parseItem();
ItemStack book = Toolkit.safeItemStack("WRITTEN_BOOK", 1);
BookMeta bookMeta = (BookMeta) book.getItemMeta();
int bookSlot = joinConfig.getInt(pathPrefix + ".Information.Slot");

Expand All @@ -45,7 +44,6 @@ public void onJoin(PlayerJoinEvent e) {
book.setItemMeta(bookMeta);
p.getInventory().setItem(bookSlot, book);
}

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public JoinCommands(Game plugin) {
@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
String joinType = (!p.hasPlayedBefore() || debug.isDebugUser(p.getName())) ? "FirstJoin" : "Join";
String joinType = Toolkit.getJoinType(p, debug);
Resource joinConfig = resources.getResourceByName(joinType);

if (p.hasPermission("jep." + joinType.toLowerCase() + ".commands")) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import me.cervinakuy.joineventspro.util.DebugMode;
import me.cervinakuy.joineventspro.util.Resource;
import me.cervinakuy.joineventspro.util.Resources;
import me.cervinakuy.joineventspro.util.Toolkit;
import org.bukkit.Color;
import org.bukkit.FireworkEffect;
import org.bukkit.entity.EntityType;
Expand All @@ -29,7 +30,7 @@ public JoinFirework(Game plugin) {
@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
String joinType = (!p.hasPlayedBefore() || debug.isDebugUser(p.getName())) ? "FirstJoin" : "Join";
String joinType = Toolkit.getJoinType(p, debug);
Resource joinConfig = resources.getResourceByName(joinType);

if (joinConfig.getBoolean(joinType + ".Other.Firework") &&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public JoinItems(Game plugin) {
@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
String joinType = (!p.hasPlayedBefore() || debug.isDebugUser(p.getName())) ? "FirstJoin" : "Join";
String joinType = Toolkit.getJoinType(p, debug);
Resource joinConfig = resources.getResourceByName(joinType);

if (joinConfig.getBoolean(joinType + ".Items.Enabled") &&
Expand Down Expand Up @@ -63,16 +63,16 @@ public void onJoin(PlayerJoinEvent e) {
@EventHandler
public void onInteract(PlayerInteractEvent e) {
Player p = e.getPlayer();
String joinType = (!p.hasPlayedBefore() || debug.isDebugUser(p.getName())) ? "FirstJoin" : "Join";
String joinType = Toolkit.getJoinType(p, debug);
Resource joinConfig = resources.getResourceByName(joinType);

if (!joinConfig.getBoolean(joinType + ".Items.Enabled")) {
return;
}

if (e.getAction() == Action.RIGHT_CLICK_BLOCK || e.getAction() == Action.RIGHT_CLICK_AIR) {
ItemStack mainHand = Toolkit.getMainHandItem(p);
if (!mainHand.hasItemMeta()) {
ItemStack handItem = Toolkit.getItemForInteraction(e);
if (!handItem.hasItemMeta()) {
return;
}

Expand All @@ -87,9 +87,9 @@ public void onInteract(PlayerInteractEvent e) {
Material joinItemMaterial = XMaterial.matchXMaterial(
joinConfig.fetchString(pathPrefix + ".Material")).get().parseMaterial();

if (mainHand.getType() == joinItemMaterial) {
if (mainHand.getItemMeta().hasDisplayName() &&
mainHand.getItemMeta().getDisplayName()
if (handItem.getType() == joinItemMaterial) {
if (handItem.getItemMeta().hasDisplayName() &&
handItem.getItemMeta().getDisplayName()
.equals(joinConfig.fetchString(pathPrefix + ".Name"))) {
Toolkit.runCommands(p, joinConfig.getStringList(pathPrefix + ".Commands"));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public JoinLocation(Game plugin) {
@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
String joinType = (!p.hasPlayedBefore() || debug.isDebugUser(p.getName())) ? "FirstJoin" : "Join";
String joinType = Toolkit.getJoinType(p, debug);
Resource joinConfig = resources.getResourceByName(joinType);
String pathPrefix = joinType + ".Spawn";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public JoinMOTD(Game plugin) {
@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
String joinType = (!p.hasPlayedBefore() || debug.isDebugUser(p.getName())) ? "FirstJoin" : "Join";
String joinType = Toolkit.getJoinType(p, debug);
Resource joinConfig = resources.getResourceByName(joinType);

if (joinConfig.getBoolean(joinType + ".MOTD.Enabled") &&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public JoinMessage(Game plugin) {
@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
String joinType = (!p.hasPlayedBefore() || debug.isDebugUser(p.getName())) ? "FirstJoin" : "Join";
String joinType = Toolkit.getJoinType(p, debug);
Resource joinConfig = resources.getResourceByName(joinType);
String pathPrefix = joinType + ".Message";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package me.cervinakuy.joineventspro.listener;

import com.cryptomorin.xseries.XSound;
import me.cervinakuy.joineventspro.Game;
import me.cervinakuy.joineventspro.util.DebugMode;
import me.cervinakuy.joineventspro.util.Resource;
import me.cervinakuy.joineventspro.util.Resources;
import me.cervinakuy.joineventspro.util.Toolkit;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
Expand All @@ -27,15 +27,14 @@ public JoinSound(Game plugin) {
@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
String joinType = (!p.hasPlayedBefore() || debug.isDebugUser(p.getName())) ? "FirstJoin" : "Join";
String joinType = Toolkit.getJoinType(p, debug);
Resource joinConfig = resources.getResourceByName(joinType);
String pathPrefix = joinType + ".Sound";

if (joinConfig.getBoolean(pathPrefix + ".Enabled") &&
p.hasPermission("jep." + joinType.toLowerCase() + ".sound")) {
for (Player all : Bukkit.getOnlinePlayers()) {
XSound.play(all, joinConfig.fetchString(pathPrefix + ".Sound") +
", 1, " +
Toolkit.playSoundToPlayer(all, joinConfig.fetchString(pathPrefix + ".Sound"),
joinConfig.getInt(pathPrefix + ".Pitch"));
}
}
Expand All @@ -47,8 +46,7 @@ public void onLeave(PlayerQuitEvent e) {

if (config.getBoolean("Leave.Sound.Enabled") && p.hasPermission("jep.leave.sound")) {
for (Player all : Bukkit.getOnlinePlayers()) {
XSound.play(all, config.fetchString("Leave.Sound.Sound") +
", 1, " +
Toolkit.playSoundToPlayer(all, config.fetchString("Leave.Sound.Sound"),
config.getInt("Leave.Sound.Pitch"));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ public Resource getResourceByName(String resourceName) {
} else if (resourceName.equalsIgnoreCase("firstjoin")) {
return firstJoin;
}

return null;
}

Expand Down
65 changes: 50 additions & 15 deletions src/main/java/me/cervinakuy/joineventspro/util/Toolkit.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package me.cervinakuy.joineventspro.util;

import com.cryptomorin.xseries.XMaterial;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import com.cryptomorin.xseries.XSound;
import org.bukkit.*;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;

import me.clip.placeholderapi.PlaceholderAPI;
Expand Down Expand Up @@ -73,16 +73,6 @@ private static int versionToNumber() {
}
return 500;
}

@SuppressWarnings("deprecation")
public static ItemStack getMainHandItem(Player p) {
if (versionToNumber() == 18) {
return p.getItemInHand();
} else if (versionToNumber() > 18) {
return p.getInventory().getItemInMainHand();
}
return p.getItemInHand();
}

public static String translate(String s) {
return ChatColor.translateAlternateColorCodes('&', s);
Expand Down Expand Up @@ -136,9 +126,54 @@ public static ItemStack safeItemStack(String materialName, int amount) {
printToConsole("&7[&b&lKIT-PVP&7] &cInvalid material: " + materialName);
return new ItemStack(Toolkit.FALLBACK_MATERIAL);
}


public static Sound safeSound(String soundName) {
Optional<XSound> soundOptional = XSound.matchXSound(soundName);
if (soundOptional.isPresent()) {
Sound sound = soundOptional.get().parseSound();
if (sound != null) {
return sound;
}
}
printToConsole("&7[&b&lJOINEVENTSPRO&7] &cInvalid sound: " + soundName);
return XSound.ENTITY_ENDER_DRAGON_HURT.parseSound();
}

public static boolean isNumeric(String potentialNumber) {
if (potentialNumber == null) {
return false;
}

try {
int integer = Integer.parseInt(potentialNumber);
} catch (NumberFormatException nfe) {
return false;
}

return true;
}

public static void printToConsole(String string) {
Bukkit.getConsoleSender().sendMessage(Toolkit.translate(string));
}

public static ItemStack getItemForInteraction(PlayerInteractEvent e) {
Player p = e.getPlayer();

if (versionToNumber() == 18) {
return p.getItemInHand();
}

EquipmentSlot slot = e.getHand() != null ? e.getHand() : EquipmentSlot.HAND;
return p.getInventory().getItem(slot);
}

public static String getJoinType(Player p, DebugMode debugMode) {
return (!p.hasPlayedBefore() || debugMode.isDebugUser(p.getName())) ? "FirstJoin" : "Join";
}

public static void playSoundToPlayer(Player p, String soundName, int pitch) {
p.playSound(p.getLocation(), Toolkit.safeSound(soundName), 1, pitch);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
public class Updater {

public enum VersionResponse {

LATEST,
FOUND_NEW,
UNAVAILABLE
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: JoinEventsPro
author: Cervinakuy
main: me.cervinakuy.joineventspro.Game
version: 4.4
version: 4.5
description: Completely manage and customize every event that happens when a player joins.
website: https://www.spigotmc.org/resources/22105/
softdepend: [PlaceholderAPI]
Expand Down