Skip to content
This repository was archived by the owner on Jun 2, 2021. It is now read-only.

Commit 3f269cf

Browse files
Several Minor Updates
Removed 1.14.X compatibility Added 1.15.X compatibility
1 parent f643088 commit 3f269cf

File tree

13 files changed

+348
-47
lines changed

13 files changed

+348
-47
lines changed

TreeboTickets.iml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,13 @@
2020
<orderEntry type="inheritedJdk" />
2121
<orderEntry type="sourceFolder" forTests="false" />
2222
<orderEntry type="library" name="Maven: io.github.leonardosnt:bungeechannelapi:1.0.0-SNAPSHOT" level="project" />
23-
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.13.2-R0.1-SNAPSHOT" level="project" />
23+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.15-R0.1-SNAPSHOT" level="project" />
2424
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
25-
<orderEntry type="library" scope="PROVIDED" name="Maven: com.googlecode.json-simple:json-simple:1.1.1" level="project" />
26-
<orderEntry type="library" scope="PROVIDED" name="Maven: junit:junit:4.10" level="project" />
27-
<orderEntry type="library" scope="PROVIDED" name="Maven: org.hamcrest:hamcrest-core:1.1" level="project" />
2825
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:guava:21.0" level="project" />
2926
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.gson:gson:2.8.0" level="project" />
3027
<orderEntry type="library" scope="PROVIDED" name="Maven: net.md-5:bungeecord-chat:1.13-SNAPSHOT" level="project" />
31-
<orderEntry type="library" scope="PROVIDED" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
28+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.yaml:snakeyaml:1.25" level="project" />
29+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot:1.15-R0.1-SNAPSHOT" level="project" />
30+
<orderEntry type="library" scope="PROVIDED" name="Maven: me.clip:placeholderapi:2.0.6" level="project" />
3231
</component>
3332
</module>

pom.xml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>me.ShakeforProtein</groupId>
88
<artifactId>TreeboTickets</artifactId>
9-
<version>2.4.1</version>
9+
<version>3.1.0</version>
1010
<packaging>jar</packaging>
1111

1212
<name>TreeboTickets</name>
@@ -72,6 +72,10 @@
7272
<id>codemc-repo</id>
7373
<url>https://repo.codemc.org/repository/maven-public/</url>
7474
</repository>
75+
<repository>
76+
<id>placeholderapi</id>
77+
<url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
78+
</repository>
7579
</repositories>
7680

