Advertisement
Guest User

Tutorial

a guest
May 8th, 2021
15
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.97 KB | None | 0 0
  1. package com.gmail.fabianimiau;
  2.  
  3.  
  4. import org.bukkit.Bukkit;
  5. import org.bukkit.ChatColor;
  6. import org.bukkit.GameMode;
  7. import org.bukkit.Instrument;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.Note;
  11. import org.bukkit.Sound;
  12. import org.bukkit.entity.Entity;
  13. import org.bukkit.entity.EntityType;
  14. import org.bukkit.entity.Player;
  15. import org.bukkit.event.EventHandler;
  16. import org.bukkit.event.Listener;
  17. import org.bukkit.event.block.Action;
  18. import org.bukkit.event.player.AsyncPlayerChatEvent;
  19. import org.bukkit.event.player.PlayerInteractEntityEvent;
  20. import org.bukkit.event.player.PlayerInteractEvent;
  21. import org.bukkit.event.player.PlayerJoinEvent;
  22. import org.bukkit.inventory.Inventory;
  23. import org.bukkit.inventory.ItemStack;
  24. import org.bukkit.inventory.meta.ItemMeta;
  25. import org.bukkit.metadata.FixedMetadataValue;
  26. import org.bukkit.plugin.Plugin;
  27. import org.bukkit.plugin.java.JavaPlugin;
  28. import org.bukkit.event.player.PlayerTeleportEvent;
  29.  
  30.  
  31. public class Tutorial implements Listener{
  32.  
  33.  
  34. private JavaPlugin plugin;
  35. private String metaId = "AcceptRules.State";
  36.  
  37. public Tutorial(JavaPlugin plugin) {
  38. this.plugin = plugin;
  39. }
  40.  
  41.  
  42. @EventHandler
  43. public void onPlayerJoin(PlayerJoinEvent e) {
  44.  
  45.  
  46. Player a = e.getPlayer();
  47. a.setGameMode(GameMode.SURVIVAL);
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55. if (a.getInventory().contains(Material.CYAN_TERRACOTTA)) {
  56.  
  57. a.teleport(new Location(Bukkit.getWorld("linkstart"), 0, 69, 0));
  58.  
  59. }
  60. else {
  61.  
  62. a.teleport(new Location(Bukkit.getWorld("linkstart"), 64, 4, -242));
  63.  
  64. }
  65. }
  66.  
  67.  
  68.  
  69. @EventHandler
  70. public void chatFormat(AsyncPlayerChatEvent e){
  71. Player p = e.getPlayer();
  72. e.setFormat("§2Green Player §7" + p.getDisplayName() + " §8| §7" + e.getMessage());
  73. }
  74. @EventHandler
  75. public void onInteract(PlayerInteractEntityEvent e) {
  76. Player v = (Player) e.getRightClicked();
  77. Player p = e.getPlayer();
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85. if(e.getRightClicked().getType().equals(EntityType.PLAYER) && (v.getCustomName().contains("Kirito"))) {
  86.  
  87. Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{
  88. 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?");
  89.  
  90. p.setMetadata(metaId, new FixedMetadataValue(plugin, State.KIRITOGEFRAGT.toString()));
  91.  
  92. }, 3L);
  93.  
  94. }
  95. }
  96.  
  97.  
  98.  
  99.  
  100.  
  101. private State getPlayerState(Player p) {
  102. if (p.hasMetadata(metaId)) {
  103. return State.valueOf(p.getMetadata(metaId).get(0).asString());
  104. } else {
  105. p.setMetadata(metaId, new FixedMetadataValue(plugin, State.NONE.toString()));
  106. return State.NONE;
  107. }
  108. }
  109.  
  110. private void setPlayerState(Player p, State s) {
  111. p.setMetadata(metaId, new FixedMetadataValue(plugin, s.toString()));
  112. }
  113.  
  114. @EventHandler
  115. public void onPlayerChat(AsyncPlayerChatEvent e) {
  116. Player p = e.getPlayer();
  117. State s = getPlayerState(p);
  118.  
  119. if (s != State.LINKSTART && s == State.KIRITOGEFRAGT) {
  120. if (e.getMessage().contains("nein")) {
  121. setPlayerState(p, State.NONE);
  122. Bukkit.getScheduler().runTask(plugin, () -> {p.kickPlayer("Du musst das Tutorial spielen du kek!");});
  123. } else if(e.getMessage().contains("ja")) {
  124. switch(s) {
  125. case KIRITOGEFRAGT:
  126. setPlayerState(p, State.FIRST_YES);
  127. Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{
  128. p.sendMessage("§2Green Player §7Kirito §8| Tutorial Text 1");
  129. }, 3L);
  130. break;
  131. case FIRST_YES:
  132. setPlayerState(p, State.SECOND_YES);
  133. p.teleport(new Location(Bukkit.getWorld("linkstart"), 145, 4, -309));
  134. Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{
  135. p.sendMessage("§2Green Player §7Kirito §8| Tutorial Text 2, Schwert kaufen.");
  136. }, 3L);
  137.  
  138. break;
  139. default:
  140. break;
  141. }
  142. } else if(e.getMessage().toLowerCase().contains("link start") && s == State.SECOND_YES) {
  143. setPlayerState(p, State.LINKSTART);
  144. Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{
  145. ItemStack HatTutorialGespielt = new ItemStack(Material.CYAN_TERRACOTTA);
  146. p.getInventory().addItem(HatTutorialGespielt);
  147. p.sendMessage("Welcome to Sword Art Online");
  148. }, 3L);
  149.  
  150. Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.C)); }, 1L);
  151. Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.D)); }, 5L);
  152. Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.E)); }, 10L);
  153. Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.F)); }, 15L);
  154. Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.G)); }, 20L);
  155. Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{ p.playNote(p.getLocation(), Instrument.PIANO, Note.flat(1, Note.Tone.A)); }, 25L);
  156.  
  157. Bukkit.getScheduler().runTaskLater(Bukkit.getPluginManager().getPlugin("Tutorial"), () ->{
  158. p.teleport(new Location(Bukkit.getWorld("linkstart"), 0, 69, 0));
  159.  
  160.  
  161.  
  162. }, 4L);
  163. }
  164. }
  165. }
  166. }
  167.  
  168. enum State {
  169. NONE,
  170. KIRITOGEFRAGT,
  171. FIRST_YES,
  172. SECOND_YES,
  173. LINKSTART;
  174. }
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement