adding serverchange when rightclicking the villager
This commit is contained in:
parent
fdc98d0c76
commit
3845f104c6
@ -1,6 +1,6 @@
|
|||||||
package eu.mhsl.craftattack.spawn;
|
package eu.mhsl.craftattack.spawn;
|
||||||
|
|
||||||
import eu.mhsl.craftattack.spawn.command.SpawnWorldMuseumVillagerCommand;
|
import eu.mhsl.craftattack.spawn.command.WorldMuseumVillagerCommand;
|
||||||
import eu.mhsl.craftattack.spawn.listener.PlayerEntityInteractListener;
|
import eu.mhsl.craftattack.spawn.listener.PlayerEntityInteractListener;
|
||||||
import eu.mhsl.craftattack.spawn.util.VillagerSpawner;
|
import eu.mhsl.craftattack.spawn.util.VillagerSpawner;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
@ -9,21 +9,33 @@ import org.bukkit.plugin.java.JavaPlugin;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public final class Main extends JavaPlugin {
|
public final class Main extends JavaPlugin {
|
||||||
|
private static Main instance;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
|
// init
|
||||||
|
saveDefaultConfig();
|
||||||
|
VillagerSpawner.spawnVillager();
|
||||||
|
instance = this;
|
||||||
|
|
||||||
|
// register Messaging-Channels
|
||||||
|
this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
|
||||||
|
|
||||||
// register Commands
|
// register Commands
|
||||||
Objects.requireNonNull(this.getCommand("worldMuseum-villager")).setExecutor(new SpawnWorldMuseumVillagerCommand());
|
Objects.requireNonNull(this.getCommand("worldMuseum-villager")).setExecutor(new WorldMuseumVillagerCommand());
|
||||||
|
|
||||||
// register listeners
|
// register listeners
|
||||||
Bukkit.getPluginManager().registerEvents(new PlayerEntityInteractListener(), this);
|
Bukkit.getPluginManager().registerEvents(new PlayerEntityInteractListener(), this);
|
||||||
|
|
||||||
// Load config & spawn Villager
|
|
||||||
saveDefaultConfig();
|
|
||||||
VillagerSpawner.spawnVillager();
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
VillagerSpawner.killVillager();
|
VillagerSpawner.killVillager();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Main getInstance() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class SpawnWorldMuseumVillagerCommand implements CommandExecutor {
|
public class WorldMuseumVillagerCommand implements CommandExecutor {
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||||
if (!(sender instanceof Player player)) return false;
|
if (!(sender instanceof Player player)) return false;
|
@ -1,15 +1,19 @@
|
|||||||
package eu.mhsl.craftattack.spawn.listener;
|
package eu.mhsl.craftattack.spawn.listener;
|
||||||
|
|
||||||
|
import eu.mhsl.craftattack.spawn.util.ConfigUtil;
|
||||||
|
import eu.mhsl.craftattack.spawn.util.PluginMessage;
|
||||||
import eu.mhsl.craftattack.spawn.util.VillagerSpawner;
|
import eu.mhsl.craftattack.spawn.util.VillagerSpawner;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerInteractAtEntityEvent;
|
import org.bukkit.event.player.PlayerInteractAtEntityEvent;
|
||||||
|
|
||||||
public class PlayerEntityInteractListener implements Listener {
|
public class PlayerEntityInteractListener implements Listener {
|
||||||
|
private final PluginMessage pluginMessage = new PluginMessage();
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onInteract(PlayerInteractAtEntityEvent event) {
|
public void onInteract(PlayerInteractAtEntityEvent event) {
|
||||||
if (!event.getRightClicked().equals(VillagerSpawner.getStaticVillager())) return;
|
if (!event.getRightClicked().equals(VillagerSpawner.getStaticVillager())) return;
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
System.out.println("test");
|
String servername = ConfigUtil.getConfigUtil().getConfig().getString("world-museum-name");
|
||||||
|
pluginMessage.connect(event.getPlayer(), servername);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
package eu.mhsl.craftattack.spawn.util;
|
||||||
|
|
||||||
|
import com.google.common.io.ByteArrayDataOutput;
|
||||||
|
import com.google.common.io.ByteStreams;
|
||||||
|
import eu.mhsl.craftattack.spawn.Main;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class PluginMessage {
|
||||||
|
private final Main plugin = Main.getInstance();
|
||||||
|
public void connect(Player player, String server) {
|
||||||
|
ByteArrayDataOutput output = ByteStreams.newDataOutput();
|
||||||
|
output.writeUTF("Connect");
|
||||||
|
output.writeUTF(server);
|
||||||
|
player.sendPluginMessage(plugin, "BungeeCord", output.toByteArray());
|
||||||
|
}
|
||||||
|
}
|
@ -4,3 +4,4 @@ villagerLocation:
|
|||||||
- 0 #z
|
- 0 #z
|
||||||
- 0 #yaw
|
- 0 #yaw
|
||||||
- 0 #pitch
|
- 0 #pitch
|
||||||
|
world-museum-name: worldmuseum
|
Loading…
x
Reference in New Issue
Block a user