Welcome to Bukkit France

Inscrivez-vous maintenant pour profiter d'un accès total à tout le contenu offert par la meilleur communauté Bukkit française ! Une fois inscrit et connecté, vous pourrez contribuez à la communauté en postant vos propres sujets et questions ou en répondant à ceux existants. Vous pourrez aussi customiser votre profil, recevoir des points de réputations, communiquer avec les autres membres via le chat, et plus encore! 

Dermenslof

Membres
  • Compteur de contenus

    2492
  • Inscription

  • Dernière visite

Réputation sur la communauté

2765 va-t-il s'arrêter ?!

À propos de Dermenslof

  • Rang
    L'ancien
  • Date de naissance 01/06/86

Me contacter

  • Minecraft Dermenslof

Informations de profil

  • Sexe
  1. D'un block1 à un block2 puis un block1

    @EventHandler public void onMove(PlayerMoveEvent e) { if (e.getFrom().getBlock() != e.getTo().getBlock()) { final Block b = e.getFrom().subtract(0, 1, 0).getBlock(); final BlockState state = b.getState(); b.setType(Material.SLIME_BLOCK); new BukkitRunnable() { @Override @SuppressWarnings("deprecation") public void run() { b.setType(state.getType()); b.setData(state.getData().getData()); } }.runTaskLater(this, 60L); } }  
  2. [SQL] Comment augmenter la taille maximum d'upload ?

    pas besoin de Base64, le format Blob est tres bien ... exemple simple: creation d'un Blob: ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutput out = null; try { out = new ObjectOutputStream(bos); out.writeObject(TonObjet); out.flush(); Blob blob = new SerialBlob(bos.toByteArray()); // requete insert/update sql } finally { try { bos.close(); } catch (IOException ex) {} } lecture d'un  Blob: Blob blob = // select sql + getBlob ByteArrayInputStream bis = new ByteArrayInputStream(blob.getBytes(0, blob.length())); ObjectInput in = null; try { in = new ObjectInputStream(bis); Object o = in.readObject(); ... } finally { try { if (in != null) { in.close(); } } catch (IOException ex) {} }  
  3. Détecter quand un joueur ouvre son inventaire

    je viens de trouver un trick (passer par l'achievment openInventory): @EventHandler public void onJoin(PlayerJoinEvent e) { event.getPlayer().removeAchievement(Achievement.OPEN_INVENTORY); } @EventHandler public void onPlayerInventoryOpen(PlayerAchievementAwardedEvent e) { if(e.getAchievement().equals(Achievement.OPEN_INVENTORY)) { e.setCancelled(true); // ici le player a ouvert SON Inventaire } } c'est pas tres propre, mais c'est le seul moyen (sans modifier le server)
  4. Détecter quand un joueur ouvre son inventaire

    chaque type d'inventaire a un nom (title) donc dans un premier temps, tu va mettre un log dans ton event: System.out.println("event.getInventory().getTitle()"); ensuite, une fois que tu as ce nom dans ton event tu as juste a check que ca correspond: if (event.getInventory().getTitle().equals(leNomRecupere))     // playerInventory else     // other inventory
  5. Origine inconnue d'un NPE (tout bug a cause de lui)

    je crois que tu confond declaration et initialisation ... main n'est jamais initialise dans ta class ReportsLislener
  6. Origine inconnue d'un NPE (tout bug a cause de lui)

    juste dans ton IDE il y a  un truc qui s'appel le "debugger" il te suffit de mettre un "break point" sur la ligne qui provoque le nullPointerException ensuite tu a juste a regarder le dump des var utilisees dans cette ligne pour voir laquelle est null
  7. Une sorte de "reload"

    mouai ... reflechissez un peu. dans quel cas peut-on predefinir une liste de ban? aucun il n'y a donc aucun interet a integrer dans le plugin un ban.yml donc ceci suffit amplement: public TonPlugin extends JavaPlugin { private FileConfiguration banConfig; private TonPlugin instance; @Override public void onEnable() { instance = this; banConfig = new YamlConfiguration(ew File(getDataFolder(), "ban.yml")); //... } public static getInstance() { return instance; } public static FileConfiguration getBanConfig() { return banConfig; } }  
  8. Méthode d'inventaire & NPE

    http://stackoverflow.com/questions/33477039/the-way-to-create-abstract-enum
  9. [MySQL] String ou Integer ?

    TINYINT         = 1 octets -> -128 <= val <= 127 SMALLINT     = 2 octets -> -32768 <= val <= 32767 MEDIUMINT   = 3 octets -> -8388608 <= val <= 8388607 INT                = 4 octets -> -2147483648 <= val <= 2147483647 BIGINT          = 8 octets -> -9223372036854775808 <= val <= 9223372036854775807 VARCHAR(5) = 5 octets donc le choix le plus rentable pour toi etant donne que tu as 5 valeurs possibles est d'utiliser un TINYINT et comme ca, cela t'evite de parser la reponse  
  10. Fichier de config

     pas besoin d'initialiser la config si tu fais: int nombreAvertissement = TaClass.getConfig().getInt("warn." + p.getName() + ".avertissement", 1);  
  11. Retrouver un duo dans une liste !

    ba utllise une Map<String, String> plutot. c'est fait pour (association de variable en duo en cle/valeur)   ex: private Map<String, String> duos = new HashMap<>(); //ajout d'un duo public void createDuo(Player a, Player b) { duos.put(a.getNAme(), b.getName()); } // suppression d'un duo public void removeDuo(Player a, Player b) { duos.remove(a.getName()); duos.remove(b.getName()); } //recherche d'un duo public OfflinePlayer searchPartner(Player p) { Iterator<Entry<String, String>> it = duos.entrySet().iterator(); while (it.hasNext()) { Entry<String, String> entry = it.next(); if (entry.getKey().equals(p.getName())) return Bukkit.getOfflinePlayer(entry.getValue()); else if (entry.getValue().equals(p.getName())) return Bukkit.getOfflinePlayer(entry.getKey()); } return null; }  
  12. Trade ilimité avec un NPC Custom ?

    juste comme ca, le field "maxUses" de MerchantRecipe est public et non final. donc pas besoin de reflection...
  13. Plugin pas pris en compte

    un plugin n'est en aucun cas un executable. il faut juste le compiler et l'exporter en jar  
  14. Cuboid selection

    c'est marrant apres 500 message t'as toujours pas compris qu'il y a une fonction rechercher sur le forum ??? tu le dit toi meme un cuboid est represente par 2 location. donc il suffit juste de checker si une location se trouve entre 2 points...
  15. Sérialization de l'inventaire d'un joueur !

    oui