7781
<dependencies>
@@ -83,7 +87,19 @@
8387
<dependency>
8488
<groupId>org.spigotmc</groupId>
8589
<artifactId>spigot-api</artifactId>
86-
<version>1.13.2-R0.1-SNAPSHOT</version>
90+
<version>1.15-R0.1-SNAPSHOT</version>
91+
<scope>provided</scope>
92+
</dependency>
93+
<dependency>
94+
<groupId>org.spigotmc</groupId>
95+
<artifactId>spigot</artifactId>
96+
<version>1.15-R0.1-SNAPSHOT</version>
97+
<scope>provided</scope>
98+
</dependency>
99+
<dependency>
100+
<groupId>me.clip</groupId>
101+
<artifactId>placeholderapi</artifactId>
102+
<version>2.0.6</version>
87103
<scope>provided</scope>
88104
</dependency>
89105
</dependencies>
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package me.shakeforprotein.treebotickets.Listeners.InventoryEvents;
2+
3+
import me.shakeforprotein.treebotickets.TreeboTickets;
4+
import net.minecraft.server.v1_15_R1.NBTTagCompound;
5+
import org.bukkit.Bukkit;
6+
import org.bukkit.Material;
7+
import org.bukkit.craftbukkit.v1_15_R1.inventory.CraftItemStack;
8+
import org.bukkit.entity.Player;
9+
import org.bukkit.event.EventHandler;
10+
import org.bukkit.event.Listener;
11+
import org.bukkit.event.player.PlayerInteractEvent;
12+
import org.bukkit.inventory.Inventory;
13+
import org.bukkit.inventory.ItemStack;
14+
import org.bukkit.inventory.meta.BookMeta;
15+
16+
import java.util.Set;
17+
18+
public class PlayerUseItem implements Listener {
19+
20+
private TreeboTickets pl;
21+
22+
public PlayerUseItem(TreeboTickets main) {
23+
this.pl = main;
24+
}
25+
26+
@EventHandler
27+
public void playerUseItem(PlayerInteractEvent e) {
28+
Inventory inv = Bukkit.createInventory(null,9,"AntiHack Triggered");
29+
Player p = e.getPlayer();
30+
if (e.getItem() != null) {
31+
if (e.getItem().getType() == Material.WRITTEN_BOOK) {
32+
if (e.getItem().hasItemMeta()) {
33+
if (e.getItem().getItemMeta() instanceof BookMeta) {
34+
net.minecraft.server.v1_15_R1.ItemStack nmsItem = getNMSItem(e.getItem());
35+
NBTTagCompound compound = getCompound(nmsItem);
36+
Set<String> compoundKeys = compound.getKeys();
37+
for(String item : compoundKeys){
38+
if(compound.get(item).asString().contains("clickEvent")){
39+
e.getItem().setItemMeta(null);
40+
e.getPlayer().openInventory(inv);
41+
e.getPlayer().closeInventory();
42+
break;
43+
}
44+
}
45+
}
46+
}
47+
}
48+
}
49+
}
50+
51+
public net.minecraft.server.v1_15_R1.ItemStack getNMSItem(ItemStack item){
52+
net.minecraft.server.v1_15_R1.ItemStack nmsItem = CraftItemStack.asNMSCopy(item);
53+
return nmsItem;
54+
}
55+
56+
public NBTTagCompound getCompound(net.minecraft.server.v1_15_R1.ItemStack nmsItem){
57+
NBTTagCompound nmsCompound = (nmsItem.hasTag()) ? nmsItem.getTag() : new NBTTagCompound();
58+
return nmsCompound;
59+
}
60+
61+
public ItemStack getBukkitItem(net.minecraft.server.v1_15_R1.ItemStack nmsItem){
62+
ItemStack bukkitItem = CraftItemStack.asBukkitCopy(nmsItem);
63+
return bukkitItem;
64+
}
65+
}

src/main/java/me/shakeforprotein/treebotickets/Listeners/NotifyHub.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package me.shakeforprotein.treebotickets.Listeners;
22

