Skript: Upcoming: relevant 1.11 changes that will need addressing

Created on 6 Oct 2016  路  9Comments  路  Source: SkriptLang/Skript

edit: 11/20/2016 12:46 PM EST, added links to Spigot API commits

Hey

I know you guys are busy and plugin devs often have a hard time keeping up with the changelogs in detail, so I figure it'll be nice to organize all of the 1.11 changes here that will require being addressed by Skript since I follow the snapshots religiously. This update will possibly make multi-version support a bit of a bitch, but we'll see how it goes.

I don't know if you have the power to edit my posts since it's your repo, but if so you can use this checklist to mark stuff as you finish it once 1.11 rolls out. If not, you can also copy this checklist into your own post and I can close this one, so that you can actually use it (or you can just reply as you complete stuff and I'll check it off for you, whatever you prefer).

Entities

  • [x] All entity variants have now been split into their own entity types. The provided Network/Entity IDs are their NEW IDs as of 1.11, as previously they shared their ID with the base mob and were separated by NBT. Affected entities:

    • Probably best viewed by the main 1.11 commit; in the entity folder you can see the new files

    • The horses variants now either extend AbstractHorse (if they don't have an inventory) or ChestedHorse (if they DO have an inventory)

    • Donkey and Mule extend ChestedHorse, while SkeletonHorse, ZombieHorse, and Horse extend AbstractHorse

    • It appears Horse will eventually extend ChestedHorse instead; its isCarryingChest and setCarryingChest methods have been deprecated

    • [x] Elder Guardians (Network ID 4, new entity ID: elder_guardian)

    • [x] Wither Skeletons (Network ID 5, new entity ID: wither_skeleton)

    • [x] Strays (Network ID 6, new entity ID: stray)

    • [x] Husks (Network ID 23, new entity ID: husk)

    • [x] Zombie Villagers (Network ID 27, new entity ID: zombie_villager)

    • I thought this would affect your fix for this issue, but it appears they've left the Profession enum intact, and ZombieVillager references the Villager.Profession enum, so you're good!

    • [x] Zombie Horse (Network ID 29, new entity ID: zombie_horse)

    • [x] Skeleton Horse (Network ID 30, new entity ID: skeleton_horse)

    • [x] Donkey (Network ID 31, new entity ID: donkey)

    • [x] Mule (Network ID 32, new entity ID: mule)

  • [x] Six new entities to include support for

    • [x] [EvokerFangs and Evokers](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/e4039b9e0c07901a0e274e804569f50f709087ad) (Network IDs 33 and 34, respectively)

    • Linked commit is the Evoker and EvokerFangs API; probably not dire for vanilla Skript to support

    • [x] Vex (Network ID 35)

    • [x] Vindicators (Network ID 36)

    • [x] [Llamas](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/dd1c703c9ff5fcaf625b479c5f800489663fc746#src/main/java/org/bukkit/entity/Llama.java) (Network ID 103)

    • Considered a ChestedHorse for purposes of the API since they essentially work the same

    • [x] [Llama Spit](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/dd1c703c9ff5fcaf625b479c5f800489663fc746#src/main/java/org/bukkit/entity/LlamaSpit.java) (Network ID 64)

    • Is a projectile, should work as one

  • [x] [New Villager variant](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/c6bf40e4e7600e252157f97e394720e3ca3a9f9c)

    • Called the "Nitwit", it exists as both a villager and as a zombie villager

    • Should allow for spawn a nitwit

Visual Effects

  • [x] [Two new particles](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/dd1c703c9ff5fcaf625b479c5f800489663fc746#src/main/java/org/bukkit/Particle.java):

    • [x] spit

    • [x] totem

Enchantments

  • [x] [Two new enchantments](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/dd1c703c9ff5fcaf625b479c5f800489663fc746#src/main/java/org/bukkit/enchantments/Enchantment.java):

    • Both are cursed enchantments, meaning they're negative. They're treasure enchantments like Mending (they only appear in worldgen chests, from villagers, etc.)

    • [x] Curse of Binding (Enchantment ID 10)

    • Only used on armor, which makes it unable to be unequipped

    • [x] Curse of Vanishing (Enchantment ID 71)

    • Used on any enchantable, makes the item disappear when you die (it doesn't drop with your stuff)

    • Links above take you to isCursed and isTreasure commits for enchantments

Blocks & Items

  • [x] Two new blocks:

    • [x] Observer (ID 218, will just need new aliases)

    • [x] [Shulker Box](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/6c22b7154d62d5db3dc72132de1d966ca4d5a6b0#src/main/java/org/bukkit/block/ShulkerBox.java) (IDs 219 - 234):

    • Come in the 16 different colors which are 16 different block IDs

    • Has an inventory, and can be moved without the inventory spilling out

    • Should support inventory effects (open inventory of target block to player)

  • [x] Two new items:

    • [x] [Totem of Undying](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/dd1c703c9ff5fcaf625b479c5f800489663fc746#src/main/java/org/bukkit/event/entity/EntityResurrectEvent.java) (ID 449, dropped by Evokers, will need aliases)

    • Allows revival when held upon death, which triggers a new event linked above

    • NOTE: the docs say the event is ALWAYS called when an entity dies, but is called pre-cancelled if they don't meet the reqs (AKA, aren't holding a totem). Two options:



      1. Check if the event is cancelled before firing a Skript event for it (so we only get told when it really happens)


      2. (Much cooler option IMO) leave it be so we can uncancel the event to let them get resurrected in certain situations even if they don't meet the requirements!



    • [x] Shulker Shell (ID 450, dropped by Shulkers, will need aliases)

Miscellaneous

  • [x] [Maps](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/bf804e6e4a9f51c646d8e1e81023f29ed18d7da6) and Potions now have tags to set their item icon color (ColorMap and CustomPotionColor, respectively):

    • The vanilla Skript color armour effect should be extended to apply to these as well

  • [x] [Blocks with inventories/custom names now retain their names when being placed/broken](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/6c22b7154d62d5db3dc72132de1d966ca4d5a6b0)

    • e.g. Name chest "Test", place & open it, inventory says "Test", break it, you get back a chest named "Test"

    • Linked above is the commit adding the Nameable interface to blocks, which allows interaction with this

Cheers!

enhancement

All 9 comments

Excellent work. This is going to be of much help, thank you.

Thanks! This will surely help.

Glad I could help!

Updated main post, now with links to relevant Spigot repo commits where applicable as per my promise here. Will add more links if I think of any.

1.11 entities and existing entities changed with 1.11 are now mostly working. Llamas can be detected, but spawning a llama may create baby llama sometimes.

This is helpful. Take your time ;)

@bensku : Do you plan to add color support for maps/potions, or add the spit/totem particles as visual effects? If not, I can close this checklist.

It has been in plans for ages, but sadly that will require rewrite on Skript's effect backend. Color support for maps and potions coming in next release, maybe.

Ok, effect backend mostly rewritten and new particles added :)

Was this page helpful?
0 / 5 - 0 ratings