Fixed Velocity tab completer, renamed some methods and much more
+ Added new RegionUtils api which actually contains only two methods:
- boolean isInside(double pointX, double pointY, double pointZ, double fromX, double fromY, double fromZ, double toX, double toY, double toZ)
- boolean isInside(double[] points, double[] from, double[] to)
+ Fixed Json support in the config files (no longer breaking text where starts '#' symbol if it inside json - {} or [])
+ Small rework of ComponentsAPI#fixJsonList method
- Removed TheMaterial class
+ Added new BlockDataStorage class
Position class:
+ Caching of nms chunk
Added methods:
* public static Position fromEntity(Entity entity)
* long setType(Material type)
* long setType(BlockDataStorage type)
⬆️ Return chunk key
* void setTypeAndUpdate(Material type)
* void setTypeAndUpdate(Material type, boolean updatePhysics)
* void setTypeAndUpdate(BlockDataStorage type)
* void setTypeAndUpdate(BlockDataStorage type, boolean updatePhysics)
* void setAirAndUpdate(boolean updatePhysics)
* void updatePhysics()
- Removed methods:
* void setState(BlockState state)
* void setBlockData(BlockData state)
* void setStateAndUpdate(BlockState state)
* void setBlockDataAndUpdate(BlockData state)
- ServerListPingEvent#getPlayers now returns List<GameProfileHandler>
- Renamed class PlayerProfile to GameProfileHandler
+ Added new static methods to the GameProfileHandler to create instance:
* of(String username, UUID uuid)
* of(String username, UUID uuid, PropertyHandler textures)
+ Added profile (textures) properties to the GameProfileHandler
+ New PropertyHandler class which hold profile properties
+ Added GameProfileHandler#getGameProfile() method
+ Added GameProfileHandler#setTextures(PropertyHandler textures) method
+ Added Map<String, PropertyHandler> GameProfileHandler#getProperties() method
- Renamed method GameProfileHandler#getName() to GameProfileHandler#getUsername()
+ Added new methods to the NmsProvider:
* Object getGameProfile(Player player)
* Object getGameProfile(Object nmsPlayer)
* Object toGameProfile(GameProfileHandler gameProfileHandler)
* GameProfileHandler fromGameProfile(Object gameProfile)
* Object packetPlayerInfo(PlayerInfoType type, GameProfileHandler gameProfile, int latency, GameMode gameMode, Component playerName)
- Removed methods from the NmsProvider:
* createGameProfile(UUID uuid, String name, String values)
* getGameProfileValues(Object profile)
⚠️ Renamed methods in the StringUtils class:
* generateRandomDouble -> randomDouble
* generateRandomInt -> randomInt
* getRandomFromCollection -> randomFromCollection
* getRandomFromList -> randomFromList
+ Improved functionality of PercentageList class (Now works with super low percents (0.04, 1, 0.5..)
+ Improved methods to generate radom int/double (StringUtils class)
+ Added new methods to generate "chance" to the StringUtils class
* boolean checkProbability(double chance)
* boolean checkProbability(double chance, double basedChance) (basedChance is defaulty 100)
- Removed from PercentageList class method toList()
+ Fixed creating of Config without loading file (Constructor Config(File file, boolean load) with field load set to false)
+ Another work around Sockets API
❓ Example of usage new "probability" methods you can find in the ⚙『examples』 channel.
+ Allowed joining of empty strings via StringUtils#join method
+ Fixed ComponentAPI#fromString method (Reading "next" lines - \n) & fixed converting of websites
+ Fixed default capacity of StringContainer (if int capacity is zero or below, defaulty 16)
+ Improved performance of TabAPI (sending packets) & no longer colorizing strings
+ Fixed Velocity support (Tab completer)
+ Added new methods to the ItemMaker class
* itemMeta(ItemMeta) Allows to load an item from ItemStack into ItemMaker and edit it
* nbt(NBTEdit) Custom nbt tags
* getNBT() Get custom nbt tags if present
* static ItemMaker of(ItemStack) Convert ItemStack to ItemMaker