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