diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b7b532 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/target/ +/GeyserMoreRows.iml diff --git a/MorerowsPack.mcpack b/MorerowsPack.mcpack new file mode 100644 index 0000000..aabc0c7 Binary files /dev/null and b/MorerowsPack.mcpack differ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..2aeb70f --- /dev/null +++ b/pom.xml @@ -0,0 +1,100 @@ + + + 4.0.0 + + me.zimzaza4 + GeyserMoreRows + 1.0-SNAPSHOT + jar + + GeyserMoreRows + + + 1.8 + UTF-8 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 + + + package + + shade + + + false + + + + + + + + src/main/resources + true + + + + + + + papermc-repo + https://repo.papermc.io/repository/maven-public/ + + + sonatype + https://oss.sonatype.org/content/groups/public/ + + + + opencollab-release-repo + https://repo.opencollab.dev/maven-releases/ + + + codemc-releases + https://repo.codemc.io/repository/maven-releases/ + + + codemc-snapshots + https://repo.codemc.io/repository/maven-snapshots/ + + + + + + io.papermc.paper + paper-api + 1.20.4-R0.1-SNAPSHOT + provided + + + + org.geysermc.floodgate + api + 2.2.2-SNAPSHOT + provided + + + com.github.retrooper + packetevents-spigot + 2.7.0 + provided + + + diff --git a/src/main/java/me/zimzaza4/geysermorerows/GeyserMoreRows.java b/src/main/java/me/zimzaza4/geysermorerows/GeyserMoreRows.java new file mode 100644 index 0000000..aaa0e58 --- /dev/null +++ b/src/main/java/me/zimzaza4/geysermorerows/GeyserMoreRows.java @@ -0,0 +1,20 @@ +package me.zimzaza4.geysermorerows; + +import com.github.retrooper.packetevents.PacketEvents; +import com.github.retrooper.packetevents.event.PacketListenerPriority; +import org.bukkit.plugin.java.JavaPlugin; + +public final class GeyserMoreRows extends JavaPlugin { + + @Override + public void onEnable() { + saveDefaultConfig(); + reloadConfig(); + PacketEvents.getAPI().getEventManager().registerListener(new OpenChestListener(this), PacketListenerPriority.HIGHEST); + } + + @Override + public void onDisable() { + // Plugin shutdown logic + } +} diff --git a/src/main/java/me/zimzaza4/geysermorerows/OpenChestListener.java b/src/main/java/me/zimzaza4/geysermorerows/OpenChestListener.java new file mode 100644 index 0000000..e235a72 --- /dev/null +++ b/src/main/java/me/zimzaza4/geysermorerows/OpenChestListener.java @@ -0,0 +1,34 @@ +package me.zimzaza4.geysermorerows; + +import com.github.retrooper.packetevents.event.PacketListener; +import com.github.retrooper.packetevents.event.PacketSendEvent; +import com.github.retrooper.packetevents.protocol.packettype.PacketType; +import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerOpenWindow; +import net.kyori.adventure.text.Component; +import org.geysermc.floodgate.api.FloodgateApi; + +public class OpenChestListener implements PacketListener { + public OpenChestListener(GeyserMoreRows plugin) { + this.plugin = plugin; + } + + private GeyserMoreRows plugin; + @Override + public void onPacketSend(PacketSendEvent event) { + if (event.getPacketType() != PacketType.Play.Server.OPEN_WINDOW) { + return; + } + + if (FloodgateApi.getInstance().isFloodgatePlayer(event.getUser().getUUID())) { + WrapperPlayServerOpenWindow openWindow = new WrapperPlayServerOpenWindow(event); + Component title = openWindow.getTitle(); + if (title == null) title = Component.empty(); + if (openWindow.getType() > 4 || openWindow.getType() == 2) { + return; + } + int i = openWindow.getType() + 1; + openWindow.setTitle(title.append(Component.text(plugin.getConfig().getString("append-text." + i, "")))); + openWindow.write(); + } + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml new file mode 100644 index 0000000..dbed2eb --- /dev/null +++ b/src/main/resources/config.yml @@ -0,0 +1,5 @@ +append-text: + 1: "chest.row.1" + 2: "chest.row.2" + 4: "chest.row.3" + 5: "chest.row.4" \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..778599e --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,7 @@ +name: GeyserMoreRows +version: '${project.version}' +main: me.zimzaza4.geysermorerows.GeyserMoreRows +api-version: '1.13' +depend: + - packetevents + - floodgate