diff --git a/build.gradle b/build.gradle index 9b1135a..7750094 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { } group = 'fr.efreicraft' -version = '1.0.1' +version = '1.0.2' repositories { mavenCentral() diff --git a/src/main/java/fr/efreicraft/eclobby/Main.java b/src/main/java/fr/efreicraft/eclobby/Main.java index d5297dd..15d62b6 100644 --- a/src/main/java/fr/efreicraft/eclobby/Main.java +++ b/src/main/java/fr/efreicraft/eclobby/Main.java @@ -25,6 +25,7 @@ public void onEnable() { Bukkit.getPluginManager().registerEvents(new GamemodeChange(), INSTANCE); Bukkit.getPluginManager().registerEvents(new Click(), INSTANCE); Bukkit.getPluginManager().registerEvents(new Damage(), INSTANCE); + Bukkit.getPluginManager().registerEvents(new TechZone(), INSTANCE); registerCommand("lobby", new Lobby()); registerCommand("join", new Join()); diff --git a/src/main/java/fr/efreicraft/eclobby/listeners/TechZone.java b/src/main/java/fr/efreicraft/eclobby/listeners/TechZone.java new file mode 100644 index 0000000..6b2108a --- /dev/null +++ b/src/main/java/fr/efreicraft/eclobby/listeners/TechZone.java @@ -0,0 +1,48 @@ +package fr.efreicraft.eclobby.listeners; + +import net.kyori.adventure.text.Component; +import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerInteractEntityEvent; +import org.bukkit.event.player.PlayerMoveEvent; +import org.bukkit.inventory.Inventory; + +public class TechZone implements Listener { + @EventHandler + public void onPlayerWalkOnBlock(PlayerMoveEvent event) { + Player player = event.getPlayer(); + Location loc = player.getLocation(); + Location blockUnderPlayer = new Location(loc.getWorld(), loc.getX(), loc.getY() - 1, loc.getZ()); + if (blockUnderPlayer.getBlock().getType() == Material.JIGSAW) { + float playerYaw = loc.getYaw(); + if (playerYaw > -45 && playerYaw < 45) { // player looking at south - Z+ + player.setVelocity((new Location(player.getWorld(), loc.getX(), loc.getY(), loc.getZ(), 0, -30)).getDirection()); + } + else if (playerYaw > 45 && playerYaw < 135) { // player looking at east - X+ + player.setVelocity((new Location(player.getWorld(), loc.getX(), loc.getY(), loc.getZ(), 90, -30)).getDirection()); + } + else if (playerYaw > 135 || playerYaw < -135) { // player looking at north - Z- + player.setVelocity((new Location(player.getWorld(), loc.getX(), loc.getY(), loc.getZ(), 180, -30)).getDirection()); + } + else { // player looking at west - X- + player.setVelocity((new Location(player.getWorld(), loc.getX(), loc.getY(), loc.getZ(), -90, -30)).getDirection()); + } + } + } + + // Applied Energistics System + public Inventory ae_storage = Bukkit.createInventory(null, 54, Component.text("Applied Energistics System")); + + @EventHandler + public void onRightClickOnAEItemFrame(PlayerInteractEntityEvent event) { + Player player = event.getPlayer(); + Location itemFrameLoc = event.getRightClicked().getLocation(); + if (itemFrameLoc.getX() == -40.5 && itemFrameLoc.getY() == 0.5 && itemFrameLoc.getZ() == -4.96875) { + player.openInventory(ae_storage); + } + } +}