33
import me.shakeforprotein.treebotickets.TreeboTickets;
4+
import net.md_5.bungee.api.ChatMessageType;
5+
import net.md_5.bungee.api.chat.BaseComponent;
6+
import net.md_5.bungee.api.chat.ComponentBuilder;
47
import org.bukkit.Bukkit;
8+
import org.bukkit.ChatColor;
59
import org.bukkit.command.ConsoleCommandSender;
610
import org.bukkit.entity.Player;
711
import org.bukkit.event.EventHandler;
@@ -20,17 +24,19 @@ public NotifyHub(TreeboTickets main) {
2024
private void onPlayerJoin(PlayerJoinEvent e) {
2125

2226
if ((pl.getConfig().getString("isLobbyServer").equalsIgnoreCase("true")) && (!e.getPlayer().hasPlayedBefore())) {
23-
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(pl, new Runnable() {
27+
Bukkit.getServer().getScheduler().runTaskLater(pl, new Runnable() {
2428
public void run() {
2529
String command;
2630
Player p = e.getPlayer();
2731
ConsoleCommandSender console = Bukkit.getServer().getConsoleSender();
2832
command = "title " + p.getName() + " times 20 100 20";
2933
Bukkit.dispatchCommand(console, command);
30-
command = "title " + p.getName() + " subtitle [\"\",{\"text\":\"Use\",\"color\":\"green\"},{\"text\":\" \"},{\"text\":\"/hub\",\"color\":\"red\"},{\"text\":\" \"},{\"text\":\"to navigate the server\",\"color\":\"green\"}]";
31-
Bukkit.dispatchCommand(console, command);
34+
//command = "title " + p.getName() + " subtitle [\"\",{\"text\":\"Use\",\"color\":\"green\"},{\"text\":\" \"},{\"text\":\"/hub\",\"color\":\"red\"},{\"text\":\" \"},{\"text\":\"to navigate the server\",\"color\":\"green\"}]";
35+
//Bukkit.dispatchCommand(console, command);
3236
command = "title " + p.getName() + " title {\"text\":\"Welcome to TreeboMC\",\"color\":\"green\"}\n";
3337
Bukkit.dispatchCommand(console, command);
38+
39+
p.spigot().sendMessage(ChatMessageType.ACTION_BAR, new ComponentBuilder(ChatColor.GREEN + "Use " + ChatColor.RED + "/hub" + ChatColor.GREEN + " to navigate the Treebo Servers").create());
3440
}
3541
}, 200L);
3642
}

src/main/java/me/shakeforprotein/treebotickets/Listeners/TicketConversation.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,9 @@ public void onAsyncPlayerChatEvent(AsyncPlayerChatEvent e) {
128128
pl.getConfig().set("players." + p.getName() + "lastQuery", pl.baseInsert.replace("XXXVALUESPLACEHOLDERXXX", ticketData));
129129
pl.getConfig().set("players." + p.getName() + ".ticketstate", 0);
130130
pl.saveConfig();
131-
createTicket.addTicketToDB(p, ticketData);
131+
String discordString = "&type=" + type +"&user=" + p.getName() + "&contents=" + (description + " " + usersteps).replace("&", "AND");
132+
133+
createTicket.addTicketToDB(p, ticketData, type, description + " " + usersteps);
132134
}
133135
}
134136
}

src/main/java/me/shakeforprotein/treebotickets/Methods/CreateTicket/CreateTicket.java

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
11
package me.shakeforprotein.treebotickets.Methods.CreateTicket;
22

3-
import io.github.leonardosnt.bungeechannelapi.BungeeChannelApi;
3+
import com.google.gson.JsonElement;
4+
import com.google.gson.JsonObject;
5+
import com.google.gson.JsonParser;
46
import me.shakeforprotein.treebotickets.TreeboTickets;
57
import org.bukkit.Bukkit;
6-
import org.bukkit.ChatColor;
78
import org.bukkit.entity.Player;
89

10+
import javax.net.ssl.HttpsURLConnection;
11+
import java.io.IOException;
12+
13+
import java.net.URL;
914
import java.sql.ResultSet;
1015
import java.sql.SQLException;
11-
import java.util.ArrayList;
1216

1317
public class CreateTicket {
1418

1519
private TreeboTickets pl;
1620

21+
1722
public CreateTicket(TreeboTickets main){this.pl = main;}
1823

19-
public void addTicketToDB(Player p, String ticketData) {
24+
public void addTicketToDB(Player p, String ticketData, String type, String contents) {
2025
Bukkit.getScheduler().runTaskAsynchronously(pl, new Runnable() {
2126
@Override
2227
public void run() {
@@ -29,6 +34,28 @@ public void run() {
2934
while (response.next()) {
3035
tID = response.getInt("ID");
3136
p.sendMessage(pl.badge + "Your Ticket number is " + tID + ". Use /ticket view " + tID + " to view any updates");
37+
try {
38+
String discordHook = pl.getConfig().getString("discordHook");
39+
discordHook = discordHook + "?id=" + tID + "&user=" + p.getName() + "&type=" + type + "&contents=" +contents.replace(" ", "%20");
40+
41+
42+
URL url = new URL(null, discordHook, new sun.net.www.protocol.https.Handler());
43+
44+
HttpsURLConnection httpsURLConnection = (HttpsURLConnection) url.openConnection();
45+
httpsURLConnection.setRequestMethod("POST");
46+
httpsURLConnection.setRequestProperty("User-Agent", "ShakeBrowser/5.0");
47+
httpsURLConnection.setRequestProperty("Referer", "no-referer");
48+
httpsURLConnection.setConnectTimeout(5000);
49+
httpsURLConnection.connect();
50+
System.out.println(httpsURLConnection.getResponseMessage());
51+
if(httpsURLConnection.getErrorStream() != null){
52+
System.out.println(discordHook);
53+
}
54+
}
55+
catch(IOException e){
56+
pl.makeLog(e);
57+
}
58+
3259
while (staffResponse.next()){
3360
String staff = staffResponse.getString("IGNAME");
3461
pl.api.sendMessage(staff, "Player " + p.getName() + "Has just submitted ticket number " + tID);
@@ -43,5 +70,7 @@ public void run() {
4370

4471
}
4572
});
73+
4674
}
75+
4776
}

src/main/java/me/shakeforprotein/treebotickets/Methods/Guis/SpecificTicketGui.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ public SpecificTicketGui(TreeboTickets main) {
2424
}
2525

2626
public void specificTicketGui(Player p, int t, String menuName, String fromMenu) {
27-
Bukkit.getScheduler().runTaskAsynchronously(pl, new Runnable() {
28-
@Override
29-
public void run() {
3027
Inventory individualTicketGui = Bukkit.createInventory(null, 27, menuName);
3128
int tId = -1;
3229
String tPlayer = "";
@@ -242,7 +239,5 @@ public void run() {
242239
System.out.println(pl.err + "Encountered " + e.toString() + " during staffViewTicket()");
243240
pl.makeLog(e);
244241
}
245-
}
246-
});
247242
}
248243
}

src/main/java/me/shakeforprotein/treebotickets/Methods/Helps/InfoHelp.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import org.bukkit.command.ConsoleCommandSender;
88
import org.bukkit.configuration.file.FileConfiguration;
99
import org.bukkit.configuration.file.YamlConfiguration;
10+
import org.bukkit.entity.Player;
11+
import org.bukkit.inventory.ItemStack;
1012

1113
import java.io.*;
1214

@@ -46,7 +48,7 @@ public void infoHelp(String fileName, CommandSender p) {
4648
BufferedReader in = new BufferedReader(new FileReader(infoFile));
4749

4850
String line = null;
49-
51+
5052
if (infoList.get(fileName) != null) {
5153
if (infoList.getString(fileName).equalsIgnoreCase("text")) {
5254

src/main/java/me/shakeforprotein/treebotickets/Methods/PlayerStatistics/SavePlayerStats.java

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,42 @@ public void run() {
4848
pl.getConfig().set("playerStats." + pl.getServerName(p) + "." + p.getName() + ".deaths." + column, null);
4949
}
5050
}
51+
if (pl.getConfig().getConfigurationSection("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi") != null) {
52+
if(pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.EzRank") != null){
53+
statsAddQuery += " `EZRANK` = \"" + pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.EzRank") + "\",";
54+
}
55+
if(pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.EzProgress") != null){
56+
statsAddQuery += " `EZPROGRESS` = \""+ pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.EzProgress") + "\",";
57+
}
58+
if(pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.vaultBal") != null){
59+
statsAddQuery += " `BALANCE` = \"" + pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.vaultBal") + "\",";
60+
}
61+
/* if(pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.npcPoliceArrests") != null){
62+
statsAddQuery += " `TOTALARRESTS` = \"" + pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.npcPoliceArrests") + "\",";
63+
}*/
64+
if(pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.bounty") != null){
65+
statsAddQuery += " `BOUNTY` = \"" + pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.bounty") + "\",";
66+
}
67+
if(pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.totalBounty") != null){
68+
statsAddQuery += " `ALLTIMEBOUNTY` = \"" + pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.totalBounty") + "\",";
69+
}
70+
if(pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.murders") != null){
71+
statsAddQuery += " `MURDERS` = \"" + pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.murders") + "\",";
72+
}
73+
if(pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.timeRemaining") != null){
74+
statsAddQuery += " `SENTENCEREMAINING` = \"" + pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.timeRemaining") + "\",";
75+
}
76+
77+
if(pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.status") != null){
78+
statsAddQuery += " `STATUS` = \"" + pl.getConfig().getString("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi.status") + "\",";
79+
}
80+
}
81+
5182

5283
statsAddQuery += " `IGNAME` = IGNAME WHERE `UUID` ='" + p.getUniqueId() + "'";
5384
pl.getConfig().set("playerStats." + pl.getServerName(p) + "." + p.getName() + ".deaths", null);
5485
pl.getConfig().set("playerStats." + pl.getServerName(p) + "." + p.getName() + ".kills", null);
55-
pl.getConfig().set("playerStats." + pl.getServerName(p) + "." + p.getName(), null);
86+
// pl.getConfig().set("playerStats." + pl.getServerName(p) + "." + p.getName() + ".papi", null);
5687

5788
pl.getConfig().set("LastStatEntry", statsAddQuery);
5889
pl.saveConfig();

0 commit comments

Comments
 (0)