commit 8ec4a5586966c467fe87dfa7d0607e274e0c4bfc Author: fzorb Date: Sun Jul 6 14:13:48 2025 +0300 Initial commit 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/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..07b7a81 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,13 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + +Copyright (C) 2004 Sam Hocevar + +Everyone is permitted to copy and distribute verbatim or modified +copies of this license document, and changing it is allowed as long +as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..bfd68b6 --- /dev/null +++ b/pom.xml @@ -0,0 +1,96 @@ + + + 4.0.0 + + xyz.fzorb + soup + 1.0 + jar + + soup + + + 21 + UTF-8 + + + + + kiputyttö-releases + Ilari's Project Repository + https://maven.lhf.blue/releases + + + + + clean package + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-shade-plugin + 3.5.3 + + + package + + shade + + + + + + blue.lhf + run-paper-maven-plugin + 1.1.1 + + 1.21.7 + true + run + + -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:6969 + -Xmx1G + -Xms1G + + + + + + + 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.21.7-R0.1-SNAPSHOT + provided + + + diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..a5d1645 --- /dev/null +++ b/readme.md @@ -0,0 +1,13 @@ +# soup +Simple soup plugin. Not very interesting. + +## Configuration +`soup/config.yml` contains the `allowEatingSoup` option, which by default is false. + +## Tested versions +Tested on 1.21.7, although the plugin is so simple that you can probably backport it to versions as old as 1.8 by just changing the paper version in `pom.xml`. + +## License +This project is licensed under WTFPL. See `LICENSE.txt` for more details. + +
fzorb <fzorb@fzorb.xyz> MMXXV
\ No newline at end of file diff --git a/src/main/java/xyz/fzorb/soup/Soup.java b/src/main/java/xyz/fzorb/soup/Soup.java new file mode 100644 index 0000000..4993239 --- /dev/null +++ b/src/main/java/xyz/fzorb/soup/Soup.java @@ -0,0 +1,18 @@ +package xyz.fzorb.soup; + +import org.bukkit.plugin.java.JavaPlugin; + +public final class Soup extends JavaPlugin { + private static JavaPlugin instance; + + @Override + public void onEnable() { + instance = this; + this.saveDefaultConfig(); + this.getServer().getPluginManager().registerEvents(new SoupListener(), this); + } + + public static JavaPlugin getInstance() { + return instance; + } +} diff --git a/src/main/java/xyz/fzorb/soup/SoupListener.java b/src/main/java/xyz/fzorb/soup/SoupListener.java new file mode 100644 index 0000000..f96b5b1 --- /dev/null +++ b/src/main/java/xyz/fzorb/soup/SoupListener.java @@ -0,0 +1,36 @@ +package xyz.fzorb.soup; + +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.event.player.PlayerItemConsumeEvent; +import org.bukkit.inventory.ItemStack; + +public class SoupListener implements Listener { + @EventHandler + public static void onPlayerInteract(PlayerInteractEvent event) { + Player player = event.getPlayer(); + if (event.getItem() == null) { return; } + if (event.getItem().getType() == Material.MUSHROOM_STEW) { + event.setCancelled(false); + if (player.getHealth() != 20) { + player.setItemInHand(new ItemStack(Material.BOWL)); + player.heal(7); + } + } + } + + @EventHandler + public static void cancelStewEat(PlayerItemConsumeEvent event) { + if (Soup.getInstance().getConfig().getBoolean("allowEatingSoup")) { return; } + Player player = event.getPlayer(); + if (event.getItem().getType() == Material.MUSHROOM_STEW) { + event.setCancelled(true); + if (player.getHealth() != 20) { + player.heal(7); + } + } + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml new file mode 100644 index 0000000..614e7ca --- /dev/null +++ b/src/main/resources/config.yml @@ -0,0 +1 @@ +allowEatingSoup: false \ 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..2f98943 --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,8 @@ +name: soup +version: '1.0' +main: xyz.fzorb.soup.Soup +api-version: '1.21' +prefix: soup +authors: [ fzorb ] +description: Soup plugin +website: https://fzorb.xyz/plugins/soup