Skocz do zawartości

xTea_199

Użytkownik
  • Ilość zawartości

    109
  • Rejestracja

  • Ostatnia wizyta

1 obserwujący

Ostatnie wizyty

Blok z ostatnimi odwiedzającymi dany profil jest wyłączony i nie jest wyświetlany użytkownikom.

Osiągnięcia xTea_199

  1. Mam oto taki kod: @Override public void onEnable(){ Bukkit.getServer().getPluginManager().registerEvents(this , this); } @EventHandler public void onExplode(EntityExplodeEvent e){ Settings ss = Settings.getInstance(); Region region = RegionUtils.getAt(e.getLocation()); if (region == null){ return; } Guild g = region.getGuild(); if (g == null || g.getName() == null){ return; } if (g != null) { List<Location> s = sphere(e.getLocation(), 5, 5, false, true, 0); Map ExplodeMaterials = ss.explodeMaterials; for (final Location loc : s) { Material mat = loc.getBlock().getType(); if (ExplodeMaterials.containsKey(mat)) { if(mat.equals(Material.WATER)){ loc.getBlock().setType(Material.AIR); } else{ loc.getBlock().breakNaturally(); } } if (mat.equals(Material.JUKEBOX)) { Bukkit.getScheduler().runTaskLater(new Main(), new Runnable(){ public void run(){ loc.getBlock().setType(Material.JUKEBOX); } }, 1L); } } g.setBuild(System.currentTimeMillis() + Settings.getInstance().regionExplode * 1000L); for (User user : g.getMembers()){ Player player = Bukkit.getPlayer(user.getName()); if (player != null) { player.sendMessage(Messages.getInstance().getMessage("regionExplode") .replace("{TIME}", Integer.toString(Settings.getInstance().regionExplode))); } } } } public static List<Location> sphere(Location loc, int radius, int height, boolean hollow, boolean sphere, int plusY){ List circleblocks = new ArrayList(); int cx = loc.getBlockX(); int cy = loc.getBlockY(); int cz = loc.getBlockZ(); for (int x = cx - radius; x <= cx + radius; x++) { for (int z = cz - radius; z <= cz + radius; z++) { for (int y = sphere ? cy - radius : cy; y < (sphere ? cy + radius : cy + height); y++) { double dist = (cx - x) * (cx - x) + (cz - z) * (cz - z) + (sphere ? (cy - y) * (cy - y) : 0); if ((dist < radius * radius) && ((!hollow) || (dist >= (radius - 1) * (radius - 1)))) { Location l = new Location(loc.getWorld(), x, y + plusY, z); circleblocks.add(l); } } } } return circleblocks; } ale oczywiście nie działa tylko to co chcę Material mat = loc.getBlock().getType(); if (ExplodeMaterials.containsKey(mat)) { if(mat.equals(Material.WATER)){ loc.getBlock().setType(Material.AIR); } else{ loc.getBlock().breakNaturally(); } } if (mat.equals(Material.JUKEBOX)) { Bukkit.getScheduler().runTaskLater(new Main(), new Runnable(){ public void run(){ loc.getBlock().setType(Material.JUKEBOX); } }, 1L); } Pomoże ktoś to naprawić?
  2. xTea_199

    Cobblex

    Mam takie coś @EventHandler public void onCraft(PrepareItemCraftEvent e) { if (e.getInventory().getType().equals(InventoryType.WORKBENCH)) { if (e.getInventory().getResult().getType().equals(Material.EMERALD_ORE)) { if (e.getInventory().getItem(1).getAmount() == 64) { if (e.getInventory().getItem(2).getAmount() == 64) { if (e.getInventory().getItem(3).getAmount() == 64) { if (e.getInventory().getItem(4).getAmount() == 64) { if (e.getInventory().getItem(5).getAmount() == 64) { if (e.getInventory().getItem(6).getAmount() == 64) { if (e.getInventory().getItem(7).getAmount() == 64) { if (e.getInventory().getItem(8).getAmount() == 64) { if (e.getInventory().getItem(9).getAmount() == 64) { return; } } } } } } } } } e.getInventory().setResult( new ItemStack(Material.AIR, 0)); } } } @Override public void onEnable(){ Bukkit.addRecipe(new ShapedRecipe(new ItemStack(c1)).shape(new String[] { "sss", "sss", "sss" }).setIngredient('s', Material.COBBLESTONE)); } i to działa na zasadzie że jeżeli w craftingu jest w każdym slocie x64 cobbla to jak craftuje to zabiera po 1 z każdego
  3. jak zrobić aby po kliknięciu w tabliczkę sprawdzało czy w 1 linijce jest napisane "xd" i w 2 jeżeli jest napisane "xp"?
  4. Mam oto taki kod: int is = e.getPlayer().getItemInHand().getDurability() + 1; e.getPlayer().getItemInHand().setDurability((short) is); e.getPlayer().updateInventory(); if(e.getPlayer().getItemInHand().getDurability() < 1){ e.getPlayer().getItemInHand().setType(null); e.getPlayer().sendMessage("sa"); } Zrobiłem tak ponieważ po e.setcanc... nie zadaje obrażeń do przedmiotu, i to oczywiście nie działa, proszę po pomoc
  5. Tak jak w temacie, chcę aby po niszczeniu sprawdzało czy jest tam gildia, jeżeli jest to pobiera tag coś w tym stylu Region guild = Regione.get();
  6. a co jeżeli jakiś serwer nie ma lobby i co jeżeli jakiś typowy Janusz wejdzie na nick innego gracza i odpali kill-aure?
  7. nie chodzi mi o to... zrobiłem zmienną int i i chcę żeby zamiast dodawania 100 sekund dodawało zmienną i...
  8. Jaqobb a jak zrobić aby dodawało zmienną (i) jako sekundy?
  9. poda ktoś kawałek kodu że pobiera datę w stylu DD.MM.YYYY hh:mm:ss i + dodaję 100 sekund...
  10. MasterZiomalo7 na tabie może być tylko 16 znaków a jeżeli ktoś ma więcje bo ty na tabie pewnie masz "Nick: "nick" " i to jest więcej niż 16 znaków...
  11. Ixidi nie chodzi o to... jak masz sprawdzanie czy gui nazywa sie "bla bla" - if(i.getName().equals("§6Drop z kamienia")){ to ja zamiast tego chcę aby sprawdzało zamiast ( if(i.getName().equals("§6Drop z kamienia")){ ) to czy slocie 8 jest dirt to by wyglądało jakoś tak if(e.getslot(8).equals(new ItemStack(Material.STONE){
  12. Mam takie coś if(i.getName().equals("§6Drop z kamienia")){ ale nie chcę używać tego ifa chcę takiego który sprawdza czy w 8 slocie jest dirt jeżeli jest kod idzie dalej jeżeli nie to nic nie robi Daje ++ za pomoc!
  13. ja umiem to zrobić ale w ten sposób że musisz je podać w configu
×
×
  • Dodaj nową pozycję...