commit 43a34cc3e157cfcf4379c256495d289df5423fd5 Author: BlueFox Date: Mon May 20 17:34:39 2024 +0200 Initial commit, version 0.1.0, Listeners: Damage, ChatEvent, Join/Quit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4788b4b --- /dev/null +++ b/.gitignore @@ -0,0 +1,113 @@ +# User-specific stuff +.idea/ + +*.iml +*.ipr +*.iws + +# IntelliJ +out/ + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +target/ + +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next + +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar +.flattened-pom.xml + +# Common working directory +run/ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..48c7877 --- /dev/null +++ b/pom.xml @@ -0,0 +1,71 @@ + + + 4.0.0 + + de.privacynerd + ChatBeautifier + 0.1.0 + jar + + ChatBeautifier + + + 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 + + + + + + + + src/main/resources + true + + + + + + + papermc-repo + https://repo.papermc.io/repository/maven-public/ + + + sonatype + https://oss.sonatype.org/content/groups/public/ + + + + + + io.papermc.paper + paper-api + 1.20.4-R0.1-SNAPSHOT + provided + + + diff --git a/src/main/java/de/privacynerd/chatbeautifier/ChatBeautifier.java b/src/main/java/de/privacynerd/chatbeautifier/ChatBeautifier.java new file mode 100644 index 0000000..7ce0d17 --- /dev/null +++ b/src/main/java/de/privacynerd/chatbeautifier/ChatBeautifier.java @@ -0,0 +1,38 @@ +package de.privacynerd.chatbeautifier; + +import org.bukkit.Bukkit; +import org.bukkit.plugin.PluginManager; +import org.bukkit.plugin.java.JavaPlugin; + + +public final class ChatBeautifier extends JavaPlugin { + public static String PREFIX = "§a[ChatBeautifier] §7§o"; + public static ChatBeautifier INSTANCE; + + public ChatBeautifier() { + INSTANCE = this; + } + public void log(String text) { + Bukkit.getConsoleSender().sendMessage(PREFIX + text); + } + + + @Override + public void onEnable() { // the plugin startup logic + // register listeners + PluginManager pluginManager = Bukkit.getPluginManager(); + pluginManager.registerEvents(new JoinQuitListener(), this); + log("JoinQuitListener has been registered."); + pluginManager.registerEvents(new ChatListener(), this); + log("ChatListener has been registered."); + pluginManager.registerEvents(new DamageListener(), this); + log("DamageListener has been registered."); + + log("Plugin enabled."); + } + + @Override + public void onDisable() { + log("Plugin disabled."); + } +} \ No newline at end of file diff --git a/src/main/java/de/privacynerd/chatbeautifier/ChatListener.java b/src/main/java/de/privacynerd/chatbeautifier/ChatListener.java new file mode 100644 index 0000000..375bea7 --- /dev/null +++ b/src/main/java/de/privacynerd/chatbeautifier/ChatListener.java @@ -0,0 +1,25 @@ +package de.privacynerd.chatbeautifier; + +import net.kyori.adventure.text.Component; +import org.bukkit.Bukkit; +import org.bukkit.Server; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerChatEvent; + +public class ChatListener implements Listener { + @EventHandler + public void onMessageSent(PlayerChatEvent event) { + Player player = event.getPlayer(); + + event.setCancelled(true); + + //player.getDisplayName() + ": " + event.getMessage() + + Server server = Bukkit.getServer(); + + Component message = Component.text(player.getDisplayName() + ": " + event.getMessage()); + server.broadcast(message); + } +} \ No newline at end of file diff --git a/src/main/java/de/privacynerd/chatbeautifier/DamageListener.java b/src/main/java/de/privacynerd/chatbeautifier/DamageListener.java new file mode 100644 index 0000000..5462129 --- /dev/null +++ b/src/main/java/de/privacynerd/chatbeautifier/DamageListener.java @@ -0,0 +1,29 @@ +package de.privacynerd.chatbeautifier; + +import net.kyori.adventure.text.Component; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Server; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityDamageEvent; + +public class DamageListener implements Listener { + + @EventHandler + public void onPlayerGetDamage(EntityDamageEvent event) { + Entity player1 = event.getEntity(); + if(!(player1 instanceof Player)){ + return; + } + Player player = (Player) player1; + Server server = Bukkit.getServer(); + + Component message = Component.text(ChatColor.BOLD + "§4[Schaden] " + ChatColor.WHITE + "Der Spieler " + player.getDisplayName() + ChatColor.WHITE + " hat durch \n" + ChatColor.AQUA + event.getCause() + " " + ChatColor.RED + event.getDamage() / 2 + " Herzen " + ChatColor.WHITE + "Schaden bekommen"); + + server.broadcast(message); + } + +} \ No newline at end of file diff --git a/src/main/java/de/privacynerd/chatbeautifier/JoinQuitListener.java b/src/main/java/de/privacynerd/chatbeautifier/JoinQuitListener.java new file mode 100644 index 0000000..6d54630 --- /dev/null +++ b/src/main/java/de/privacynerd/chatbeautifier/JoinQuitListener.java @@ -0,0 +1,35 @@ +package de.privacynerd.chatbeautifier; + +import org.bukkit.Sound; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerQuitEvent; + +public class JoinQuitListener implements Listener { + + @EventHandler + public void onPlayerJoin(PlayerJoinEvent event) { + Player player = event.getPlayer(); + + if(player.isOp()) { + player.setDisplayName("§4[OP] "+player.getName()+"§e"); + player.setPlayerListName(player.getDisplayName()); + } else { + player.setDisplayName("§7"+player.getName()+"§7"); + player.setPlayerListName(player.getDisplayName()); + } + + event.setJoinMessage("§a§l>> §7"+ player.getDisplayName()); + player.playSound(player.getLocation(), Sound.AMBIENT_CRIMSON_FOREST_MOOD, 0.5f, 0.4f); + } + + + @EventHandler + public void onPlayerQuit(PlayerQuitEvent event) { + Player player = event.getPlayer(); + + event.setQuitMessage("§c§l<< §7"+ player.getDisplayName()); + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..950762c --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,4 @@ +name: ChatBeautifier +version: '${project.version}' +main: de.privacynerd.chatbeautifier.ChatBeautifier +api-version: '1.20'