Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.gmail.fabianimiau;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.GameMode;
- import org.bukkit.Instrument;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.Note;
- import org.bukkit.Sound;
- import org.bukkit.entity.Entity;
- import org.bukkit.entity.EntityType;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.event.player.PlayerInteractEntityEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.metadata.FixedMetadataValue;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.event.player.PlayerTeleportEvent;
- public class Tutorial implements Listener{
- private JavaPlugin plugin;
- private String metaId = "AcceptRules.State";
- public Tutorial(JavaPlugin plugin) {
- this.plugin = plugin;
- }
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent e) {
- Player a = e.getPlayer();
- a.setGameMode(GameMode.SURVIVAL);
- if (a.getInventory().contains(Material.CYAN_TERRACOTTA)) {
- a.teleport(new Location(Bukkit.getWorld("linkstart"), 0, 69, 0));
- }
- else {
- a.teleport(new Location(Bukkit.getWorld("linkstart"), 64, 4, -242));
- }
- }
- @EventHandler
- public void chatFormat(AsyncPlayerChatEvent e){
- Player p = e.getPlayer();
- e.setFormat("§2Green Player §7" + p.getDisplayName() + " §8| §7" + e.getMessage());
- }
- @EventHandler
- public void onInteract(PlayerInteractEntityEvent e) {
- Player v = (Player) e.getRightClicked();
- Player p = e.getPlayer();
- if(e.getRightClicked().getType().equals(EntityType.PLAYER) && (v.getCustomName().contains("Kirito"))) {
- Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{
- p.sendMessage("§2Green Player §7Kirito §8| §7Hi " + p.getName() + ". §7Du hast gerade das erste Mal diese Welt betreten. Willst du von mir erklärt haben wie alles funktioniert?");
- p.setMetadata(metaId, new FixedMetadataValue(plugin, State.KIRITOGEFRAGT.toString()));
- }, 3L);
- }
- }
- private State getPlayerState(Player p) {
- if (p.hasMetadata(metaId)) {
- return State.valueOf(p.getMetadata(metaId).get(0).asString());
- } else {
- p.setMetadata(metaId, new FixedMetadataValue(plugin, State.NONE.toString()));
- return State.NONE;
- }
- }
- private void setPlayerState(Player p, State s) {
- p.setMetadata(metaId, new FixedMetadataValue(plugin, s.toString()));
- }
- @EventHandler
- public void onPlayerChat(AsyncPlayerChatEvent e) {
- Player p = e.getPlayer();
- State s = getPlayerState(p);
- if (s != State.LINKSTART && s == State.KIRITOGEFRAGT) {
- if (e.getMessage().contains("nein")) {
- setPlayerState(p, State.NONE);
- Bukkit.getScheduler().runTask(plugin, () -> {p.kickPlayer("Du musst das Tutorial spielen du kek!");});
- } else if(e.getMessage().contains("ja")) {
- switch(s) {
- case KIRITOGEFRAGT:
- setPlayerState(p, State.FIRST_YES);
- Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{
- p.sendMessage("§2Green Player §7Kirito §8| Tutorial Text 1");
- }, 3L);
- break;
- case FIRST_YES:
- setPlayerState(p, State.SECOND_YES);
- p.teleport(new Location(Bukkit.getWorld("linkstart"), 145, 4, -309));
- Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{
- p.sendMessage("§2Green Player §7Kirito §8| Tutorial Text 2, Schwert kaufen.");
- }, 3L);
- break;
- default:
- break;
- }
- } else if(e.getMessage().toLowerCase().contains("link start") && s == State.SECOND_YES) {
- setPlayerState(p, State.LINKSTART);
- Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{
- ItemStack HatTutorialGespielt = new ItemStack(Material.CYAN_TERRACOTTA);
- p.getInventory().addItem(HatTutorialGespielt);
- p.sendMessage("Welcome to Sword Art Online");
- }, 3L);
- Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.C)); }, 1L);
- Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.D)); }, 5L);
- Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.E)); }, 10L);
- Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.F)); }, 15L);
- Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.G)); }, 20L);
- Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.A)); }, 25L);
- Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{
- p.teleport(new Location(Bukkit.getWorld("linkstart"), 0, 69, 0));
- }, 4L);
- }
- }
- }
- }
- enum State {
- NONE,
- KIRITOGEFRAGT,
- FIRST_YES,
- SECOND_YES,
- LINKSTART;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement