Example #1
0
 public void despawn() {
   if (!isEntitySpawned()) return;
   this.entitySpawned = false;
   ServerDestroyEntitiesPacket destroyEntitiesPacket =
       new ServerDestroyEntitiesPacket(this.entityID);
   this.entityID = Entity.getNextID();
   for (Player pl : MCThunder.getPlayers()) pl.sendPacket(destroyEntitiesPacket);
 }
Example #2
0
 public void spawn(Location l) {
   if (isEntitySpawned()) return;
   this.entitySpawned = true;
   this.location = l;
   long chunk = getChunk();
   for (Player p : MCThunder.getPlayers())
     if (p.getWorld().equals(getWorld()) && p.isColumnLoaded(chunk))
       for (Packet packet : getPackets()) p.sendPacket(packet);
 }
Example #3
0
 @Override
 public boolean execute(Player player, String[] args) {
   if (args.length == 0) return false;
   Player p = MCThunder.getPlayer(args[0]);
   if (p == null) {
     player.sendMessage("&cThat Player is not online!");
     return true;
   }
   CompoundTag c = (CompoundTag) MCThunder.getProfileHandler().getAttribute(p, "RankManager");
   for (int i =
           MCThunder.getRankManager()
                   .getCommandLevelFromRank(c.get("RankName").getValue().toString())
               + 1;
       i <= 9999;
       i++)
     if (MCThunder.getRankManager().getRankHashMap().containsValue(i)) {
       String rank = (String) MCThunder.getRankManager().getReverseRankHashMap().get(i);
       MCThunder.getRankManager().setPlayerRank(p, rank);
       player.sendMessage(
           "&1Player " + p.getDisplayName() + "'s rank has been changed to " + rank + "!");
       p.sendMessage("Your rank has been set to " + rank + "!");
       return true;
     }
   player.sendMessage("&cThere is no Higher rank!");
   return true;
 }
Example #4
0
 public void setName(String newName) {
   if (this.name == null) return;
   String nick = MessageFormat.formatMessage(this.name = newName).getFullText().trim();
   if (nick.length() < 17) {
     super.setCustomName(nick);
     this.metadata.setMetadata(2, nick);
     this.botProfile = new GameProfile(this.uuid, nick);
     this.botProfile.getProperties().put("textures", this.skin);
     updateMetadata();
   }
   MCThunder.getEntryListHandler().refresh(this);
   if (nick.length() < 17) {
     ServerDestroyEntitiesPacket destroyEntitiesPacket =
         new ServerDestroyEntitiesPacket(getEntityID());
     this.entityID = getNextID();
     long chunk = getChunk();
     for (Player pl : MCThunder.getPlayers()) {
       pl.sendPacket(destroyEntitiesPacket);
       if (pl.getWorld().equals(getWorld()) && pl.isColumnLoaded(chunk))
         for (Packet packet : getPackets()) pl.sendPacket(packet);
     }
   }
 }
Example #5
0
 protected void setSkin(Property p) {
   if (p == null || !p.getName().equalsIgnoreCase("textures")) return;
   this.skin = p;
   if (this.capeURL
       != null) // This does not work because signature is not valid after it is changed
   try { // TODO: Try to come up with a way to get this to work, that does not require the private
         // mc auth key
       byte[] bytes = Base64.decode(this.skin.getValue().getBytes("UTF-8"));
       String value = new String(bytes);
       int s = value.indexOf("CAPE");
       value =
           value.substring(0, (s == -1 ? value.length() : s) - 2)
               + ",\"CAPE\":{\"url\":\""
               + this.capeURL
               + "\"}}}";
       this.skin =
           new Property(
               "textures",
               new String(Base64.encode(value.getBytes("UTF-8"))),
               this.skin.getSignature());
     } catch (Exception e) {
       e.printStackTrace();
     }
   this.botProfile.getProperties().put("textures", this.skin);
   MCThunder.getEntryListHandler().refresh(this);
   if (isEntitySpawned()) {
     ServerDestroyEntitiesPacket destroyEntitiesPacket =
         new ServerDestroyEntitiesPacket(this.entityID);
     this.entityID = Entity.getNextID();
     long chunk = getChunk();
     for (Player pl : MCThunder.getPlayers()) {
       pl.sendPacket(destroyEntitiesPacket);
       if (pl.getWorld().equals(getWorld()) && pl.isColumnLoaded(chunk))
         for (Packet packet : getPackets()) pl.sendPacket(packet);
     }
   }
 }