Support minecraft 1.9 to minecraft 1.11
knokko opened this issue ยท 3 comments
Currently, minecraft 1.12 is the oldest minecraft version that we support. However, resourcepack predicates were introduced in minecraft 1.9, so it should be possible to support minecraft 1.9, 1.10, and 1.11 as well. I have received a couple of requests to actually do this.
Currently, the biggest blockage is the crafting system: the plug-in uses a quite dirty trick to overrule the default crafting system using the PrepareItemCraftEvent
. Unfortunately, that event is not often fired in minecraft 1.11 and earlier, which breaks the system on those minecraft versions. Perhaps, I could work around it, but this will probably require even more usage of the InventoryClickEvent
, which is not so nice...
Since these MC versions are barely used anymore, I won't be adding support for them at all.
It turns out there are more obstacles to support these versions than I initially expected:
Minecraft 1.11.2
- Doesn't have
BlockBreakEvent.setDropItems(boolean)
andBlockBreakEvent.isDropItems()
- Doesn't have
EntityPickupItemEvent
, but does havePlayerPickupItemEvent
(so we would miss proper hopper stacking)
Minecraft 1.10.2
- All limitations of Minecraft 1.11.2
- Doesn't have
ItemMeta.setUnbreakable(boolean)
, but there is some kind of work-around: https://www.spigotmc.org/threads/cross-version-itemmeta-setunbreakable.418928/ - Doesn't have
ShulkerBox
(so any shulkerbox work-arounds would have to be moved to KnokkoCore) - Doesn't have
AnvilInventory.getRepairCost()
,AnvilInventory.setRepairCost(int)
, andAnvilInventory.getRenameText()
- Doesn't have
World.spawn(Location, Class, lambda)
(would require a minor refactoring) - Misses some enchantments (requires some refactorings in
CustomItemsEventHandler.getItemEnchantFactor
) - Misses some damage causes (requires some refactorings in
CustomItemsEventHandler.isReducedByArmor
)
Minecraft 1.9.4
- All limitations of Minecraft 1.10.2
- Doesn't have
LivingEntity.getPotionEffect()
- Doesn't have
Entity.setGravity(boolean)
Due to the large number of problems and the small interest in these versions, I am not going to solve this anytime soon.