adding serverchange when rightclicking the villager
This commit is contained in:
parent
fdc98d0c76
commit
3845f104c6
@ -1,6 +1,6 @@
|
||||
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.util.VillagerSpawner;
|
||||
import org.bukkit.Bukkit;
|
||||
@ -9,21 +9,33 @@ import org.bukkit.plugin.java.JavaPlugin;
|
||||
import java.util.Objects;
|
||||
|
||||
public final class Main extends JavaPlugin {
|
||||
private static Main instance;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
// init
|
||||
saveDefaultConfig();
|
||||
VillagerSpawner.spawnVillager();
|
||||
instance = this;
|
||||
|
||||
// register Messaging-Channels
|
||||
this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
|
||||
|
||||
// register Commands
|
||||
Objects.requireNonNull(this.getCommand("worldMuseum-villager")).setExecutor(new SpawnWorldMuseumVillagerCommand());
|
||||
Objects.requireNonNull(this.getCommand("worldMuseum-villager")).setExecutor(new WorldMuseumVillagerCommand());
|
||||
|
||||
// register listeners
|
||||
Bukkit.getPluginManager().registerEvents(new PlayerEntityInteractListener(), this);
|
||||
|
||||
// Load config & spawn Villager
|
||||
saveDefaultConfig();
|
||||
VillagerSpawner.spawnVillager();
|
||||
|
||||
|
||||
}
|
||||
@Override
|
||||
public void onDisable() {
|
||||
VillagerSpawner.killVillager();
|
||||
}
|
||||
|
||||
public static Main getInstance() {
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SpawnWorldMuseumVillagerCommand implements CommandExecutor {
|
||||
public class WorldMuseumVillagerCommand implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||
if (!(sender instanceof Player player)) return false;
|
@ -1,15 +1,19 @@
|
||||
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 org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerInteractAtEntityEvent;
|
||||
|
||||
public class PlayerEntityInteractListener implements Listener {
|
||||
private final PluginMessage pluginMessage = new PluginMessage();
|
||||
@EventHandler
|
||||
public void onInteract(PlayerInteractAtEntityEvent event) {
|
||||
if (!event.getRightClicked().equals(VillagerSpawner.getStaticVillager())) return;
|
||||
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());
|
||||
}
|
||||
}
|
@ -3,4 +3,5 @@ villagerLocation:
|
||||
- 0 #y
|
||||
- 0 #z
|
||||
- 0 #yaw
|
||||
- 0 #pitch
|
||||
- 0 #pitch
|
||||
world-museum-name: worldmuseum
|
Loading…
x
Reference in New Issue
Block a user