本帖最后由 jiongjionger 于 2016-11-18 00:10 编辑
昨日万年跳票的Mojang正式发布了1.11,Bukkit API草案在今日也已公布,按照以往的情况来看,和预计20日发布的正式版并不会有太大差距,如有变更,本帖会做修正。(目前Bukkit API已经正式发布,新增和改动的部分已更新 2016/11/18)
总结:放在前面,怕没人看。这次API的改动可以说还是比较大的,对老插件兼容性而言新增的部分自然不需要考虑,但是Bukkit API这次一口气删除了很多原来是Deprecated状态的接口、方法、事件入口(Event),这可能导致一些远古插件(在1.6/1.7时代就弃坑的插件)无法在1.11正常工作,即便这些插件并没有使用到NMS。例如一些远古的大型插件用到了CallEvent,比如EntityDamageEvent(final Entity damagee, final DamageCause cause, final int damage),但是这个实现已经被删除,这个插件就无法在1.11中工作。
具体改动如下:
昨日万年跳票的Mojang正式发布了1.11,Bukkit API草案在今日也已公布,按照以往的情况来看,和预计20日发布的正式版并不会有太大差距,如有变更,本帖会做修正。(目前Bukkit API已经正式发布,新增和改动的部分已更新 2016/11/18)
总结:放在前面,怕没人看。这次API的改动可以说还是比较大的,对老插件兼容性而言新增的部分自然不需要考虑,但是Bukkit API这次一口气删除了很多原来是Deprecated状态的接口、方法、事件入口(Event),这可能导致一些远古插件(在1.6/1.7时代就弃坑的插件)无法在1.11正常工作,即便这些插件并没有使用到NMS。例如一些远古的大型插件用到了CallEvent,比如EntityDamageEvent(final Entity damagee, final DamageCause cause, final int damage),但是这个实现已经被删除,这个插件就无法在1.11中工作。
具体改动如下:
- Block(方块):
新增:ShulkerBox(继承了BlockState, InventoryHolder, Lockable)
- Command(命令):
删除:删除了早已处于Deprecated状态的tabComplete(CommandSender sender, String[] args)
- Enchantment(附魔):
新增:BINDING_CURSE(绑定诅咒,内部ID:10)
新增:VANISHING_CURSE(消失诅咒,内部ID:71)
- Entity(实体):
新增:AbstractHorse接口(马),继承Animals, Vehicle, InventoryHolder, Tameable
新增:ChestedHorse接口,继承AbstractHorse,内部方法有isCarryingChest(是否装备了箱子)、setCarryingChest(设置是否装备箱子)
新增:Donkey接口(驴),继承ChestedHorse
新增:ElderGuardian接口(深海守卫者),继承Guardian
新增:Evoker接口(唤魔者),继承Monster
新增:EvokerFangs接口(唤魔者召唤的地刺),继承Entity
删除:FallingSand(坠落中的沙子)
新增:Husk接口(尸壳),继承Zombie
新增:Llama接口(羊驼),继承ChestedHorse
新增:LlamaSpit接口(羊驼的口水),继承Projectile
新增:Mule接口(骡子),继承ChestedHorse
删除:PoweredMinecart接口
新增:SkeletonHorse接口(骷髅马),继承AbstractHorse
删除:StorageMinecart接口
新增:Stray接口(流髑),继承Skeleton
新增:Vex接口(猥傀),继承Monster
新增:Vindicator接口(卫道士),继承Monster
新增:WitherSkeleton接口(凋零骷髅),继承Skeleton
新增:ZombieHorse接口(僵尸马),继承AbstractHorse
新增:ZombieVillager接口(僵尸村民),继承Zombie
- Event(事件):
- Block(方块):
删除:删除了早已Deprecated的BlockIgniteEvent(final Block theBlock, final IgniteCause cause, final Player thePlayer)
- Entity(实体):
删除:删除了CreatureSpawnEvent中实体生成的来源:Bed(玩家睡觉时生成)
删除:删除了EntityChangeBlockEvent中早已Deprecated的EntityChangeBlockEvent(final LivingEntity what, final Block block, final Material to)
删除:删除了EntityDamageByBlockEvent中早已Deprecated的EntityDamageByBlockEvent(final Block damager, final Entity damagee, final DamageCause cause, final int damage)
删除:删除了EntityDamageByEntityEvent中早已Deprecated的EntityDamageByEntityEvent(final Entity damager, final Entity damagee, final DamageCause cause, final int damage)
删除:删除了EntityDamageEvent中早已Deprecated的EntityDamageEvent(final Entity damagee, final DamageCause cause, final int damage)
新增:在EntityDamageEvent中新增了伤害的来源:CRAMMING
删除:删除了EntityRegainHealthEvent中早已Deprecated的EntityRegainHealthEvent(final Entity entity, final int amount, final RegainReason regainReason)
- Entity - Inventory(容器):
删除:删除了CraftItemEvent中早已Deprecated的CraftItemEvent(Recipe recipe, InventoryView what, SlotType type, int slot, boolean right, boolean shift)
删除:删除了InventoryClickEvent中早已Deprecated的InventoryClickEvent(InventoryView view, SlotType type, int slot, boolean right, boolean shift)
- Entity - Player(玩家):
删除:删除了PlayerCommandPreprocessEvent中的setFormat和getFormat方法
删除:删除了PlayerFishEvent中早已Deprecated的PlayerFishEvent(final Player player, final Entity entity, final State state)
删除:删除了PlayerInventoryEvent整个事件
删除:删除了PlayerLoginEvent中早已Deprecated的PlayerLoginEvent(final Player player)、PlayerLoginEvent(final Player player, final String
- Inventory(容器):
新增:LlamaInventory(羊驼的背包)
- JavaPlugin(插件入口)
删除:删除了早已废弃的JavaPlugin(final PluginLoader loader, final Server server, final PluginDescriptionFile description, final File dataFolder, final File file)
- Potion(药水)
删除:删除了早已Deprecated的Potion(PotionType type, Tier tier)
删除:删除了早已Deprecated的Potion(PotionType type, Tier tier, boolean splash)
删除:删除了早已Deprecated的Potion(PotionType type, Tier tier, boolean splash, boolean extended)
删除:删除了getTier、setTier方法和枚举元素Tier
- Map
增加:增加isUnlimitedTracking()方法和setUnlimitedTracking方法(分别是判断鼠标是不是在Map里面和设置这个值)
- Bukkit(API)
删除:删除了useExactLoginLocation方法(判断碰撞箱,登录的时候是否需要移动玩家)
- DyeColor(颜色)
删除:删除了getData和getByData方法
新增:新增了getWoolData和getByWoolData方法
- Material(材料、材质)
新增:OBSERVER(侦测器)
新增:TOTEM(不死图腾)
新增:SHULKER_SHELL(潜影贝壳)
下面都是各种颜色的潜影盒
新增:WHITE_SHULKER_BOX
新增:ORANGE_SHULKER_BOX
新增:MAGENTA_SHULKER_BOX
新增:LIGHT_BLUE_SHULKER_BOX
新增:YELLOW_SHULKER_BOX
新增:LIME_SHULKER_BOX
新增:GRAY_SHULKER_BOX
新增:PINK_SHULKER_BOX
新增:SILVER_SHULKER_BOX
新增:CYAN_SHULKER_BOX
新增:PURPLE_SHULKER_BOX
新增:BLUE_SHULKER_BOX
新增:BROWN_SHULKER_BOX
新增:GREEN_SHULKER_BOX
新增:RED_SHULKER_BOX
新增:BLACK_SHULKER_BOX
- Particle(粒子)
新增:TOTEM(不死图腾)
新增:SPIT(羊驼口水)
- Sound(声效)
新增:BLOCK_SHULKER_BOX_CLOSE
新增:BLOCK_SHULKER_BOX_OPEN
新增:ENTITY_ELDER_GUARDIAN_FLOP
新增:ENTITY_EVOCATION_FANGS_ATTACK
新增:ENTITY_EVOCATION_ILLAGER_AMBIENT
新增:ENTITY_EVOCATION_ILLAGER_CAST_SPELL
新增:ENTITY_EVOCATION_ILLAGER_DEATH
新增:ENTITY_EVOCATION_ILLAGER_HURT
新增:ENTITY_EVOCATION_ILLAGER_PREPARE_ATTACK
新增:ENTITY_EVOCATION_ILLAGER_PREPARE_SUMMON
新增:ENTITY_EVOCATION_ILLAGER_PREPARE_WOLOLO
删除:ENTITY_EXPERIENCE_ORB_TOUCH
- 额外说明
关于实体的命名规则有所改变。但是对于插件作者影响不大,不过如果插件使用getType().toString()等方法判断实体类型则需要修改你的代码!实体的命名规则主要是取消了下划线和大小写的改变,这部分内容在Wiki和论坛的1.11的特性列表内已经列举,故不赘叙。
API下载地址???
哇。比我负责多了。膜拜。
话说删除了这么多。。搞不懂他们怎么想的,完全不需要考虑兼容性?不怕被插件作者打死?咋不学学人家Java类库。。。mod不能兼容是没办法,bukkitapi本身就是一个“API”啊
话说删除了这么多。。搞不懂他们怎么想的,完全不需要考虑兼容性?不怕被插件作者打死?咋不学学人家Java类库。。。mod不能兼容是没办法,bukkitapi本身就是一个“API”啊
2048028141 发表于 2017-1-22 15:51
还以为mod端复活了,楼主别那么让人真怂
太好了~~~~~~~~~~~~~~~~~~~~
请问。。bukkitapi发布在哪里。。。我从来没找到过。。
zbw001 发表于 2017-2-14 09:03
请问。。bukkitapi发布在哪里。。。我从来没找到过。。
spigotmc官网上
额,只用getType()不就行了…为什么非要再转换成String呢…XD