9
0
mirror of https://github.com/HibiscusMC/HMCCosmetics.git synced 2025-12-30 12:29:16 +00:00

Merge branch 'remapped' into dye_menu

This commit is contained in:
LoJoSho
2022-12-08 15:33:39 -06:00
7 changed files with 39 additions and 6 deletions

View File

@@ -29,6 +29,7 @@ import java.nio.file.Path;
public final class HMCCosmeticsPlugin extends JavaPlugin {
private static HMCCosmeticsPlugin instance;
private static boolean disable = false;
@Override
public void onEnable() {
@@ -67,6 +68,7 @@ public final class HMCCosmeticsPlugin extends JavaPlugin {
@Override
public void onDisable() {
disable = true;
for (Player player : Bukkit.getOnlinePlayers()) {
Database.save(player);
}
@@ -112,4 +114,8 @@ public final class HMCCosmeticsPlugin extends JavaPlugin {
Menus.setup();
}
public static boolean isDisable() {
return disable;
}
}

View File

@@ -77,6 +77,7 @@ public class ItemSerializer implements TypeSerializer<ItemStack> {
item.setAmount(amountNode.getInt(1));
ItemMeta itemMeta = item.getItemMeta();
if (itemMeta == null) return item;
if (!nameNode.virtual()) itemMeta.setDisplayName(StringUtils.parseStringToString(Utils.replaceIfNull(nameNode.getString(), "")));
if (!unbreakableNode.virtual()) itemMeta.setUnbreakable(unbreakableNode.getBoolean());
if (!glowingNode.virtual()) {

View File

@@ -54,7 +54,7 @@ public class MySQLData extends Data {
}
@Override
public void save(CosmeticUser user) {
Bukkit.getScheduler().runTaskAsynchronously(HMCCosmeticsPlugin.getInstance(), () -> {
Runnable run = () -> {
try {
PreparedStatement preparedSt = preparedStatement("REPLACE INTO COSMETICDATABASE(UUID,COSMETICS) VALUES(?,?);");
preparedSt.setString(1, user.getUniqueId().toString());
@@ -63,7 +63,12 @@ public class MySQLData extends Data {
} catch (SQLException e) {
throw new RuntimeException(e);
}
});
};
if (!HMCCosmeticsPlugin.isDisable()) {
Bukkit.getScheduler().runTaskAsynchronously(HMCCosmeticsPlugin.getInstance(), run);
} else {
run.run();
}
}
@Override

View File

@@ -1,9 +1,18 @@
package com.hibiscusmc.hmccosmetics.hooks.items;
import com.hibiscusmc.hmccosmetics.HMCCosmeticsPlugin;
import dev.lone.itemsadder.api.CustomStack;
import dev.lone.itemsadder.api.Events.ItemsAdderLoadDataEvent;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.inventory.ItemStack;
public class ItemAdderHook extends ItemHook {
public class ItemAdderHook extends ItemHook implements Listener {
// I hate IA, this overcomplicate stuff is so unneeded if it just did its stuff when its needed.
private boolean enabled = false;
public ItemAdderHook() {
super("itemsadder");
@@ -11,7 +20,16 @@ public class ItemAdderHook extends ItemHook {
@Override
public ItemStack get(String itemid) {
return CustomStack.getInstance(itemid).getItemStack();
if (enabled) {
return CustomStack.getInstance(itemid).getItemStack();
} else {
return new ItemStack(Material.AIR);
}
}
@EventHandler
public void onItemAdderDataLoad(ItemsAdderLoadDataEvent event) {
this.enabled = true;
HMCCosmeticsPlugin.setup();
}
}

View File

@@ -1,8 +1,9 @@
package com.hibiscusmc.hmccosmetics.hooks.items;
import org.bukkit.event.Listener;
import org.bukkit.inventory.ItemStack;
public class ItemHook {
public class ItemHook implements Listener {
private String id;
private boolean active;

View File

@@ -28,6 +28,7 @@ public class ItemHooks {
public static void setup() {
for (ItemHook itemHook : itemHooks.values()) {
if (Bukkit.getPluginManager().getPlugin(itemHook.getId()) != null) {
HMCCosmeticsPlugin.getInstance().getServer().getPluginManager().registerEvents(itemHook, HMCCosmeticsPlugin.getInstance());
itemHook.setActive(true);
HMCCosmeticsPlugin.getInstance().getLogger().info("Successfully hooked into " + itemHook.getId());
}

View File

@@ -1,9 +1,10 @@
package com.hibiscusmc.hmccosmetics.hooks.items;
import io.th0rgal.oraxen.api.OraxenItems;
import org.bukkit.event.Listener;
import org.bukkit.inventory.ItemStack;
public class OraxenHook extends ItemHook{
public class OraxenHook extends ItemHook implements Listener {
public OraxenHook() {
super("oraxen");