Initial commit

This commit is contained in:
fzorb 2025-07-06 14:13:48 +03:00
commit 8ec4a55869
8 changed files with 298 additions and 0 deletions

113
.gitignore vendored Normal file
View file

@ -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/

13
LICENSE.txt Normal file
View file

@ -0,0 +1,13 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
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.

96
pom.xml Normal file
View file

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>xyz.fzorb</groupId>
<artifactId>soup</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>soup</name>
<properties>
<java.version>21</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<pluginRepositories>
<pluginRepository>
<id>kiputyttö-releases</id>
<name>Ilari's Project Repository</name>
<url>https://maven.lhf.blue/releases</url>
</pluginRepository>
</pluginRepositories>
<build>
<defaultGoal>clean package</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.5.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>blue.lhf</groupId>
<artifactId>run-paper-maven-plugin</artifactId>
<version>1.1.1</version>
<configuration>
<minecraftVersion>1.21.7</minecraftVersion>
<acceptEula>true</acceptEula>
<serverDirectory>run</serverDirectory>
<jvmFlags>
<flag>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:6969</flag>
<flag>-Xmx1G</flag>
<flag>-Xms1G</flag>
</jvmFlags>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<repositories>
<repository>
<id>papermc-repo</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
<repository>
<id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.21.7-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

13
readme.md Normal file
View file

@ -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.
<center><i><code>fzorb &#60;fzorb@fzorb.xyz></code> MMXXV</i></center>

View file

@ -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;
}
}

View file

@ -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);
}
}
}
}

View file

@ -0,0 +1 @@
allowEatingSoup: false

View file

@ -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