mirror of
https://github.com/HibiscusMC/HMCCosmetics.git
synced 2025-12-30 20:39:13 +00:00
Merge branch 'remapped' into dye_menu
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user