added papermc script
This commit is contained in:
parent
3aea986b23
commit
4b103515ab
77
papermc.sh
Normal file
77
papermc.sh
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Name: PaperMC Plugin Environment Creator
|
||||||
|
# Description: Creates a PaperMC plugin project structure with Gradle and a basic event listener
|
||||||
|
# Author: bacalhau
|
||||||
|
|
||||||
|
echo "### PaperMC Plugin Environment Creator ###
|
||||||
|
|
||||||
|
Choose a project name: "
|
||||||
|
|
||||||
|
# Reads the project name
|
||||||
|
read PROJECT_NAME
|
||||||
|
|
||||||
|
echo "Choose a package name (e.g., io.papermc.$PROJECT_NAME): "
|
||||||
|
read PACKAGE_NAME
|
||||||
|
|
||||||
|
# Converts package name to folder structure
|
||||||
|
PACKAGE_PATH="$(echo "$PACKAGE_NAME" | tr '.' '/')"
|
||||||
|
|
||||||
|
# Creates directories
|
||||||
|
mkdir -p "$PROJECT_NAME/src/main/java/$PACKAGE_PATH"
|
||||||
|
mkdir -p "$PROJECT_NAME/src/main/resources"
|
||||||
|
|
||||||
|
# Writes settings.gradle.kts
|
||||||
|
echo "rootProject.name = \"$PROJECT_NAME\"" > "$PROJECT_NAME/settings.gradle.kts"
|
||||||
|
|
||||||
|
# Writes build.gradle.kts
|
||||||
|
echo "plugins {
|
||||||
|
id(\"java\")
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
maven {
|
||||||
|
name = \"papermc\"
|
||||||
|
url = uri(\"https://repo.papermc.io/repository/maven-public/\")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compileOnly(\"io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT\")
|
||||||
|
}
|
||||||
|
|
||||||
|
java {
|
||||||
|
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
|
||||||
|
}" > "$PROJECT_NAME/build.gradle.kts"
|
||||||
|
|
||||||
|
# Writes plugin.yml
|
||||||
|
echo "name: $PROJECT_NAME
|
||||||
|
main: $PACKAGE_NAME.$PROJECT_NAME
|
||||||
|
version: 1.0
|
||||||
|
api-version: 1.20" > "$PROJECT_NAME/src/main/resources/plugin.yml"
|
||||||
|
|
||||||
|
# Writes Main class
|
||||||
|
echo "package $PACKAGE_NAME;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
public class $PROJECT_NAME extends JavaPlugin implements Listener {
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
Bukkit.getPluginManager().registerEvents(this, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||||
|
event.getPlayer().sendMessage(Component.text(\"Hello, \" + event.getPlayer().getName() + \"!\"));
|
||||||
|
}
|
||||||
|
}" > "$PROJECT_NAME/src/main/java/$PACKAGE_PATH/$PROJECT_NAME.java"
|
||||||
|
|
||||||
|
# Lists the project structure
|
||||||
|
tree "$PROJECT_NAME"
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user