Skip to content

Commit fae5938

Browse files
committed
feat: initial work on porting xseries to 11.0.0
1 parent d502742 commit fae5938

4 files changed

Lines changed: 28 additions & 23 deletions

File tree

build.gradle.kts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,18 @@ dependencies {
5858
implementation("org.codemc.worldguardwrapper:worldguardwrapper:1.1.9-SNAPSHOT")
5959
implementation("ch.jalu:configme:1.3.0")
6060
implementation("com.dumptruckman.minecraft:JsonConfiguration:1.1")
61-
implementation("com.github.cryptomorin:XSeries:11.0.0-beta")
61+
implementation("com.github.cryptomorin:XSeries:11.0.0")
6262
implementation("net.kyori:adventure-platform-bukkit:4.3.3")
6363
implementation("dev.triumphteam:triumph-gui:3.1.7")
6464
implementation("com.zaxxer:HikariCP:4.0.3")
6565
implementation("org.jdbi:jdbi3-core:3.8.2")
6666
implementation("org.jdbi:jdbi3-sqlobject:3.8.2")
6767
implementation("org.mariadb.jdbc:mariadb-java-client:2.7.2")
6868

69-
compileOnly("org.spigotmc:spigot-api:1.20.4-R0.1-SNAPSHOT")
69+
compileOnly("org.spigotmc:spigot-api:1.20.6-R0.1-SNAPSHOT")
7070
compileOnly("net.milkbowl:vault:1.7")
7171
compileOnly("me.clip:placeholderapi:2.11.6")
72+
compileOnly("com.mojang:authlib:1.5.21")
7273

7374
slim("org.jetbrains.kotlin:kotlin-stdlib")
7475
}
@@ -169,6 +170,7 @@ tasks {
169170
"org.mariadb.jdbc",
170171
"dev.triumphteam.gui",
171172
"net.kyori",
173+
"com.cryptomorin.xseries",
172174
"kotlin"
173175
)
174176
}

src/main/java/me/glaremasters/guilds/guild/GuildSkull.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,11 @@
2323
*/
2424
package me.glaremasters.guilds.guild;
2525

26-
import com.cryptomorin.xseries.XMaterial;
2726
import com.cryptomorin.xseries.XSkull;
2827
import org.bukkit.entity.Player;
2928
import org.bukkit.inventory.ItemStack;
30-
import org.bukkit.inventory.meta.SkullMeta;
3129

30+
import java.util.Base64;
3231
import java.util.Objects;
3332

3433
/**
@@ -44,7 +43,10 @@ public class GuildSkull {
4443
* @param player the player whose head will be used for the guild skull
4544
*/
4645
public GuildSkull(Player player) {
47-
itemStack = XSkull.getSkull(player.getUniqueId());
46+
final XSkull.SkullInstruction<ItemStack> skullInstruction = XSkull.create();
47+
final XSkull.SkullAction<ItemStack> skullAction = skullInstruction.profile(player);
48+
49+
itemStack = skullAction.apply();
4850
serialized = XSkull.getSkinValue(Objects.requireNonNull(itemStack.getItemMeta()));
4951
}
5052

@@ -54,8 +56,10 @@ public GuildSkull(Player player) {
5456
* @param texture the texture string, which should be a Minecraft resource location string
5557
*/
5658
public GuildSkull(String texture) {
57-
serialized = XSkull.encodeTexturesURL(texture);
58-
itemStack = createSkull();
59+
final String encoded = Base64.getEncoder().encodeToString(texture.getBytes());
60+
this.serialized = encoded;
61+
62+
this.itemStack = createSkull();
5963
}
6064

6165
/**
@@ -64,11 +68,10 @@ public GuildSkull(String texture) {
6468
* @return the guild skull
6569
*/
6670
public ItemStack createSkull() {
67-
final ItemStack head = XMaterial.PLAYER_HEAD.parseItem();
68-
SkullMeta meta = (SkullMeta) head.getItemMeta();
69-
meta = XSkull.applySkin(meta, serialized);
70-
head.setItemMeta(meta);
71-
return head;
71+
final XSkull.SkullInstruction<ItemStack> skullInstruction = XSkull.create();
72+
final XSkull.SkullAction<ItemStack> skullAction = skullInstruction.profile(serialized);
73+
74+
return skullAction.apply();
7275
}
7376

7477
/**

src/main/java/me/glaremasters/guilds/listeners/EntityListener.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
package me.glaremasters.guilds.listeners;
2525

2626
import ch.jalu.configme.SettingsManager;
27+
import com.cryptomorin.xseries.XPotion;
2728
import me.glaremasters.guilds.challenges.ChallengeHandler;
2829
import me.glaremasters.guilds.configuration.sections.GuildSettings;
2930
import me.glaremasters.guilds.guild.Guild;
@@ -43,11 +44,6 @@
4344
import org.bukkit.event.entity.EntityDeathEvent;
4445
import org.bukkit.event.entity.PotionSplashEvent;
4546
import org.bukkit.potion.PotionEffect;
46-
import org.bukkit.potion.PotionEffectType;
47-
48-
import java.util.Arrays;
49-
import java.util.HashSet;
50-
import java.util.Set;
5147

5248
/**
5349
* Created by GlareMasters
@@ -59,7 +55,6 @@ public class EntityListener implements Listener {
5955
private final GuildHandler guildHandler;
6056
private final SettingsManager settingsManager;
6157
private final ChallengeHandler challengeHandler;
62-
private final Set<PotionEffectType> bad = new HashSet<>(Arrays.asList(PotionEffectType.BLINDNESS, PotionEffectType.WITHER, PotionEffectType.SLOW_DIGGING, PotionEffectType.WEAKNESS, PotionEffectType.SLOW, PotionEffectType.POISON));
6358

6459
public EntityListener(GuildHandler guildHandler, SettingsManager settingsManager, ChallengeHandler challengeHandler) {
6560
this.guildHandler = guildHandler;
@@ -262,7 +257,7 @@ public void onSplash(PotionSplashEvent event) {
262257
*/
263258
private boolean isHarmfulPotion(final ThrownPotion potion) {
264259
for (final PotionEffect effect : potion.getEffects()) {
265-
if (bad.contains(effect.getType())) {
260+
if (XPotion.DEBUFFS.contains(XPotion.matchXPotion(effect.getType()))) {
266261
return true;
267262
}
268263
}

src/main/java/me/glaremasters/guilds/utils/GuiUtils.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,20 @@ public static ItemStack createItem(String material, String name, List<String> lo
7373
* @return the skull item
7474
*/
7575
public static ItemStack createSkullItem(final GuildMember member, final String name, final List<String> lore) {
76-
final ItemStack skull = XSkull.getSkull(member.getUuid());
77-
final ItemMeta meta = skull.getItemMeta();
76+
final XSkull.SkullInstruction<ItemStack> skullInstruction = XSkull.create();
77+
final XSkull.SkullAction<ItemStack> skullAction = skullInstruction.profile(member.getUuid());
78+
79+
final ItemStack itemStack = skullAction.apply();
80+
final ItemMeta meta = itemStack.getItemMeta();
7881

7982
meta.setDisplayName(StringUtils.color(name));
8083
if (!lore.isEmpty()) {
8184
meta.setLore(lore.stream().map(StringUtils::color).collect(Collectors.toList()));
8285
}
86+
8387
meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
84-
skull.setItemMeta(meta);
85-
return skull;
88+
itemStack.setItemMeta(meta);
89+
90+
return itemStack;
8691
}
8792
}

0 commit comments

Comments
 (0)