aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.idea/dictionaries/default_user.xml4
-rw-r--r--annotation-processors/src/main/kotlin/at/hannibal2/skyhanni/skyhannimodule/ModuleProcessor.kt2
-rw-r--r--build.gradle.kts3
-rw-r--r--shots.txt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ActionBarData.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ChatManager.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLividFinder.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/inventory/ItemPickupLog.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/DelayedRun.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/EntityUtils.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/InventoryUtils.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt14
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/compat/SkyhanniBaseScreen.kt2
-rw-r--r--versions/mapping-1.12.2-1.8.9.txt71
-rw-r--r--versions/mapping-1.16.5-1.16.5-forge.txt2
-rw-r--r--versions/mapping-1.16.5-forge-1.12.2.txt319
19 files changed, 369 insertions, 83 deletions
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 @@
<w>chumcap</w>
<w>cinderbat</w>
<w>citrine</w>
+ <w>clientbound</w>
<w>coflnet</w>
<w>coords</w>
<w>craftable</w>
@@ -223,6 +224,7 @@
<w>scatha</w>
<w>sepulture</w>
<w>seraphine</w>
+ <w>serverbound</w>
<w>sethome</w>
<w>shcopytranslation</w>
<w>shcropstartlocation</w>
@@ -284,4 +286,4 @@
<w>yolkar</w>
</words>
</dictionary>
-</component> \ No newline at end of file
+</component>
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<TileEntity> = 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<IChatComponent>, 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()