commit 6c2ad6bbf1cdaf70bffbc4cef619151ac59f0dad Author: Borys Kostka Date: Sun Apr 25 23:14:03 2021 +0200 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/pom.xml b/pom.xml new file mode 100644 index 0000000..541a067 --- /dev/null +++ b/pom.xml @@ -0,0 +1,75 @@ + + + 4.0.0 + + me.lubek + Sandbox + 1.1-RELEASE + jar + + Sandbox + + Sandbox plugin + + 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 + + + false + + + + + + + + src/main/resources + true + + + + + + + papermc-repo + https://papermc.io/repo/repository/maven-public/ + + + sonatype + https://oss.sonatype.org/content/groups/public/ + + + + + + com.destroystokyo.paper + paper-api + 1.16.5-R0.1-SNAPSHOT + provided + + + diff --git a/src/main/java/me/lubek/sandbox/Sandbox.java b/src/main/java/me/lubek/sandbox/Sandbox.java new file mode 100644 index 0000000..87c0ed8 --- /dev/null +++ b/src/main/java/me/lubek/sandbox/Sandbox.java @@ -0,0 +1,17 @@ +package me.lubek.sandbox; + +import org.bukkit.plugin.java.JavaPlugin; + +public final class Sandbox extends JavaPlugin { + + @Override + public void onEnable() { + getServer().getConsoleSender().sendMessage("Plugin started"); + getServer().getPluginManager().registerEvents(new events(), this); + } + + @Override + public void onDisable() { + getServer().getConsoleSender().sendMessage("Plugin disabled"); + } +} diff --git a/src/main/java/me/lubek/sandbox/events.java b/src/main/java/me/lubek/sandbox/events.java new file mode 100644 index 0000000..192ac2a --- /dev/null +++ b/src/main/java/me/lubek/sandbox/events.java @@ -0,0 +1,66 @@ +package me.lubek.sandbox; + +import org.bukkit.Effect; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.Particle; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerChangedWorldEvent; +import org.bukkit.event.player.PlayerMoveEvent; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.PlayerInventory; +import org.bukkit.inventory.meta.ItemMeta; +import me.lubek.sandbox.libs.file; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; + +public class events implements Listener { + @EventHandler + public static void onWorldChange(PlayerChangedWorldEvent event) { + FileConfiguration config = file.getConfiguration("LobbyControl/config.yml"); + Player p = event.getPlayer(); + if(config.getString("SandboxWorld").equals(p.getWorld().getName())) { + PlayerInventory pi = p.getInventory(); + pi.clear(); + ItemStack KnockbackStick = new ItemStack(Material.STICK,1); + ItemMeta KnockbackStickMeta = KnockbackStick.getItemMeta(); + KnockbackStickMeta.addEnchant(Enchantment.KNOCKBACK, 3 , true); + KnockbackStick.setItemMeta(KnockbackStickMeta); + pi.addItem(KnockbackStick); + } + + } + @EventHandler + public static void onPlayerMove(PlayerMoveEvent event) { + Player p = event.getPlayer(); + FileConfiguration config = file.getConfiguration("LobbyControl/config.yml"); + int x = p.getLocation().getBlockX(); + int y = p.getLocation().getBlockY(); + int z = p.getLocation().getBlockZ(); + if(p.getWorld().getName().equals(config.getString("SandboxWorld"))) { + Material block = p.getWorld().getBlockAt(x,y-1,z).getType(); + if (block.equals(Material.GOLD_BLOCK)) { + int xx = config.getInt("Sandbox-gold-X"); + int yy = config.getInt("Sandbox-gold-Y"); + int zz = config.getInt("Sandbox-gold-Z"); + p.teleport(new Location(p.getWorld(),xx,yy,zz)); + } + if (block.equals(Material.DIAMOND_BLOCK)) { + int xx = config.getInt("Sandbox-diamond-X"); + int yy = config.getInt("Sandbox-diamond-Y"); + int zz = config.getInt("Sandbox-diamond-Z"); + p.teleport(new Location(p.getWorld(),xx,yy,zz)); + } + if (block.equals(Material.IRON_BLOCK)) { + PotionEffect potionEffect = new PotionEffect(PotionEffectType.REGENERATION,20,200); + p.addPotionEffect(potionEffect); + p.getWorld().spawnParticle(Particle.ENCHANTMENT_TABLE,10,p.getLocation().getBlockX(),p.getLocation().getBlockY(),p.getLocation().getBlockZ()); + p.setFoodLevel(20); + } + } + } +} diff --git a/src/main/java/me/lubek/sandbox/libs/file.java b/src/main/java/me/lubek/sandbox/libs/file.java new file mode 100644 index 0000000..d07fcff --- /dev/null +++ b/src/main/java/me/lubek/sandbox/libs/file.java @@ -0,0 +1,24 @@ +package me.lubek.sandbox.libs; + +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; + +import java.io.File; + +public class file { + public static FileConfiguration getConfiguration(String Path) { + File file2 = new File("plugins/"+Path); + FileConfiguration configuration = YamlConfiguration.loadConfiguration(file2); + return configuration; + } + public static boolean checkConfiguration(String Path) { + File file2 = new File("plugins/"+Path); + if(file2.exists()) { + return true; + } + if(!file2.exists()) { + return false; + } + return false; + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..fffc3a1 --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,7 @@ +name: Sandbox +version: ${project.version} +main: me.lubek.sandbox.Sandbox +api-version: 1.16 +depend: [ LobbyControl ] +authors: [ lubek ] +description: Sandbox plugin