# CraftBukkit maps all of (mojmap names): # Merchant.getLevel() # Hopper.getLevel() # Entity.getCommandSenderWorld() # to getWorld(), which confuses our ability to map this method properly. This patch disambiguates it net/minecraft/world/item/trading/IMerchant fD ()Lnet/minecraft/world/level/World; getLevel net/minecraft/world/entity/npc/EntityVillagerAbstract fD ()Lnet/minecraft/world/level/World; getLevel # CraftBukkit mappings sometimes have mappings for child classes and not parent classes # We handle this fine for deobf but this breaks reobf. These Patches fix those cases # BossBattle -> BossBattleServer # net/minecraft/world/BossBattle a (F)V setProgress # net/minecraft/world/BossBattle c (Z)Lnet/minecraft/world/BossBattle; setCreateFog # net/minecraft/world/BossBattle a (Z)Lnet/minecraft/world/BossBattle; setDarkenSky # net/minecraft/world/BossBattle b (Z)Lnet/minecraft/world/BossBattle; setPlayMusic # IChunkProvider -> ChunkProviderServer # net/minecraft/world/level/chunk/IChunkProvider b (II)Z isLoaded # BehaviorWorkComposter -> BehaviorWork net/minecraft/world/entity/ai/behavior/BehaviorWorkComposter a (Lnet/minecraft/server/level/WorldServer;Lnet/minecraft/world/entity/npc/EntityVillager;)V doWork # We add getLevel to the Hopper interface (implemented by Hoppers and Hopper Minecarts), but this also exists on BlockEntity, # which Hoppers also extend. We need to map the method we add to the Hopper interface to the same name used for the method on BlockEntity # to avoid remap causing issues net/minecraft/world/level/block/entity/IHopper getWorld ()Lnet/minecraft/world/level/World; getLevel