From 3ec6a29f79c4f4c437b2dd4dec34dca12ea0924f Mon Sep 17 00:00:00 2001 From: CalMWolfs <94038482+CalMWolfs@users.noreply.github.com> Date: Tue, 22 Oct 2024 21:12:20 +1100 Subject: Backend: Start preprocessing mappings (#2776) --- .idea/dictionaries/default_user.xml | 4 +- .../skyhanni/skyhannimodule/ModuleProcessor.kt | 2 + build.gradle.kts | 3 + shots.txt | 5 + .../at/hannibal2/skyhanni/data/ActionBarData.kt | 4 + .../java/at/hannibal2/skyhanni/data/ChatManager.kt | 4 + .../java/at/hannibal2/skyhanni/data/FriendAPI.kt | 3 +- .../features/dungeon/DungeonLividFinder.kt | 4 +- .../event/diana/InquisitorWaypointShare.kt | 4 + .../skyhanni/features/inventory/ItemPickupLog.kt | 2 +- .../java/at/hannibal2/skyhanni/utils/DelayedRun.kt | 3 +- .../at/hannibal2/skyhanni/utils/EntityUtils.kt | 2 +- .../at/hannibal2/skyhanni/utils/InventoryUtils.kt | 2 +- .../java/at/hannibal2/skyhanni/utils/ItemUtils.kt | 14 +- .../at/hannibal2/skyhanni/utils/StringUtils.kt | 2 +- .../skyhanni/utils/compat/SkyhanniBaseScreen.kt | 2 +- versions/mapping-1.12.2-1.8.9.txt | 71 ++++- versions/mapping-1.16.5-1.16.5-forge.txt | 2 + versions/mapping-1.16.5-forge-1.12.2.txt | 319 +++++++++++++++++---- 19 files changed, 369 insertions(+), 83 deletions(-) create mode 100644 versions/mapping-1.16.5-1.16.5-forge.txt diff --git a/.idea/dictionaries/default_user.xml b/.idea/dictionaries/default_user.xml index fc3066750..6b10b0a8e 100644 --- a/.idea/dictionaries/default_user.xml +++ b/.idea/dictionaries/default_user.xml @@ -47,6 +47,7 @@ chumcap cinderbat citrine + clientbound coflnet coords craftable @@ -223,6 +224,7 @@ scatha sepulture seraphine + serverbound sethome shcopytranslation shcropstartlocation @@ -284,4 +286,4 @@ yolkar - \ No newline at end of file + diff --git a/annotation-processors/src/main/kotlin/at/hannibal2/skyhanni/skyhannimodule/ModuleProcessor.kt b/annotation-processors/src/main/kotlin/at/hannibal2/skyhanni/skyhannimodule/ModuleProcessor.kt index 5ce902613..6275eac83 100644 --- a/annotation-processors/src/main/kotlin/at/hannibal2/skyhanni/skyhannimodule/ModuleProcessor.kt +++ b/annotation-processors/src/main/kotlin/at/hannibal2/skyhanni/skyhannimodule/ModuleProcessor.kt @@ -25,8 +25,10 @@ class ModuleProcessor(private val codeGenerator: CodeGenerator, private val logg skyHanniEvent = resolver.getClassDeclarationByName("at.hannibal2.skyhanni.api.event.SkyHanniEvent")?.asStarProjectedType() + minecraftForgeEvent = resolver.getClassDeclarationByName("net.minecraftforge.fml.common.eventhandler.Event") ?.asStarProjectedType() + ?: return emptyList() val symbols = resolver.getSymbolsWithAnnotation(SkyHanniModule::class.qualifiedName!!).toList() val validSymbols = symbols.mapNotNull { validateSymbol(it) } diff --git a/build.gradle.kts b/build.gradle.kts index 3315164b2..d5e5445d6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -152,6 +152,9 @@ dependencies { annotationProcessor("org.spongepowered:mixin:0.8.5-SNAPSHOT") annotationProcessor("com.google.code.gson:gson:2.10.1") annotationProcessor("com.google.guava:guava:17.0") + } else if (target == ProjectTarget.BRIDGE116FABRIC) { + modCompileOnly("net.fabricmc:fabric-loader:0.16.7") + modCompileOnly("net.fabricmc.fabric-api:fabric-api:0.42.0+1.16") } else if (target == ProjectTarget.MODERN) { modCompileOnly("net.fabricmc:fabric-loader:0.16.7") modCompileOnly("net.fabricmc.fabric-api:fabric-api:0.102.0+1.21") diff --git a/shots.txt b/shots.txt index db77870c8..52297a4e5 100644 --- a/shots.txt +++ b/shots.txt @@ -54,3 +54,8 @@ net.minecraft.client.Minecraft: annotateParameter 0 org.jetbrains.annotations.Nullable getMusicTicker(): annotate org.jetbrains.annotations.NotNull +net.minecraft.util.ChatStyle: + getChatClickEvent(): + annotate org.jetbrains.annotations.Nullable + getChatHoverEvent(): + annotate org.jetbrains.annotations.Nullable diff --git a/src/main/java/at/hannibal2/skyhanni/data/ActionBarData.kt b/src/main/java/at/hannibal2/skyhanni/data/ActionBarData.kt index 1cef0be01..678fa4e33 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/ActionBarData.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/ActionBarData.kt @@ -20,7 +20,11 @@ object ActionBarData { @SubscribeEvent(receiveCanceled = true) fun onChatReceive(event: ClientChatReceivedEvent) { + //#if MC<1.12 if (event.type.toInt() != 2) return + //#else + //$$ if (event.type.id.toInt() != 2) return + //#endif val original = event.message val message = LorenzUtils.stripVanillaMessage(original.formattedText) diff --git a/src/main/java/at/hannibal2/skyhanni/data/ChatManager.kt b/src/main/java/at/hannibal2/skyhanni/data/ChatManager.kt index 878056192..9564df15a 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/ChatManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/ChatManager.kt @@ -118,7 +118,11 @@ object ChatManager { @SubscribeEvent(receiveCanceled = true) fun onChatReceive(event: ClientChatReceivedEvent) { + //#if MC<1.12 if (event.type.toInt() == 2) return + //#else + //$$ if (event.type.id.toInt() == 2) return + //#endif val original = event.message val message = LorenzUtils.stripVanillaMessage(original.formattedText) diff --git a/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt index 1abe31736..58c5703bd 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt @@ -153,7 +153,8 @@ object FriendAPI { } private fun readName(chatStyle: ChatStyle): String? { - for (component in chatStyle.chatHoverEvent.value.siblings) { + val hoverEventSiblings = chatStyle.chatHoverEvent?.value?.siblings ?: return null + for (component in hoverEventSiblings) { val rawName = component.unformattedText rawNamePattern.matchMatcher(rawName) { return group("name").cleanPlayerName() diff --git a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLividFinder.kt b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLividFinder.kt index e934e0027..9d22200a4 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLividFinder.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLividFinder.kt @@ -85,7 +85,7 @@ object DungeonLividFinder { posZ - 0.5, posX + 0.5, posY, - posZ + 0.5 + posZ + 0.5, ) } val world = Minecraft.getMinecraft().theWorld @@ -96,7 +96,7 @@ object DungeonLividFinder { lividEntity = newLivid RenderLivingEntityHelper.setEntityColorWithNoHurtTime( newLivid, - color.toColor().withAlpha(30) + color.toColor().withAlpha(30), ) { shouldHighlight() } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt b/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt index eb3c7a24a..1ca3f8acf 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt @@ -241,7 +241,11 @@ object InquisitorWaypointShare { val messageComponent = packet.chatComponent val message = messageComponent.formattedText.stripHypixelMessage() + //#if MC<1.12 if (packet.type.toInt() != 0) return + //#else + //$$ if (packet.type.id.toInt() != 0) return + //#endif partyInquisitorCheckerPattern.matchMatcher(message) { if (detectFromChat()) { diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/ItemPickupLog.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/ItemPickupLog.kt index 78e6063ee..12b3e9495 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/ItemPickupLog.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/ItemPickupLog.kt @@ -147,7 +147,7 @@ object ItemPickupLog { itemList.clear() val inventoryItems = InventoryUtils.getItemsInOwnInventory().toMutableList() - val cursorItem = Minecraft.getMinecraft().thePlayer.inventory?.itemStack + val cursorItem = Minecraft.getMinecraft().thePlayer?.inventory?.itemStack if (cursorItem != null) { val hash = cursorItem.hash() diff --git a/src/main/java/at/hannibal2/skyhanni/utils/DelayedRun.kt b/src/main/java/at/hannibal2/skyhanni/utils/DelayedRun.kt index 4642124b7..6ab97193f 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/DelayedRun.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/DelayedRun.kt @@ -2,6 +2,7 @@ package at.hannibal2.skyhanni.utils import at.hannibal2.skyhanni.test.command.ErrorManager import at.hannibal2.skyhanni.utils.CollectionUtils.drainTo +import at.hannibal2.skyhanni.utils.compat.isOnMainThread import net.minecraft.client.Minecraft import java.util.concurrent.ConcurrentLinkedQueue import java.util.concurrent.Executor @@ -41,7 +42,7 @@ object DelayedRun { @JvmField val onThread = Executor { val mc = Minecraft.getMinecraft() - if (mc.isCallingFromMinecraftThread) { + if (mc.isOnMainThread()) { it.run() } else { Minecraft.getMinecraft().addScheduledTask(it) diff --git a/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt index 15dc807bb..3284881ff 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt @@ -185,7 +185,7 @@ object EntityUtils { }?.asSequence().orEmpty() fun getAllTileEntities(): Sequence = Minecraft.getMinecraft()?.theWorld?.loadedTileEntityList?.let { - if (Minecraft.getMinecraft().isCallingFromMinecraftThread) it else it.toMutableList() + if (Minecraft.getMinecraft().isOnMainThread()) it else it.toMutableList() }?.asSequence()?.filterNotNull().orEmpty() fun Entity.canBeSeen(viewDistance: Number = 150.0) = getLorenzVec().up(0.5).canBeSeen(viewDistance) diff --git a/src/main/java/at/hannibal2/skyhanni/utils/InventoryUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/InventoryUtils.kt index d7d3bc997..2209cbdb9 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/InventoryUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/InventoryUtils.kt @@ -54,7 +54,7 @@ object InventoryUtils { // TODO use this instead of getItemsInOwnInventory() for many cases, e.g. vermin tracker, diana spade, etc fun getItemsInHotbar() = - getItemsInOwnInventoryWithNull()?.sliceArray(0..8)?.filterNotNull().orEmpty() + getItemsInOwnInventoryWithNull()?.slice(0..8)?.filterNotNull().orEmpty() fun containsInLowerInventory(predicate: (ItemStack) -> Boolean): Boolean = countItemsInLowerInventory(predicate) > 0 diff --git a/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt index b06d84f50..9a2e6857e 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt @@ -171,16 +171,15 @@ object ItemUtils { fun ItemStack.hasEnchantments() = getEnchantments()?.isNotEmpty() ?: false fun ItemStack.removeEnchants(): ItemStack = apply { - val tag = tagCompound ?: NBTTagCompound() - tag.removeTag("ench") - tag.removeTag("StoredEnchantments") - tagCompound = tag + val tempTag = tagCompound ?: NBTTagCompound() + tempTag.removeTag("ench") + tempTag.removeTag("StoredEnchantments") + tagCompound = tempTag } fun ItemStack.getSkullTexture(): String? { if (item != Items.skull) return null - if (tagCompound == null) return null - val nbt = tagCompound + val nbt = tagCompound ?: return null if (!nbt.hasKey("SkullOwner")) return null return nbt.getCompoundTag("SkullOwner").getCompoundTag("Properties").getTagList("textures", Constants.NBT.TAG_COMPOUND) .getCompoundTagAt(0).getString("Value") @@ -188,8 +187,7 @@ object ItemUtils { fun ItemStack.getSkullOwner(): String? { if (item != Items.skull) return null - if (tagCompound == null) return null - val nbt = tagCompound + val nbt = tagCompound ?: return null if (!nbt.hasKey("SkullOwner")) return null return nbt.getCompoundTag("SkullOwner").getString("Id") } diff --git a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt index d80fe5913..a2e32adaa 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt @@ -419,7 +419,7 @@ object StringUtils { private fun addComponent(foundCommands: MutableList, message: IChatComponent) { val clickEvent = message.chatStyle.chatClickEvent if (clickEvent != null) { - if (foundCommands.size == 1 && foundCommands[0].chatStyle.chatClickEvent.value == clickEvent.value) { + if (foundCommands.size == 1 && foundCommands[0].chatStyle.chatClickEvent?.value == clickEvent.value) { return } foundCommands.add(message) diff --git a/src/main/java/at/hannibal2/skyhanni/utils/compat/SkyhanniBaseScreen.kt b/src/main/java/at/hannibal2/skyhanni/utils/compat/SkyhanniBaseScreen.kt index 11327f15d..17752b0b4 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/compat/SkyhanniBaseScreen.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/compat/SkyhanniBaseScreen.kt @@ -3,7 +3,7 @@ package at.hannibal2.skyhanni.utils.compat import net.minecraft.client.gui.GuiScreen abstract class SkyhanniBaseScreen : GuiScreen( - //#if MC > 1.12 + //#if MC > 1.12.2 //$$ net.minecraft.network.chat.TextComponent.EMPTY //#endif ) diff --git a/versions/mapping-1.12.2-1.8.9.txt b/versions/mapping-1.12.2-1.8.9.txt index 9ed58485b..78ce0ba40 100644 --- a/versions/mapping-1.12.2-1.8.9.txt +++ b/versions/mapping-1.12.2-1.8.9.txt @@ -1,11 +1,72 @@ -net.minecraft.util.math.MathHelper net.minecraft.util.MathHelper -net.minecraft.util.math.BlockPos net.minecraft.util.BlockPos +net.minecraft.client.renderer.entity.RenderLivingBase net.minecraft.client.renderer.entity.RendererLivingEntity + +net.minecraft.client.renderer.BufferBuilder net.minecraft.client.renderer.WorldRenderer + +net.minecraft.entity.player.EntityPlayer getHeldItemMainhand() getHeldItem() + +# Workaround for it not letting stackSize be mapped to count. +temp.net.minecraft.item.ItemStack net.minecraft.item.ItemStack +temp.net.minecraft.item.ItemStack count stackSize +net.minecraft.item.ItemStack temp.net.minecraft.item.ItemStack + +net.minecraft.network.play.client.CPacketAnimation net.minecraft.network.play.client.C0APacketAnimation +net.minecraft.network.play.client.CPacketChatMessage net.minecraft.network.play.client.C01PacketChatMessage +net.minecraft.network.play.client.CPacketClickWindow net.minecraft.network.play.client.C0EPacketClickWindow +net.minecraft.network.play.client.CPacketHeldItemChange net.minecraft.network.play.client.C09PacketHeldItemChange +net.minecraft.network.play.client.CPacketPlayer net.minecraft.network.play.client.C03PacketPlayer +net.minecraft.network.play.client.CPacketPlayerDigging net.minecraft.network.play.client.C07PacketPlayerDigging +net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock net.minecraft.network.play.client.C08PacketPlayerBlockPlacement +net.minecraft.network.play.client.CPacketUseEntity net.minecraft.network.play.client.C02PacketUseEntity + +net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock getDirection() getPlacedBlockDirection() +net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock getPos() getPosition() + +net.minecraft.network.play.server.SPacketAnimation net.minecraft.network.play.server.S0BPacketAnimation +net.minecraft.network.play.server.SPacketBlockChange net.minecraft.network.play.server.S23PacketBlockChange +net.minecraft.network.play.server.SPacketChat net.minecraft.network.play.server.S02PacketChat +net.minecraft.network.play.server.SPacketCloseWindow net.minecraft.network.play.server.S2EPacketCloseWindow +net.minecraft.network.play.server.SPacketCollectItem net.minecraft.network.play.server.S0DPacketCollectItem +net.minecraft.network.play.server.SPacketDestroyEntities net.minecraft.network.play.server.S13PacketDestroyEntities +net.minecraft.network.play.server.SPacketEffect net.minecraft.network.play.server.S28PacketEffect +net.minecraft.network.play.server.SPacketEntity net.minecraft.network.play.server.S14PacketEntity +net.minecraft.network.play.server.SPacketEntityAttach net.minecraft.network.play.server.S1BPacketEntityAttach +net.minecraft.network.play.server.SPacketEntityEffect net.minecraft.network.play.server.S1DPacketEntityEffect +net.minecraft.network.play.server.SPacketEntityEquipment net.minecraft.network.play.server.S04PacketEntityEquipment +net.minecraft.network.play.server.SPacketEntityHeadLook net.minecraft.network.play.server.S19PacketEntityHeadLook +net.minecraft.network.play.server.SPacketEntityMetadata net.minecraft.network.play.server.S1CPacketEntityMetadata +net.minecraft.network.play.server.SPacketEntityProperties net.minecraft.network.play.server.S20PacketEntityProperties +net.minecraft.network.play.server.SPacketEntityStatus net.minecraft.network.play.server.S19PacketEntityStatus +net.minecraft.network.play.server.SPacketEntityTeleport net.minecraft.network.play.server.S18PacketEntityTeleport +net.minecraft.network.play.server.SPacketEntityVelocity net.minecraft.network.play.server.S12PacketEntityVelocity +net.minecraft.network.play.server.SPacketJoinGame net.minecraft.network.play.server.S01PacketJoinGame +net.minecraft.network.play.server.SPacketMultiBlockChange net.minecraft.network.play.server.S22PacketMultiBlockChange +net.minecraft.network.play.server.SPacketOpenWindow net.minecraft.network.play.server.S2DPacketOpenWindow +net.minecraft.network.play.server.SPacketParticles net.minecraft.network.play.server.S2APacketParticles +net.minecraft.network.play.server.SPacketPlayerListHeaderFooter net.minecraft.network.play.server.S47PacketPlayerListHeaderFooter +net.minecraft.network.play.server.SPacketPlayerListItem net.minecraft.network.play.server.S38PacketPlayerListItem +net.minecraft.network.play.server.SPacketSetSlot net.minecraft.network.play.server.S2FPacketSetSlot +net.minecraft.network.play.server.SPacketSoundEffect net.minecraft.network.play.server.S29PacketSoundEffect +net.minecraft.network.play.server.SPacketSoundEffect net.minecraft.network.play.server.S29PacketSoundEffect +net.minecraft.network.play.server.SPacketSpawnMob net.minecraft.network.play.server.S0FPacketSpawnMob +net.minecraft.network.play.server.SPacketSpawnObject net.minecraft.network.play.server.S0EPacketSpawnObject +net.minecraft.network.play.server.SPacketSpawnPlayer net.minecraft.network.play.server.S0CPacketSpawnPlayer +net.minecraft.network.play.server.SPacketTeams net.minecraft.network.play.server.S3EPacketTeams +net.minecraft.network.play.server.SPacketTitle net.minecraft.network.play.server.S45PacketTitle +net.minecraft.network.play.server.SPacketUpdateScore net.minecraft.network.play.server.S3CPacketUpdateScore +net.minecraft.network.play.server.SPacketWorldBorder net.minecraft.network.play.server.S44PacketWorldBorder + +net.minecraft.util.SoundCategory net.minecraft.client.audio.SoundCategory + net.minecraft.util.math.AxisAlignedBB net.minecraft.util.AxisAlignedBB +net.minecraft.util.math.BlockPos net.minecraft.util.BlockPos +net.minecraft.util.math.MathHelper net.minecraft.util.MathHelper +net.minecraft.util.math.RayTraceResult net.minecraft.util.MovingObjectPosition +net.minecraft.util.math.Rotations net.minecraft.util.Rotations net.minecraft.util.math.Vec3d net.minecraft.util.Vec3 net.minecraft.util.math.Vec3d net.minecraft.util.Vec3 -net.minecraft.util.math.Rotations net.minecraft.util.Rotations -net.minecraft.network.play.server.SPacketParticles net.minecraft.network.play.server.S2APacketParticles + +net.minecraft.util.math.RayTraceResult$Type net.minecraft.util.math.RayTraceResult$MovingObjectType net.minecraft.util.text.TextComponentString net.minecraft.util.ChatComponentText net.minecraft.util.text.TextComponentTranslation net.minecraft.util.ChatComponentTranslation @@ -16,5 +77,3 @@ net.minecraft.util.text.TextFormatting net.minecraft.util.EnumChatFormatting net.minecraft.util.text.ITextComponent net.minecraft.util.IChatComponent net.minecraft.util.text.event.HoverEvent net.minecraft.event.HoverEvent net.minecraft.util.text.event.ClickEvent net.minecraft.event.ClickEvent - - diff --git a/versions/mapping-1.16.5-1.16.5-forge.txt b/versions/mapping-1.16.5-1.16.5-forge.txt new file mode 100644 index 000000000..88435c0d2 --- /dev/null +++ b/versions/mapping-1.16.5-1.16.5-forge.txt @@ -0,0 +1,2 @@ +net.fabricmc.api.Environment net.minecraftforge.api.distmarker.OnlyIn +net.fabricmc.api.EnvType net.minecraftforge.api.distmarker.Dist diff --git a/versions/mapping-1.16.5-forge-1.12.2.txt b/versions/mapping-1.16.5-forge-1.12.2.txt index 58dd45107..71f6c71d2 100644 --- a/versions/mapping-1.16.5-forge-1.12.2.txt +++ b/versions/mapping-1.16.5-forge-1.12.2.txt @@ -1,75 +1,276 @@ -net.minecraft.world.level.block.state.BlockState net.minecraft.block.state.IBlockState -net.minecraft.client.player.RemotePlayer net.minecraft.client.entity.EntityOtherPlayerMP -net.minecraft.world.entity.decoration.ArmorStand net.minecraft.entity.item.EntityArmorStand -net.minecraft.world.entity.decoration.ArmorStand getArmorSlots() getArmorInventoryList() -net.minecraft.network.chat.TextComponent net.minecraft.util.text.TextComponentString -net.minecraft.client.gui.screens.inventory.ContainerScreen net.minecraft.client.gui.inventory.GuiContainer -net.minecraft.world.entity.player.Inventory armor armorInventory +com.mojang.blaze3d.systems.RenderSystem net.minecraft.client.renderer.GlStateManager +com.mojang.blaze3d.systems.RenderSystem color4f() color() +com.mojang.blaze3d.systems.RenderSystem translatef() translate() -net.minecraft.world.entity.monster.EnderMan net.minecraft.entity.monster.EntityEnderman -net.minecraft.world.entity.monster.EnderMan getCarriedBlock() getHeldBlockState() -net.minecraft.world.entity.player.PlayerModelPart net.minecraft.entity.player.EnumPlayerModelParts -net.minecraft.world.entity.player.Player net.minecraft.entity.player.EntityPlayer -net.minecraft.world.entity.player.Player isModelPartShown() isWearing() -net.minecraft.world.entity.Entity net.minecraft.entity.Entity -net.minecraft.world.entity.Entity xo posX -net.minecraft.world.entity.Entity yo posY -net.minecraft.world.entity.Entity zo posZ -net.minecraft.world.entity.Entity xOld prevPosX -net.minecraft.world.entity.Entity yOld prevPosY -net.minecraft.world.entity.Entity zOld prevPosZ -net.minecraft.world.entity.Entity level getEntityWorld() -net.minecraftforge.eventbus.api.Event net.minecraftforge.fml.common.eventhandler.Event -net.minecraftforge.eventbus.api.SubscribeEvent net.minecraftforge.fml.common.eventhandler.SubscribeEvent -com.mojang.blaze3d.platform.GlStateManager net.minecraft.client.renderer.GlStateManager -com.mojang.blaze3d.platform.GlStateManager _disableRescaleNormal() disableRescaleNormal() -com.mojang.blaze3d.platform.GlStateManager _viewport() viewport() -com.mojang.blaze3d.platform.GlStateManager _enableCull() enableCull() -com.mojang.blaze3d.platform.GlStateManager _disableCull() disableCull() -com.mojang.blaze3d.platform.GlStateManager _enableBlend() enableBlend() -com.mojang.blaze3d.platform.GlStateManager _disableBlend() disableBlend() -com.mojang.blaze3d.platform.GlStateManager _blendFunc() blendFunc() -com.mojang.blaze3d.platform.GlStateManager _depthFunc() depthFunc() -com.mojang.blaze3d.platform.GlStateManager _depthMask() depthMask() -com.mojang.blaze3d.platform.GlStateManager _enableLighting() enableLighting() -com.mojang.blaze3d.platform.GlStateManager _enableDepthTest() enableDepth() -com.mojang.blaze3d.platform.GlStateManager _disableDepthTest() disableDepth() -com.mojang.blaze3d.platform.GlStateManager _disableLighting() disableLighting() -com.mojang.blaze3d.platform.GlStateManager _pushMatrix() pushMatrix() -com.mojang.blaze3d.platform.GlStateManager _popMatrix() popMatrix() -com.mojang.blaze3d.platform.GlStateManager _bindTexture() bindTexture() -com.mojang.blaze3d.platform.GlStateManager _deleteTexture() deleteTexture() -com.mojang.blaze3d.platform.GlStateManager _clearColor() clearColor() -com.mojang.math.Matrix4f org.lwjgl.util.vector.Matrix4f com.mojang.math.Matrix3f org.lwjgl.util.vector.Matrix3f -net.minecraft.client.util.math.Vector4f org.lwjgl.util.vector.Vector4f +com.mojang.math.Matrix4f org.lwjgl.util.vector.Matrix4f -net.minecraft.world.level.Level getEntity() getEntityByID() -net.minecraft.world.scores.Team$Visibility net.minecraft.scoreboard.Team$EnumVisible +net.minecraft.client.Minecraft setScreen() displayGuiScreen() +net.minecraft.client.Options net.minecraft.client.settings.GameSettings -net.minecraft.client.player.AbstractClientPlayer getSkinTextureLocation() getLocationSkin() +net.minecraft.client.gui.Gui net.minecraft.client.gui.GuiIngame + +net.minecraft.client.gui.components.ChatComponent net.minecraft.client.gui.GuiNewChat + +net.minecraft.client.gui.screens.Screen net.minecraft.client.gui.GuiScreen + +net.minecraft.client.gui.screens.Screen isPauseScreen() doesGuiPauseGame() + +net.minecraft.client.gui.screens.inventory.ContainerScreen net.minecraft.client.gui.inventory.GuiChest +net.minecraft.client.gui.screens.inventory.InventoryScreen net.minecraft.client.gui.inventory.GuiInventory + +net.minecraft.client.Minecraft submit() addScheduledTask() net.minecraft.client.multiplayer.ClientLevel net.minecraft.client.multiplayer.WorldClient net.minecraft.client.multiplayer.ClientLevel players() getPlayers() -net.minecraft.client.player.LocalPlayer net.minecraft.client.entity.EntityPlayerSP -net.minecraft.client.gui.Gui net.minecraft.client.gui.GuiIngame -net.minecraft.client.gui.components.ChatComponent net.minecraft.client.gui.GuiNewChat + +net.minecraft.client.multiplayer.PlayerInfo net.minecraft.client.network.NetworkPlayerInfo +net.minecraft.client.multiplayer.PlayerInfo getTeam() getPlayerTeam() +net.minecraft.client.multiplayer.PlayerInfo getGameMode() getGameType() +net.minecraft.client.multiplayer.PlayerInfo getProfile() getGameProfile() + net.minecraft.client.multiplayer.ClientPacketListener net.minecraft.client.network.NetHandlerPlayClient -net.minecraft.client.Options net.minecraft.client.settings.GameSettings -net.minecraft.client.renderer.texture.TextureManager register() loadTexture() -net.minecraft.client.renderer.texture.AbstractTexture load() loadTexture() + +net.minecraft.client.player.AbstractClientPlayer getSkinTextureLocation() getLocationSkin() +net.minecraft.client.player.LocalPlayer net.minecraft.client.entity.EntityPlayerSP +net.minecraft.client.player.RemotePlayer net.minecraft.client.entity.EntityOtherPlayerMP + net.minecraft.client.renderer.texture.AbstractTexture getId() getGlTextureId() +net.minecraft.client.renderer.texture.AbstractTexture load() loadTexture() net.minecraft.client.renderer.texture.AbstractTexture releaseId() deleteGlTexture() +net.minecraft.client.renderer.texture.TextureManager register() loadTexture() + +net.minecraft.client.util.math.Vector4f org.lwjgl.util.vector.Vector4f + +net.minecraft.core.particles.ParticleTypes net.minecraft.util.EnumParticleTypes + +net.minecraft.core.particles.ParticleTypes ANGRY_VILLAGER VILLAGER_ANGRY +net.minecraft.core.particles.ParticleTypes ENCHANT ENCHANTMENT_TABLE +net.minecraft.core.particles.ParticleTypes DRIPPING_LAVA DRIP_LAVA +net.minecraft.core.particles.ParticleTypes SMOKE SMOKE_NORMAL +net.minecraft.core.particles.ParticleTypes LARGE_SMOKE SMOKE_LARGE + +net.minecraft.nbt.CompoundTag net.minecraft.nbt.NBTTagCompound +net.minecraft.nbt.ListTag net.minecraft.nbt.NBTTagList +net.minecraft.nbt.StringTag net.minecraft.nbt.NBTTagString + +net.minecraft.nbt.CompoundTag getCompound() getCompoundTag() +net.minecraft.nbt.CompoundTag getList() getTagList() +net.minecraft.nbt.CompoundTag put() setTag() +net.minecraft.nbt.CompoundTag putBoolean() setBoolean() +net.minecraft.nbt.CompoundTag putInt() setInteger() +net.minecraft.nbt.CompoundTag putString() setString() +net.minecraft.nbt.CompoundTag remove() removeTag() + +net.minecraft.nbt.ListTag getString() getStringTagAt() + +net.minecraft.nbt.ListTag getSize() tagCount() + +net.minecraft.network.chat.TextComponent net.minecraft.util.text.TextComponentString + +net.minecraft.network.protocol.Packet net.minecraft.network.Packet + +net.minecraft.network.protocol.game.ClientboundAddEntityPacket net.minecraft.network.play.server.SPacketSpawnObject +net.minecraft.network.protocol.game.ClientboundAddMobPacket net.minecraft.network.play.server.SPacketSpawnMob +net.minecraft.network.protocol.game.ClientboundAddPlayerPacket net.minecraft.network.play.server.SPacketSpawnPlayer +net.minecraft.network.protocol.game.ClientboundAnimatePacket net.minecraft.network.play.server.SPacketAnimation +net.minecraft.network.protocol.game.ClientboundBlockUpdatePacket net.minecraft.network.play.server.SPacketBlockChange +net.minecraft.network.protocol.game.ClientboundContainerSetSlotPacket net.minecraft.network.play.server.SPacketSetSlot +net.minecraft.network.protocol.game.ClientboundEntityEventPacket net.minecraft.network.play.server.SPacketEntityStatus +net.minecraft.network.protocol.game.ClientboundLevelEventPacket net.minecraft.network.play.server.SPacketEffect +net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket net.minecraft.network.play.server.SPacketParticles +net.minecraft.network.protocol.game.ClientboundMoveEntityPacket net.minecraft.network.play.server.SPacketEntity +net.minecraft.network.protocol.game.ClientboundPlayerInfoPacket net.minecraft.network.play.server.SPacketPlayerListItem +net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket net.minecraft.network.play.server.SPacketDestroyEntities +net.minecraft.network.protocol.game.ClientboundRotateHeadPacket net.minecraft.network.play.server.SPacketEntityHeadLook +net.minecraft.network.protocol.game.ClientboundSectionBlocksUpdatePacket net.minecraft.network.play.server.SPacketMultiBlockChange +net.minecraft.network.protocol.game.ClientboundSetBorderPacket net.minecraft.network.play.server.SPacketWorldBorder +net.minecraft.network.protocol.game.ClientboundSetEntityDataPacket net.minecraft.network.play.server.SPacketEntityMetadata +net.minecraft.network.protocol.game.ClientboundSetEntityLinkPacket net.minecraft.network.play.server.SPacketEntityAttach +net.minecraft.network.protocol.game.ClientboundSetEntityMotionPacket net.minecraft.network.play.server.SPacketEntityVelocity +net.minecraft.network.protocol.game.ClientboundSetEquipmentPacket net.minecraft.network.play.server.SPacketEntityEquipment +net.minecraft.network.protocol.game.ClientboundSetPlayerTeamPacket net.minecraft.network.play.server.SPacketTeams +net.minecraft.network.protocol.game.ClientboundSetScorePacket net.minecraft.network.play.server.SPacketUpdateScore +net.minecraft.network.protocol.game.ClientboundSetTitlesPacket net.minecraft.network.play.server.SPacketTitle +net.minecraft.network.protocol.game.ClientboundSoundPacket net.minecraft.network.play.server.SPacketSoundEffect +net.minecraft.network.protocol.game.ClientboundTabListPacket net.minecraft.network.play.server.SPacketPlayerListHeaderFooter +net.minecraft.network.protocol.game.ClientboundTakeItemEntityPacket net.minecraft.network.play.server.SPacketCollectItem +net.minecraft.network.protocol.game.ClientboundTeleportEntityPacket net.minecraft.network.play.server.SPacketEntityTeleport +net.minecraft.network.protocol.game.ClientboundUpdateAttributesPacket net.minecraft.network.play.server.SPacketEntityProperties +net.minecraft.network.protocol.game.ClientboundUpdateMobEffectPacket net.minecraft.network.play.server.SPacketEntityEffect + +net.minecraft.network.protocol.game.ClientboundAddEntityPacket getId() getEntityID() + +net.minecraft.network.protocol.game.ClientboundAddMobPacket getId() getEntityID() + +net.minecraft.network.protocol.game.ClientboundAddPlayerPacket getEntityId() getEntityID() + +net.minecraft.network.protocol.game.ClientboundAnimatePacket getId() getEntityID() + +net.minecraft.network.protocol.game.ClientboundBlockUpdatePacket getPos() getBlockPosition() + +net.minecraft.network.protocol.game.ClientboundContainerSetSlotPacket getContainerId() getWindowId() + +net.minecraft.network.protocol.game.ClientboundLevelEventPacket getPos() getSoundPos() + +net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket getX() getXCoordinate() +net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket getY() getYCoordinate() +net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket getZ() getZCoordinate() +net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket getCount() getParticleCount() +net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket getMaxSpeed() getParticleSpeed() +net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket getXDist() getXOffset() +net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket getYDist() getYOffset() +net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket getZDist() getZOffset() +net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket isOverrideLimiter() isLongDistance() + +net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket getEntityIds() getEntityIDs() + +net.minecraft.network.protocol.game.ClientboundSetEntityDataPacket getId() getEntityId() + +net.minecraft.network.protocol.game.ClientboundSetEntityLinkPacket getSourceId() getEntityId() + +net.minecraft.network.protocol.game.ClientboundSetEntityMotionPacket getId() getEntityID() + +net.minecraft.network.protocol.game.ClientboundSetEquipmentPacket getEntity() getEntityID() + +net.minecraft.network.protocol.game.ClientboundTeleportEntityPacket getId() getEntityId() + +net.minecraft.network.protocol.game.ClientboundSetTitlesPacket getText() getMessage() + +net.minecraft.network.protocol.game.ServerboundContainerClickPacket net.minecraft.network.play.client.CPacketClickWindow +net.minecraft.network.protocol.game.ServerboundInteractPacket net.minecraft.network.play.client.CPacketUseEntity +net.minecraft.network.protocol.game.ServerboundMovePlayerPacket net.minecraft.network.play.client.CPacketPlayer +net.minecraft.network.protocol.game.ServerboundPickItemPacket net.minecraft.network.play.client.CPacketHeldItemChange + net.minecraft.server.packs.resources.ResourceManager net.minecraft.client.resources.IResourceManager -net.minecraft.client.gui.screens.Screen net.minecraft.client.gui.GuiScreen -net.minecraft.client.gui.screens.Screen isPauseScreen() doesGuiPauseGame() -net.minecraft.client.Minecraft setScreen() displayGuiScreen() -net.minecraft.world.entity.LivingEntity net.minecraft.entity.EntityLivingBase + +net.minecraft.world.effect.MobEffect net.minecraft.potion.Potion + +net.minecraft.world.entity.Entity level getEntityWorld() +net.minecraft.world.entity.Entity net.minecraft.entity.Entity +net.minecraft.world.entity.Entity xOld prevPosX +net.minecraft.world.entity.Entity xo posX +net.minecraft.world.entity.Entity yOld prevPosY +net.minecraft.world.entity.Entity yo posY +net.minecraft.world.entity.Entity zOld prevPosZ +net.minecraft.world.entity.Entity zo posZ + +net.minecraft.world.entity.EquipmentSlot net.minecraft.inventory.EntityEquipmentSlot + net.minecraft.world.entity.LivingEntity getEffect() getActivePotionEffect() +net.minecraft.world.entity.LivingEntity getItemBySlot() getItemStackFromSlot() net.minecraft.world.entity.LivingEntity getMainHandItem() getHeldItemMainhand() net.minecraft.world.entity.LivingEntity getOffhandItem() getHeldItemOffhand() -net.minecraft.world.entity.LivingEntity getItemBySlot() getItemStackFromSlot() -net.minecraft.world.entity.EquipmentSlot net.minecraft.inventory.EntityEquipmentSlot -net.minecraft.world.effect.MobEffect net.minecraft.potion.Potion +net.minecraft.world.entity.LivingEntity net.minecraft.entity.EntityLivingBase + +net.minecraft.world.entity.decoration.ArmorStand getArmorSlots() getArmorInventoryList() +net.minecraft.world.entity.decoration.ArmorStand net.minecraft.entity.item.EntityArmorStand + +net.minecraft.world.entity.monster.EnderMan getCarriedBlock() getHeldBlockState() +net.minecraft.world.entity.monster.EnderMan net.minecraft.entity.monster.EntityEnderman + +net.minecraft.world.inventory.Slot net.minecraft.inventory.Slot +net.minecraft.world.inventory.Slot getItem() getStack() +net.minecraft.world.inventory.Slot index slotNumber +net.minecraft.world.entity.Entity removed isDead +net.minecraft.world.entity.Entity getId() getEntityId() + +net.minecraft.world.entity.boss.wither.WitherBoss net.minecraft.entity.boss.EntityWither + +net.minecraft.world.entity.item.ItemEntity net.minecraft.entity.item.EntityItem + +net.minecraft.world.entity.player.Inventory net.minecraft.entity.player.InventoryPlayer + +net.minecraft.world.entity.player.Inventory armor armorInventory +net.minecraft.world.entity.player.Inventory items mainInventory +net.minecraft.world.entity.player.Inventory getCarried() getItemStack() + +net.minecraft.world.entity.player.Player isModelPartShown() isWearing() +net.minecraft.world.entity.player.Player net.minecraft.entity.player.EntityPlayer + +net.minecraft.world.entity.player.PlayerModelPart net.minecraft.entity.player.EnumPlayerModelParts + +net.minecraft.world.entity.projectile.Arrow net.minecraft.entity.projectile.EntityArrow + +net.minecraft.world.entity.projectile.FishingHook net.minecraft.entity.projectile.EntityFishHook + +net.minecraft.world.entity.projectile.FishingHook getPlayerOwner() getAngler() + +net.minecraft.world.item.Item net.minecraft.item.Item +net.minecraft.world.item.Items net.minecraft.init.Items + +net.minecraft.world.level.Level getEntity() getEntityByID() + +net.minecraft.world.level.block.Blocks net.minecraft.init.Blocks +net.minecraft.world.level.block.state.BlockState net.minecraft.block.state.IBlockState + +net.minecraft.world.phys.Vec3 net.minecraft.util.math.Vec3d + +net.minecraft.world.scores.Team$Visibility net.minecraft.scoreboard.Team$EnumVisible + +net.minecraftforge.api.distmarker.Dist net.minecraftforge.fml.relauncher.Side +net.minecraftforge.api.distmarker.OnlyIn net.minecraftforge.fml.relauncher.SideOnly + +net.minecraftforge.event.TickEvent net.minecraftforge.fml.common.gameevent.TickEvent + +net.minecraftforge.eventbus.api.Event net.minecraftforge.fml.common.eventhandler.Event +net.minecraftforge.eventbus.api.Cancelable net.minecraftforge.fml.common.eventhandler.Cancelable +net.minecraftforge.eventbus.api.EventPriority net.minecraftforge.fml.common.eventhandler.EventPriority +net.minecraftforge.eventbus.api.SubscribeEvent net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +org.lwjgl.glfw.GLFW org.lwjgl.input.Keyboard +org.lwjgl.glfw.GLFW GLFW_KEY_0 KEY_0 +org.lwjgl.glfw.GLFW GLFW_KEY_1 KEY_1 +org.lwjgl.glfw.GLFW GLFW_KEY_2 KEY_2 +org.lwjgl.glfw.GLFW GLFW_KEY_3 KEY_3 +org.lwjgl.glfw.GLFW GLFW_KEY_4 KEY_4 +org.lwjgl.glfw.GLFW GLFW_KEY_5 KEY_5 +org.lwjgl.glfw.GLFW GLFW_KEY_6 KEY_6 +org.lwjgl.glfw.GLFW GLFW_KEY_7 KEY_7 +org.lwjgl.glfw.GLFW GLFW_KEY_8 KEY_8 +org.lwjgl.glfw.GLFW GLFW_KEY_9 KEY_9 +org.lwjgl.glfw.GLFW GLFW_KEY_A KEY_A +org.lwjgl.glfw.GLFW GLFW_KEY_B KEY_B +org.lwjgl.glfw.GLFW GLFW_KEY_C KEY_C +org.lwjgl.glfw.GLFW GLFW_KEY_D KEY_D +org.lwjgl.glfw.GLFW GLFW_KEY_E KEY_E +org.lwjgl.glfw.GLFW GLFW_KEY_F KEY_F +org.lwjgl.glfw.GLFW GLFW_KEY_G KEY_G +org.lwjgl.glfw.GLFW GLFW_KEY_H KEY_H +org.lwjgl.glfw.GLFW GLFW_KEY_I KEY_I +org.lwjgl.glfw.GLFW GLFW_KEY_J KEY_J +org.lwjgl.glfw.GLFW GLFW_KEY_K KEY_K +org.lwjgl.glfw.GLFW GLFW_KEY_L KEY_L +org.lwjgl.glfw.GLFW GLFW_KEY_M KEY_M +org.lwjgl.glfw.GLFW GLFW_KEY_N KEY_N +org.lwjgl.glfw.GLFW GLFW_KEY_O KEY_O +org.lwjgl.glfw.GLFW GLFW_KEY_P KEY_P +org.lwjgl.glfw.GLFW GLFW_KEY_Q KEY_Q +org.lwjgl.glfw.GLFW GLFW_KEY_R KEY_R +org.lwjgl.glfw.GLFW GLFW_KEY_S KEY_S +org.lwjgl.glfw.GLFW GLFW_KEY_T KEY_T +org.lwjgl.glfw.GLFW GLFW_KEY_U KEY_U +org.lwjgl.glfw.GLFW GLFW_KEY_V KEY_V +org.lwjgl.glfw.GLFW GLFW_KEY_W KEY_W +org.lwjgl.glfw.GLFW GLFW_KEY_X KEY_X +org.lwjgl.glfw.GLFW GLFW_KEY_Y KEY_Y +org.lwjgl.glfw.GLFW GLFW_KEY_Z KEY_Z +org.lwjgl.glfw.GLFW GLFW_KEY_LEFT_CONTROL KEY_LCONTROL +org.lwjgl.glfw.GLFW GLFW_KEY_RIGHT_CONTROL KEY_RCONTROL +org.lwjgl.glfw.GLFW GLFW_KEY_HOME KEY_HOME +org.lwjgl.glfw.GLFW GLFW_KEY_END KEY_END +org.lwjgl.glfw.GLFW GLFW_KEY_LEFT_SHIFT KEY_LSHIFT +org.lwjgl.glfw.GLFW GLFW_KEY_RIGHT_SHIFT KEY_RSHIFT +org.lwjgl.glfw.GLFW GLFW_KEY_SPACE KEY_SPACE +org.lwjgl.glfw.GLFW GLFW_KEY_TAB KEY_TAB +org.lwjgl.glfw.GLFW GLFW_KEY_UNKNOWN KEY_NONE +org.lwjgl.glfw.GLFW GLFW_KEY_F3 KEY_F3 +org.lwjgl.glfw.GLFW GLFW_KEY_LEFT KEY_LEFT +org.lwjgl.glfw.GLFW GLFW_KEY_RIGHT KEY_RIGHT +org.lwjgl.glfw.GLFW GLFW_KEY_UP KEY_UP +org.lwjgl.glfw.GLFW GLFW_KEY_DOWN KEY_DOWN +org.lwjgl.glfw.GLFW GLFW_KEY_ESCAPE KEY_ESCAPE +org.lwjgl.glfw.GLFW GLFW_KEY_ENTER KEY_RETURN +org.lwjgl.glfw.GLFW GLFW_KEY_ESCAPE KEY_ESCAPE -- cgit