Skip to content
Merged
18 changes: 18 additions & 0 deletions .github/workflows/publish-snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ name: Publish SNAPSHOT
on:
push:
branches: [ main ]
pull_request:
types: [ closed ]
branches: [ main ]

jobs:
snapshot:
Expand Down Expand Up @@ -57,6 +60,21 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: mvn -B -s $GITHUB_WORKSPACE/settings.xml -DskipTests deploy

- name: Create Git Tag
if: steps.version.outputs.deploy == 'true'
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const version = process.env.VERSION || '${{ steps.version.outputs.version }}';
const sha = process.env.GITHUB_SHA || '${{ github.sha }}';
await github.rest.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `refs/tags/v${version}`,
sha: sha
});

- name: Summary
run: |
echo "Version: ${{ steps.version.outputs.version }}"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ If the library is published to GitHub Packages, add the GitHub repository and de

<dependencies>
<dependency>
<groupId>com.github.Pinont</groupId>
<groupId>com.github.pinont</groupId>
<artifactId>SingularityLib</artifactId>
<version>Tag</version>
</dependency>
Expand Down
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.pinont</groupId>
<groupId>com.github.pinont</groupId>
<artifactId>singularitylib</artifactId>
<version>2.2.0</version>
<version>2.2.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>SingularityLib</name>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package com.pinont.lib.api.annotation;
package com.github.pinont.singularitylib.api.annotation;

public @interface AutoRegister {
/**
* Indicates that the annotated class should be automatically registered by the plugin.
* This annotation is used to mark classes that need to be registered during the plugin's startup process.
* <p>
* Classes annotated with this will be processed by the plugin's registration system.
* <p>
* <b>Hint:</b> Use this annotation to register commands, events, or custom items.
* It should only be used when the class extends {@code CustomItem}, {@code SimpleCommand}, or {@code Listener}.
*/
String value() default "";
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.pinont.lib.api.command;
package com.github.pinont.singularitylib.api.command;

import io.papermc.paper.command.brigadier.BasicCommand;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.pinont.lib.api.entity;
package com.github.pinont.singularitylib.api.entity;

import org.bukkit.Location;
import org.bukkit.World;
Expand All @@ -10,7 +10,7 @@
import java.util.List;
import java.util.Objects;

import static com.pinont.lib.plugin.CorePlugin.sendDebugMessage;
import static com.github.pinont.singularitylib.plugin.CorePlugin.sendDebugMessage;

public class EntityCreator {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.pinont.lib.api.enums;
package com.github.pinont.singularitylib.api.enums;

import org.bukkit.attribute.Attribute;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.pinont.lib.api.enums;
package com.github.pinont.singularitylib.api.enums;

public enum PersisDataType {
STRING,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.pinont.lib.api.enums;
package com.github.pinont.singularitylib.api.enums;

public enum PlayerInventorySlotType {
MAINHAND,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.pinont.lib.api.event;
package com.github.pinont.singularitylib.api.event;

import com.pinont.lib.api.items.ItemInteraction;
import com.github.pinont.singularitylib.api.items.ItemInteraction;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
Expand All @@ -12,7 +12,7 @@
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;

import static com.pinont.lib.plugin.CorePlugin.sendDebugMessage;
import static com.github.pinont.singularitylib.plugin.CorePlugin.sendDebugMessage;

public class ItemExecuteEvent extends Event implements Cancellable {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.pinont.lib.api.hook.discordJDA;
package com.github.pinont.singularitylib.api.hook.discordJDA;

import com.pinont.lib.api.manager.ConfigManager;
import com.github.pinont.singularitylib.api.manager.ConfigManager;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.events.session.ReadyEvent;
Expand All @@ -9,7 +9,7 @@
import java.util.ArrayList;
import java.util.Collections;

import static com.pinont.lib.plugin.CorePlugin.sendConsoleMessage;
import static com.github.pinont.singularitylib.plugin.CorePlugin.sendConsoleMessage;

public abstract class DiscordApp {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.pinont.lib.api.hook.discordJDA;
package com.github.pinont.singularitylib.api.hook.discordJDA;

import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.events.session.ReadyEvent;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.pinont.lib.api.hook.discordJDA;
package com.github.pinont.singularitylib.api.hook.discordJDA;

import net.dv8tion.jda.api.hooks.ListenerAdapter;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.pinont.lib.api.hook.discordJDA;
package com.github.pinont.singularitylib.api.hook.discordJDA;

import net.dv8tion.jda.api.interactions.commands.build.CommandData;
import net.dv8tion.jda.api.interactions.commands.build.Commands;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.pinont.lib.api.items;
package com.github.pinont.singularitylib.api.items;

import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.pinont.lib.api.items;
package com.github.pinont.singularitylib.api.items;

import com.pinont.lib.api.utils.Common;
import com.github.pinont.singularitylib.api.utils.Common;
import org.bukkit.inventory.ItemStack;

public abstract class CustomItem {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.pinont.lib.api.items;
package com.github.pinont.singularitylib.api.items;

import com.google.common.collect.Sets;
import com.pinont.lib.api.enums.AttributeType;
import com.pinont.lib.api.enums.PersisDataType;
import com.pinont.lib.api.utils.Common;
import com.github.pinont.singularitylib.api.enums.AttributeType;
import com.github.pinont.singularitylib.api.enums.PersisDataType;
import com.github.pinont.singularitylib.api.utils.Common;
import net.kyori.adventure.text.Component;
import org.bukkit.ChatColor;
import org.bukkit.Material;
Expand All @@ -21,8 +21,8 @@

import java.util.*;

import static com.pinont.lib.plugin.CorePlugin.getInstance;
import static com.pinont.lib.plugin.CorePlugin.sendConsoleMessage;
import static com.github.pinont.singularitylib.plugin.CorePlugin.getInstance;
import static com.github.pinont.singularitylib.plugin.CorePlugin.sendConsoleMessage;

public class ItemCreator {

Expand All @@ -37,6 +37,7 @@ public class ItemCreator {
private Material type;
private final Plugin plugin = getInstance();
private static final Set<ItemInteraction> ITEM_INTERACTIONS = Sets.newHashSet();
private final String name;

public static Set<ItemInteraction> getInteractions() {
return ITEM_INTERACTIONS;
Expand All @@ -46,13 +47,42 @@ public ItemCreator(Material type) {
this(new ItemStack(type));
}

public ItemCreator(Material type, int amount) {
this(new ItemStack(type, amount));
}

public ItemCreator(@NotNull Material type, int amount, short damage) {
this(new ItemStack(type, amount, damage, null));
}

public ItemCreator(@NotNull Material type, int amount, short damage, Byte data) {
this(new ItemStack(type, amount, damage, data));
}

public ItemCreator(@NotNull ItemStack item) {
this.item = item;
this.meta = item.getItemMeta();
this.type = item.getType();
this.name = item.getItemMeta().getDisplayName().isEmpty() ? Common.normalizeStringName(item.getType().name()) : item.getItemMeta().getDisplayName();
data = meta != null ? meta.getPersistentDataContainer() : null;
}

public String getName() {
return name;
}

public ItemMeta getItemMeta() {
return meta;
}

public Material getType() {
return type;
}

public int getAmount() {
return amount;
}

public ItemStack create() {
item.setType(type);
if (meta == null) {meta = item.getItemMeta();}
Expand All @@ -69,6 +99,10 @@ public Boolean hasTag(String tag) {
return Objects.requireNonNull(item.getItemMeta()).getPersistentDataContainer().has(new NamespacedKey(plugin, tag), PersistentDataType.STRING);
}

public String getTag(String key) {
return getKey(key);
}

public String getKey(String key) {
return data.get(new NamespacedKey(plugin, key), PersistentDataType.STRING);
}
Expand Down Expand Up @@ -128,6 +162,12 @@ public ItemCreator setName(String name) {
return this;
}

public ItemCreator setName(Component name) {
meta.displayName(name);
meta.itemName(name);
return this;
}

public ItemCreator setDurability(short durability) {
this.durability = durability;
return this;
Expand All @@ -143,8 +183,13 @@ public ItemCreator addEnchant(Enchantment enchantment, int level, boolean ignore
return this;
}

public ItemCreator addLore(String... lore) {
this.lore.add(common.colorize(Arrays.toString(lore)));
public ItemCreator addLore(String... lores) {
this.lore.add(common.colorize(Arrays.toString(lores)));
return this;
}

public ItemCreator addLore(Component... lores) {
this.lore.addAll(Arrays.asList(lores));
return this;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.pinont.lib.api.items;
package com.github.pinont.singularitylib.api.items;

import com.pinont.lib.api.utils.Common;
import com.github.pinont.singularitylib.api.utils.Common;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta;
import org.jetbrains.annotations.NotNull;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.pinont.lib.api.items;
package com.github.pinont.singularitylib.api.items;

import org.bukkit.entity.Player;
import org.bukkit.event.block.Action;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.pinont.lib.api.manager;
package com.github.pinont.singularitylib.api.manager;

import com.pinont.lib.api.command.SimpleCommand;
import com.github.pinont.singularitylib.api.command.SimpleCommand;
import io.papermc.paper.plugin.lifecycle.event.LifecycleEventManager;
import io.papermc.paper.plugin.lifecycle.event.types.LifecycleEvents;
import org.bukkit.ChatColor;
Expand All @@ -10,8 +10,8 @@
import java.util.Arrays;
import java.util.List;

import static com.pinont.lib.plugin.CorePlugin.getStartTime;
import static com.pinont.lib.plugin.CorePlugin.sendConsoleMessage;
import static com.github.pinont.singularitylib.plugin.CorePlugin.getStartTime;
import static com.github.pinont.singularitylib.plugin.CorePlugin.sendConsoleMessage;

public class CommandManager {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.pinont.lib.api.manager;
package com.github.pinont.singularitylib.api.manager;

import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
Expand All @@ -8,7 +8,7 @@
import java.io.File;
import java.io.IOException;

import static com.pinont.lib.plugin.CorePlugin.getInstance;
import static com.github.pinont.singularitylib.plugin.CorePlugin.getInstance;

public class ConfigManager {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.pinont.lib.api.manager;
package com.github.pinont.singularitylib.api.manager;

import com.pinont.lib.api.command.SimpleCommand;
import com.pinont.lib.api.items.CustomItem;
import com.pinont.lib.api.utils.Common;
import com.github.pinont.singularitylib.api.command.SimpleCommand;
import com.github.pinont.singularitylib.api.items.CustomItem;
import com.github.pinont.singularitylib.api.utils.Common;
import io.papermc.paper.command.brigadier.CommandSourceStack;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
Expand All @@ -14,8 +14,8 @@

import java.util.*;

import static com.pinont.lib.plugin.CorePlugin.getInstance;
import static com.pinont.lib.plugin.CorePlugin.sendConsoleMessage;
import static com.github.pinont.singularitylib.plugin.CorePlugin.getInstance;
import static com.github.pinont.singularitylib.plugin.CorePlugin.sendConsoleMessage;

public class CustomItemManager implements SimpleCommand {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.pinont.lib.api.manager;
package com.github.pinont.singularitylib.api.manager;

import com.pinont.lib.plugin.CorePlugin;
import com.github.pinont.singularitylib.plugin.CorePlugin;
import org.bukkit.plugin.java.JavaPlugin;

import java.io.File;
import java.util.List;
import java.util.Objects;

import static com.pinont.lib.plugin.CorePlugin.sendConsoleMessage;
import static com.pinont.lib.plugin.CorePlugin.sendDebugMessage;
import static com.github.pinont.singularitylib.plugin.CorePlugin.sendConsoleMessage;
import static com.github.pinont.singularitylib.plugin.CorePlugin.sendDebugMessage;

public class FileManager {

Expand Down
Loading
Loading