Update preprocessor and replace 1.13.2 subproject with 1.14.4-forge
The new preprocessor version brings first-party support for fabric, in particular for automatically fetching mappings loom and for automatically remapping between MC versions via intermediary mappings. This will come in handy when updating to 1.15. It also supports automatic remapping between fabric and forge on the same MC version (by going mcp<->srg<->mojang<->intermediary<->yarn). Therefore this commit replaces the previous 1.13.2 (forge) subproject with a 1.14.4-forge one. Instead of manually providing full mappings for 1.14.4-fabric to 1.13.2-forge and partial (classes) for 1.13.2-forge to 1.12.2-forge, we now only need partial (classes) for 1.12.2-forge to 1.14.4-forge and preprocessor will take care of the forge to fabric step (in fact, our mapping file for that is currently completely empty). In an attempt to write an IDE (IntelliJ) plugin for quicker and easier working with the preprocessor (e.g. immediately mapping single files from within the IDE, jumping between different versions for the same file), the preprocessor gradle plugin declaration now requires you to explicitly specify variables in the common.gradle and the overall relationship between projects in the build.gradle (latter is required anyway, so the plugin can know where it should map between forge and fabric and which subprojects are which versions). Since that necessitated some changes to the build.gradle file, I took the opportunity to convert it to Kotlin. As such we now also use Gradle's newer plugin-block with the pluginManagement-block instead of manually declaring buildScript (not for the common.gradle though), which imo is nicer anyway and comes with various advantages (see gradle docs). There were also some remapping bugs fixed and some new ones introduced (e.g. manually declared inner class mappings seem to no longer function properly under certain conditions). There's also support for remapping Kotlin now. Just saying.
This commit is contained in:
174
build.gradle
174
build.gradle
@@ -1,174 +0,0 @@
|
|||||||
buildscript {
|
|
||||||
repositories {
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
classpath 'com.google.guava:guava:27.1-jre'
|
|
||||||
classpath 'org.apache.maven:maven-artifact:3.6.1'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
apply plugin: 'eclipse'
|
|
||||||
apply plugin: 'idea'
|
|
||||||
|
|
||||||
import groovy.json.JsonOutput
|
|
||||||
|
|
||||||
def latestVersion = file('version.txt').readLines().first()
|
|
||||||
def releaseCommit = command('git', 'blame', '-p', '-l', 'version.txt').first().tokenize(' ').first()
|
|
||||||
if (latestVersion == '2.1.0') { // First version since change from tag-based
|
|
||||||
releaseCommit = '35ac26e91689ac9bdf12dbb9902c452464a75108' // git rev-parse 1.12.2-2.1.0
|
|
||||||
}
|
|
||||||
def currentCommit = command('git', 'rev-parse', 'HEAD').first()
|
|
||||||
if (releaseCommit == currentCommit) {
|
|
||||||
version = latestVersion
|
|
||||||
} else {
|
|
||||||
def diff = command('git', 'log', '--format=oneline', "$releaseCommit..$currentCommit").size()
|
|
||||||
version = "$latestVersion-$diff-g${currentCommit.substring(0, 7)}"
|
|
||||||
}
|
|
||||||
if (gitDescribe().endsWith('*')) {
|
|
||||||
version = "$version-dirty"
|
|
||||||
}
|
|
||||||
|
|
||||||
group= "com.replaymod"
|
|
||||||
|
|
||||||
// Fabric's remapJar task assumes the compile configuration to exist
|
|
||||||
configurations { compile }
|
|
||||||
|
|
||||||
task shadowJar(type: Copy) {
|
|
||||||
into "$buildDir/libs"
|
|
||||||
}
|
|
||||||
|
|
||||||
subprojects {
|
|
||||||
buildscript {
|
|
||||||
repositories {
|
|
||||||
maven { url 'https://jitpack.io' }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Thanks for wasting my time gradle...
|
|
||||||
// Workaround for https://discuss.gradle.org/t/idea-plugin-bug/21525
|
|
||||||
apply plugin: 'eclipse'
|
|
||||||
apply plugin: 'idea'
|
|
||||||
|
|
||||||
afterEvaluate {
|
|
||||||
def shadowJar = project.tasks.findByName('shadowJar')
|
|
||||||
if (shadowJar != null && shadowJar.hasProperty('archivePath') && project.name != 'core') {
|
|
||||||
def rootTask = rootProject.tasks.shadowJar
|
|
||||||
rootTask.dependsOn shadowJar
|
|
||||||
rootTask.from shadowJar.archivePath
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def gitDescribe() {
|
|
||||||
try {
|
|
||||||
def stdout = new ByteArrayOutputStream()
|
|
||||||
exec {
|
|
||||||
commandLine 'git', 'describe', '--always', '--dirty=*'
|
|
||||||
standardOutput = stdout
|
|
||||||
}
|
|
||||||
return stdout.toString().trim()
|
|
||||||
} catch (e) {
|
|
||||||
return "unknown"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def command(Object...cmd) {
|
|
||||||
def stdout = new ByteArrayOutputStream()
|
|
||||||
exec {
|
|
||||||
commandLine cmd
|
|
||||||
standardOutput = stdout
|
|
||||||
}
|
|
||||||
return stdout.toString().tokenize('\n')
|
|
||||||
}
|
|
||||||
|
|
||||||
def generateVersionsJson() {
|
|
||||||
// Find all tag-style releases by listing all tags
|
|
||||||
def tagVersions = command 'git', 'for-each-ref', '--sort=taggerdate', '--format=%(refname:short)', 'refs/tags'
|
|
||||||
|
|
||||||
// Find all commit-style releases
|
|
||||||
// List all commits
|
|
||||||
def releaseCommits =
|
|
||||||
command 'git', 'log', '--format=%H', '--date-order', '-E',
|
|
||||||
'--grep', /Pre-release [0-9]+ of [0-9]+\.[0-9]+\.[0-9]+/,
|
|
||||||
'--grep', /Release [0-9]+\.[0-9]+\.[0-9]+/
|
|
||||||
// Find version string and MC versions for each commit hash
|
|
||||||
def commitVersions = releaseCommits.collect { commit ->
|
|
||||||
def version = command('git', 'show', "$commit:version.txt").first()
|
|
||||||
def mcVersions = command 'git', 'ls-tree', '-d', '--name-only', "$commit:versions"
|
|
||||||
mcVersions.remove('core')
|
|
||||||
return mcVersions.collect { "$it-$version" }
|
|
||||||
}.flatten()
|
|
||||||
|
|
||||||
def versions = commitVersions + tagVersions.reverse()
|
|
||||||
def mcVersions = versions.collect {it.substring(0, it.indexOf('-'))}.unique()
|
|
||||||
mcVersions.sort(new OrderBy([0, 1, 2].collect { i -> { it -> (it.tokenize('.')[i] ?: '0') as int } }))
|
|
||||||
|
|
||||||
def root = [
|
|
||||||
homepage: 'https://www.replaymod.com/download/',
|
|
||||||
promos: [:]
|
|
||||||
]
|
|
||||||
mcVersions.forEach { mcVersion ->
|
|
||||||
def mcVersionRoot = [:]
|
|
||||||
def latest
|
|
||||||
def recommended
|
|
||||||
versions.forEach {
|
|
||||||
def (thisMcVersion, modVersion, preVersion) = it.tokenize('-')
|
|
||||||
if (thisMcVersion == mcVersion) {
|
|
||||||
mcVersionRoot[it] = tagVersions.contains(it) ?
|
|
||||||
"See https://github.com/ReplayMod/ReplayMod/releases/$it" :
|
|
||||||
'See https://www.replaymod.com/forum/thread/100'
|
|
||||||
if (latest == null) latest = it
|
|
||||||
if (preVersion == null) {
|
|
||||||
if (recommended == null) recommended = it
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
root[mcVersion] = mcVersionRoot
|
|
||||||
root.promos[mcVersion + '-latest'] = latest
|
|
||||||
if (recommended != null) {
|
|
||||||
root.promos[mcVersion + '-recommended'] = recommended
|
|
||||||
}
|
|
||||||
}
|
|
||||||
root
|
|
||||||
}
|
|
||||||
|
|
||||||
task doRelease() {
|
|
||||||
doLast {
|
|
||||||
// Parse version
|
|
||||||
def version = project.releaseVersion as String
|
|
||||||
if (gitDescribe().endsWith('*')) {
|
|
||||||
throw new InvalidUserDataException('Git working tree is dirty. Make sure to commit all changes.')
|
|
||||||
}
|
|
||||||
def (modVersion, preVersion) = version.tokenize('-')
|
|
||||||
preVersion = preVersion != null && preVersion.startsWith('b') ? preVersion.substring(1) : null
|
|
||||||
|
|
||||||
// Create new commit
|
|
||||||
def commitMessage = preVersion != null ?
|
|
||||||
"Pre-release $preVersion of $modVersion" :
|
|
||||||
"Release $modVersion"
|
|
||||||
file('version.txt').write("$version\n")
|
|
||||||
command 'git', 'add', 'version.txt'
|
|
||||||
command 'git', 'commit', '-m', commitMessage
|
|
||||||
|
|
||||||
// Generate versions.json content
|
|
||||||
def versionsRoot = generateVersionsJson()
|
|
||||||
def versionsJson = JsonOutput.prettyPrint(JsonOutput.toJson(versionsRoot))
|
|
||||||
|
|
||||||
// Switch to master branch to update versions.json
|
|
||||||
command 'git', 'checkout', 'master'
|
|
||||||
|
|
||||||
// Write versions.json
|
|
||||||
new File('versions.json').write(versionsJson)
|
|
||||||
|
|
||||||
// Commit changes
|
|
||||||
project.exec { commandLine 'git', 'add', 'versions.json' }
|
|
||||||
project.exec { commandLine 'git', 'commit', '-m', "Update versions.json for $version" }
|
|
||||||
|
|
||||||
// Return to previous branch
|
|
||||||
project.exec { commandLine 'git', 'checkout', '-' }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultTasks 'shadowJar'
|
|
||||||
200
build.gradle.kts
Executable file
200
build.gradle.kts
Executable file
@@ -0,0 +1,200 @@
|
|||||||
|
import groovy.json.JsonOutput
|
||||||
|
import java.io.ByteArrayOutputStream
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
id("fabric-loom") version "0.2.5-SNAPSHOT" apply false
|
||||||
|
id("com.replaymod.preprocess") version "b744ea7"
|
||||||
|
id("com.github.hierynomus.license") version "0.15.0"
|
||||||
|
}
|
||||||
|
|
||||||
|
val latestVersion = file("version.txt").readLines().first()
|
||||||
|
var releaseCommit = command("git", "blame", "-p", "-l", "version.txt").first().split(" ").first()
|
||||||
|
if (latestVersion == "2.1.0") { // First version since change from tag-based
|
||||||
|
releaseCommit = "35ac26e91689ac9bdf12dbb9902c452464a75108" // git rev-parse 1.12.2-2.1.0
|
||||||
|
}
|
||||||
|
val currentCommit = command("git", "rev-parse", "HEAD").first()
|
||||||
|
if (releaseCommit == currentCommit) {
|
||||||
|
version = latestVersion
|
||||||
|
} else {
|
||||||
|
val diff = command("git", "log", "--format=oneline", "$releaseCommit..$currentCommit").size
|
||||||
|
version = "$latestVersion-$diff-g${currentCommit.substring(0, 7)}"
|
||||||
|
}
|
||||||
|
if (gitDescribe().endsWith("*")) {
|
||||||
|
version = "$version-dirty"
|
||||||
|
}
|
||||||
|
|
||||||
|
group = "com.replaymod"
|
||||||
|
|
||||||
|
// Loom tries to find the active mixin version by recursing up to the root project and checking each project's
|
||||||
|
// compileClasspath and build script classpath (in that order). Since we've loom in our root project's classpath,
|
||||||
|
// loom will only find it after checking the root project's compileClasspath (which doesn't exist by default).
|
||||||
|
configurations.register("compileClasspath")
|
||||||
|
|
||||||
|
val shadowJar by tasks.creating(Copy::class) {
|
||||||
|
into("$buildDir/libs")
|
||||||
|
}
|
||||||
|
|
||||||
|
subprojects {
|
||||||
|
buildscript {
|
||||||
|
repositories {
|
||||||
|
maven("https://jitpack.io")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
afterEvaluate {
|
||||||
|
val projectShadowJar = project.tasks.findByName("shadowJar")
|
||||||
|
if (projectShadowJar != null && projectShadowJar.hasProperty("archivePath") && project.name != "core") {
|
||||||
|
shadowJar.dependsOn(projectShadowJar)
|
||||||
|
shadowJar.from(projectShadowJar.withGroovyBuilder { getProperty("archivePath") })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun gitDescribe(): String {
|
||||||
|
try {
|
||||||
|
val stdout = ByteArrayOutputStream()
|
||||||
|
exec {
|
||||||
|
commandLine("git", "describe", "--always", "--dirty=*")
|
||||||
|
standardOutput = stdout
|
||||||
|
}
|
||||||
|
return stdout.toString().trim()
|
||||||
|
} catch (e: Throwable) {
|
||||||
|
return "unknown"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun command(vararg cmd: Any): List<String> {
|
||||||
|
val stdout = ByteArrayOutputStream()
|
||||||
|
exec {
|
||||||
|
commandLine(*cmd)
|
||||||
|
standardOutput = stdout
|
||||||
|
}
|
||||||
|
return stdout.toString().split("\n")
|
||||||
|
}
|
||||||
|
|
||||||
|
fun generateVersionsJson(): Map<String, Any> {
|
||||||
|
// Find all tag-style releases by listing all tags
|
||||||
|
val tagVersions = command("git", "for-each-ref", "--sort=taggerdate", "--format=%(refname:short)", "refs/tags")
|
||||||
|
|
||||||
|
// Find all commit-style releases
|
||||||
|
// List all commits
|
||||||
|
val releaseCommits =
|
||||||
|
command("git", "log", "--format=%H", "--date-order", "-E",
|
||||||
|
"--grep", "Pre-release [0-9]+ of [0-9]+\\.[0-9]+\\.[0-9]+",
|
||||||
|
"--grep", "Release [0-9]+\\.[0-9]+\\.[0-9]+")
|
||||||
|
// Find version string and MC versions for each commit hash
|
||||||
|
val commitVersions = releaseCommits.map { commit ->
|
||||||
|
val version = command("git", "show", "$commit:version.txt").first()
|
||||||
|
val mcVersions = command("git", "ls-tree", "-d", "--name-only", "$commit:versions")
|
||||||
|
mcVersions.map { "$it-$version" }
|
||||||
|
}.flatten()
|
||||||
|
|
||||||
|
val versions = commitVersions + tagVersions.reversed()
|
||||||
|
val mcVersions = versions
|
||||||
|
.map {it.substring(0, it.indexOf("-"))}
|
||||||
|
.distinct()
|
||||||
|
.sortedWith(compareBy(
|
||||||
|
{ (it.split(".")[0] ?: "0").toInt() },
|
||||||
|
{ (it.split(".")[1] ?: "0").toInt() },
|
||||||
|
{ (it.split(".")[2] ?: "0").toInt() }
|
||||||
|
))
|
||||||
|
|
||||||
|
val promos = mutableMapOf<String, String>()
|
||||||
|
val root = mutableMapOf<String, Any>(
|
||||||
|
"homepage" to "https://www.replaymod.com/download/",
|
||||||
|
"promos" to promos
|
||||||
|
)
|
||||||
|
mcVersions.forEach { mcVersion ->
|
||||||
|
var mcVersionRoot = mutableMapOf<String, String>()
|
||||||
|
var latest: String? = null
|
||||||
|
var recommended: String? = null
|
||||||
|
versions.forEach {
|
||||||
|
val (thisMcVersion, modVersion, preVersion) = it.split("-")
|
||||||
|
if (thisMcVersion == mcVersion) {
|
||||||
|
mcVersionRoot[it] = if (tagVersions.contains(it))
|
||||||
|
"See https://github.com/ReplayMod/ReplayMod/releases/$it"
|
||||||
|
else
|
||||||
|
"See https://www.replaymod.com/forum/thread/100"
|
||||||
|
if (latest == null) latest = it
|
||||||
|
if (preVersion == null) {
|
||||||
|
if (recommended == null) recommended = it
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
root[mcVersion] = mcVersionRoot
|
||||||
|
promos[mcVersion + "-latest"] = latest!!
|
||||||
|
if (recommended != null) {
|
||||||
|
promos[mcVersion + "-recommended"] = recommended!!
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return root
|
||||||
|
}
|
||||||
|
|
||||||
|
val doRelease by tasks.registering {
|
||||||
|
doLast {
|
||||||
|
// Parse version
|
||||||
|
val version = project.extra("releaseVersion") as String
|
||||||
|
if (gitDescribe().endsWith("*")) {
|
||||||
|
throw InvalidUserDataException("Git working tree is dirty. Make sure to commit all changes.")
|
||||||
|
}
|
||||||
|
val (modVersion, preVersion) = if ("-b" in version) {
|
||||||
|
version.split("-b")
|
||||||
|
} else {
|
||||||
|
listOf(version, null)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create new commit
|
||||||
|
val commitMessage = if (preVersion != null)
|
||||||
|
"Pre-release $preVersion of $modVersion"
|
||||||
|
else
|
||||||
|
"Release $modVersion"
|
||||||
|
file("version.txt").writeText("$version\n")
|
||||||
|
command("git", "add", "version.txt")
|
||||||
|
command("git", "commit", "-m", commitMessage)
|
||||||
|
|
||||||
|
// Generate versions.json content
|
||||||
|
val versionsRoot = generateVersionsJson()
|
||||||
|
val versionsJson = JsonOutput.prettyPrint(JsonOutput.toJson(versionsRoot))
|
||||||
|
|
||||||
|
// Switch to master branch to update versions.json
|
||||||
|
command("git", "checkout", "master")
|
||||||
|
|
||||||
|
// Write versions.json
|
||||||
|
File("versions.json").writeText(versionsJson)
|
||||||
|
|
||||||
|
// Commit changes
|
||||||
|
project.exec { commandLine("git", "add", "versions.json") }
|
||||||
|
project.exec { commandLine("git", "commit", "-m", "Update versions.json for $version") }
|
||||||
|
|
||||||
|
// Return to previous branch
|
||||||
|
project.exec { commandLine("git", "checkout", "-") }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultTasks("shadowJar")
|
||||||
|
|
||||||
|
preprocess {
|
||||||
|
"1.14.4"(11404, "yarn") {
|
||||||
|
"1.14.4-forge"(11404, "srg", file("versions/mapping-1.14.4-fabric-forge.txt")) {
|
||||||
|
"1.12.2"(11202, "srg", file("versions/1.14.4-forge/mapping.txt")) {
|
||||||
|
"1.12.1"(11201, "srg") {
|
||||||
|
"1.12"(11200, "srg") {
|
||||||
|
"1.11.2"(11102, "srg", file("versions/1.12/mapping.txt")) {
|
||||||
|
"1.11"(11100, "srg", file("versions/1.11.2/mapping.txt")) {
|
||||||
|
"1.10.2"(11002, "srg", file("versions/1.11/mapping.txt")) {
|
||||||
|
"1.9.4"(10904, "srg") {
|
||||||
|
"1.8.9"(10809, "srg", file("versions/1.9.4/mapping.txt")) {
|
||||||
|
"1.8"(10800, "srg", file("versions/1.8.9/mapping.txt")) {
|
||||||
|
"1.7.10"(10710, "srg", file("versions/1.8/mapping.txt"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
# This is required to provide enough memory for the Minecraft decompilation process.
|
# This is required to provide enough memory for the Minecraft decompilation process.
|
||||||
org.gradle.jvmargs=-Xmx3G
|
org.gradle.jvmargs=-Xmx3G
|
||||||
org.gradle.daemon=false
|
org.gradle.daemon=false
|
||||||
org.gradle.parallel=
|
org.gradle.parallel=false
|
||||||
|
|||||||
2
jGui
2
jGui
Submodule jGui updated: 48c89f8a72...36fd2eb402
@@ -1,47 +0,0 @@
|
|||||||
def f = file('versions/core/mcVersion')
|
|
||||||
def coreMcVersion = f.readLines().first() as int
|
|
||||||
|
|
||||||
def jGuiVersions = []
|
|
||||||
def replayModVersions = []
|
|
||||||
jGuiVersions += [
|
|
||||||
'core',
|
|
||||||
'1.7.10',
|
|
||||||
'1.8',
|
|
||||||
'1.8.9',
|
|
||||||
'1.9.4',
|
|
||||||
'1.12',
|
|
||||||
'1.13.2',
|
|
||||||
'1.14.4',
|
|
||||||
]
|
|
||||||
replayModVersions += [
|
|
||||||
'core',
|
|
||||||
'1.7.10',
|
|
||||||
'1.8',
|
|
||||||
'1.8.9',
|
|
||||||
'1.9.4',
|
|
||||||
'1.10.2',
|
|
||||||
'1.11',
|
|
||||||
'1.11.2',
|
|
||||||
'1.12',
|
|
||||||
'1.12.1',
|
|
||||||
'1.12.2',
|
|
||||||
'1.13.2',
|
|
||||||
'1.14.4',
|
|
||||||
]
|
|
||||||
|
|
||||||
include ':jGui'
|
|
||||||
jGuiVersions.each { version ->
|
|
||||||
include ":jGui:$version"
|
|
||||||
project(":jGui:$version").with {
|
|
||||||
projectDir = file("jGui/versions/$version")
|
|
||||||
buildFileName = '../common.gradle'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
replayModVersions.each { version ->
|
|
||||||
include ":$version"
|
|
||||||
project(":$version").with {
|
|
||||||
projectDir = file("versions/$version")
|
|
||||||
buildFileName = '../common.gradle'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
65
settings.gradle.kts
Normal file
65
settings.gradle.kts
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
pluginManagement {
|
||||||
|
repositories {
|
||||||
|
mavenLocal()
|
||||||
|
gradlePluginPortal()
|
||||||
|
jcenter()
|
||||||
|
mavenCentral()
|
||||||
|
google()
|
||||||
|
maven("https://jitpack.io")
|
||||||
|
maven("https://maven.fabricmc.net")
|
||||||
|
}
|
||||||
|
resolutionStrategy {
|
||||||
|
eachPlugin {
|
||||||
|
when (requested.id.id) {
|
||||||
|
"com.replaymod.preprocess" -> {
|
||||||
|
useModule("com.github.replaymod:preprocessor:${requested.version}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val jGuiVersions = listOf(
|
||||||
|
"1.7.10",
|
||||||
|
"1.8",
|
||||||
|
"1.8.9",
|
||||||
|
"1.9.4",
|
||||||
|
"1.12",
|
||||||
|
"1.14.4-forge",
|
||||||
|
"1.14.4"
|
||||||
|
)
|
||||||
|
val replayModVersions = listOf(
|
||||||
|
"1.7.10",
|
||||||
|
"1.8",
|
||||||
|
"1.8.9",
|
||||||
|
"1.9.4",
|
||||||
|
"1.10.2",
|
||||||
|
"1.11",
|
||||||
|
"1.11.2",
|
||||||
|
"1.12",
|
||||||
|
"1.12.1",
|
||||||
|
"1.12.2",
|
||||||
|
"1.14.4-forge",
|
||||||
|
"1.14.4"
|
||||||
|
)
|
||||||
|
|
||||||
|
include(":jGui")
|
||||||
|
project(":jGui").apply {
|
||||||
|
projectDir = file("jGui")
|
||||||
|
buildFileName = "preprocess.gradle.kts"
|
||||||
|
}
|
||||||
|
jGuiVersions.forEach { version ->
|
||||||
|
include(":jGui:$version")
|
||||||
|
project(":jGui:$version").apply {
|
||||||
|
projectDir = file("jGui/versions/$version")
|
||||||
|
buildFileName = "../common.gradle"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
replayModVersions.forEach { version ->
|
||||||
|
include(":$version")
|
||||||
|
project(":$version").apply {
|
||||||
|
projectDir = file("versions/$version")
|
||||||
|
buildFileName = "../common.gradle"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,8 +5,8 @@
|
|||||||
//$$ import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
//$$ import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||||
//$$ import net.minecraft.client.Minecraft;
|
//$$ import net.minecraft.client.Minecraft;
|
||||||
//$$ import net.minecraftforge.client.event.RenderLivingEvent;
|
//$$ import net.minecraftforge.client.event.RenderLivingEvent;
|
||||||
//$$ import net.minecraftforge.eventbus.api.EventPriority;
|
//$$ import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
||||||
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
//$$ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
//$$
|
//$$
|
||||||
//$$ import static com.replaymod.core.versions.MCVer.*;
|
//$$ import static com.replaymod.core.versions.MCVer.*;
|
||||||
//$$
|
//$$
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
//$$ * To fix this issue, we simply cancel the RenderLivingEvent.Pre before it gets to ArmorAnimation if the entity is invisible.
|
//$$ * To fix this issue, we simply cancel the RenderLivingEvent.Pre before it gets to ArmorAnimation if the entity is invisible.
|
||||||
//$$ */
|
//$$ */
|
||||||
//$$ public class HideInvisibleEntities extends EventRegistrations {
|
//$$ public class HideInvisibleEntities extends EventRegistrations {
|
||||||
//$$ private final Minecraft mc = Minecraft.getInstance();
|
//$$ private final Minecraft mc = Minecraft.getMinecraft();
|
||||||
//$$ private final boolean modLoaded = isModLoaded("animations");
|
//$$ private final boolean modLoaded = isModLoaded("animations");
|
||||||
//$$
|
//$$
|
||||||
//$$ @SubscribeEvent(priority = EventPriority.HIGH)
|
//$$ @SubscribeEvent(priority = EventPriority.HIGH)
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ import java.lang.reflect.InvocationTargetException;
|
|||||||
|
|
||||||
import static com.replaymod.core.versions.MCVer.getRenderPartialTicks;
|
import static com.replaymod.core.versions.MCVer.getRenderPartialTicks;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import com.replaymod.core.events.PreRenderCallback;
|
import com.replaymod.core.events.PreRenderCallback;
|
||||||
//#else
|
//#else
|
||||||
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
//$$ import net.minecraftforge.fml.common.gameevent.TickEvent;
|
//$$ import net.minecraftforge.event.TickEvent;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
public class ShaderBeginRender extends EventRegistrations {
|
public class ShaderBeginRender extends EventRegistrations {
|
||||||
@@ -25,7 +25,7 @@ public class ShaderBeginRender extends EventRegistrations {
|
|||||||
* as this would usually get called by EntityRenderer#renderWorld,
|
* as this would usually get called by EntityRenderer#renderWorld,
|
||||||
* which we're not calling during rendering.
|
* which we're not calling during rendering.
|
||||||
*/
|
*/
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PreRenderCallback.EVENT, this::onRenderTickStart); }
|
{ on(PreRenderCallback.EVENT, this::onRenderTickStart); }
|
||||||
private void onRenderTickStart() {
|
private void onRenderTickStart() {
|
||||||
//#else
|
//#else
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import net.minecraft.util.crash.CrashReport;
|
|||||||
import net.minecraft.util.crash.CrashReportSection;
|
import net.minecraft.util.crash.CrashReportSection;
|
||||||
import net.minecraft.util.crash.CrashException;
|
import net.minecraft.util.crash.CrashException;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import com.replaymod.core.versions.LangResourcePack;
|
import com.replaymod.core.versions.LangResourcePack;
|
||||||
import net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding;
|
import net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding;
|
||||||
import net.minecraft.client.util.InputUtil;
|
import net.minecraft.client.util.InputUtil;
|
||||||
@@ -38,7 +38,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
public class KeyBindingRegistry extends EventRegistrations {
|
public class KeyBindingRegistry extends EventRegistrations {
|
||||||
private static final String CATEGORY = "replaymod.title";
|
private static final String CATEGORY = "replaymod.title";
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
static { net.fabricmc.fabric.api.client.keybinding.KeyBindingRegistry.INSTANCE.addCategory(CATEGORY); }
|
static { net.fabricmc.fabric.api.client.keybinding.KeyBindingRegistry.INSTANCE.addCategory(CATEGORY); }
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
@@ -58,7 +58,7 @@ public class KeyBindingRegistry extends EventRegistrations {
|
|||||||
private KeyBinding registerKeyBinding(String name, int keyCode) {
|
private KeyBinding registerKeyBinding(String name, int keyCode) {
|
||||||
KeyBinding keyBinding = keyBindings.get(name);
|
KeyBinding keyBinding = keyBindings.get(name);
|
||||||
if (keyBinding == null) {
|
if (keyBinding == null) {
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
if (keyCode == 0) {
|
if (keyCode == 0) {
|
||||||
keyCode = -1;
|
keyCode = -1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import de.johni0702.minecraft.gui.container.GuiScreen;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
import net.minecraft.resource.DirectoryResourcePack;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.text.Style;
|
import net.minecraft.text.Style;
|
||||||
import net.minecraft.text.LiteralText;
|
import net.minecraft.text.LiteralText;
|
||||||
@@ -30,17 +31,18 @@ import org.apache.commons.io.FileUtils;
|
|||||||
|
|
||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
import com.github.steveice10.mc.protocol.MinecraftConstants;
|
import com.github.steveice10.mc.protocol.MinecraftConstants;
|
||||||
import net.fabricmc.api.ClientModInitializer;
|
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
|
||||||
import net.minecraft.SharedConstants;
|
import net.minecraft.SharedConstants;
|
||||||
import net.minecraft.client.options.Option;
|
import net.minecraft.client.options.Option;
|
||||||
import net.minecraft.resource.DirectoryResourcePack;
|
|
||||||
import net.minecraft.resource.ResourcePackCreator;
|
import net.minecraft.resource.ResourcePackCreator;
|
||||||
import net.minecraft.resource.ResourcePackContainer;
|
import net.minecraft.resource.ResourcePackContainer;
|
||||||
import net.minecraft.util.NonBlockingThreadExecutor;
|
import net.minecraft.util.NonBlockingThreadExecutor;
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
//#if FABRIC>=1
|
||||||
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
//#else
|
//#else
|
||||||
//$$ import com.google.common.util.concurrent.ListenableFutureTask;
|
//$$ import com.google.common.util.concurrent.ListenableFutureTask;
|
||||||
//$$ import net.minecraft.resources.FolderPack;
|
|
||||||
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
//$$ import java.util.Queue;
|
//$$ import java.util.Queue;
|
||||||
//$$ import java.util.concurrent.FutureTask;
|
//$$ import java.util.concurrent.FutureTask;
|
||||||
@@ -80,8 +82,10 @@ import net.minecraft.util.NonBlockingThreadExecutor;
|
|||||||
//#endif
|
//#endif
|
||||||
//#endif
|
//#endif
|
||||||
//$$ import net.minecraftforge.fml.common.Mod;
|
//$$ import net.minecraftforge.fml.common.Mod;
|
||||||
|
//#if MC<11400
|
||||||
//$$ import net.minecraftforge.fml.common.gameevent.TickEvent;
|
//$$ import net.minecraftforge.fml.common.gameevent.TickEvent;
|
||||||
//#endif
|
//#endif
|
||||||
|
//#endif
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -97,7 +101,7 @@ import java.util.concurrent.TimeoutException;
|
|||||||
|
|
||||||
import static com.replaymod.core.versions.MCVer.*;
|
import static com.replaymod.core.versions.MCVer.*;
|
||||||
|
|
||||||
//#if MC<11400
|
//#if FABRIC<=0
|
||||||
//#if MC>=11300
|
//#if MC>=11300
|
||||||
//$$ @Mod(ReplayMod.MOD_ID)
|
//$$ @Mod(ReplayMod.MOD_ID)
|
||||||
//#else
|
//#else
|
||||||
@@ -114,7 +118,7 @@ import static com.replaymod.core.versions.MCVer.*;
|
|||||||
//#endif
|
//#endif
|
||||||
//#endif
|
//#endif
|
||||||
public class ReplayMod implements
|
public class ReplayMod implements
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
ClientModInitializer,
|
ClientModInitializer,
|
||||||
//#endif
|
//#endif
|
||||||
Module
|
Module
|
||||||
@@ -299,7 +303,7 @@ public class ReplayMod implements
|
|||||||
//#endif
|
//#endif
|
||||||
}}
|
}}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
@Override
|
@Override
|
||||||
public void onInitializeClient() {
|
public void onInitializeClient() {
|
||||||
modules.forEach(Module::initCommon);
|
modules.forEach(Module::initCommon);
|
||||||
@@ -470,10 +474,12 @@ public class ReplayMod implements
|
|||||||
return mcThread;
|
return mcThread;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//#if FABRIC>=1
|
||||||
@Override
|
@Override
|
||||||
public void send(Runnable runnable) {
|
public void send(Runnable runnable) {
|
||||||
method_18858(runnable);
|
method_18858(runnable);
|
||||||
}
|
}
|
||||||
|
//#endif
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executeTaskQueue() {
|
public void executeTaskQueue() {
|
||||||
@@ -573,7 +579,7 @@ public class ReplayMod implements
|
|||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
public String getVersion() {
|
public String getVersion() {
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
return FabricLoader.getInstance().getModContainer(MOD_ID)
|
return FabricLoader.getInstance().getModContainer(MOD_ID)
|
||||||
.orElseThrow(IllegalStateException::new)
|
.orElseThrow(IllegalStateException::new)
|
||||||
.getMetadata().getVersion().toString();
|
.getMetadata().getVersion().toString();
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
|||||||
import de.johni0702.minecraft.gui.utils.lwjgl.Dimension;
|
import de.johni0702.minecraft.gui.utils.lwjgl.Dimension;
|
||||||
import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension;
|
import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
//#else
|
//#else
|
||||||
@@ -28,13 +28,13 @@ import static com.replaymod.core.versions.MCVer.getMinecraft;
|
|||||||
public class GuiBackgroundProcesses extends EventRegistrations {
|
public class GuiBackgroundProcesses extends EventRegistrations {
|
||||||
private GuiPanel panel = new GuiPanel().setLayout(new VerticalLayout().setSpacing(10));
|
private GuiPanel panel = new GuiPanel().setLayout(new VerticalLayout().setSpacing(10));
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(InitScreenCallback.EVENT, (screen, buttons) -> onGuiInit(screen)); }
|
{ on(InitScreenCallback.EVENT, (screen, buttons) -> onGuiInit(screen)); }
|
||||||
private void onGuiInit(Screen guiScreen) {
|
private void onGuiInit(Screen guiScreen) {
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void onGuiInit(GuiScreenEvent.InitGuiEvent.Post event) {
|
//$$ public void onGuiInit(GuiScreenEvent.InitGuiEvent.Post event) {
|
||||||
//$$ net.minecraft.client.gui.GuiScreen guiScreen = getGui(event);
|
//$$ net.minecraft.client.gui.screen.Screen guiScreen = getGui(event);
|
||||||
//#endif
|
//#endif
|
||||||
if (guiScreen != getMinecraft().currentScreen) return; // people tend to construct GuiScreens without opening them
|
if (guiScreen != getMinecraft().currentScreen) return; // people tend to construct GuiScreens without opening them
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
package com.replaymod.core.gui;
|
package com.replaymod.core.gui;
|
||||||
|
|
||||||
import com.replaymod.core.ReplayMod;
|
import com.replaymod.core.ReplayMod;
|
||||||
|
|||||||
@@ -12,29 +12,33 @@ import java.util.List;
|
|||||||
|
|
||||||
import static com.replaymod.core.versions.MCVer.*;
|
import static com.replaymod.core.versions.MCVer.*;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
||||||
|
//#else
|
||||||
|
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
||||||
|
//$$ import net.minecraftforge.common.MinecraftForge;
|
||||||
|
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
//#if MC>=11400
|
||||||
import net.minecraft.client.gui.widget.AbstractButtonWidget;
|
import net.minecraft.client.gui.widget.AbstractButtonWidget;
|
||||||
import net.minecraft.client.resource.language.I18n;
|
import net.minecraft.client.resource.language.I18n;
|
||||||
//#else
|
//#else
|
||||||
//$$ import net.minecraft.client.gui.GuiButton;
|
//$$ import net.minecraft.client.gui.GuiButton;
|
||||||
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
|
||||||
//$$ import net.minecraftforge.common.MinecraftForge;
|
|
||||||
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Moves certain buttons on the main menu upwards so we can inject our own.
|
* Moves certain buttons on the main menu upwards so we can inject our own.
|
||||||
*/
|
*/
|
||||||
public class MainMenuHandler extends EventRegistrations {
|
public class MainMenuHandler extends EventRegistrations {
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(InitScreenCallback.EVENT, this::onInit); }
|
{ on(InitScreenCallback.EVENT, this::onInit); }
|
||||||
public void onInit(Screen guiScreen, List<AbstractButtonWidget> buttonList) {
|
public void onInit(Screen guiScreen, List<AbstractButtonWidget> buttonList) {
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void onInit(GuiScreenEvent.InitGuiEvent.Post event) {
|
//$$ public void onInit(GuiScreenEvent.InitGuiEvent.Post event) {
|
||||||
//$$ GuiScreen guiScreen = getGui(event);
|
//$$ Screen guiScreen = getGui(event);
|
||||||
//$$ List<GuiButton> buttonList = getButtonList(event);
|
//$$ List<Widget> buttonList = getButtonList(event);
|
||||||
//#endif
|
//#endif
|
||||||
if (guiScreen instanceof TitleScreen) {
|
if (guiScreen instanceof TitleScreen) {
|
||||||
TitleScreen gui = (TitleScreen) guiScreen;
|
TitleScreen gui = (TitleScreen) guiScreen;
|
||||||
|
|||||||
@@ -18,10 +18,11 @@ import net.minecraft.client.gui.Element;
|
|||||||
|
|
||||||
@Mixin(Screen.class)
|
@Mixin(Screen.class)
|
||||||
public interface GuiScreenAccessor {
|
public interface GuiScreenAccessor {
|
||||||
@Accessor
|
|
||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
|
@Accessor
|
||||||
List<AbstractButtonWidget> getButtons();
|
List<AbstractButtonWidget> getButtons();
|
||||||
//#else
|
//#else
|
||||||
|
//$$ @Accessor("buttonList")
|
||||||
//$$ List<GuiButton> getButtons();
|
//$$ List<GuiButton> getButtons();
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
package com.replaymod.core.mixin;
|
package com.replaymod.core.mixin;
|
||||||
|
|
||||||
import com.replaymod.core.ReplayMod;
|
import com.replaymod.core.ReplayMod;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package com.replaymod.core.utils;
|
|||||||
import com.replaymod.replaystudio.data.ModInfo;
|
import com.replaymod.replaystudio.data.ModInfo;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.fabricmc.loader.api.ModContainer;
|
import net.fabricmc.loader.api.ModContainer;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
@@ -32,7 +32,7 @@ public class ModCompat {
|
|||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public static Collection<ModInfo> getInstalledNetworkMods() {
|
public static Collection<ModInfo> getInstalledNetworkMods() {
|
||||||
//#if MC>=11300
|
//#if MC>=11300
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
Map<String, ModInfo> modInfoMap = FabricLoader.getInstance().getAllMods().stream()
|
Map<String, ModInfo> modInfoMap = FabricLoader.getInstance().getAllMods().stream()
|
||||||
.map(ModContainer::getMetadata)
|
.map(ModContainer::getMetadata)
|
||||||
.map(m -> new ModInfo(m.getId(), m.getName(), m.getVersion().toString()))
|
.map(m -> new ModInfo(m.getId(), m.getName(), m.getVersion().toString()))
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package com.replaymod.core.versions;
|
|||||||
import com.replaymod.core.mixin.GuiScreenAccessor;
|
import com.replaymod.core.mixin.GuiScreenAccessor;
|
||||||
import com.replaymod.core.mixin.MinecraftAccessor;
|
import com.replaymod.core.mixin.MinecraftAccessor;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.world.ClientWorld;
|
import net.minecraft.client.world.ClientWorld;
|
||||||
import net.minecraft.client.render.Tessellator;
|
import net.minecraft.client.render.Tessellator;
|
||||||
@@ -24,14 +23,21 @@ import org.apache.logging.log4j.Logger;
|
|||||||
|
|
||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
import com.replaymod.core.mixin.AbstractButtonWidgetAccessor;
|
import com.replaymod.core.mixin.AbstractButtonWidgetAccessor;
|
||||||
|
import net.minecraft.SharedConstants;
|
||||||
import net.minecraft.client.gui.screen.TitleScreen;
|
import net.minecraft.client.gui.screen.TitleScreen;
|
||||||
|
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||||
import net.minecraft.client.gui.widget.AbstractButtonWidget;
|
import net.minecraft.client.gui.widget.AbstractButtonWidget;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
//#else
|
//#else
|
||||||
//$$ import com.google.common.util.concurrent.FutureCallback;
|
//$$ import com.google.common.util.concurrent.FutureCallback;
|
||||||
//$$ import com.google.common.util.concurrent.Futures;
|
//$$ import com.google.common.util.concurrent.Futures;
|
||||||
//$$ import com.google.common.util.concurrent.ListenableFuture;
|
//$$ import com.google.common.util.concurrent.ListenableFuture;
|
||||||
//$$ import net.minecraft.entity.EntityLivingBase;
|
//$$ import net.minecraft.client.gui.GuiButton;
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
//#if FABRIC>=1
|
||||||
|
//#else
|
||||||
|
//$$ import net.minecraft.entity.LivingEntity;
|
||||||
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
||||||
//$$ import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
//$$ import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||||
//$$ import net.minecraftforge.client.event.RenderLivingEvent;
|
//$$ import net.minecraftforge.client.event.RenderLivingEvent;
|
||||||
@@ -80,9 +86,8 @@ import net.minecraft.client.render.chunk.ChunkRenderTask;
|
|||||||
//$$ import static org.lwjgl.opengl.GL11.*;
|
//$$ import static org.lwjgl.opengl.GL11.*;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.minecraft.SharedConstants;
|
|
||||||
//#else
|
//#else
|
||||||
//#if MC>=11300
|
//#if MC>=11300
|
||||||
//$$ import net.minecraftforge.fml.ModList;
|
//$$ import net.minecraftforge.fml.ModList;
|
||||||
@@ -104,7 +109,7 @@ import java.util.function.Consumer;
|
|||||||
public class MCVer {
|
public class MCVer {
|
||||||
private static Logger LOGGER = LogManager.getLogger();
|
private static Logger LOGGER = LogManager.getLogger();
|
||||||
|
|
||||||
//#if MC<11400
|
//#if FABRIC<=0
|
||||||
//$$ public static IEventBus FORGE_BUS = MinecraftForge.EVENT_BUS;
|
//$$ public static IEventBus FORGE_BUS = MinecraftForge.EVENT_BUS;
|
||||||
//#if MC>=10809
|
//#if MC>=10809
|
||||||
//$$ public static IEventBus FML_BUS = FORGE_BUS;
|
//$$ public static IEventBus FML_BUS = FORGE_BUS;
|
||||||
@@ -114,7 +119,7 @@ public class MCVer {
|
|||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
public static boolean isModLoaded(String id) {
|
public static boolean isModLoaded(String id) {
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
return FabricLoader.getInstance().isModLoaded(id.toLowerCase());
|
return FabricLoader.getInstance().isModLoaded(id.toLowerCase());
|
||||||
//#else
|
//#else
|
||||||
//#if MC>=11300
|
//#if MC>=11300
|
||||||
@@ -171,7 +176,24 @@ public class MCVer {
|
|||||||
//$$ }
|
//$$ }
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
//#if MC<11400
|
//#if FABRIC<=0
|
||||||
|
//#if MC>=11400
|
||||||
|
//$$ public static void addButton(GuiScreenEvent.InitGuiEvent event, Widget button) {
|
||||||
|
//$$ event.addWidget(button);
|
||||||
|
//$$ }
|
||||||
|
//$$
|
||||||
|
//$$ public static void removeButton(GuiScreenEvent.InitGuiEvent event, Widget button) {
|
||||||
|
//$$ event.removeWidget(button);
|
||||||
|
//$$ }
|
||||||
|
//$$
|
||||||
|
//$$ public static List<Widget> getButtonList(GuiScreenEvent.InitGuiEvent event) {
|
||||||
|
//$$ return event.getWidgetList();
|
||||||
|
//$$ }
|
||||||
|
//$$
|
||||||
|
//$$ public static Widget getButton(GuiScreenEvent.ActionPerformedEvent event) {
|
||||||
|
//$$ return event.getButton();
|
||||||
|
//$$ }
|
||||||
|
//#else
|
||||||
//$$ public static void addButton(GuiScreenEvent.InitGuiEvent event, GuiButton button) {
|
//$$ public static void addButton(GuiScreenEvent.InitGuiEvent event, GuiButton button) {
|
||||||
//#if MC>=11300
|
//#if MC>=11300
|
||||||
//$$ event.addButton(button);
|
//$$ event.addButton(button);
|
||||||
@@ -204,8 +226,9 @@ public class MCVer {
|
|||||||
//$$ return event.button;
|
//$$ return event.button;
|
||||||
//#endif
|
//#endif
|
||||||
//$$ }
|
//$$ }
|
||||||
|
//#endif
|
||||||
//$$
|
//$$
|
||||||
//$$ public static GuiScreen getGui(GuiScreenEvent event) {
|
//$$ public static Screen getGui(GuiScreenEvent event) {
|
||||||
//#if MC>=10904
|
//#if MC>=10904
|
||||||
//$$ return event.getGui();
|
//$$ return event.getGui();
|
||||||
//#else
|
//#else
|
||||||
@@ -213,7 +236,7 @@ public class MCVer {
|
|||||||
//#endif
|
//#endif
|
||||||
//$$ }
|
//$$ }
|
||||||
//$$
|
//$$
|
||||||
//$$ public static EntityLivingBase getEntity(RenderLivingEvent event) {
|
//$$ public static LivingEntity getEntity(RenderLivingEvent event) {
|
||||||
//#if MC>=10904
|
//#if MC>=10904
|
||||||
//$$ return event.getEntity();
|
//$$ return event.getEntity();
|
||||||
//#else
|
//#else
|
||||||
@@ -234,7 +257,7 @@ public class MCVer {
|
|||||||
//#endif
|
//#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC<11400
|
//#if FABRIC<=0
|
||||||
//$$ public static RenderGameOverlayEvent.ElementType getType(RenderGameOverlayEvent event) {
|
//$$ public static RenderGameOverlayEvent.ElementType getType(RenderGameOverlayEvent event) {
|
||||||
//#if MC>=10904
|
//#if MC>=10904
|
||||||
//$$ return event.getType();
|
//$$ return event.getType();
|
||||||
@@ -475,7 +498,14 @@ public class MCVer {
|
|||||||
return ((MinecraftAccessor) getMinecraft()).getTimer().tickDelta;
|
return ((MinecraftAccessor) getMinecraft()).getTimer().tickDelta;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void addButton(Screen screen, ButtonWidget button) {
|
public static void addButton(
|
||||||
|
Screen screen,
|
||||||
|
//#if MC>=11400
|
||||||
|
ButtonWidget button
|
||||||
|
//#else
|
||||||
|
//$$ GuiButton button
|
||||||
|
//#endif
|
||||||
|
) {
|
||||||
GuiScreenAccessor acc = (GuiScreenAccessor) screen;
|
GuiScreenAccessor acc = (GuiScreenAccessor) screen;
|
||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
if (screen instanceof TitleScreen && isModLoaded("modmenu")) {
|
if (screen instanceof TitleScreen && isModLoaded("modmenu")) {
|
||||||
@@ -635,9 +665,8 @@ public class MCVer {
|
|||||||
//$$ }
|
//$$ }
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
//#if MC>=11300
|
|
||||||
@SuppressWarnings("unused")
|
|
||||||
public static abstract class Keyboard {
|
public static abstract class Keyboard {
|
||||||
|
//#if MC>=11300
|
||||||
public static final int KEY_LCONTROL = GLFW.GLFW_KEY_LEFT_CONTROL;
|
public static final int KEY_LCONTROL = GLFW.GLFW_KEY_LEFT_CONTROL;
|
||||||
public static final int KEY_LSHIFT = GLFW.GLFW_KEY_LEFT_SHIFT;
|
public static final int KEY_LSHIFT = GLFW.GLFW_KEY_LEFT_SHIFT;
|
||||||
public static final int KEY_ESCAPE = GLFW.GLFW_KEY_ESCAPE;
|
public static final int KEY_ESCAPE = GLFW.GLFW_KEY_ESCAPE;
|
||||||
@@ -678,14 +707,69 @@ public class MCVer {
|
|||||||
public static final int KEY_X = GLFW.GLFW_KEY_X;
|
public static final int KEY_X = GLFW.GLFW_KEY_X;
|
||||||
public static final int KEY_Y = GLFW.GLFW_KEY_Y;
|
public static final int KEY_Y = GLFW.GLFW_KEY_Y;
|
||||||
public static final int KEY_Z = GLFW.GLFW_KEY_Z;
|
public static final int KEY_Z = GLFW.GLFW_KEY_Z;
|
||||||
|
//#else
|
||||||
|
//$$ public static final int KEY_LCONTROL = org.lwjgl.input.Keyboard.KEY_LCONTROL;
|
||||||
|
//$$ public static final int KEY_LSHIFT = org.lwjgl.input.Keyboard.KEY_LSHIFT;
|
||||||
|
//$$ public static final int KEY_ESCAPE = org.lwjgl.input.Keyboard.KEY_ESCAPE;
|
||||||
|
//$$ public static final int KEY_HOME = org.lwjgl.input.Keyboard.KEY_HOME;
|
||||||
|
//$$ public static final int KEY_END = org.lwjgl.input.Keyboard.KEY_END;
|
||||||
|
//$$ public static final int KEY_UP = org.lwjgl.input.Keyboard.KEY_UP;
|
||||||
|
//$$ public static final int KEY_DOWN = org.lwjgl.input.Keyboard.KEY_DOWN;
|
||||||
|
//$$ public static final int KEY_LEFT = org.lwjgl.input.Keyboard.KEY_LEFT;
|
||||||
|
//$$ public static final int KEY_RIGHT = org.lwjgl.input.Keyboard.KEY_RIGHT;
|
||||||
|
//$$ public static final int KEY_BACK = org.lwjgl.input.Keyboard.KEY_BACK;
|
||||||
|
//$$ public static final int KEY_DELETE = org.lwjgl.input.Keyboard.KEY_DELETE;
|
||||||
|
//$$ public static final int KEY_RETURN = org.lwjgl.input.Keyboard.KEY_RETURN;
|
||||||
|
//$$ public static final int KEY_TAB = org.lwjgl.input.Keyboard.KEY_TAB;
|
||||||
|
//$$ public static final int KEY_F1 = org.lwjgl.input.Keyboard.KEY_F1;
|
||||||
|
//$$ public static final int KEY_A = org.lwjgl.input.Keyboard.KEY_A;
|
||||||
|
//$$ public static final int KEY_B = org.lwjgl.input.Keyboard.KEY_B;
|
||||||
|
//$$ public static final int KEY_C = org.lwjgl.input.Keyboard.KEY_C;
|
||||||
|
//$$ public static final int KEY_D = org.lwjgl.input.Keyboard.KEY_D;
|
||||||
|
//$$ public static final int KEY_E = org.lwjgl.input.Keyboard.KEY_E;
|
||||||
|
//$$ public static final int KEY_F = org.lwjgl.input.Keyboard.KEY_F;
|
||||||
|
//$$ public static final int KEY_G = org.lwjgl.input.Keyboard.KEY_G;
|
||||||
|
//$$ public static final int KEY_H = org.lwjgl.input.Keyboard.KEY_H;
|
||||||
|
//$$ public static final int KEY_I = org.lwjgl.input.Keyboard.KEY_I;
|
||||||
|
//$$ public static final int KEY_J = org.lwjgl.input.Keyboard.KEY_J;
|
||||||
|
//$$ public static final int KEY_K = org.lwjgl.input.Keyboard.KEY_K;
|
||||||
|
//$$ public static final int KEY_L = org.lwjgl.input.Keyboard.KEY_L;
|
||||||
|
//$$ public static final int KEY_M = org.lwjgl.input.Keyboard.KEY_M;
|
||||||
|
//$$ public static final int KEY_N = org.lwjgl.input.Keyboard.KEY_N;
|
||||||
|
//$$ public static final int KEY_O = org.lwjgl.input.Keyboard.KEY_O;
|
||||||
|
//$$ public static final int KEY_P = org.lwjgl.input.Keyboard.KEY_P;
|
||||||
|
//$$ public static final int KEY_Q = org.lwjgl.input.Keyboard.KEY_Q;
|
||||||
|
//$$ public static final int KEY_R = org.lwjgl.input.Keyboard.KEY_R;
|
||||||
|
//$$ public static final int KEY_S = org.lwjgl.input.Keyboard.KEY_S;
|
||||||
|
//$$ public static final int KEY_T = org.lwjgl.input.Keyboard.KEY_T;
|
||||||
|
//$$ public static final int KEY_U = org.lwjgl.input.Keyboard.KEY_U;
|
||||||
|
//$$ public static final int KEY_V = org.lwjgl.input.Keyboard.KEY_V;
|
||||||
|
//$$ public static final int KEY_W = org.lwjgl.input.Keyboard.KEY_W;
|
||||||
|
//$$ public static final int KEY_X = org.lwjgl.input.Keyboard.KEY_X;
|
||||||
|
//$$ public static final int KEY_Y = org.lwjgl.input.Keyboard.KEY_Y;
|
||||||
|
//$$ public static final int KEY_Z = org.lwjgl.input.Keyboard.KEY_Z;
|
||||||
|
//#endif
|
||||||
|
|
||||||
public static boolean isKeyDown(int keyCode) {
|
public static boolean isKeyDown(int keyCode) {
|
||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
return InputUtil.isKeyPressed(getMinecraft().window.getHandle(), keyCode);
|
return InputUtil.isKeyPressed(getMinecraft().window.getHandle(), keyCode);
|
||||||
//#else
|
//#else
|
||||||
|
//#if MC>=11300
|
||||||
//$$ return InputMappings.isKeyDown(keyCode);
|
//$$ return InputMappings.isKeyDown(keyCode);
|
||||||
|
//#else
|
||||||
|
//$$ return org.lwjgl.input.Keyboard.isKeyDown(keyCode);
|
||||||
|
//#endif
|
||||||
//#endif
|
//#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//#if MC<11300
|
||||||
|
//$$ public static int getEventKey() {
|
||||||
|
//$$ return org.lwjgl.input.Keyboard.getEventKey();
|
||||||
|
//$$ }
|
||||||
|
//$$
|
||||||
|
//$$ public static boolean getEventKeyState() {
|
||||||
|
//$$ return org.lwjgl.input.Keyboard.getEventKeyState();
|
||||||
|
//$$ }
|
||||||
|
//#endif
|
||||||
}
|
}
|
||||||
//#endif
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import de.johni0702.minecraft.gui.container.GuiScreen;
|
|||||||
import de.johni0702.minecraft.gui.element.GuiButton;
|
import de.johni0702.minecraft.gui.element.GuiButton;
|
||||||
import net.minecraft.util.crash.CrashReport;
|
import net.minecraft.util.crash.CrashReport;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.gui.widget.AbstractButtonWidget;
|
import net.minecraft.client.gui.widget.AbstractButtonWidget;
|
||||||
@@ -25,13 +25,13 @@ import java.io.IOException;
|
|||||||
import static com.replaymod.core.versions.MCVer.*;
|
import static com.replaymod.core.versions.MCVer.*;
|
||||||
|
|
||||||
public class GuiHandler extends EventRegistrations {
|
public class GuiHandler extends EventRegistrations {
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(InitScreenCallback.EVENT, this::injectIntoReplayViewer); }
|
{ on(InitScreenCallback.EVENT, this::injectIntoReplayViewer); }
|
||||||
public void injectIntoReplayViewer(Screen vanillaGuiScreen, List<AbstractButtonWidget> buttonList) {
|
public void injectIntoReplayViewer(Screen vanillaGuiScreen, List<AbstractButtonWidget> buttonList) {
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void injectIntoReplayViewer(GuiScreenEvent.InitGuiEvent.Post event) {
|
//$$ public void injectIntoReplayViewer(GuiScreenEvent.InitGuiEvent.Post event) {
|
||||||
//$$ net.minecraft.client.gui.GuiScreen vanillaGuiScreen = getGui(event);
|
//$$ net.minecraft.client.gui.screen.Screen vanillaGuiScreen = getGui(event);
|
||||||
//#endif
|
//#endif
|
||||||
AbstractGuiScreen guiScreen = GuiScreen.from(vanillaGuiScreen);
|
AbstractGuiScreen guiScreen = GuiScreen.from(vanillaGuiScreen);
|
||||||
if (!(guiScreen instanceof GuiReplayViewer)) {
|
if (!(guiScreen instanceof GuiReplayViewer)) {
|
||||||
|
|||||||
@@ -12,12 +12,12 @@ import de.johni0702.minecraft.gui.layout.HorizontalLayout;
|
|||||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import com.replaymod.core.events.PreRenderCallback;
|
import com.replaymod.core.events.PreRenderCallback;
|
||||||
import com.replaymod.core.events.PostRenderCallback;
|
import com.replaymod.core.events.PostRenderCallback;
|
||||||
//#else
|
//#else
|
||||||
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
//$$ import net.minecraftforge.fml.common.gameevent.TickEvent;
|
//$$ import net.minecraftforge.event.TickEvent;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
public class FullBrightness extends EventRegistrations implements Extra {
|
public class FullBrightness extends EventRegistrations implements Extra {
|
||||||
@@ -58,7 +58,7 @@ public class FullBrightness extends EventRegistrations implements Extra {
|
|||||||
register();
|
register();
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PreRenderCallback.EVENT, this::preRender); }
|
{ on(PreRenderCallback.EVENT, this::preRender); }
|
||||||
private void preRender() {
|
private void preRender() {
|
||||||
//#else
|
//#else
|
||||||
@@ -72,7 +72,7 @@ public class FullBrightness extends EventRegistrations implements Extra {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PostRenderCallback.EVENT, this::postRender); }
|
{ on(PostRenderCallback.EVENT, this::postRender); }
|
||||||
private void postRender() {
|
private void postRender() {
|
||||||
//#else
|
//#else
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import de.johni0702.minecraft.gui.container.GuiScreen;
|
|||||||
import de.johni0702.minecraft.gui.element.GuiButton;
|
import de.johni0702.minecraft.gui.element.GuiButton;
|
||||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.OpenGuiScreenCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.OpenGuiScreenCallback;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
//#else
|
//#else
|
||||||
@@ -23,13 +23,13 @@ public class YoutubeUpload extends EventRegistrations implements Extra {
|
|||||||
register();
|
register();
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(OpenGuiScreenCallback.EVENT, this::onGuiOpen); }
|
{ on(OpenGuiScreenCallback.EVENT, this::onGuiOpen); }
|
||||||
private void onGuiOpen(Screen vanillaGui) {
|
private void onGuiOpen(Screen vanillaGui) {
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void onGuiOpen(GuiScreenEvent.InitGuiEvent.Post event) {
|
//$$ public void onGuiOpen(GuiScreenEvent.InitGuiEvent.Post event) {
|
||||||
//$$ net.minecraft.client.gui.GuiScreen vanillaGui = getGui(event);
|
//$$ net.minecraft.client.gui.screen.Screen vanillaGui = getGui(event);
|
||||||
//#endif
|
//#endif
|
||||||
if (GuiScreen.from(vanillaGui) instanceof GuiRenderingDone) {
|
if (GuiScreen.from(vanillaGui) instanceof GuiRenderingDone) {
|
||||||
GuiRenderingDone gui = (GuiRenderingDone) GuiScreen.from(vanillaGui);
|
GuiRenderingDone gui = (GuiRenderingDone) GuiScreen.from(vanillaGui);
|
||||||
|
|||||||
@@ -9,14 +9,13 @@ import com.replaymod.replay.gui.screen.GuiReplayViewer;
|
|||||||
import com.replaymod.replay.handler.GuiHandler.InjectedButton;
|
import com.replaymod.replay.handler.GuiHandler.InjectedButton;
|
||||||
import de.johni0702.minecraft.gui.container.AbstractGuiScreen;
|
import de.johni0702.minecraft.gui.container.AbstractGuiScreen;
|
||||||
import de.johni0702.minecraft.gui.container.GuiScreen;
|
import de.johni0702.minecraft.gui.container.GuiScreen;
|
||||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
|
||||||
import net.minecraft.client.gui.screen.TitleScreen;
|
import net.minecraft.client.gui.screen.TitleScreen;
|
||||||
|
import net.minecraft.client.gui.widget.AbstractButtonWidget;
|
||||||
import net.minecraft.client.resource.language.I18n;
|
import net.minecraft.client.resource.language.I18n;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.gui.widget.AbstractButtonWidget;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
//#else
|
//#else
|
||||||
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
||||||
@@ -36,19 +35,19 @@ public class GuiHandler extends EventRegistrations {
|
|||||||
this.mod = mod;
|
this.mod = mod;
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(InitScreenCallback.EVENT, this::injectIntoMainMenu); }
|
{ on(InitScreenCallback.EVENT, this::injectIntoMainMenu); }
|
||||||
public void injectIntoMainMenu(Screen guiScreen, List<AbstractButtonWidget> buttonList) {
|
public void injectIntoMainMenu(Screen guiScreen, List<AbstractButtonWidget> buttonList) {
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void injectIntoMainMenu(GuiScreenEvent.InitGuiEvent event) {
|
//$$ public void injectIntoMainMenu(GuiScreenEvent.InitGuiEvent event) {
|
||||||
//$$ final net.minecraft.client.gui.GuiScreen guiScreen = getGui(event);
|
//$$ final net.minecraft.client.gui.screen.Screen guiScreen = getGui(event);
|
||||||
//#endif
|
//#endif
|
||||||
if (!(guiScreen instanceof TitleScreen)) {
|
if (!(guiScreen instanceof TitleScreen)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ButtonWidget button = new InjectedButton(
|
InjectedButton button = new InjectedButton(
|
||||||
guiScreen,
|
guiScreen,
|
||||||
BUTTON_REPLAY_CENTER,
|
BUTTON_REPLAY_CENTER,
|
||||||
guiScreen.width / 2 + 2,
|
guiScreen.width / 2 + 2,
|
||||||
@@ -61,13 +60,13 @@ public class GuiHandler extends EventRegistrations {
|
|||||||
addButton(guiScreen, button);
|
addButton(guiScreen, button);
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(InitScreenCallback.EVENT, this::injectIntoReplayViewer); }
|
{ on(InitScreenCallback.EVENT, this::injectIntoReplayViewer); }
|
||||||
public void injectIntoReplayViewer(Screen vanillaGuiScreen, List<AbstractButtonWidget> buttonList) {
|
public void injectIntoReplayViewer(Screen vanillaGuiScreen, List<AbstractButtonWidget> buttonList) {
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void injectIntoReplayViewer(GuiScreenEvent.InitGuiEvent.Post event) {
|
//$$ public void injectIntoReplayViewer(GuiScreenEvent.InitGuiEvent.Post event) {
|
||||||
//$$ net.minecraft.client.gui.GuiScreen vanillaGuiScreen = getGui(event);
|
//$$ net.minecraft.client.gui.screen.Screen vanillaGuiScreen = getGui(event);
|
||||||
//#endif
|
//#endif
|
||||||
AbstractGuiScreen guiScreen = GuiScreen.from(vanillaGuiScreen);
|
AbstractGuiScreen guiScreen = GuiScreen.from(vanillaGuiScreen);
|
||||||
if (!(guiScreen instanceof GuiReplayViewer)) {
|
if (!(guiScreen instanceof GuiReplayViewer)) {
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import net.minecraft.network.ClientConnection;
|
|||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import net.fabricmc.fabric.api.network.ClientSidePacketRegistry;
|
import net.fabricmc.fabric.api.network.ClientSidePacketRegistry;
|
||||||
//#else
|
//#else
|
||||||
//$$ import net.minecraftforge.fml.network.NetworkRegistry;
|
//$$ import net.minecraftforge.fml.network.NetworkRegistry;
|
||||||
@@ -67,7 +67,7 @@ public class ReplayModRecording implements Module {
|
|||||||
|
|
||||||
new GuiHandler(core).register();
|
new GuiHandler(core).register();
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
ClientSidePacketRegistry.INSTANCE.register(Restrictions.PLUGIN_CHANNEL, (packetContext, packetByteBuf) -> {});
|
ClientSidePacketRegistry.INSTANCE.register(Restrictions.PLUGIN_CHANNEL, (packetContext, packetByteBuf) -> {});
|
||||||
//#else
|
//#else
|
||||||
//#if MC>=11300
|
//#if MC>=11300
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import de.johni0702.minecraft.gui.layout.HorizontalLayout;
|
|||||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||||
import net.minecraft.client.gui.screen.GameMenuScreen;
|
import net.minecraft.client.gui.screen.GameMenuScreen;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
||||||
//#else
|
//#else
|
||||||
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
||||||
@@ -70,7 +70,7 @@ public class GuiRecordingControls extends EventRegistrations {
|
|||||||
updateState();
|
updateState();
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(InitScreenCallback.EVENT, (screen, buttons) -> {
|
{ on(InitScreenCallback.EVENT, (screen, buttons) -> {
|
||||||
if (screen instanceof GameMenuScreen) {
|
if (screen instanceof GameMenuScreen) {
|
||||||
show((GameMenuScreen) screen);
|
show((GameMenuScreen) screen);
|
||||||
@@ -79,8 +79,8 @@ public class GuiRecordingControls extends EventRegistrations {
|
|||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void onGuiInit(GuiScreenEvent.InitGuiEvent.Post event) {
|
//$$ public void onGuiInit(GuiScreenEvent.InitGuiEvent.Post event) {
|
||||||
//$$ if (getGui(event) instanceof GuiIngameMenu) {
|
//$$ if (getGui(event) instanceof IngameMenuScreen) {
|
||||||
//$$ show((GuiIngameMenu) getGui(event));
|
//$$ show((IngameMenuScreen) getGui(event));
|
||||||
//$$ }
|
//$$ }
|
||||||
//$$ }
|
//$$ }
|
||||||
//#endif
|
//#endif
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import net.minecraft.client.MinecraftClient;
|
|||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.resource.language.I18n;
|
import net.minecraft.client.resource.language.I18n;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.PostRenderHudCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.PostRenderHudCallback;
|
||||||
//#else
|
//#else
|
||||||
//$$ import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
//$$ import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||||
@@ -40,7 +40,7 @@ public class GuiRecordingOverlay extends EventRegistrations {
|
|||||||
/**
|
/**
|
||||||
* Render the recording icon and text in the top left corner of the screen.
|
* Render the recording icon and text in the top left corner of the screen.
|
||||||
*/
|
*/
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PostRenderHudCallback.EVENT, partialTicks -> renderRecordingIndicator()); }
|
{ on(PostRenderHudCallback.EVENT, partialTicks -> renderRecordingIndicator()); }
|
||||||
private void renderRecordingIndicator() {
|
private void renderRecordingIndicator() {
|
||||||
//#else
|
//#else
|
||||||
|
|||||||
@@ -18,7 +18,11 @@
|
|||||||
//$$ public class FMLHandshakeFilter extends SimpleChannelInboundHandler<FMLHandshakeMessage> {
|
//$$ public class FMLHandshakeFilter extends SimpleChannelInboundHandler<FMLHandshakeMessage> {
|
||||||
//$$ @Override
|
//$$ @Override
|
||||||
//$$ protected void channelRead0(ChannelHandlerContext ctx, FMLHandshakeMessage msg) throws Exception {
|
//$$ protected void channelRead0(ChannelHandlerContext ctx, FMLHandshakeMessage msg) throws Exception {
|
||||||
//$$ if (!(msg instanceof FMLHandshakeMessage.RegistryData)) {
|
//#if MC>=10800
|
||||||
|
//$$ if (!(msg instanceof FMLHandshakeMessage.RegistryData)) {
|
||||||
|
//#else
|
||||||
|
//$$ if (!(msg instanceof FMLHandshakeMessage.ModIdData)) {
|
||||||
|
//#endif
|
||||||
//$$ // Pass on everything but RegistryData messages
|
//$$ // Pass on everything but RegistryData messages
|
||||||
//$$ ctx.fireChannelRead(msg);
|
//$$ ctx.fireChannelRead(msg);
|
||||||
//$$ }
|
//$$ }
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
|||||||
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
|
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
|
||||||
import net.minecraft.client.gui.screen.world.SelectWorldScreen;
|
import net.minecraft.client.gui.screen.world.SelectWorldScreen;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
//#else
|
//#else
|
||||||
@@ -30,13 +30,13 @@ public class GuiHandler extends EventRegistrations {
|
|||||||
this.mod = mod;
|
this.mod = mod;
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(InitScreenCallback.EVENT, (screen, buttons) -> onGuiInit(screen)); }
|
{ on(InitScreenCallback.EVENT, (screen, buttons) -> onGuiInit(screen)); }
|
||||||
private void onGuiInit(Screen gui) {
|
private void onGuiInit(Screen gui) {
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void onGuiInit(GuiScreenEvent.InitGuiEvent.Post event) {
|
//$$ public void onGuiInit(GuiScreenEvent.InitGuiEvent.Post event) {
|
||||||
//$$ net.minecraft.client.gui.GuiScreen gui = getGui(event);
|
//$$ net.minecraft.client.gui.screen.Screen gui = getGui(event);
|
||||||
//#endif
|
//#endif
|
||||||
if (gui instanceof SelectWorldScreen || gui instanceof MultiplayerScreen) {
|
if (gui instanceof SelectWorldScreen || gui instanceof MultiplayerScreen) {
|
||||||
boolean sp = gui instanceof SelectWorldScreen;
|
boolean sp = gui instanceof SelectWorldScreen;
|
||||||
|
|||||||
@@ -5,25 +5,42 @@ import com.replaymod.recording.packet.PacketListener;
|
|||||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.network.ClientPlayerEntity;
|
import net.minecraft.client.network.ClientPlayerEntity;
|
||||||
|
import net.minecraft.client.network.packet.BlockBreakingProgressS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.EntityAnimationS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.EntityAttachS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.EntityEquipmentUpdateS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.EntityPositionS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.EntityS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.EntitySetHeadYawS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.EntityVelocityUpdateS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.PlayerSpawnS2CPacket;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.network.Packet;
|
import net.minecraft.network.Packet;
|
||||||
import net.minecraft.client.network.packet.*;
|
|
||||||
import net.minecraft.server.integrated.IntegratedServer;
|
import net.minecraft.server.integrated.IntegratedServer;
|
||||||
// FIXME not (yet?) 1.13 import net.minecraftforge.event.entity.minecart.MinecartInteractEvent;
|
// FIXME not (yet?) 1.13 import net.minecraftforge.event.entity.minecart.MinecartInteractEvent;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import com.replaymod.core.events.PreRenderCallback;
|
import com.replaymod.core.events.PreRenderCallback;
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.PreTickCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.PreTickCallback;
|
||||||
//#else
|
//#else
|
||||||
|
//$$ import net.minecraft.network.play.server.SCollectItemPacket;
|
||||||
//$$ import net.minecraftforge.event.entity.player.PlayerSleepInBedEvent;
|
//$$ import net.minecraftforge.event.entity.player.PlayerSleepInBedEvent;
|
||||||
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
//$$ import net.minecraftforge.fml.common.gameevent.PlayerEvent.ItemPickupEvent;
|
//$$ import net.minecraftforge.event.entity.player.PlayerEvent.ItemPickupEvent;
|
||||||
//$$ import net.minecraftforge.fml.common.gameevent.TickEvent;
|
//$$ import net.minecraftforge.event.TickEvent;
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
//#if MC>=11400
|
||||||
|
//#else
|
||||||
|
//$$ import net.minecraft.network.play.server.SPacketUseBed;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
//#if MC>=10904
|
//#if MC>=10904
|
||||||
import com.replaymod.recording.mixin.EntityLivingBaseAccessor;
|
import com.replaymod.recording.mixin.EntityLivingBaseAccessor;
|
||||||
|
import net.minecraft.client.network.packet.EntityTrackerUpdateS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.PlaySoundS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.WorldEventS2CPacket;
|
||||||
import net.minecraft.entity.EquipmentSlot;
|
import net.minecraft.entity.EquipmentSlot;
|
||||||
import net.minecraft.entity.data.DataTracker;
|
import net.minecraft.entity.data.DataTracker;
|
||||||
import net.minecraft.util.Hand;
|
import net.minecraft.util.Hand;
|
||||||
@@ -120,7 +137,7 @@ public class RecordingEventHandler extends EventRegistrations {
|
|||||||
}
|
}
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PreTickCallback.EVENT, this::onPlayerTick); }
|
{ on(PreTickCallback.EVENT, this::onPlayerTick); }
|
||||||
private void onPlayerTick() {
|
private void onPlayerTick() {
|
||||||
if (mc.player == null) return;
|
if (mc.player == null) return;
|
||||||
@@ -178,7 +195,11 @@ public class RecordingEventHandler extends EventRegistrations {
|
|||||||
byte newYaw = (byte) ((int) (player.yaw * 256.0F / 360.0F));
|
byte newYaw = (byte) ((int) (player.yaw * 256.0F / 360.0F));
|
||||||
byte newPitch = (byte) ((int) (player.pitch * 256.0F / 360.0F));
|
byte newPitch = (byte) ((int) (player.pitch * 256.0F / 360.0F));
|
||||||
|
|
||||||
|
//#if MC>=11400
|
||||||
packet = new EntityS2CPacket.RotateAndMoveRelative(
|
packet = new EntityS2CPacket.RotateAndMoveRelative(
|
||||||
|
//#else
|
||||||
|
//$$ packet = new SPacketEntity.S17PacketEntityLookMove(
|
||||||
|
//#endif
|
||||||
player.getEntityId(),
|
player.getEntityId(),
|
||||||
//#if MC>=10904
|
//#if MC>=10904
|
||||||
(short) Math.round(dx * 4096), (short) Math.round(dy * 4096), (short) Math.round(dz * 4096),
|
(short) Math.round(dx * 4096), (short) Math.round(dy * 4096), (short) Math.round(dz * 4096),
|
||||||
@@ -346,7 +367,7 @@ public class RecordingEventHandler extends EventRegistrations {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
// FIXME fabric
|
// FIXME fabric
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
@@ -356,7 +377,7 @@ public class RecordingEventHandler extends EventRegistrations {
|
|||||||
//#if MC>=11200
|
//#if MC>=11200
|
||||||
//#if MC>=11300
|
//#if MC>=11300
|
||||||
//$$ ItemStack stack = event.getStack();
|
//$$ ItemStack stack = event.getStack();
|
||||||
//$$ packetListener.save(new SPacketCollectItem(
|
//$$ packetListener.save(new SCollectItemPacket(
|
||||||
//$$ event.getOriginalEntity().getEntityId(),
|
//$$ event.getOriginalEntity().getEntityId(),
|
||||||
//$$ event.getPlayer().getEntityId(),
|
//$$ event.getPlayer().getEntityId(),
|
||||||
//$$ event.getStack().getCount()
|
//$$ event.getStack().getCount()
|
||||||
@@ -456,7 +477,7 @@ public class RecordingEventHandler extends EventRegistrations {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PreRenderCallback.EVENT, this::checkForGamePaused); }
|
{ on(PreRenderCallback.EVENT, this::checkForGamePaused); }
|
||||||
private void checkForGamePaused() {
|
private void checkForGamePaused() {
|
||||||
//#else
|
//#else
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import com.replaymod.core.versions.MCVer;
|
|||||||
import com.replaymod.recording.handler.RecordingEventHandler;
|
import com.replaymod.recording.handler.RecordingEventHandler;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.network.ClientPlayNetworkHandler;
|
import net.minecraft.client.network.ClientPlayNetworkHandler;
|
||||||
import net.minecraft.client.network.packet.*;
|
import net.minecraft.client.network.packet.PlayerRespawnS2CPacket;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
@@ -24,6 +24,8 @@ import java.io.IOException;
|
|||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
//#else
|
||||||
|
//$$ import net.minecraft.network.play.server.S01PacketJoinGame;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
@Mixin(ClientPlayNetworkHandler.class)
|
@Mixin(ClientPlayNetworkHandler.class)
|
||||||
@@ -49,7 +51,11 @@ public abstract class MixinNetHandlerPlayClient {
|
|||||||
* @param ci Callback info
|
* @param ci Callback info
|
||||||
*/
|
*/
|
||||||
//#if MC>=10800
|
//#if MC>=10800
|
||||||
|
//#if FABRIC>=1
|
||||||
@Inject(method = "onPlayerList", at=@At("HEAD"))
|
@Inject(method = "onPlayerList", at=@At("HEAD"))
|
||||||
|
//#else
|
||||||
|
//$$ @Inject(method = "handlePlayerListItem", at=@At("HEAD"))
|
||||||
|
//#endif
|
||||||
public void recordOwnJoin(PlayerListS2CPacket packet, CallbackInfo ci) {
|
public void recordOwnJoin(PlayerListS2CPacket packet, CallbackInfo ci) {
|
||||||
if (mcStatic.player == null) return;
|
if (mcStatic.player == null) return;
|
||||||
|
|
||||||
@@ -101,7 +107,11 @@ public abstract class MixinNetHandlerPlayClient {
|
|||||||
* @param packet The packet
|
* @param packet The packet
|
||||||
* @param ci Callback info
|
* @param ci Callback info
|
||||||
*/
|
*/
|
||||||
|
//#if FABRIC>=1
|
||||||
@Inject(method = "onPlayerRespawn", at=@At("RETURN"))
|
@Inject(method = "onPlayerRespawn", at=@At("RETURN"))
|
||||||
|
//#else
|
||||||
|
//$$ @Inject(method = "handleRespawn", at=@At("RETURN"))
|
||||||
|
//#endif
|
||||||
public void recordOwnRespawn(PlayerRespawnS2CPacket packet, CallbackInfo ci) {
|
public void recordOwnRespawn(PlayerRespawnS2CPacket packet, CallbackInfo ci) {
|
||||||
RecordingEventHandler handler = getRecordingEventHandler();
|
RecordingEventHandler handler = getRecordingEventHandler();
|
||||||
if (handler != null) {
|
if (handler != null) {
|
||||||
|
|||||||
@@ -71,9 +71,14 @@ public abstract class MixinWorldClient extends World implements RecordingEventHa
|
|||||||
// other clients so we have to record them manually.
|
// other clients so we have to record them manually.
|
||||||
// E.g. Block place sounds
|
// E.g. Block place sounds
|
||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
|
//#if FABRIC>=1
|
||||||
@Inject(method = "playSound(Lnet/minecraft/entity/player/PlayerEntity;DDDLnet/minecraft/sound/SoundEvent;Lnet/minecraft/sound/SoundCategory;FF)V",
|
@Inject(method = "playSound(Lnet/minecraft/entity/player/PlayerEntity;DDDLnet/minecraft/sound/SoundEvent;Lnet/minecraft/sound/SoundCategory;FF)V",
|
||||||
at = @At("HEAD"))
|
at = @At("HEAD"))
|
||||||
//#else
|
//#else
|
||||||
|
//$$ @Inject(method = "playSound(Lnet/minecraft/entity/player/PlayerEntity;DDDLnet/minecraft/util/SoundEvent;Lnet/minecraft/util/SoundCategory;FF)V",
|
||||||
|
//$$ at = @At("HEAD"))
|
||||||
|
//#endif
|
||||||
|
//#else
|
||||||
//$$ @Inject(method = "playSound(Lnet/minecraft/entity/player/EntityPlayer;DDDLnet/minecraft/util/SoundEvent;Lnet/minecraft/util/SoundCategory;FF)V",
|
//$$ @Inject(method = "playSound(Lnet/minecraft/entity/player/EntityPlayer;DDDLnet/minecraft/util/SoundEvent;Lnet/minecraft/util/SoundCategory;FF)V",
|
||||||
//$$ at = @At("HEAD"))
|
//$$ at = @At("HEAD"))
|
||||||
//#endif
|
//#endif
|
||||||
|
|||||||
@@ -23,12 +23,16 @@ import io.netty.buffer.Unpooled;
|
|||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelInboundHandlerAdapter;
|
import io.netty.channel.ChannelInboundHandlerAdapter;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.client.network.packet.CustomPayloadS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.DisconnectS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.ItemPickupAnimationS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.MobSpawnS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.PlayerSpawnS2CPacket;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.data.DataTracker;
|
import net.minecraft.entity.data.DataTracker;
|
||||||
import net.minecraft.network.NetworkState;
|
import net.minecraft.network.NetworkState;
|
||||||
import net.minecraft.network.Packet;
|
import net.minecraft.network.Packet;
|
||||||
import net.minecraft.util.PacketByteBuf;
|
import net.minecraft.util.PacketByteBuf;
|
||||||
import net.minecraft.client.network.packet.*;
|
|
||||||
import net.minecraft.text.LiteralText;
|
import net.minecraft.text.LiteralText;
|
||||||
import net.minecraft.util.crash.CrashReport;
|
import net.minecraft.util.crash.CrashReport;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
@@ -46,7 +50,11 @@ import net.minecraft.client.network.packet.LoginSuccessS2CPacket;
|
|||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
//#if MC>=10800
|
//#if MC>=10800
|
||||||
|
//#if MC<10904
|
||||||
|
//$$ import net.minecraft.network.play.server.S46PacketSetCompressionLevel;
|
||||||
|
//#endif
|
||||||
import net.minecraft.client.network.packet.LoginCompressionS2CPacket;
|
import net.minecraft.client.network.packet.LoginCompressionS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.ResourcePackSendS2CPacket;
|
||||||
import net.minecraft.network.NetworkSide;
|
import net.minecraft.network.NetworkSide;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ public class ResourcePackRecorder {
|
|||||||
//$$ //noinspection Convert2Lambda
|
//$$ //noinspection Convert2Lambda
|
||||||
//$$ mc.addScheduledTask(() -> mc.displayGuiScreen(new GuiYesNo(new GuiYesNoCallback() {
|
//$$ mc.addScheduledTask(() -> mc.displayGuiScreen(new GuiYesNo(new GuiYesNoCallback() {
|
||||||
//$$ @Override
|
//$$ @Override
|
||||||
//$$ public void confirmResult(boolean result, int id) {
|
//$$ public void confirmClicked(boolean result, int id) {
|
||||||
//#endif
|
//#endif
|
||||||
if (serverData != null) {
|
if (serverData != null) {
|
||||||
serverData.setResourcePackState(result ? ServerEntry.ResourcePackState.ENABLED : ServerEntry.ResourcePackState.DISABLED);
|
serverData.setResourcePackState(result ? ServerEntry.ResourcePackState.ENABLED : ServerEntry.ResourcePackState.DISABLED);
|
||||||
|
|||||||
@@ -166,20 +166,32 @@ public class BlendMeshBuilder
|
|||||||
//#endif
|
//#endif
|
||||||
switch (element.getType()) {
|
switch (element.getType()) {
|
||||||
case POSITION:
|
case POSITION:
|
||||||
|
//#if MC>=11400
|
||||||
if (element.getFormat() != VertexFormatElement.Format.FLOAT) {
|
if (element.getFormat() != VertexFormatElement.Format.FLOAT) {
|
||||||
|
//#else
|
||||||
|
//$$ if (element.getType() != VertexFormatElement.EnumType.FLOAT) {
|
||||||
|
//#endif
|
||||||
throw new UnsupportedOperationException("Only float is supported for position elements!");
|
throw new UnsupportedOperationException("Only float is supported for position elements!");
|
||||||
}
|
}
|
||||||
posOffset = offset;
|
posOffset = offset;
|
||||||
break;
|
break;
|
||||||
case COLOR:
|
case COLOR:
|
||||||
|
//#if MC>=11400
|
||||||
if (element.getFormat() != VertexFormatElement.Format.UBYTE) {
|
if (element.getFormat() != VertexFormatElement.Format.UBYTE) {
|
||||||
|
//#else
|
||||||
|
//$$ if (element.getType() != VertexFormatElement.EnumType.UBYTE) {
|
||||||
|
//#endif
|
||||||
throw new UnsupportedOperationException("Only unsigned byte is supported for color elements!");
|
throw new UnsupportedOperationException("Only unsigned byte is supported for color elements!");
|
||||||
}
|
}
|
||||||
colorOffset = offset;
|
colorOffset = offset;
|
||||||
break;
|
break;
|
||||||
case UV:
|
case UV:
|
||||||
if (element.getIndex() != 0) break;
|
if (element.getIndex() != 0) break;
|
||||||
|
//#if MC>=11400
|
||||||
if (element.getFormat() != VertexFormatElement.Format.FLOAT) {
|
if (element.getFormat() != VertexFormatElement.Format.FLOAT) {
|
||||||
|
//#else
|
||||||
|
//$$ if (element.getType() != VertexFormatElement.EnumType.UBYTE) {
|
||||||
|
//#endif
|
||||||
throw new UnsupportedOperationException("Only float is supported for UV elements!");
|
throw new UnsupportedOperationException("Only float is supported for UV elements!");
|
||||||
}
|
}
|
||||||
uvOffset = offset;
|
uvOffset = offset;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import org.spongepowered.asm.mixin.Mixin;
|
|||||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
@Mixin(targets = "net/minecraft/client/render/WorldRenderer/ChunkInfo")
|
@Mixin(targets = "net.minecraft.client.render.WorldRenderer$ChunkInfo")
|
||||||
//#else
|
//#else
|
||||||
//#if MC>=11300
|
//#if MC>=11300
|
||||||
//$$ @Mixin(targets = "net/minecraft/client/renderer/WorldRenderer$ContainerLocalRenderInformation")
|
//$$ @Mixin(targets = "net/minecraft/client/renderer/WorldRenderer$ContainerLocalRenderInformation")
|
||||||
|
|||||||
@@ -21,7 +21,11 @@ import net.minecraft.client.render.entity.LivingEntityRenderer;
|
|||||||
//$$ @Mixin(RendererLivingEntity.class)
|
//$$ @Mixin(RendererLivingEntity.class)
|
||||||
//#endif
|
//#endif
|
||||||
public abstract class MixinRenderLivingBase {
|
public abstract class MixinRenderLivingBase {
|
||||||
|
//#if FABRIC>=1
|
||||||
@Inject(method = "method_4054", at = @At(
|
@Inject(method = "method_4054", at = @At(
|
||||||
|
//#else
|
||||||
|
//$$ @Inject(method = "doRender(Lnet/minecraft/entity/LivingEntity;DDDFF)V", at = @At(
|
||||||
|
//#endif
|
||||||
value = "INVOKE",
|
value = "INVOKE",
|
||||||
//#if MC>=10904
|
//#if MC>=10904
|
||||||
target = "Lnet/minecraft/client/render/entity/LivingEntityRenderer;scaleAndTranslate(Lnet/minecraft/entity/LivingEntity;F)F",
|
target = "Lnet/minecraft/client/render/entity/LivingEntityRenderer;scaleAndTranslate(Lnet/minecraft/entity/LivingEntity;F)F",
|
||||||
|
|||||||
@@ -18,13 +18,13 @@ import static com.replaymod.core.versions.MCVer.*;
|
|||||||
import net.minecraft.client.render.Camera;
|
import net.minecraft.client.render.Camera;
|
||||||
import net.minecraft.world.BlockView;
|
import net.minecraft.world.BlockView;
|
||||||
//#else
|
//#else
|
||||||
//$$ import net.minecraft.client.renderer.GameRenderer;
|
//$$ import net.minecraft.client.renderer.EntityRenderer;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
@Mixin(value = Camera.class)
|
@Mixin(value = Camera.class)
|
||||||
//#else
|
//#else
|
||||||
//$$ @Mixin(value = GameRenderer.class)
|
//$$ @Mixin(value = EntityRenderer.class)
|
||||||
//#endif
|
//#endif
|
||||||
public abstract class MixinCamera {
|
public abstract class MixinCamera {
|
||||||
private EntityRendererHandler getHandler() {
|
private EntityRendererHandler getHandler() {
|
||||||
|
|||||||
@@ -29,17 +29,48 @@ import net.minecraft.network.NetworkState;
|
|||||||
import net.minecraft.network.ClientConnection;
|
import net.minecraft.network.ClientConnection;
|
||||||
import net.minecraft.network.Packet;
|
import net.minecraft.network.Packet;
|
||||||
import net.minecraft.util.PacketByteBuf;
|
import net.minecraft.util.PacketByteBuf;
|
||||||
|
import net.minecraft.client.network.packet.ChatMessageS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.CustomPayloadS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.DisconnectS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.EntitiesDestroyS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.EntitySpawnGlobalS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.EntitySpawnS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.ExperienceBarUpdateS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.ExperienceOrbSpawnS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.GameJoinS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.GameStateChangeS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.GuiCloseS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.GuiOpenS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.GuiSlotUpdateS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.GuiUpdateS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.HealthUpdateS2CPacket;
|
||||||
import net.minecraft.client.network.packet.LoginSuccessS2CPacket;
|
import net.minecraft.client.network.packet.LoginSuccessS2CPacket;
|
||||||
import net.minecraft.client.network.packet.*;
|
import net.minecraft.client.network.packet.MobSpawnS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.PaintingSpawnS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.ParticleS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.PlayerAbilitiesS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.PlayerPositionLookS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.PlayerRespawnS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.PlayerSpawnS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.SignEditorOpenS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.StatisticsS2CPacket;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.chunk.ChunkProvider;
|
import net.minecraft.world.chunk.ChunkProvider;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.PreTickCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.PreTickCallback;
|
||||||
|
//#else
|
||||||
|
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
//$$ import net.minecraftforge.event.TickEvent;
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
//#if MC>=11400
|
||||||
import net.minecraft.class_4463;
|
import net.minecraft.class_4463;
|
||||||
|
import net.minecraft.client.network.packet.OpenContainerPacket;
|
||||||
|
import net.minecraft.client.network.packet.OpenWrittenBookS2CPacket;
|
||||||
import net.minecraft.entity.EntityType;
|
import net.minecraft.entity.EntityType;
|
||||||
import net.minecraft.text.TranslatableText;
|
import net.minecraft.text.TranslatableText;
|
||||||
//#else
|
//#else
|
||||||
@@ -49,8 +80,6 @@ import net.minecraft.text.TranslatableText;
|
|||||||
//$$ import net.minecraft.world.EnumDifficulty;
|
//$$ import net.minecraft.world.EnumDifficulty;
|
||||||
//$$ import net.minecraft.world.WorldType;
|
//$$ import net.minecraft.world.WorldType;
|
||||||
//$$ import net.minecraft.world.chunk.Chunk;
|
//$$ import net.minecraft.world.chunk.Chunk;
|
||||||
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
|
||||||
//$$ import net.minecraftforge.fml.common.gameevent.TickEvent;
|
|
||||||
//$$ import java.util.ArrayList;
|
//$$ import java.util.ArrayList;
|
||||||
//$$ import java.util.Collection;
|
//$$ import java.util.Collection;
|
||||||
//$$ import java.util.Iterator;
|
//$$ import java.util.Iterator;
|
||||||
@@ -65,6 +94,9 @@ import net.minecraft.util.Identifier;
|
|||||||
|
|
||||||
//#if MC>=11200
|
//#if MC>=11200
|
||||||
import com.replaymod.core.utils.WrappedTimer;
|
import com.replaymod.core.utils.WrappedTimer;
|
||||||
|
import net.minecraft.client.network.packet.AdvancementUpdateS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.SelectAdvancementTabS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.SynchronizeRecipesS2CPacket;
|
||||||
//#endif
|
//#endif
|
||||||
//#if MC>=11002
|
//#if MC>=11002
|
||||||
import net.minecraft.world.GameMode;
|
import net.minecraft.world.GameMode;
|
||||||
@@ -72,7 +104,16 @@ import net.minecraft.world.GameMode;
|
|||||||
//$$ import net.minecraft.world.WorldSettings.GameType;
|
//$$ import net.minecraft.world.WorldSettings.GameType;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
|
//#if MC>=10904
|
||||||
|
import net.minecraft.client.network.packet.UnloadChunkS2CPacket;
|
||||||
|
//#else
|
||||||
|
//$$ import net.minecraft.network.play.server.S21PacketChunkData;
|
||||||
|
//#endif
|
||||||
|
|
||||||
//#if MC>=10800
|
//#if MC>=10800
|
||||||
|
import net.minecraft.client.network.packet.ResourcePackSendS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.SetCameraEntityS2CPacket;
|
||||||
|
import net.minecraft.client.network.packet.TitleS2CPacket;
|
||||||
import net.minecraft.network.NetworkSide;
|
import net.minecraft.network.NetworkSide;
|
||||||
//#else
|
//#else
|
||||||
//$$ import org.apache.commons.io.Charsets;
|
//$$ import org.apache.commons.io.Charsets;
|
||||||
@@ -320,7 +361,7 @@ public class FullReplaySender extends ChannelDuplexHandler implements ReplaySend
|
|||||||
//$$ public // All event handlers need to be public in 1.7.10
|
//$$ public // All event handlers need to be public in 1.7.10
|
||||||
//#endif
|
//#endif
|
||||||
class EventHandler extends EventRegistrations {
|
class EventHandler extends EventRegistrations {
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PreTickCallback.EVENT, this::onWorldTick); }
|
{ on(PreTickCallback.EVENT, this::onWorldTick); }
|
||||||
private void onWorldTick() {
|
private void onWorldTick() {
|
||||||
//#else
|
//#else
|
||||||
@@ -387,7 +428,7 @@ public class FullReplaySender extends ChannelDuplexHandler implements ReplaySend
|
|||||||
//$$ Iterator<Entity> iter = loadedEntityList(world).iterator();
|
//$$ Iterator<Entity> iter = loadedEntityList(world).iterator();
|
||||||
//$$ while (iter.hasNext()) {
|
//$$ while (iter.hasNext()) {
|
||||||
//$$ Entity entity = iter.next();
|
//$$ Entity entity = iter.next();
|
||||||
//$$ if (entity.removed) {
|
//$$ if (entity.isDead) {
|
||||||
//$$ int chunkX = entity.chunkCoordX;
|
//$$ int chunkX = entity.chunkCoordX;
|
||||||
//$$ int chunkY = entity.chunkCoordZ;
|
//$$ int chunkY = entity.chunkCoordZ;
|
||||||
//$$
|
//$$
|
||||||
@@ -400,7 +441,7 @@ public class FullReplaySender extends ChannelDuplexHandler implements ReplaySend
|
|||||||
//$$ if (entity.addedToChunk && world.getChunkProvider().chunkExists(chunkX, chunkY)) {
|
//$$ if (entity.addedToChunk && world.getChunkProvider().chunkExists(chunkX, chunkY)) {
|
||||||
//#endif
|
//#endif
|
||||||
//#endif
|
//#endif
|
||||||
//$$ world.getChunk(chunkX, chunkY).removeEntity(entity);
|
//$$ world.getChunkFromChunkCoords(chunkX, chunkY).removeEntity(entity);
|
||||||
//$$ }
|
//$$ }
|
||||||
//$$
|
//$$
|
||||||
//$$ iter.remove();
|
//$$ iter.remove();
|
||||||
@@ -592,7 +633,7 @@ public class FullReplaySender extends ChannelDuplexHandler implements ReplaySend
|
|||||||
p = new PlayerRespawnS2CPacket(respawn.getDimension(), respawn.getGeneratorType(), GameMode.SPECTATOR);
|
p = new PlayerRespawnS2CPacket(respawn.getDimension(), respawn.getGeneratorType(), GameMode.SPECTATOR);
|
||||||
//#else
|
//#else
|
||||||
//#if MC>=10809
|
//#if MC>=10809
|
||||||
//$$ p = new SPacketRespawn(respawn.func_212643_b(),
|
//$$ p = new SPacketRespawn(respawn.getDimensionID(),
|
||||||
//$$ respawn.getDifficulty(), respawn.getWorldType(), GameType.SPECTATOR);
|
//$$ respawn.getDifficulty(), respawn.getWorldType(), GameType.SPECTATOR);
|
||||||
//#else
|
//#else
|
||||||
//$$ p = new S07PacketRespawn(respawn.func_149082_c(),
|
//$$ p = new S07PacketRespawn(respawn.func_149082_c(),
|
||||||
@@ -622,14 +663,21 @@ public class FullReplaySender extends ChannelDuplexHandler implements ReplaySend
|
|||||||
CameraEntity cent = replayHandler.getCameraEntity();
|
CameraEntity cent = replayHandler.getCameraEntity();
|
||||||
|
|
||||||
//#if MC>=10800
|
//#if MC>=10800
|
||||||
//#if MC>=10904
|
//#if MC>=11400
|
||||||
for (PlayerPositionLookS2CPacket.Flag relative : ppl.getFlags()) {
|
for (PlayerPositionLookS2CPacket.Flag relative : ppl.getFlags()) {
|
||||||
//#else
|
|
||||||
//$$ for (Object relative : ppl.func_179834_f()) {
|
|
||||||
//#endif
|
|
||||||
if (relative == PlayerPositionLookS2CPacket.Flag.X
|
if (relative == PlayerPositionLookS2CPacket.Flag.X
|
||||||
|| relative == PlayerPositionLookS2CPacket.Flag.Y
|
|| relative == PlayerPositionLookS2CPacket.Flag.Y
|
||||||
|| relative == PlayerPositionLookS2CPacket.Flag.Z) {
|
|| relative == PlayerPositionLookS2CPacket.Flag.Z) {
|
||||||
|
//#else
|
||||||
|
//#if MC>=10904
|
||||||
|
//$$ for (SPacketPlayerPosLook.EnumFlags relative : ppl.getFlags()) {
|
||||||
|
//#else
|
||||||
|
//$$ for (Object relative : ppl.func_179834_f()) {
|
||||||
|
//#endif
|
||||||
|
//$$ if (relative == SPacketPlayerPosLook.EnumFlags.X
|
||||||
|
//$$ || relative == SPacketPlayerPosLook.EnumFlags.Y
|
||||||
|
//$$ || relative == SPacketPlayerPosLook.EnumFlags.Z) {
|
||||||
|
//#endif
|
||||||
return null; // At least one of the coordinates is relative, so we don't care
|
return null; // At least one of the coordinates is relative, so we don't care
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,16 +64,20 @@ import net.minecraft.network.NetworkSide;
|
|||||||
import net.minecraft.network.Packet;
|
import net.minecraft.network.Packet;
|
||||||
import net.minecraft.util.PacketByteBuf;
|
import net.minecraft.util.PacketByteBuf;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.PreTickCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.PreTickCallback;
|
||||||
//#else
|
//#else
|
||||||
//$$ import com.github.steveice10.mc.protocol.data.game.setting.Difficulty;
|
|
||||||
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
//$$ import net.minecraftforge.fml.common.gameevent.TickEvent;
|
//$$ import net.minecraftforge.event.TickEvent;
|
||||||
//$$
|
//$$
|
||||||
//$$ import static com.replaymod.core.versions.MCVer.FML_BUS;
|
//$$ import static com.replaymod.core.versions.MCVer.FML_BUS;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
|
//#if FABRIC>=1
|
||||||
|
//#else
|
||||||
|
//$$ import com.github.steveice10.mc.protocol.data.game.setting.Difficulty;
|
||||||
|
//#endif
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.io.EOFException;
|
import java.io.EOFException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -279,7 +283,7 @@ public class QuickReplaySender extends ChannelHandlerAdapter implements ReplaySe
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class EventHandler extends EventRegistrations {
|
private class EventHandler extends EventRegistrations {
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PreTickCallback.EVENT, this::onTick); }
|
{ on(PreTickCallback.EVENT, this::onTick); }
|
||||||
private void onTick() {
|
private void onTick() {
|
||||||
//#else
|
//#else
|
||||||
|
|||||||
@@ -25,30 +25,34 @@ import net.minecraft.stat.StatHandler;
|
|||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.math.Box;
|
import net.minecraft.util.math.Box;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import com.replaymod.core.events.KeyBindingEventCallback;
|
import com.replaymod.core.events.KeyBindingEventCallback;
|
||||||
import com.replaymod.core.events.PreRenderCallback;
|
import com.replaymod.core.events.PreRenderCallback;
|
||||||
import com.replaymod.core.events.PreRenderHandCallback;
|
import com.replaymod.core.events.PreRenderHandCallback;
|
||||||
import com.replaymod.replay.events.RenderSpectatorCrosshairCallback;
|
import com.replaymod.replay.events.RenderSpectatorCrosshairCallback;
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.PreTickCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.PreTickCallback;
|
||||||
import net.minecraft.client.world.ClientWorld;
|
|
||||||
import net.minecraft.fluid.Fluid;
|
|
||||||
import net.minecraft.tag.Tag;
|
|
||||||
import net.minecraft.util.hit.BlockHitResult;
|
|
||||||
import net.minecraft.util.hit.HitResult;
|
|
||||||
//#else
|
//#else
|
||||||
//$$ import com.replaymod.core.versions.MCVer;
|
//$$ import com.replaymod.core.versions.MCVer;
|
||||||
//$$ import com.replaymod.replay.events.ReplayChatMessageEvent;
|
|
||||||
//$$ import net.minecraft.util.math.RayTraceResult;
|
|
||||||
//$$ import net.minecraft.util.text.ITextComponent;
|
|
||||||
//$$ import net.minecraft.world.World;
|
|
||||||
//$$ import net.minecraftforge.client.event.EntityViewRenderEvent;
|
//$$ import net.minecraftforge.client.event.EntityViewRenderEvent;
|
||||||
//$$ import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
//$$ import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||||
//$$ import net.minecraftforge.client.event.RenderHandEvent;
|
//$$ import net.minecraftforge.client.event.RenderHandEvent;
|
||||||
//$$ import net.minecraftforge.common.MinecraftForge;
|
//$$ import net.minecraftforge.common.MinecraftForge;
|
||||||
//$$ import net.minecraftforge.eventbus.api.EventPriority;
|
//$$ import net.minecraftforge.eventbus.api.EventPriority;
|
||||||
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
//$$ import net.minecraftforge.fml.common.gameevent.TickEvent;
|
//$$ import net.minecraftforge.event.TickEvent;
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
//#if MC>=11400
|
||||||
|
import net.minecraft.client.world.ClientWorld;
|
||||||
|
import net.minecraft.fluid.Fluid;
|
||||||
|
import net.minecraft.tag.Tag;
|
||||||
|
import net.minecraft.util.hit.BlockHitResult;
|
||||||
|
import net.minecraft.util.hit.HitResult;
|
||||||
|
//#else
|
||||||
|
//$$ import com.replaymod.replay.events.ReplayChatMessageEvent;
|
||||||
|
//$$ import net.minecraft.util.math.RayTraceResult;
|
||||||
|
//$$ import net.minecraft.util.text.ITextComponent;
|
||||||
|
//$$ import net.minecraft.world.World;
|
||||||
//$$
|
//$$
|
||||||
//#if MC>=11300
|
//#if MC>=11300
|
||||||
//$$ import net.minecraft.util.math.RayTraceFluidMode;
|
//$$ import net.minecraft.util.math.RayTraceFluidMode;
|
||||||
@@ -622,7 +626,7 @@ public class CameraEntity
|
|||||||
|
|
||||||
private EventHandler() {}
|
private EventHandler() {}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PreTickCallback.EVENT, this::onPreClientTick); }
|
{ on(PreTickCallback.EVENT, this::onPreClientTick); }
|
||||||
private void onPreClientTick() {
|
private void onPreClientTick() {
|
||||||
//#else
|
//#else
|
||||||
@@ -633,7 +637,7 @@ public class CameraEntity
|
|||||||
updateArmYawAndPitch();
|
updateArmYawAndPitch();
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PreRenderCallback.EVENT, this::onRenderUpdate); }
|
{ on(PreRenderCallback.EVENT, this::onRenderUpdate); }
|
||||||
private void onRenderUpdate() {
|
private void onRenderUpdate() {
|
||||||
//#else
|
//#else
|
||||||
@@ -644,11 +648,11 @@ public class CameraEntity
|
|||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(KeyBindingEventCallback.EVENT, CameraEntity.this::handleInputEvents); }
|
{ on(KeyBindingEventCallback.EVENT, CameraEntity.this::handleInputEvents); }
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(RenderSpectatorCrosshairCallback.EVENT, this::shouldRenderSpectatorCrosshair); }
|
{ on(RenderSpectatorCrosshairCallback.EVENT, this::shouldRenderSpectatorCrosshair); }
|
||||||
private Boolean shouldRenderSpectatorCrosshair() {
|
private Boolean shouldRenderSpectatorCrosshair() {
|
||||||
return canSpectate(mc.targetedEntity);
|
return canSpectate(mc.targetedEntity);
|
||||||
@@ -678,7 +682,7 @@ public class CameraEntity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PreRenderHandCallback.EVENT, this::onRenderHand); }
|
{ on(PreRenderHandCallback.EVENT, this::onRenderHand); }
|
||||||
private boolean onRenderHand() {
|
private boolean onRenderHand() {
|
||||||
// Unless we are spectating another player, don't render our hand
|
// Unless we are spectating another player, don't render our hand
|
||||||
@@ -693,13 +697,13 @@ public class CameraEntity
|
|||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void onRenderHand(RenderHandEvent event) {
|
//$$ public void onRenderHand(RenderHandEvent event) {
|
||||||
//$$ // Unless we are spectating another player, don't render our hand
|
//$$ // Unless we are spectating another player, don't render our hand
|
||||||
//$$ if (getRenderViewEntity(mc) == CameraEntity.this || !(getRenderViewEntity(mc) instanceof EntityPlayer)) {
|
//$$ if (getRenderViewEntity(mc) == CameraEntity.this || !(getRenderViewEntity(mc) instanceof PlayerEntity)) {
|
||||||
//$$ event.setCanceled(true);
|
//$$ event.setCanceled(true);
|
||||||
//$$ }
|
//$$ }
|
||||||
//$$ }
|
//$$ }
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
private void onRenderHandMonitor() {
|
private void onRenderHandMonitor() {
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent(priority = EventPriority.LOWEST)
|
//$$ @SubscribeEvent(priority = EventPriority.LOWEST)
|
||||||
@@ -753,7 +757,7 @@ public class CameraEntity
|
|||||||
|
|
||||||
private boolean heldItemTooltipsWasTrue;
|
private boolean heldItemTooltipsWasTrue;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
// FIXME fabric
|
// FIXME fabric
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
//#if MC<11400
|
//#if FABRIC<=0
|
||||||
//$$ package com.replaymod.replay.events;
|
//$$ package com.replaymod.replay.events;
|
||||||
//$$
|
//$$
|
||||||
//$$ import com.replaymod.replay.camera.CameraEntity;
|
//$$ import com.replaymod.replay.camera.CameraEntity;
|
||||||
|
|||||||
@@ -3,21 +3,24 @@ package com.replaymod.replay.handler;
|
|||||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||||
import com.replaymod.replay.ReplayModReplay;
|
import com.replaymod.replay.ReplayModReplay;
|
||||||
import com.replaymod.replay.gui.screen.GuiReplayViewer;
|
import com.replaymod.replay.gui.screen.GuiReplayViewer;
|
||||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
|
||||||
import net.minecraft.client.gui.screen.GameMenuScreen;
|
import net.minecraft.client.gui.screen.GameMenuScreen;
|
||||||
import net.minecraft.client.gui.screen.TitleScreen;
|
import net.minecraft.client.gui.screen.TitleScreen;
|
||||||
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
|
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
|
import net.minecraft.client.gui.widget.AbstractButtonWidget;
|
||||||
import net.minecraft.client.resource.language.I18n;
|
import net.minecraft.client.resource.language.I18n;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
import de.johni0702.minecraft.gui.versions.callbacks.InitScreenCallback;
|
||||||
import net.minecraft.client.gui.widget.AbstractButtonWidget;
|
|
||||||
//#else
|
//#else
|
||||||
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
//$$ import net.minecraftforge.client.event.GuiScreenEvent;
|
||||||
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
//$$ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
|
//#if MC>=11400
|
||||||
|
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||||
|
//#endif
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -36,14 +39,14 @@ public class GuiHandler extends EventRegistrations {
|
|||||||
this.mod = mod;
|
this.mod = mod;
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(InitScreenCallback.EVENT, this::injectIntoIngameMenu); }
|
{ on(InitScreenCallback.EVENT, this::injectIntoIngameMenu); }
|
||||||
private void injectIntoIngameMenu(Screen guiScreen, List<AbstractButtonWidget> buttonList) {
|
private void injectIntoIngameMenu(Screen guiScreen, List<AbstractButtonWidget> buttonList) {
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void injectIntoIngameMenu(GuiScreenEvent.InitGuiEvent.Post event) {
|
//$$ public void injectIntoIngameMenu(GuiScreenEvent.InitGuiEvent.Post event) {
|
||||||
//$$ GuiScreen guiScreen = getGui(event);
|
//$$ Screen guiScreen = getGui(event);
|
||||||
//$$ List<GuiButton> buttonList = getButtonList(event);
|
//$$ List<Widget> buttonList = getButtonList(event);
|
||||||
//#endif
|
//#endif
|
||||||
if (!(guiScreen instanceof GameMenuScreen)) {
|
if (!(guiScreen instanceof GameMenuScreen)) {
|
||||||
return;
|
return;
|
||||||
@@ -163,13 +166,13 @@ public class GuiHandler extends EventRegistrations {
|
|||||||
.forEach(button -> button.y -= 24);
|
.forEach(button -> button.y -= 24);
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(InitScreenCallback.EVENT, this::ensureReplayStopped); }
|
{ on(InitScreenCallback.EVENT, this::ensureReplayStopped); }
|
||||||
private void ensureReplayStopped(Screen guiScreen, List<AbstractButtonWidget> buttonList) {
|
private void ensureReplayStopped(Screen guiScreen, List<AbstractButtonWidget> buttonList) {
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void ensureReplayStopped(GuiScreenEvent.InitGuiEvent event) {
|
//$$ public void ensureReplayStopped(GuiScreenEvent.InitGuiEvent event) {
|
||||||
//$$ GuiScreen guiScreen = getGui(event);
|
//$$ Screen guiScreen = getGui(event);
|
||||||
//#endif
|
//#endif
|
||||||
if (!(guiScreen instanceof TitleScreen || guiScreen instanceof MultiplayerScreen)) {
|
if (!(guiScreen instanceof TitleScreen || guiScreen instanceof MultiplayerScreen)) {
|
||||||
return;
|
return;
|
||||||
@@ -190,18 +193,18 @@ public class GuiHandler extends EventRegistrations {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(InitScreenCallback.EVENT, this::injectIntoMainMenu); }
|
{ on(InitScreenCallback.EVENT, this::injectIntoMainMenu); }
|
||||||
private void injectIntoMainMenu(Screen guiScreen, List<AbstractButtonWidget> buttonList) {
|
private void injectIntoMainMenu(Screen guiScreen, List<AbstractButtonWidget> buttonList) {
|
||||||
//#else
|
//#else
|
||||||
//$$ @SubscribeEvent
|
//$$ @SubscribeEvent
|
||||||
//$$ public void injectIntoMainMenu(GuiScreenEvent.InitGuiEvent event) {
|
//$$ public void injectIntoMainMenu(GuiScreenEvent.InitGuiEvent event) {
|
||||||
//$$ GuiScreen guiScreen = getGui(event);
|
//$$ Screen guiScreen = getGui(event);
|
||||||
//#endif
|
//#endif
|
||||||
if (!(guiScreen instanceof TitleScreen)) {
|
if (!(guiScreen instanceof TitleScreen)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ButtonWidget button = new InjectedButton(
|
InjectedButton button = new InjectedButton(
|
||||||
guiScreen,
|
guiScreen,
|
||||||
BUTTON_REPLAY_VIEWER,
|
BUTTON_REPLAY_VIEWER,
|
||||||
guiScreen.width / 2 - 100,
|
guiScreen.width / 2 - 100,
|
||||||
@@ -243,7 +246,13 @@ public class GuiHandler extends EventRegistrations {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class InjectedButton extends ButtonWidget {
|
public static class InjectedButton extends
|
||||||
|
//#if MC>=11400
|
||||||
|
ButtonWidget
|
||||||
|
//#else
|
||||||
|
//$$ GuiButton
|
||||||
|
//#endif
|
||||||
|
{
|
||||||
public final Screen guiScreen;
|
public final Screen guiScreen;
|
||||||
public final int id;
|
public final int id;
|
||||||
private Consumer<InjectedButton> onClick;
|
private Consumer<InjectedButton> onClick;
|
||||||
|
|||||||
@@ -2,21 +2,18 @@
|
|||||||
package com.replaymod.replay.mixin;
|
package com.replaymod.replay.mixin;
|
||||||
|
|
||||||
import com.replaymod.replay.camera.CameraEntity;
|
import com.replaymod.replay.camera.CameraEntity;
|
||||||
import net.minecraft.client.MinecraftClient;
|
|
||||||
import net.minecraft.client.network.ClientPlayerEntity;
|
import net.minecraft.client.network.ClientPlayerEntity;
|
||||||
import net.minecraft.client.network.ClientPlayerInteractionManager;
|
import net.minecraft.client.network.ClientPlayerInteractionManager;
|
||||||
import net.minecraft.client.render.GameRenderer;
|
import net.minecraft.client.render.GameRenderer;
|
||||||
import net.minecraft.world.GameMode;
|
import net.minecraft.world.GameMode;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||||
|
|
||||||
|
import static com.replaymod.core.versions.MCVer.getMinecraft;
|
||||||
|
|
||||||
@Mixin(GameRenderer.class)
|
@Mixin(GameRenderer.class)
|
||||||
public abstract class MixinGameRenderer {
|
public abstract class MixinGameRenderer {
|
||||||
@Accessor
|
|
||||||
abstract MinecraftClient getClient();
|
|
||||||
|
|
||||||
@Redirect(
|
@Redirect(
|
||||||
method = "renderHand",
|
method = "renderHand",
|
||||||
at = @At(
|
at = @At(
|
||||||
@@ -25,7 +22,7 @@ public abstract class MixinGameRenderer {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
private GameMode getGameMode(ClientPlayerInteractionManager interactionManager) {
|
private GameMode getGameMode(ClientPlayerInteractionManager interactionManager) {
|
||||||
ClientPlayerEntity camera = getClient().player;
|
ClientPlayerEntity camera = getMinecraft().player;
|
||||||
if (camera instanceof CameraEntity) {
|
if (camera instanceof CameraEntity) {
|
||||||
// alternative doesn't really matter, the caller only checks for equality to SPECTATOR
|
// alternative doesn't really matter, the caller only checks for equality to SPECTATOR
|
||||||
return camera.isSpectator() ? GameMode.SPECTATOR : GameMode.SURVIVAL;
|
return camera.isSpectator() ? GameMode.SPECTATOR : GameMode.SURVIVAL;
|
||||||
|
|||||||
@@ -23,7 +23,11 @@ import static com.replaymod.core.versions.MCVer.*;
|
|||||||
//$$ @Mixin(RendererLivingEntity.class)
|
//$$ @Mixin(RendererLivingEntity.class)
|
||||||
//#endif
|
//#endif
|
||||||
public abstract class MixinRenderLivingBase {
|
public abstract class MixinRenderLivingBase {
|
||||||
|
//#if FABRIC>=1
|
||||||
@Inject(method = "method_4055", at = @At("HEAD"), cancellable = true)
|
@Inject(method = "method_4055", at = @At("HEAD"), cancellable = true)
|
||||||
|
//#else
|
||||||
|
//$$ @Inject(method = "canRenderName(Lnet/minecraft/entity/LivingEntity;)Z", at = @At("HEAD"), cancellable = true)
|
||||||
|
//#endif
|
||||||
private void replayModReplay_canRenderInvisibleName(LivingEntity entity, CallbackInfoReturnable<Boolean> ci) {
|
private void replayModReplay_canRenderInvisibleName(LivingEntity entity, CallbackInfoReturnable<Boolean> ci) {
|
||||||
PlayerEntity thePlayer = getMinecraft().player;
|
PlayerEntity thePlayer = getMinecraft().player;
|
||||||
if (thePlayer instanceof CameraEntity && entity.isInvisible()) {
|
if (thePlayer instanceof CameraEntity && entity.isInvisible()) {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
//#if MC>=10800 && MC<11400
|
//#if MC>=10800 && MC<11400
|
||||||
//$$ package com.replaymod.replay.mixin;
|
//$$ package com.replaymod.replay.mixin;
|
||||||
//$$
|
//$$
|
||||||
//$$ import net.minecraft.client.GameSettings;
|
//$$ import net.minecraft.client.settings.GameSettings;
|
||||||
//$$ import net.minecraft.client.gui.FontRenderer;
|
//$$ import net.minecraft.client.gui.FontRenderer;
|
||||||
//$$ import net.minecraft.client.renderer.entity.RenderManager;
|
//$$ import net.minecraft.client.renderer.entity.RenderManager;
|
||||||
//$$ import net.minecraft.entity.Entity;
|
//$$ import net.minecraft.entity.Entity;
|
||||||
|
|||||||
@@ -18,8 +18,11 @@ public class MixinTileEntityEndPortalRenderer {
|
|||||||
//#if MC>=11300
|
//#if MC>=11300
|
||||||
@Redirect(method = "method_3591", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/SystemUtil;getMeasuringTimeMs()J"))
|
@Redirect(method = "method_3591", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/SystemUtil;getMeasuringTimeMs()J"))
|
||||||
//#else
|
//#else
|
||||||
|
//#if MC>=11200
|
||||||
|
//$$ @Redirect(method = "renderTileEntityAt(Lnet/minecraft/tileentity/TileEntityEndPortal;DDDFIF)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J"))
|
||||||
|
//#else
|
||||||
//#if MC>=10809
|
//#if MC>=10809
|
||||||
//$$ @Redirect(method = "renderTileEntityAt", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J"))
|
//$$ @Redirect(method = "renderTileEntityAt(Lnet/minecraft/tileentity/TileEntityEndPortal;DDDFI)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J"))
|
||||||
//#else
|
//#else
|
||||||
//#if MC>=10800
|
//#if MC>=10800
|
||||||
//$$ @Redirect(method = "func_180544_a", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J"))
|
//$$ @Redirect(method = "func_180544_a", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J"))
|
||||||
@@ -28,6 +31,7 @@ public class MixinTileEntityEndPortalRenderer {
|
|||||||
//#endif
|
//#endif
|
||||||
//#endif
|
//#endif
|
||||||
//#endif
|
//#endif
|
||||||
|
//#endif
|
||||||
private long replayModReplay_getEnchantmentTime() {
|
private long replayModReplay_getEnchantmentTime() {
|
||||||
ReplayHandler replayHandler = ReplayModReplay.instance.getReplayHandler();
|
ReplayHandler replayHandler = ReplayModReplay.instance.getReplayHandler();
|
||||||
if (replayHandler != null) {
|
if (replayHandler != null) {
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import org.apache.commons.lang3.tuple.Pair;
|
|||||||
import org.apache.commons.lang3.tuple.Triple;
|
import org.apache.commons.lang3.tuple.Triple;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
import com.replaymod.core.events.PostRenderWorldCallback;
|
import com.replaymod.core.events.PostRenderWorldCallback;
|
||||||
//#else
|
//#else
|
||||||
//$$ import net.minecraftforge.client.event.RenderWorldLastEvent;
|
//$$ import net.minecraftforge.client.event.RenderWorldLastEvent;
|
||||||
@@ -53,7 +53,7 @@ public class PathPreviewRenderer extends EventRegistrations {
|
|||||||
this.replayHandler = replayHandler;
|
this.replayHandler = replayHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if FABRIC>=1
|
||||||
{ on(PostRenderWorldCallback.EVENT, this::renderCameraPath); }
|
{ on(PostRenderWorldCallback.EVENT, this::renderCameraPath); }
|
||||||
private void renderCameraPath() {
|
private void renderCameraPath() {
|
||||||
//#else
|
//#else
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
net.minecraft.resources.AbstractResourcePack net.minecraft.client.resources.AbstractResourcePack
|
|
||||||
net.minecraft.resources.FolderPack net.minecraft.client.resources.FolderResourcePack
|
|
||||||
net.minecraft.client.resources.DownloadingPackFinder net.minecraft.client.resources.ResourcePackRepository
|
|
||||||
net.minecraft.client.renderer.FirstPersonRenderer net.minecraft.client.renderer.ItemRenderer
|
|
||||||
net.minecraft.client.renderer.chunk.ChunkRenderTask net.minecraft.client.renderer.chunk.ChunkCompileTaskGenerator
|
|
||||||
net.minecraft.client.GameSettings net.minecraft.client.settings.GameSettings
|
|
||||||
net.minecraftforge.eventbus.api.SubscribeEvent net.minecraftforge.fml.common.eventhandler.SubscribeEvent
|
|
||||||
net.minecraftforge.eventbus.api.EventPriority net.minecraftforge.fml.common.eventhandler.EventPriority
|
|
||||||
net.minecraftforge.eventbus.api.Cancelable net.minecraftforge.fml.common.eventhandler.Cancelable
|
|
||||||
net.minecraftforge.eventbus.api.Event net.minecraftforge.fml.common.eventhandler.Event
|
|
||||||
net.minecraft.client.renderer.entity.model.ModelBox net.minecraft.client.model.ModelBox
|
|
||||||
net.minecraft.client.renderer.entity.model.ModelRenderer net.minecraft.client.model.ModelRenderer
|
|
||||||
net.minecraft.crash.ReportedException net.minecraft.util.ReportedException
|
|
||||||
net.minecraftforge.eventbus.api.IEventBus net.minecraftforge.fml.common.eventhandler.EventBus
|
|
||||||
com.replaymod.core.versions.MCVer.Keyboard org.lwjgl.input.Keyboard
|
|
||||||
net.minecraft.client.renderer.WorldRenderer net.minecraft.client.renderer.RenderGlobal
|
|
||||||
net.minecraft.network.play.server.SPacketEntity.Move net.minecraft.network.play.server.SPacketEntity.S17PacketEntityLookMove
|
|
||||||
net.minecraftforge.fml.network.NetworkRegistry net.minecraftforge.fml.common.network.NetworkRegistry
|
|
||||||
net.minecraft.client.renderer.ItemRenderer net.minecraft.client.renderer.RenderItem
|
|
||||||
net.minecraft.client.renderer.GameRenderer net.minecraft.client.renderer.EntityRenderer
|
|
||||||
net.minecraft.client.renderer.WorldRenderer net.minecraft.client.renderer.RenderGlobal
|
|
||||||
|
|
||||||
net.minecraft.resources.AbstractResourcePack getInputStream() getInputStreamByName()
|
|
||||||
net.minecraft.client.gui.GuiYesNoCallback confirmResult() confirmClicked()
|
|
||||||
net.minecraft.util.text.ITextComponent getString() getUnformattedText()
|
|
||||||
net.minecraft.network.play.server.SPacketRespawn func_212643_b() getDimensionID()
|
|
||||||
net.minecraft.client.Minecraft getPackFinder() getResourcePackRepository()
|
|
||||||
@@ -1,3 +1,38 @@
|
|||||||
|
net.minecraft.resources.AbstractResourcePack net.minecraft.client.resources.AbstractResourcePack
|
||||||
|
net.minecraft.resources.FolderPack net.minecraft.client.resources.FolderResourcePack
|
||||||
|
net.minecraft.client.resources.DownloadingPackFinder net.minecraft.client.resources.ResourcePackRepository
|
||||||
|
net.minecraft.client.renderer.FirstPersonRenderer net.minecraft.client.renderer.ItemRenderer
|
||||||
|
net.minecraft.client.renderer.chunk.ChunkRenderTask net.minecraft.client.renderer.chunk.ChunkCompileTaskGenerator
|
||||||
|
net.minecraftforge.eventbus.api.SubscribeEvent net.minecraftforge.fml.common.eventhandler.SubscribeEvent
|
||||||
|
net.minecraftforge.eventbus.api.EventPriority net.minecraftforge.fml.common.eventhandler.EventPriority
|
||||||
|
net.minecraftforge.eventbus.api.Cancelable net.minecraftforge.fml.common.eventhandler.Cancelable
|
||||||
|
net.minecraftforge.eventbus.api.Event net.minecraftforge.fml.common.eventhandler.Event
|
||||||
|
net.minecraft.crash.ReportedException net.minecraft.util.ReportedException
|
||||||
|
net.minecraftforge.eventbus.api.IEventBus net.minecraftforge.fml.common.eventhandler.EventBus
|
||||||
|
net.minecraft.network.play.server.SPacketEntity.Move net.minecraft.network.play.server.SPacketEntity.S17PacketEntityLookMove
|
||||||
|
net.minecraftforge.fml.network.NetworkRegistry net.minecraftforge.fml.common.network.NetworkRegistry
|
||||||
|
net.minecraft.client.renderer.ItemRenderer net.minecraft.client.renderer.RenderItem
|
||||||
|
|
||||||
|
net.minecraft.resources.ResourcePack getInputStream() getInputStreamByName()
|
||||||
|
net.minecraft.client.gui.GuiYesNoCallback confirmResult() confirmClicked()
|
||||||
|
net.minecraft.util.text.ITextComponent getString() getUnformattedText()
|
||||||
|
net.minecraft.network.play.server.SPacketRespawn func_212643_b() getDimensionID()
|
||||||
|
net.minecraft.client.Minecraft getPackFinder() getResourcePackRepository()
|
||||||
|
|
||||||
|
net.minecraftforge.client.event.GuiScreenEvent.InitGuiEvent addWidget() addButton()
|
||||||
|
net.minecraftforge.client.event.GuiScreenEvent.InitGuiEvent removeWidget() removeButton()
|
||||||
|
net.minecraftforge.client.event.GuiScreenEvent.InitGuiEvent getWidgetList() getButtonList()
|
||||||
|
net.minecraftforge.event.TickEvent net.minecraftforge.fml.common.gameevent.TickEvent
|
||||||
|
net.minecraft.potion.Effects net.minecraft.init.MobEffects
|
||||||
|
net.minecraftforge.event.entity.player.PlayerEvent net.minecraftforge.fml.common.gameevent.PlayerEvent
|
||||||
|
net.minecraftforge.event.entity.player.PlayerEvent.ItemPickupEvent net.minecraftforge.fml.common.gameevent.PlayerEvent.ItemPickupEvent
|
||||||
|
|
||||||
|
#
|
||||||
|
# Note: These were in large part written before the preprocessor got smart, a good deal of them can probably be removed
|
||||||
|
# by now. Just gotta find someone to do it. Or automate it. Probably the latter, later.
|
||||||
|
# They're also in some parts outdated since they used to be 1.14.4-fabric to 1.13.2-forge but are now used for
|
||||||
|
# 1.14.4-forge to 1.12.2-forge (since the preprocessor handles the fabric-forge jump on 1.14.4).
|
||||||
|
#
|
||||||
net.minecraft.client.particle.Particle x posX
|
net.minecraft.client.particle.Particle x posX
|
||||||
net.minecraft.client.particle.Particle y posY
|
net.minecraft.client.particle.Particle y posY
|
||||||
net.minecraft.client.particle.Particle z posZ
|
net.minecraft.client.particle.Particle z posZ
|
||||||
@@ -5,9 +40,9 @@ net.minecraft.client.particle.Particle cameraX interpPosX
|
|||||||
net.minecraft.client.particle.Particle cameraY interpPosY
|
net.minecraft.client.particle.Particle cameraY interpPosY
|
||||||
net.minecraft.client.particle.Particle cameraZ interpPosZ
|
net.minecraft.client.particle.Particle cameraZ interpPosZ
|
||||||
net.minecraft.client.particle.Particle buildGeometry() renderParticle()
|
net.minecraft.client.particle.Particle buildGeometry() renderParticle()
|
||||||
net.minecraft.client.render.entity.PlayerModelPart net.minecraft.entity.player.EnumPlayerModelParts
|
net.minecraft.entity.player.PlayerModelPart net.minecraft.entity.player.EnumPlayerModelParts
|
||||||
net.minecraft.entity.effect.StatusEffects net.minecraft.init.MobEffects
|
net.minecraft.entity.effect.StatusEffects net.minecraft.init.MobEffects
|
||||||
net.minecraft.util.math.Direction net.minecraft.util.EnumFacing
|
net.minecraft.util.Direction net.minecraft.util.EnumFacing
|
||||||
net.minecraft.client.render.model.BakedQuad net.minecraft.client.renderer.model.BakedQuad
|
net.minecraft.client.render.model.BakedQuad net.minecraft.client.renderer.model.BakedQuad
|
||||||
net.minecraft.client.render.model.BakedQuad hasColor() hasTintIndex()
|
net.minecraft.client.render.model.BakedQuad hasColor() hasTintIndex()
|
||||||
net.minecraft.client.render.model.BakedQuad getColorIndex() getTintIndex()
|
net.minecraft.client.render.model.BakedQuad getColorIndex() getTintIndex()
|
||||||
@@ -15,7 +50,7 @@ net.minecraft.client.gl.GlBuffer net.minecraft.client.renderer.vertex.VertexBuff
|
|||||||
net.minecraft.client.gl.GlBuffer bind() bindBuffer()
|
net.minecraft.client.gl.GlBuffer bind() bindBuffer()
|
||||||
net.minecraft.client.gl.GlBuffer unbind() unbindBuffer()
|
net.minecraft.client.gl.GlBuffer unbind() unbindBuffer()
|
||||||
net.minecraft.block.BlockRenderLayer net.minecraft.util.BlockRenderLayer
|
net.minecraft.block.BlockRenderLayer net.minecraft.util.BlockRenderLayer
|
||||||
net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher
|
net.minecraft.client.renderer.tileentity.EndPortalTileEntityRenderer net.minecraft.client.renderer.tileentity.TileEntityEndPortalRenderer
|
||||||
net.minecraft.client.render.model.BakedModel net.minecraft.client.renderer.model.IBakedModel
|
net.minecraft.client.render.model.BakedModel net.minecraft.client.renderer.model.IBakedModel
|
||||||
net.minecraft.client.render.chunk.ChunkRenderData net.minecraft.client.renderer.chunk.CompiledChunk
|
net.minecraft.client.render.chunk.ChunkRenderData net.minecraft.client.renderer.chunk.CompiledChunk
|
||||||
net.minecraft.client.render.chunk.ChunkRenderData isBufferInitialized() isLayerStarted()
|
net.minecraft.client.render.chunk.ChunkRenderData isBufferInitialized() isLayerStarted()
|
||||||
@@ -55,8 +90,8 @@ net.minecraft.client.render.block.entity.EndPortalBlockEntityRenderer net.minecr
|
|||||||
net.minecraft.client.render.block.entity.EndPortalBlockEntityRenderer method_3591() render()
|
net.minecraft.client.render.block.entity.EndPortalBlockEntityRenderer method_3591() render()
|
||||||
net.minecraft.client.render.block.entity.BlockEntityRenderer net.minecraft.client.renderer.tileentity.TileEntityRenderer
|
net.minecraft.client.render.block.entity.BlockEntityRenderer net.minecraft.client.renderer.tileentity.TileEntityRenderer
|
||||||
net.minecraft.client.render.block.entity.BlockEntityRenderer method_3591() render()
|
net.minecraft.client.render.block.entity.BlockEntityRenderer method_3591() render()
|
||||||
net.minecraft.client.gui.hud.SpectatorHud net.minecraft.client.gui.GuiSpectator
|
net.minecraft.client.gui.SpectatorGui net.minecraft.client.gui.GuiSpectator
|
||||||
net.minecraft.client.gui.hud.SpectatorHud method_1976() onHotbarSelected()
|
net.minecraft.client.gui.SpectatorGui method_1976() onHotbarSelected()
|
||||||
net.minecraft.entity.passive.AnimalEntity net.minecraft.entity.passive.EntityAnimal
|
net.minecraft.entity.passive.AnimalEntity net.minecraft.entity.passive.EntityAnimal
|
||||||
net.minecraft.client.render.item.ItemRenderer net.minecraft.client.renderer.ItemRenderer
|
net.minecraft.client.render.item.ItemRenderer net.minecraft.client.renderer.ItemRenderer
|
||||||
net.minecraft.client.render.item.ItemRenderer colorMap itemColors
|
net.minecraft.client.render.item.ItemRenderer colorMap itemColors
|
||||||
@@ -69,39 +104,39 @@ net.minecraft.text.Text net.minecraft.util.text.ITextComponent
|
|||||||
net.minecraft.text.Text append() appendSibling()
|
net.minecraft.text.Text append() appendSibling()
|
||||||
net.minecraft.text.Text asFormattedString() getFormattedText()
|
net.minecraft.text.Text asFormattedString() getFormattedText()
|
||||||
net.minecraft.text.Style net.minecraft.util.text.Style
|
net.minecraft.text.Style net.minecraft.util.text.Style
|
||||||
net.minecraft.text.LiteralText net.minecraft.util.text.TextComponentString
|
net.minecraft.util.text.StringTextComponent net.minecraft.util.text.TextComponentString
|
||||||
net.minecraft.text.TranslatableText net.minecraft.util.text.TextComponentTranslation
|
net.minecraft.util.text.TranslationTextComponent net.minecraft.util.text.TextComponentTranslation
|
||||||
net.minecraft.util.Formatting net.minecraft.util.text.TextFormatting
|
net.minecraft.util.Formatting net.minecraft.util.text.TextFormatting
|
||||||
net.minecraft.client.render.VisibleRegion net.minecraft.client.renderer.culling.ICamera
|
net.minecraft.client.render.VisibleRegion net.minecraft.client.renderer.culling.ICamera
|
||||||
net.minecraft.client.render.entity.LivingEntityRenderer net.minecraft.client.renderer.entity.RenderLivingBase
|
net.minecraft.client.renderer.entity.LivingRenderer net.minecraft.client.renderer.entity.RenderLivingBase
|
||||||
net.minecraft.client.render.entity.LivingEntityRenderer method_4055() canRenderName()
|
net.minecraft.client.renderer.entity.LivingRenderer method_4055() canRenderName()
|
||||||
net.minecraft.client.render.entity.LivingEntityRenderer render() renderModel()
|
net.minecraft.client.renderer.entity.LivingRenderer render() renderModel()
|
||||||
net.minecraft.client.render.entity.LivingEntityRenderer scaleAndTranslate() prepareScale()
|
net.minecraft.client.renderer.entity.LivingRenderer scaleAndTranslate() prepareScale()
|
||||||
net.minecraft.client.render.entity.LivingEntityRenderer method_4054() doRender()
|
net.minecraft.client.renderer.entity.LivingRenderer method_4054() doRender()
|
||||||
net.minecraft.client.render.entity.ArrowEntityRenderer net.minecraft.client.renderer.entity.RenderArrow
|
net.minecraft.client.renderer.entity.TippedArrowRenderer net.minecraft.client.renderer.entity.RenderArrow
|
||||||
net.minecraft.client.render.entity.EntityRenderer net.minecraft.client.renderer.entity.Render
|
net.minecraft.client.renderer.entity.EntityRenderer net.minecraft.client.renderer.entity.Render
|
||||||
net.minecraft.client.render.entity.EntityRenderer isVisible() shouldRender()
|
net.minecraft.client.renderer.entity.EntityRenderer isVisible() shouldRender()
|
||||||
net.minecraft.client.render.entity.EntityRenderer render() doRender()
|
net.minecraft.client.renderer.entity.EntityRenderer render() doRender()
|
||||||
net.minecraft.client.render.entity.EntityRenderer renderLabel() renderLivingLabel()
|
net.minecraft.client.renderer.entity.EntityRenderer renderLabel() renderLivingLabel()
|
||||||
net.minecraft.client.network.ClientPlayerInteractionManager net.minecraft.client.multiplayer.PlayerControllerMP
|
net.minecraft.client.multiplayer.PlayerController net.minecraft.client.multiplayer.PlayerControllerMP
|
||||||
net.minecraft.client.network.ClientPlayerInteractionManager client mc
|
net.minecraft.client.multiplayer.PlayerController client mc
|
||||||
net.minecraft.client.network.ClientPlayerInteractionManager networkHandler connection
|
net.minecraft.client.multiplayer.PlayerController networkHandler connection
|
||||||
net.minecraft.client.network.ClientPlayerInteractionManager isFlyingLocked() isSpectatorMode()
|
net.minecraft.client.multiplayer.PlayerController isFlyingLocked() isSpectatorMode()
|
||||||
net.minecraft.client.network.ClientPlayerInteractionManager getCurrentGameMode() getCurrentGameType()
|
net.minecraft.client.multiplayer.PlayerController getCurrentGameMode() getCurrentGameType()
|
||||||
com.mojang.blaze3d.platform.GLX net.minecraft.client.renderer.OpenGlHelper
|
com.mojang.blaze3d.platform.GLX net.minecraft.client.renderer.OpenGlHelper
|
||||||
com.mojang.blaze3d.platform.GLX isUsingFBOs() isFramebufferEnabled()
|
com.mojang.blaze3d.platform.GLX isUsingFBOs() isFramebufferEnabled()
|
||||||
net.minecraft.entity.data.TrackedData net.minecraft.network.datasync.DataParameter
|
net.minecraft.entity.data.TrackedData net.minecraft.network.datasync.DataParameter
|
||||||
net.minecraft.client.render.chunk.ChunkRenderer net.minecraft.client.renderer.chunk.RenderChunk
|
net.minecraft.client.renderer.chunk.ChunkRender net.minecraft.client.renderer.chunk.RenderChunk
|
||||||
net.minecraft.client.render.chunk.ChunkRenderer setOrigin() setPosition()
|
net.minecraft.client.renderer.chunk.ChunkRender setOrigin() setPosition()
|
||||||
net.minecraft.client.render.chunk.ChunkRenderer getOrigin() getPosition()
|
net.minecraft.client.renderer.chunk.ChunkRender getOrigin() getPosition()
|
||||||
net.minecraft.client.render.chunk.ChunkRenderer getData() getCompiledChunk()
|
net.minecraft.client.renderer.chunk.ChunkRender getData() getCompiledChunk()
|
||||||
net.minecraft.client.render.chunk.ChunkRenderer getGlBuffer() getVertexBufferByLayer()
|
net.minecraft.client.renderer.chunk.ChunkRender getGlBuffer() getVertexBufferByLayer()
|
||||||
net.minecraft.client.render.chunk.ChunkRenderer scheduleRebuild() setNeedsUpdate()
|
net.minecraft.client.renderer.chunk.ChunkRender scheduleRebuild() setNeedsUpdate()
|
||||||
net.minecraft.client.render.chunk.ChunkRenderer unscheduleRebuild() clearNeedsUpdate()
|
net.minecraft.client.renderer.chunk.ChunkRender unscheduleRebuild() clearNeedsUpdate()
|
||||||
net.minecraft.client.util.GlAllocationUtils net.minecraft.client.renderer.GLAllocation
|
net.minecraft.client.util.GlAllocationUtils net.minecraft.client.renderer.GLAllocation
|
||||||
net.minecraft.client.util.GlAllocationUtils allocateFloatBuffer() createDirectFloatBuffer()
|
net.minecraft.client.util.GlAllocationUtils allocateFloatBuffer() createDirectFloatBuffer()
|
||||||
net.minecraft.client.util.GlAllocationUtils allocateByteBuffer() createDirectByteBuffer()
|
net.minecraft.client.util.GlAllocationUtils allocateByteBuffer() createDirectByteBuffer()
|
||||||
net.minecraft.nbt.CompoundTag net.minecraft.nbt.NBTTagCompound
|
net.minecraft.nbt.CompoundNBT net.minecraft.nbt.NBTTagCompound
|
||||||
net.minecraft.block.entity.BlockEntity net.minecraft.tileentity.TileEntity
|
net.minecraft.block.entity.BlockEntity net.minecraft.tileentity.TileEntity
|
||||||
net.minecraft.block.entity.BlockEntity toTag() write()
|
net.minecraft.block.entity.BlockEntity toTag() write()
|
||||||
net.minecraft.client.render.BackgroundRenderer net.minecraft.client.renderer.FogRenderer
|
net.minecraft.client.render.BackgroundRenderer net.minecraft.client.renderer.FogRenderer
|
||||||
@@ -122,64 +157,68 @@ net.minecraft.client.gl.GlFramebuffer endWrite() unbindFramebuffer()
|
|||||||
net.minecraft.client.gl.GlFramebuffer draw() framebufferRender()
|
net.minecraft.client.gl.GlFramebuffer draw() framebufferRender()
|
||||||
net.minecraft.client.gl.GlFramebuffer resize() createBindFramebuffer()
|
net.minecraft.client.gl.GlFramebuffer resize() createBindFramebuffer()
|
||||||
net.minecraft.client.gl.GlFramebuffer initFbo() createFramebuffer()
|
net.minecraft.client.gl.GlFramebuffer initFbo() createFramebuffer()
|
||||||
net.minecraft.client.gui.screen.GameMenuScreen net.minecraft.client.gui.GuiIngameMenu
|
net.minecraft.client.gui.screen.IngameMenuScreen net.minecraft.client.gui.GuiIngameMenu
|
||||||
net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen net.minecraft.client.gui.GuiMultiplayer
|
net.minecraft.client.gui.screen.MultiplayerScreen net.minecraft.client.gui.GuiMultiplayer
|
||||||
net.minecraft.client.gui.screen.world.SelectWorldScreen net.minecraft.client.gui.GuiWorldSelection
|
net.minecraft.client.gui.screen.WorldSelectionScreen net.minecraft.client.gui.GuiWorldSelection
|
||||||
net.minecraft.entity.data.DataTracker net.minecraft.network.datasync.EntityDataManager
|
net.minecraft.entity.data.DataTracker net.minecraft.network.datasync.EntityDataManager
|
||||||
net.minecraft.entity.data.DataTracker startTracking() register()
|
net.minecraft.entity.data.DataTracker startTracking() register()
|
||||||
net.minecraft.entity.data.DataTracker.Entry net.minecraft.network.datasync.EntityDataManager.DataEntry
|
net.minecraft.entity.data.DataTracker.Entry net.minecraft.network.datasync.EntityDataManager.DataEntry
|
||||||
net.minecraft.entity.data.DataTracker.Entry getData() getKey()
|
net.minecraft.entity.data.DataTracker.Entry getData() getKey()
|
||||||
net.minecraft.entity.data.DataTracker.Entry get() getValue()
|
net.minecraft.entity.data.DataTracker.Entry get() getValue()
|
||||||
# Note: GuiButton has been split into ButtonWidget and AbstractButtonWidget (now shared with e.g. checkboxes),
|
# Note: GuiButton has been split into Button and Widget (now shared with e.g. checkboxes),
|
||||||
# most members are actually on the latter
|
# most members are actually on the latter (there's also AbstractButton in the middle, but it isn't interesting)
|
||||||
net.minecraft.client.gui.widget.ButtonWidget net.minecraft.client.gui.GuiButton
|
net.minecraft.client.gui.widget.Widget net.minecraft.client.gui.GuiButton
|
||||||
net.minecraft.client.gui.widget.AbstractButtonWidget active net.minecraft.client.gui.GuiButton enabled
|
net.minecraft.client.gui.widget.button.AbstractButton active net.minecraft.client.gui.GuiButton enabled
|
||||||
net.minecraft.client.gui.screen.TitleScreen net.minecraft.client.gui.GuiMainMenu
|
net.minecraft.client.gui.screen.MainMenuScreen net.minecraft.client.gui.GuiMainMenu
|
||||||
net.minecraft.client.gui.screen.TitleScreen realmsNotificationGui realmsNotification
|
net.minecraft.client.gui.screen.MainMenuScreen realmsNotificationGui realmsNotification
|
||||||
net.minecraft.realms.RealmsScreenProxy net.minecraft.client.gui.GuiScreenRealmsProxy
|
net.minecraft.realms.RealmsScreenProxy net.minecraft.client.gui.GuiScreenRealmsProxy
|
||||||
net.minecraft.resource.ResourceNotFoundException net.minecraft.resources.ResourcePackFileNotFoundException
|
net.minecraft.resource.ResourceNotFoundException net.minecraft.resources.ResourcePackFileNotFoundException
|
||||||
net.minecraft.resource.ResourcePack net.minecraft.resources.IResourcePack
|
net.minecraft.resource.ResourcePack net.minecraft.resources.IResourcePack
|
||||||
net.minecraft.resource.ResourcePack findResources() getAllResourceLocations()
|
net.minecraft.resource.ResourcePack findResources() getAllResourceLocations()
|
||||||
net.minecraft.resource.ResourcePack getNamespaces() getResourceNamespaces()
|
net.minecraft.resource.ResourcePack getNamespaces() getResourceNamespaces()
|
||||||
net.minecraft.resource.ResourceType net.minecraft.resources.ResourcePackType
|
net.minecraft.resource.ResourceType net.minecraft.resources.ResourcePackType
|
||||||
net.minecraft.network.NetworkSide net.minecraft.network.EnumPacketDirection
|
net.minecraft.network.PacketDirection net.minecraft.network.EnumPacketDirection
|
||||||
net.minecraft.network.NetworkState net.minecraft.network.EnumConnectionState
|
net.minecraft.network.ProtocolType net.minecraft.network.EnumConnectionState
|
||||||
net.minecraft.network.NetworkState field_11688 LOGIN
|
net.minecraft.network.ProtocolType field_11688 LOGIN
|
||||||
net.minecraft.network.NetworkState field_11690 PLAY
|
net.minecraft.network.ProtocolType field_11690 PLAY
|
||||||
net.minecraft.network.NetworkState getPacketHandler() getPacket()
|
net.minecraft.network.ProtocolType getPacketHandler() getPacket()
|
||||||
net.minecraft.network.Packet read() readPacketData()
|
net.minecraft.network.IPacket net.minecraft.network.Packet
|
||||||
net.minecraft.network.Packet write() writePacketData()
|
net.minecraft.network.IPacket read() readPacketData()
|
||||||
|
net.minecraft.network.IPacket write() writePacketData()
|
||||||
net.minecraft.world.GameMode net.minecraft.world.GameType
|
net.minecraft.world.GameMode net.minecraft.world.GameType
|
||||||
net.minecraft.client.gui.screen.DownloadingTerrainScreen net.minecraft.client.gui.GuiDownloadTerrain
|
net.minecraft.client.gui.screen.DownloadTerrainScreen net.minecraft.client.gui.GuiDownloadTerrain
|
||||||
net.minecraft.client.gui.screen.NoticeScreen net.minecraft.client.gui.GuiErrorScreen
|
net.minecraft.client.gui.screen.AlertScreen net.minecraft.client.gui.GuiErrorScreen
|
||||||
net.minecraft.client.network.OtherClientPlayerEntity net.minecraft.client.entity.EntityOtherPlayerMP
|
net.minecraft.client.entity.player.RemoteClientPlayerEntity net.minecraft.client.entity.EntityOtherPlayerMP
|
||||||
net.minecraft.world.Difficulty net.minecraft.world.EnumDifficulty
|
net.minecraft.world.Difficulty net.minecraft.world.EnumDifficulty
|
||||||
net.minecraft.world.chunk.ChunkProvider net.minecraft.world.chunk.IChunkProvider
|
net.minecraft.world.chunk.IChunkLightProvider net.minecraft.world.chunk.IChunkProvider
|
||||||
net.minecraft.sound.SoundCategory net.minecraft.util.SoundCategory
|
net.minecraft.sound.SoundCategory net.minecraft.util.SoundCategory
|
||||||
net.minecraft.util.profiler.Profiler net.minecraft.profiler.Profiler
|
net.minecraft.profiler.IProfiler net.minecraft.profiler.Profiler
|
||||||
net.minecraft.client.render.GameRenderer net.minecraft.client.renderer.GameRenderer
|
net.minecraft.client.renderer.GameRenderer net.minecraft.client.renderer.EntityRenderer
|
||||||
net.minecraft.client.render.GameRenderer firstPersonRenderer itemRenderer
|
net.minecraft.client.renderer.GameRenderer firstPersonRenderer itemRenderer
|
||||||
net.minecraft.client.render.GameRenderer client mc
|
net.minecraft.client.renderer.GameRenderer client mc
|
||||||
net.minecraft.client.render.GameRenderer render() updateCameraAndRender()
|
net.minecraft.client.renderer.GameRenderer render() updateCameraAndRender()
|
||||||
net.minecraft.client.render.GameRenderer applyCameraTransformations() setupCameraTransform()
|
net.minecraft.client.renderer.GameRenderer applyCameraTransformations() setupCameraTransform()
|
||||||
net.minecraft.client.render.GameRenderer renderAboveClouds() renderCloudsCheck()
|
net.minecraft.client.renderer.GameRenderer renderAboveClouds() renderCloudsCheck()
|
||||||
net.minecraft.client.render.WorldRenderer net.minecraft.client.renderer.WorldRenderer
|
net.minecraft.client.renderer.GameRenderer func_215308_a() renderHand()
|
||||||
net.minecraft.client.render.WorldRenderer setBlockBreakingProgress() sendBlockBreakProgress()
|
net.minecraft.client.renderer.WorldRenderer net.minecraft.client.renderer.RenderGlobal
|
||||||
net.minecraft.client.render.WorldRenderer drawHighlightedBlockOutline() drawSelectionBox()
|
net.minecraft.client.renderer.WorldRenderer setBlockBreakingProgress() sendBlockBreakProgress()
|
||||||
net.minecraft.client.render.WorldRenderer chunkBatcher renderDispatcher
|
net.minecraft.client.renderer.WorldRenderer drawHighlightedBlockOutline() drawSelectionBox()
|
||||||
net.minecraft.client.render.WorldRenderer chunkInfos renderInfos
|
net.minecraft.client.renderer.WorldRenderer chunkBatcher renderDispatcher
|
||||||
net.minecraft.client.render.WorldRenderer chunkRenderers chunksToUpdate
|
net.minecraft.client.renderer.WorldRenderer chunkInfos renderInfos
|
||||||
net.minecraft.client.render.WorldRenderer terrainUpdateNecessary displayListEntitiesDirty
|
net.minecraft.client.renderer.WorldRenderer chunkRenderers chunksToUpdate
|
||||||
net.minecraft.client.render.WorldRenderer field_4076 renderEntitiesStartupCounter
|
net.minecraft.client.renderer.WorldRenderer terrainUpdateNecessary displayListEntitiesDirty
|
||||||
net.minecraft.client.render.WorldRenderer setUpTerrain() setupTerrain()
|
net.minecraft.client.renderer.WorldRenderer field_4076 renderEntitiesStartupCounter
|
||||||
net.minecraft.client.render.WorldRenderer setWorld() setWorldAndLoadRenderers()
|
net.minecraft.client.renderer.WorldRenderer setUpTerrain() setupTerrain()
|
||||||
net.minecraft.client.render.WorldRenderer reload() loadRenderers()
|
net.minecraft.client.renderer.WorldRenderer setWorld() setWorldAndLoadRenderers()
|
||||||
|
net.minecraft.client.renderer.WorldRenderer reload() loadRenderers()
|
||||||
net.minecraft.world.level.LevelProperties net.minecraft.world.storage.WorldInfo
|
net.minecraft.world.level.LevelProperties net.minecraft.world.storage.WorldInfo
|
||||||
com.mojang.blaze3d.platform.GlStateManager popAttributes() popAttrib()
|
com.mojang.blaze3d.platform.GlStateManager popAttributes() popAttrib()
|
||||||
com.mojang.blaze3d.platform.GlStateManager disableColorLogicOp() disableColorLogic()
|
com.mojang.blaze3d.platform.GlStateManager disableColorLogicOp() disableColorLogic()
|
||||||
com.mojang.blaze3d.platform.GlStateManager disableTexture() disableTexture2D()
|
com.mojang.blaze3d.platform.GlStateManager disableTexture() disableTexture2D()
|
||||||
com.mojang.blaze3d.platform.GlStateManager enableColorLogicOp() enableColorLogic()
|
com.mojang.blaze3d.platform.GlStateManager enableColorLogicOp() enableColorLogic()
|
||||||
com.mojang.blaze3d.platform.GlStateManager enableTexture() enableTexture2D()
|
com.mojang.blaze3d.platform.GlStateManager enableTexture() enableTexture2D()
|
||||||
|
com.mojang.blaze3d.platform.GlStateManager enableAlphaTest() enableAlpha()
|
||||||
|
com.mojang.blaze3d.platform.GlStateManager activeTexture activeTextureUnit
|
||||||
com.mojang.blaze3d.platform.GlStateManager net.minecraft.client.renderer.GlStateManager
|
com.mojang.blaze3d.platform.GlStateManager net.minecraft.client.renderer.GlStateManager
|
||||||
com.mojang.blaze3d.platform.GlStateManager.CapabilityTracker net.minecraft.client.renderer.GlStateManager.BooleanState
|
com.mojang.blaze3d.platform.GlStateManager.CapabilityTracker net.minecraft.client.renderer.GlStateManager.BooleanState
|
||||||
com.mojang.blaze3d.platform.GlStateManager.FogState net.minecraft.client.renderer.GlStateManager.FogState
|
com.mojang.blaze3d.platform.GlStateManager.FogState net.minecraft.client.renderer.GlStateManager.FogState
|
||||||
@@ -189,11 +228,10 @@ com.mojang.blaze3d.platform.GlStateManager.Texture2DState capState texture2DStat
|
|||||||
net.minecraft.SharedConstants isValidChar() isAllowedCharacter()
|
net.minecraft.SharedConstants isValidChar() isAllowedCharacter()
|
||||||
net.minecraft.SharedConstants net.minecraft.util.SharedConstants
|
net.minecraft.SharedConstants net.minecraft.util.SharedConstants
|
||||||
net.minecraft.server.MinecraftServer getLevelName() getWorldName()
|
net.minecraft.server.MinecraftServer getLevelName() getWorldName()
|
||||||
net.minecraft.client.Keyboard onKey() onKeyEvent()
|
com.replaymod.core.versions.MCVer.Keyboard onKey() onKeyEvent()
|
||||||
net.minecraft.client.Keyboard pollDebugCrash() tick()
|
com.replaymod.core.versions.MCVer.Keyboard pollDebugCrash() tick()
|
||||||
net.minecraft.client.Keyboard getClipboard() getClipboardString()
|
com.replaymod.core.versions.MCVer.Keyboard getClipboard() getClipboardString()
|
||||||
net.minecraft.client.Keyboard net.minecraft.client.KeyboardListener
|
com.replaymod.core.versions.MCVer.Keyboard setClipboard() setClipboardString()
|
||||||
net.minecraft.client.Keyboard setClipboard() setClipboardString()
|
|
||||||
net.minecraft.client.MinecraftClient crashed hasCrashed
|
net.minecraft.client.MinecraftClient crashed hasCrashed
|
||||||
net.minecraft.client.MinecraftClient setCrashReport() crashed()
|
net.minecraft.client.MinecraftClient setCrashReport() crashed()
|
||||||
net.minecraft.client.MinecraftClient crashReport crashReporter
|
net.minecraft.client.MinecraftClient crashReport crashReporter
|
||||||
@@ -265,24 +303,24 @@ net.minecraft.client.gui.hud.ChatHud clear() clearChatMessages()
|
|||||||
net.minecraft.client.gui.hud.ChatHud net.minecraft.client.gui.GuiNewChat
|
net.minecraft.client.gui.hud.ChatHud net.minecraft.client.gui.GuiNewChat
|
||||||
net.minecraft.client.gui.hud.InGameHud getChatHud() getChatGUI()
|
net.minecraft.client.gui.hud.InGameHud getChatHud() getChatGUI()
|
||||||
net.minecraft.client.gui.hud.InGameHud net.minecraft.client.gui.GuiIngame
|
net.minecraft.client.gui.hud.InGameHud net.minecraft.client.gui.GuiIngame
|
||||||
net.minecraft.client.options.GameOptions net.minecraft.client.GameSettings
|
net.minecraft.client.GameSettings net.minecraft.client.settings.GameSettings
|
||||||
net.minecraft.client.options.GameOptions debugEnabled showDebugInfo
|
net.minecraft.client.GameSettings debugEnabled showDebugInfo
|
||||||
net.minecraft.client.options.GameOptions viewDistance renderDistanceChunks
|
net.minecraft.client.GameSettings viewDistance renderDistanceChunks
|
||||||
net.minecraft.client.options.GameOptions hudHidden hideGUI
|
net.minecraft.client.GameSettings hudHidden hideGUI
|
||||||
net.minecraft.client.options.GameOptions gamma gammaSetting
|
net.minecraft.client.GameSettings gamma gammaSetting
|
||||||
net.minecraft.client.options.GameOptions keysAll keyBindings
|
net.minecraft.client.GameSettings keysAll keyBindings
|
||||||
net.minecraft.client.options.GameOptions keyChat keyBindChat
|
net.minecraft.client.GameSettings keyChat keyBindChat
|
||||||
net.minecraft.client.options.GameOptions keyCommand keyBindCommand
|
net.minecraft.client.GameSettings keyCommand keyBindCommand
|
||||||
net.minecraft.client.options.GameOptions keyAttack keyBindAttack
|
net.minecraft.client.GameSettings keyAttack keyBindAttack
|
||||||
net.minecraft.client.options.GameOptions keyUse keyBindUseItem
|
net.minecraft.client.GameSettings keyUse keyBindUseItem
|
||||||
net.minecraft.client.options.GameOptions keySneak keyBindSneak
|
net.minecraft.client.GameSettings keySneak keyBindSneak
|
||||||
net.minecraft.client.options.GameOptions keyForward keyBindForward
|
net.minecraft.client.GameSettings keyForward keyBindForward
|
||||||
net.minecraft.client.options.GameOptions keyBack keyBindBack
|
net.minecraft.client.GameSettings keyBack keyBindBack
|
||||||
net.minecraft.client.options.GameOptions keyLeft keyBindLeft
|
net.minecraft.client.GameSettings keyLeft keyBindLeft
|
||||||
net.minecraft.client.options.GameOptions keyRight keyBindRight
|
net.minecraft.client.GameSettings keyRight keyBindRight
|
||||||
net.minecraft.client.options.GameOptions keyJump keyBindJump
|
net.minecraft.client.GameSettings keyJump keyBindJump
|
||||||
net.minecraft.client.options.GameOptions getSoundVolume() getSoundLevel()
|
net.minecraft.client.GameSettings getSoundVolume() getSoundLevel()
|
||||||
net.minecraft.client.options.GameOptions setSoundVolume() setSoundLevel()
|
net.minecraft.client.GameSettings setSoundVolume() setSoundLevel()
|
||||||
net.minecraft.client.options.KeyBinding net.minecraft.client.settings.KeyBinding
|
net.minecraft.client.options.KeyBinding net.minecraft.client.settings.KeyBinding
|
||||||
net.minecraft.client.options.KeyBinding timesPressed pressTime
|
net.minecraft.client.options.KeyBinding timesPressed pressTime
|
||||||
net.minecraft.client.options.KeyBinding wasPressed() isPressed()
|
net.minecraft.client.options.KeyBinding wasPressed() isPressed()
|
||||||
@@ -301,10 +339,8 @@ net.minecraft.client.render.Tessellator net.minecraft.client.renderer.Tessellato
|
|||||||
net.minecraft.client.render.VertexFormat net.minecraft.client.renderer.vertex.VertexFormat
|
net.minecraft.client.render.VertexFormat net.minecraft.client.renderer.vertex.VertexFormat
|
||||||
net.minecraft.client.render.VertexFormat getVertexSize() getSize()
|
net.minecraft.client.render.VertexFormat getVertexSize() getSize()
|
||||||
net.minecraft.client.render.VertexFormat getElementOffset() getOffset()
|
net.minecraft.client.render.VertexFormat getElementOffset() getOffset()
|
||||||
net.minecraft.client.render.VertexFormatElement net.minecraft.client.renderer.vertex.VertexFormatElement
|
net.minecraft.client.renderer.vertex.VertexFormatElement net.minecraft.client.renderer.vertex.VertexFormatElement
|
||||||
net.minecraft.client.render.VertexFormatElement getType() getUsage()
|
net.minecraft.client.renderer.vertex.VertexFormatElement.Type net.minecraft.client.renderer.vertex.VertexFormatElement.EnumType
|
||||||
net.minecraft.client.render.VertexFormatElement getFormat() getType()
|
|
||||||
net.minecraft.client.render.VertexFormatElement.Format net.minecraft.client.renderer.vertex.VertexFormatElement.EnumType
|
|
||||||
net.minecraft.client.render.VertexFormats net.minecraft.client.renderer.vertex.DefaultVertexFormats
|
net.minecraft.client.render.VertexFormats net.minecraft.client.renderer.vertex.DefaultVertexFormats
|
||||||
net.minecraft.client.render.VertexFormats POSITION_COLOR_UV_LMAP BLOCK
|
net.minecraft.client.render.VertexFormats POSITION_COLOR_UV_LMAP BLOCK
|
||||||
net.minecraft.client.render.VertexFormats POSITION_COLOR_UV_NORMAL ITEM
|
net.minecraft.client.render.VertexFormats POSITION_COLOR_UV_NORMAL ITEM
|
||||||
@@ -325,11 +361,10 @@ net.minecraft.client.util.Window getScaleFactor() getGuiScaleFactor()
|
|||||||
net.minecraft.client.util.Window setFullscreen() update()
|
net.minecraft.client.util.Window setFullscreen() update()
|
||||||
net.minecraft.client.util.Window method_4493() setupOverlayRendering()
|
net.minecraft.client.util.Window method_4493() setupOverlayRendering()
|
||||||
net.minecraft.client.util.Window net.minecraft.client.MainWindow
|
net.minecraft.client.util.Window net.minecraft.client.MainWindow
|
||||||
net.minecraft.resource.DirectoryResourcePack net.minecraft.resources.FolderPack
|
net.minecraft.resources.AbstractResourcePack net.minecraft.resources.AbstractResourcePack
|
||||||
net.minecraft.resource.AbstractFileResourcePack net.minecraft.resources.AbstractResourcePack
|
net.minecraft.resources.AbstractResourcePack openFile() getInputStream()
|
||||||
net.minecraft.resource.AbstractFileResourcePack openFile() getInputStream()
|
net.minecraft.resources.AbstractResourcePack containsFile() resourceExists()
|
||||||
net.minecraft.resource.AbstractFileResourcePack containsFile() resourceExists()
|
net.minecraft.resources.AbstractResourcePack base file
|
||||||
net.minecraft.resource.AbstractFileResourcePack base file
|
|
||||||
net.minecraft.resource.ResourcePackContainer net.minecraft.resources.ResourcePackInfo
|
net.minecraft.resource.ResourcePackContainer net.minecraft.resources.ResourcePackInfo
|
||||||
net.minecraft.resource.ResourcePackContainer.Factory net.minecraft.resources.ResourcePackInfo.IFactory
|
net.minecraft.resource.ResourcePackContainer.Factory net.minecraft.resources.ResourcePackInfo.IFactory
|
||||||
net.minecraft.resource.ResourcePackContainer.InsertionPosition net.minecraft.resources.ResourcePackInfo.Priority
|
net.minecraft.resource.ResourcePackContainer.InsertionPosition net.minecraft.resources.ResourcePackInfo.Priority
|
||||||
@@ -358,13 +393,13 @@ net.minecraft.network.ClientConnection isLocal() isLocalChannel()
|
|||||||
net.minecraft.world.World getGeneratorType() getWorldType()
|
net.minecraft.world.World getGeneratorType() getWorldType()
|
||||||
net.minecraft.world.World getChunkManager() getChunkProvider()
|
net.minecraft.world.World getChunkManager() getChunkProvider()
|
||||||
net.minecraft.world.World getEntityById() getEntityByID()
|
net.minecraft.world.World getEntityById() getEntityByID()
|
||||||
net.minecraft.world.EntityView getPlayerByUuid() net.minecraft.world.World getPlayerEntityByUUID()
|
net.minecraft.world.IEntityReader getPlayerByUuid() net.minecraft.world.World getPlayerEntityByUUID()
|
||||||
net.minecraft.world.level.LevelGeneratorType net.minecraft.world.WorldType
|
net.minecraft.world.level.LevelGeneratorType net.minecraft.world.WorldType
|
||||||
net.minecraft.client.render.entity.EntityRenderDispatcher net.minecraft.client.renderer.entity.RenderManager
|
net.minecraft.client.renderer.entity.EntityRendererManager net.minecraft.client.renderer.entity.RenderManager
|
||||||
net.minecraft.client.render.entity.EntityRenderDispatcher cameraYaw playerViewY
|
net.minecraft.client.renderer.entity.EntityRendererManager cameraYaw playerViewY
|
||||||
net.minecraft.client.render.entity.EntityRenderDispatcher cameraPitch playerViewX
|
net.minecraft.client.renderer.entity.EntityRendererManager cameraPitch playerViewX
|
||||||
net.minecraft.client.render.entity.EntityRenderDispatcher configure() cacheActiveRenderInfo()
|
net.minecraft.client.renderer.entity.EntityRendererManager configure() cacheActiveRenderInfo()
|
||||||
net.minecraft.client.render.entity.EntityRenderDispatcher render() renderEntityStatic()
|
net.minecraft.client.renderer.entity.EntityRendererManager render() renderEntityStatic()
|
||||||
net.minecraft.util.SystemUtil net.minecraft.util.Util
|
net.minecraft.util.SystemUtil net.minecraft.util.Util
|
||||||
net.minecraft.util.SystemUtil getMeasuringTimeMs() milliTime()
|
net.minecraft.util.SystemUtil getMeasuringTimeMs() milliTime()
|
||||||
net.minecraft.util.SystemUtil getOperatingSystem() getOSType()
|
net.minecraft.util.SystemUtil getOperatingSystem() getOSType()
|
||||||
@@ -375,34 +410,33 @@ net.minecraft.util.SystemUtil.OperatingSystem open() openFile()
|
|||||||
net.minecraft.client.util.InputUtil net.minecraft.client.util.InputMappings
|
net.minecraft.client.util.InputUtil net.minecraft.client.util.InputMappings
|
||||||
net.minecraft.client.util.InputUtil isKeyPressed() isKeyDown()
|
net.minecraft.client.util.InputUtil isKeyPressed() isKeyDown()
|
||||||
net.minecraft.client.util.InputUtil$KeyCode net.minecraft.client.util.InputMappings$Input
|
net.minecraft.client.util.InputUtil$KeyCode net.minecraft.client.util.InputMappings$Input
|
||||||
net.minecraft.client.resource.ClientResourcePackCreator net.minecraft.client.resources.DownloadingPackFinder
|
net.minecraft.client.resources.DownloadingPackFinder func_217818_a() downloadResourcePack()
|
||||||
net.minecraft.client.resource.ClientResourcePackCreator loadServerPack() func_195741_a()
|
net.minecraft.client.resources.DownloadingPackFinder func_217816_a() setServerResourcePack()
|
||||||
net.minecraft.client.resource.ClientResourcePackCreator download() downloadResourcePack()
|
net.minecraft.client.entity.player.ClientPlayerEntity net.minecraft.client.entity.EntityPlayerSP
|
||||||
net.minecraft.client.network.ClientPlayerEntity net.minecraft.client.entity.EntityPlayerSP
|
net.minecraft.client.entity.player.ClientPlayerEntity client mc
|
||||||
net.minecraft.client.network.ClientPlayerEntity client mc
|
net.minecraft.client.entity.player.ClientPlayerEntity renderYaw renderArmYaw
|
||||||
net.minecraft.client.network.ClientPlayerEntity renderYaw renderArmYaw
|
net.minecraft.client.entity.player.ClientPlayerEntity renderPitch renderArmPitch
|
||||||
net.minecraft.client.network.ClientPlayerEntity renderPitch renderArmPitch
|
net.minecraft.client.entity.player.ClientPlayerEntity lastRenderYaw prevRenderArmYaw
|
||||||
net.minecraft.client.network.ClientPlayerEntity lastRenderYaw prevRenderArmYaw
|
net.minecraft.client.entity.player.ClientPlayerEntity lastRenderPitch prevRenderArmPitch
|
||||||
net.minecraft.client.network.ClientPlayerEntity lastRenderPitch prevRenderArmPitch
|
net.minecraft.client.entity.player.AbstractClientPlayerEntity net.minecraft.client.entity.AbstractClientPlayer
|
||||||
net.minecraft.client.network.AbstractClientPlayerEntity net.minecraft.client.entity.AbstractClientPlayer
|
net.minecraft.client.entity.player.AbstractClientPlayerEntity getSkinTexture() getLocationSkin()
|
||||||
net.minecraft.client.network.AbstractClientPlayerEntity getSkinTexture() getLocationSkin()
|
net.minecraft.client.entity.player.AbstractClientPlayerEntity getModel() getSkinType()
|
||||||
net.minecraft.client.network.AbstractClientPlayerEntity getModel() getSkinType()
|
net.minecraft.client.network.login.ClientLoginNetHandler net.minecraft.client.network.NetHandlerLoginClient
|
||||||
net.minecraft.client.network.ClientLoginNetworkHandler net.minecraft.client.network.NetHandlerLoginClient
|
net.minecraft.client.network.login.ClientLoginNetHandler connection networkManager
|
||||||
net.minecraft.client.network.ClientLoginNetworkHandler connection networkManager
|
net.minecraft.client.network.login.ClientLoginNetHandler onQueryRequest() func_209521_a()
|
||||||
net.minecraft.client.network.ClientLoginNetworkHandler onQueryRequest() func_209521_a()
|
net.minecraft.client.network.login.ClientLoginNetHandler onLoginSuccess() handleLoginSuccess()
|
||||||
net.minecraft.client.network.ClientLoginNetworkHandler onLoginSuccess() handleLoginSuccess()
|
net.minecraft.client.network.play.ClientPlayNetHandler net.minecraft.client.network.NetHandlerPlayClient
|
||||||
net.minecraft.client.network.ClientPlayNetworkHandler net.minecraft.client.network.NetHandlerPlayClient
|
net.minecraft.client.network.play.ClientPlayNetHandler getConnection() getNetworkManager()
|
||||||
net.minecraft.client.network.ClientPlayNetworkHandler getConnection() getNetworkManager()
|
net.minecraft.client.network.play.ClientPlayNetHandler playerListEntries playerInfoMap
|
||||||
net.minecraft.client.network.ClientPlayNetworkHandler playerListEntries playerInfoMap
|
net.minecraft.client.network.play.ClientPlayNetHandler onPlayerList() handlePlayerListItem()
|
||||||
net.minecraft.client.network.ClientPlayNetworkHandler onPlayerList() handlePlayerListItem()
|
net.minecraft.client.network.play.ClientPlayNetHandler onPlayerRespawn() handleRespawn()
|
||||||
net.minecraft.client.network.ClientPlayNetworkHandler onPlayerRespawn() handleRespawn()
|
net.minecraft.client.network.play.ClientPlayNetHandler getPlayerListEntry() getPlayerInfo()
|
||||||
net.minecraft.client.network.ClientPlayNetworkHandler getPlayerListEntry() getPlayerInfo()
|
net.minecraft.client.network.play.NetworkPlayerInfo net.minecraft.client.network.NetworkPlayerInfo
|
||||||
net.minecraft.client.network.PlayerListEntry net.minecraft.client.network.NetworkPlayerInfo
|
net.minecraft.client.network.play.NetworkPlayerInfo hasSkinTexture() hasLocationSkin()
|
||||||
net.minecraft.client.network.PlayerListEntry hasSkinTexture() hasLocationSkin()
|
net.minecraft.client.network.play.NetworkPlayerInfo getSkinTexture() getLocationSkin()
|
||||||
net.minecraft.client.network.PlayerListEntry getSkinTexture() getLocationSkin()
|
|
||||||
net.minecraft.client.util.DefaultSkinHelper net.minecraft.client.resources.DefaultPlayerSkin
|
net.minecraft.client.util.DefaultSkinHelper net.minecraft.client.resources.DefaultPlayerSkin
|
||||||
net.minecraft.client.util.DefaultSkinHelper getTexture() getDefaultSkin()
|
net.minecraft.client.util.DefaultSkinHelper getTexture() getDefaultSkin()
|
||||||
net.minecraft.entity.decoration.ItemFrameEntity net.minecraft.entity.item.EntityItemFrame
|
net.minecraft.entity.item.ItemFrameEntity net.minecraft.entity.item.EntityItemFrame
|
||||||
net.minecraft.entity.player.PlayerEntity net.minecraft.entity.player.EntityPlayer
|
net.minecraft.entity.player.PlayerEntity net.minecraft.entity.player.EntityPlayer
|
||||||
net.minecraft.entity.player.PlayerEntity selectedItem itemStackMainHand
|
net.minecraft.entity.player.PlayerEntity selectedItem itemStackMainHand
|
||||||
net.minecraft.entity.player.PlayerEntity isSleeping() isPlayerSleeping()
|
net.minecraft.entity.player.PlayerEntity isSleeping() isPlayerSleeping()
|
||||||
@@ -410,7 +444,7 @@ net.minecraft.entity.player.PlayerEntity getEquippedStack() getItemStackFromSlot
|
|||||||
net.minecraft.entity.player.PlayerEntity getAttackCooldownProgressPerTick() getCooldownPeriod()
|
net.minecraft.entity.player.PlayerEntity getAttackCooldownProgressPerTick() getCooldownPeriod()
|
||||||
net.minecraft.entity.player.PlayerEntity getAttackCooldownProgress() getCooledAttackStrength()
|
net.minecraft.entity.player.PlayerEntity getAttackCooldownProgress() getCooledAttackStrength()
|
||||||
net.minecraft.entity.player.PlayerEntity isSkinOverlayVisible() isWearing()
|
net.minecraft.entity.player.PlayerEntity isSkinOverlayVisible() isWearing()
|
||||||
net.minecraft.entity.mob.MobEntity net.minecraft.entity.EntityLiving
|
net.minecraft.entity.MobEntity net.minecraft.entity.EntityLiving
|
||||||
net.minecraft.entity.LivingEntity net.minecraft.entity.EntityLivingBase
|
net.minecraft.entity.LivingEntity net.minecraft.entity.EntityLivingBase
|
||||||
net.minecraft.entity.LivingEntity headYaw rotationYawHead
|
net.minecraft.entity.LivingEntity headYaw rotationYawHead
|
||||||
net.minecraft.entity.LivingEntity prevHeadYaw prevRotationYawHead
|
net.minecraft.entity.LivingEntity prevHeadYaw prevRotationYawHead
|
||||||
@@ -431,7 +465,7 @@ net.minecraft.entity.LivingEntity getStatusEffect() getActivePotionEffect()
|
|||||||
net.minecraft.entity.LivingEntity tickMovement() livingTick()
|
net.minecraft.entity.LivingEntity tickMovement() livingTick()
|
||||||
net.minecraft.entity.Entity afterSpawn() preparePlayerToSpawn()
|
net.minecraft.entity.Entity afterSpawn() preparePlayerToSpawn()
|
||||||
net.minecraft.entity.Entity getVehicle() getRidingEntity()
|
net.minecraft.entity.Entity getVehicle() getRidingEntity()
|
||||||
net.minecraft.entity.Entity isRiding() isPassenger()
|
net.minecraft.entity.Entity isRowingBoat() isRiding()
|
||||||
net.minecraft.entity.Entity getUuid() getUniqueID()
|
net.minecraft.entity.Entity getUuid() getUniqueID()
|
||||||
net.minecraft.entity.Entity isInsideWall() isEntityInsideOpaqueBlock()
|
net.minecraft.entity.Entity isInsideWall() isEntityInsideOpaqueBlock()
|
||||||
net.minecraft.entity.Entity isOnFire() isBurning()
|
net.minecraft.entity.Entity isOnFire() isBurning()
|
||||||
@@ -460,18 +494,18 @@ net.minecraft.entity.Entity prevRenderZ lastTickPosZ
|
|||||||
net.minecraft.world.chunk.WorldChunk net.minecraft.world.chunk.Chunk
|
net.minecraft.world.chunk.WorldChunk net.minecraft.world.chunk.Chunk
|
||||||
net.minecraft.world.chunk.WorldChunk getEntitySectionArray() getEntityLists()
|
net.minecraft.world.chunk.WorldChunk getEntitySectionArray() getEntityLists()
|
||||||
net.minecraft.util.math.Box net.minecraft.util.math.AxisAlignedBB
|
net.minecraft.util.math.Box net.minecraft.util.math.AxisAlignedBB
|
||||||
net.minecraft.world.RayTraceContext net.minecraft.util.math.RayTraceResult
|
net.minecraft.util.math.RayTraceContext net.minecraft.util.math.RayTraceResult
|
||||||
net.minecraft.entity.EquipmentSlot net.minecraft.inventory.EntityEquipmentSlot
|
net.minecraft.inventory.EquipmentSlotType net.minecraft.inventory.EntityEquipmentSlot
|
||||||
net.minecraft.stat.StatHandler net.minecraft.stats.StatisticsManager
|
net.minecraft.stat.StatHandler net.minecraft.stats.StatisticsManager
|
||||||
net.minecraft.client.recipe.book.ClientRecipeBook net.minecraft.client.util.RecipeBookClient
|
net.minecraft.client.recipe.book.ClientRecipeBook net.minecraft.client.util.RecipeBookClient
|
||||||
net.minecraft.util.Hand net.minecraft.util.EnumHand
|
net.minecraft.util.Hand net.minecraft.util.EnumHand
|
||||||
net.minecraft.client.model.Box net.minecraft.client.renderer.entity.model.ModelBox
|
net.minecraft.client.renderer.model.ModelBox net.minecraft.client.model.ModelBox
|
||||||
net.minecraft.client.model.Cuboid net.minecraft.client.renderer.entity.model.ModelRenderer
|
net.minecraft.client.renderer.entity.model.RendererModel net.minecraft.client.model.ModelRenderer
|
||||||
net.minecraft.client.model.Cuboid boxes cubeList
|
net.minecraft.client.renderer.entity.model.RendererModel boxes cubeList
|
||||||
net.minecraft.client.model.Cuboid name boxName
|
net.minecraft.client.renderer.entity.model.RendererModel name boxName
|
||||||
net.minecraft.client.model.Cuboid method_2852() renderWithRotation()
|
net.minecraft.client.renderer.entity.model.RendererModel method_2852() renderWithRotation()
|
||||||
net.minecraft.client.texture.SpriteAtlasTexture net.minecraft.client.renderer.texture.TextureMap
|
net.minecraft.client.renderer.texture.AtlasTexture net.minecraft.client.renderer.texture.TextureMap
|
||||||
net.minecraft.client.texture.SpriteAtlasTexture BLOCK_ATLAS_TEX LOCATION_BLOCKS_TEXTURE
|
net.minecraft.client.renderer.texture.AtlasTexture BLOCK_ATLAS_TEX LOCATION_BLOCKS_TEXTURE
|
||||||
net.minecraft.client.render.RenderTickCounter net.minecraft.util.Timer
|
net.minecraft.client.render.RenderTickCounter net.minecraft.util.Timer
|
||||||
net.minecraft.client.render.RenderTickCounter ticksThisFrame elapsedTicks
|
net.minecraft.client.render.RenderTickCounter ticksThisFrame elapsedTicks
|
||||||
net.minecraft.client.render.RenderTickCounter tickDelta renderPartialTicks
|
net.minecraft.client.render.RenderTickCounter tickDelta renderPartialTicks
|
||||||
@@ -483,73 +517,73 @@ net.minecraft.client.world.ClientWorld net.minecraft.client.multiplayer.WorldCli
|
|||||||
net.minecraft.client.world.ClientWorld client mc
|
net.minecraft.client.world.ClientWorld client mc
|
||||||
net.minecraft.client.world.ClientWorld disconnect() sendQuittingDisconnectingPacket()
|
net.minecraft.client.world.ClientWorld disconnect() sendQuittingDisconnectingPacket()
|
||||||
|
|
||||||
net.minecraft.client.network.packet.LoginQueryRequestS2CPacket net.minecraft.network.login.server.SPacketCustomPayloadLogin
|
#net.minecraft.client.network.packet net.minecraft.network.play.server
|
||||||
net.minecraft.client.network.packet.LoginCompressionS2CPacket net.minecraft.network.login.server.SPacketEnableCompression
|
net.minecraft.network.login.server.SCustomPayloadLoginPacket net.minecraft.network.login.server.SPacketCustomPayloadLogin
|
||||||
net.minecraft.client.network.packet.LoginSuccessS2CPacket net.minecraft.network.login.server.SPacketLoginSuccess
|
net.minecraft.network.login.server.SEnableCompressionPacket net.minecraft.network.login.server.SPacketEnableCompression
|
||||||
net.minecraft.client.network.packet net.minecraft.network.play.server
|
net.minecraft.network.login.server.SLoginSuccessPacket net.minecraft.network.login.server.SPacketLoginSuccess
|
||||||
net.minecraft.client.network.packet.GameJoinS2CPacket net.minecraft.network.play.server.SPacketJoinGame
|
net.minecraft.network.play.server.SJoinGamePacket net.minecraft.network.play.server.SPacketJoinGame
|
||||||
net.minecraft.client.network.packet.GameJoinS2CPacket getEntityId() getPlayerId()
|
net.minecraft.client.network.packet.GameJoinS2CPacket getEntityId() getPlayerId()
|
||||||
net.minecraft.client.network.packet.GameJoinS2CPacket getDimension() func_212642_e()
|
net.minecraft.client.network.packet.GameJoinS2CPacket getDimension() func_212642_e()
|
||||||
net.minecraft.client.network.packet.GameJoinS2CPacket getDifficulty() getDifficulty()
|
net.minecraft.client.network.packet.GameJoinS2CPacket getDifficulty() getDifficulty()
|
||||||
net.minecraft.client.network.packet.ChatMessageS2CPacket net.minecraft.network.play.server.SPacketChat
|
net.minecraft.network.play.server.SChatPacket net.minecraft.network.play.server.SPacketChat
|
||||||
net.minecraft.client.network.packet.ParticleS2CPacket net.minecraft.network.play.server.SPacketParticles
|
net.minecraft.network.play.server.SSpawnParticlePacket net.minecraft.network.play.server.SPacketParticles
|
||||||
net.minecraft.client.network.packet.GameStateChangeS2CPacket net.minecraft.network.play.server.SPacketChangeGameState
|
net.minecraft.network.play.server.SChangeGameStatePacket net.minecraft.network.play.server.SPacketChangeGameState
|
||||||
net.minecraft.client.network.packet.GameStateChangeS2CPacket getReason() getGameState()
|
net.minecraft.client.network.packet.GameStateChangeS2CPacket getReason() getGameState()
|
||||||
net.minecraft.client.network.packet.PlayerPositionLookS2CPacket net.minecraft.network.play.server.SPacketPlayerPosLook
|
net.minecraft.network.play.server.SPlayerPositionLookPacket net.minecraft.network.play.server.SPacketPlayerPosLook
|
||||||
net.minecraft.client.network.packet.PlayerPositionLookS2CPacket.Flag net.minecraft.network.play.server.SPacketPlayerPosLook.EnumFlags
|
net.minecraft.network.play.server.SPlayerPositionLookPacket.Flag net.minecraft.network.play.server.SPacketPlayerPosLook.EnumFlags
|
||||||
net.minecraft.client.network.packet.PlayerListS2CPacket net.minecraft.network.play.server.SPacketPlayerListItem
|
net.minecraft.network.play.server.SPlayerListItemPacket net.minecraft.network.play.server.SPacketPlayerListItem
|
||||||
net.minecraft.client.network.packet.PlayerListS2CPacket.Action net.minecraft.network.play.server.SPacketPlayerListItem.Action
|
net.minecraft.network.play.server.SPlayerListItemPacket.Action net.minecraft.network.play.server.SPacketPlayerListItem.Action
|
||||||
net.minecraft.client.network.packet.PlayerListS2CPacket.Entry net.minecraft.network.play.server.SPacketPlayerListItem.AddPlayerData
|
net.minecraft.network.play.server.SPlayerListItemPacket.Entry net.minecraft.network.play.server.SPacketPlayerListItem.AddPlayerData
|
||||||
net.minecraft.client.network.packet.PlayerRespawnS2CPacket net.minecraft.network.play.server.SPacketRespawn
|
net.minecraft.network.play.server.SRespawnPacket net.minecraft.network.play.server.SPacketRespawn
|
||||||
net.minecraft.client.network.packet.PlayerSpawnS2CPacket net.minecraft.network.play.server.SPacketSpawnPlayer
|
net.minecraft.network.play.server.SSpawnPlayerPacket net.minecraft.network.play.server.SPacketSpawnPlayer
|
||||||
net.minecraft.client.network.packet.PlayerSpawnS2CPacket getPlayerUuid() getUniqueId()
|
net.minecraft.client.network.packet.PlayerSpawnS2CPacket getPlayerUuid() getUniqueId()
|
||||||
net.minecraft.client.network.packet.PlayerSpawnS2CPacket getTrackedValues() getDataManagerEntries()
|
net.minecraft.client.network.packet.PlayerSpawnS2CPacket getTrackedValues() getDataManagerEntries()
|
||||||
net.minecraft.client.network.packet.PlayerSpawnS2CPacket dataTracker watcher
|
net.minecraft.client.network.packet.PlayerSpawnS2CPacket dataTracker watcher
|
||||||
net.minecraft.client.network.packet.EntitySpawnS2CPacket net.minecraft.network.play.server.SPacketSpawnObject
|
net.minecraft.network.play.server.SSpawnObjectPacket net.minecraft.network.play.server.SPacketSpawnObject
|
||||||
net.minecraft.client.network.packet.MobSpawnS2CPacket net.minecraft.network.play.server.SPacketSpawnMob
|
net.minecraft.network.play.server.SSpawnMobPacket net.minecraft.network.play.server.SPacketSpawnMob
|
||||||
net.minecraft.client.network.packet.MobSpawnS2CPacket getTrackedValues() getDataManagerEntries()
|
net.minecraft.client.network.packet.MobSpawnS2CPacket getTrackedValues() getDataManagerEntries()
|
||||||
net.minecraft.client.network.packet.MobSpawnS2CPacket dataTracker dataManager
|
net.minecraft.client.network.packet.MobSpawnS2CPacket dataTracker dataManager
|
||||||
net.minecraft.client.network.packet.EntitySpawnGlobalS2CPacket net.minecraft.network.play.server.SPacketSpawnGlobalEntity
|
net.minecraft.network.play.server.SSpawnGlobalEntityPacket net.minecraft.network.play.server.SPacketSpawnGlobalEntity
|
||||||
net.minecraft.client.network.packet.PaintingSpawnS2CPacket net.minecraft.network.play.server.SPacketSpawnPainting
|
net.minecraft.network.play.server.SSpawnPaintingPacket net.minecraft.network.play.server.SPacketSpawnPainting
|
||||||
net.minecraft.client.network.packet.ExperienceOrbSpawnS2CPacket net.minecraft.network.play.server.SPacketSpawnExperienceOrb
|
net.minecraft.network.play.server.SSpawnExperienceOrbPacket net.minecraft.network.play.server.SPacketSpawnExperienceOrb
|
||||||
net.minecraft.client.network.packet.EntitiesDestroyS2CPacket net.minecraft.network.play.server.SPacketDestroyEntities
|
net.minecraft.network.play.server.SDestroyEntitiesPacket net.minecraft.network.play.server.SPacketDestroyEntities
|
||||||
net.minecraft.client.network.packet.EntityPositionS2CPacket net.minecraft.network.play.server.SPacketEntityTeleport
|
net.minecraft.network.play.server.SEntityTeleportPacket net.minecraft.network.play.server.SPacketEntityTeleport
|
||||||
net.minecraft.client.network.packet.EntitySetHeadYawS2CPacket net.minecraft.network.play.server.SPacketEntityHeadLook
|
net.minecraft.network.play.server.SEntityHeadLookPacket net.minecraft.network.play.server.SPacketEntityHeadLook
|
||||||
net.minecraft.client.network.packet.EntityVelocityUpdateS2CPacket net.minecraft.network.play.server.SPacketEntityVelocity
|
net.minecraft.network.play.server.SEntityVelocityPacket net.minecraft.network.play.server.SPacketEntityVelocity
|
||||||
net.minecraft.client.network.packet.EntityAttachS2CPacket net.minecraft.network.play.server.SPacketEntityAttach
|
net.minecraft.network.play.server.SMountEntityPacket net.minecraft.network.play.server.SPacketEntityAttach
|
||||||
net.minecraft.client.network.packet.EntityAnimationS2CPacket net.minecraft.network.play.server.SPacketAnimation
|
net.minecraft.network.play.server.SAnimateHandPacket net.minecraft.network.play.server.SPacketAnimation
|
||||||
net.minecraft.client.network.packet.ItemPickupAnimationS2CPacket net.minecraft.network.play.server.SPacketCollectItem
|
net.minecraft.network.play.server.SCollectItemPacket net.minecraft.network.play.server.SPacketCollectItem
|
||||||
net.minecraft.client.network.packet.ItemPickupAnimationS2CPacket getEntityId() getEntityID()
|
net.minecraft.client.network.packet.ItemPickupAnimationS2CPacket getEntityId() getEntityID()
|
||||||
net.minecraft.client.network.packet.BlockBreakingProgressS2CPacket net.minecraft.network.play.server.SPacketBlockBreakAnim
|
net.minecraft.network.play.server.SAnimateBlockBreakPacket net.minecraft.network.play.server.SPacketBlockBreakAnim
|
||||||
net.minecraft.server.network.packet.ResourcePackStatusC2SPacket net.minecraft.network.play.client.CPacketResourcePackStatus
|
net.minecraft.network.play.client.CResourcePackStatusPacket net.minecraft.network.play.client.CPacketResourcePackStatus
|
||||||
net.minecraft.server.network.packet.ResourcePackStatusC2SPacket.Status net.minecraft.network.play.client.CPacketResourcePackStatus.Action
|
net.minecraft.network.play.client.CResourcePackStatusPacket.Status net.minecraft.network.play.client.CPacketResourcePackStatus.Action
|
||||||
net.minecraft.client.network.packet.ResourcePackSendS2CPacket net.minecraft.network.play.server.SPacketResourcePackSend
|
net.minecraft.network.play.server.SSendResourcePackPacket net.minecraft.network.play.server.SPacketResourcePackSend
|
||||||
net.minecraft.client.network.packet.ResourcePackSendS2CPacket getSHA1() getHash()
|
net.minecraft.client.network.packet.ResourcePackSendS2CPacket getSHA1() getHash()
|
||||||
net.minecraft.client.network.packet.CustomPayloadS2CPacket net.minecraft.network.play.server.SPacketCustomPayload
|
net.minecraft.network.play.server.SCustomPayloadPlayPacket net.minecraft.network.play.server.SPacketCustomPayload
|
||||||
net.minecraft.client.network.packet.CustomPayloadS2CPacket getChannel() getChannelName()
|
net.minecraft.client.network.packet.CustomPayloadS2CPacket getChannel() getChannelName()
|
||||||
net.minecraft.client.network.packet.CustomPayloadS2CPacket getData() getBufferData()
|
net.minecraft.client.network.packet.CustomPayloadS2CPacket getData() getBufferData()
|
||||||
net.minecraft.client.network.packet.DisconnectS2CPacket net.minecraft.network.play.server.SPacketDisconnect
|
net.minecraft.network.play.server.SDisconnectPacket net.minecraft.network.play.server.SPacketDisconnect
|
||||||
net.minecraft.client.network.packet.LoginSuccessS2CPacket net.minecraft.network.login.server.SPacketLoginSuccess
|
net.minecraft.network.login.server.SLoginSuccessPacket net.minecraft.network.login.server.SPacketLoginSuccess
|
||||||
net.minecraft.client.network.packet.SynchronizeRecipesS2CPacket net.minecraft.network.play.server.SPacketRecipeBook
|
net.minecraft.network.play.server.SUpdateRecipesPacket net.minecraft.network.play.server.SPacketRecipeBook
|
||||||
net.minecraft.client.network.packet.AdvancementUpdateS2CPacket net.minecraft.network.play.server.SPacketAdvancementInfo
|
net.minecraft.network.play.server.SAdvancementInfoPacket net.minecraft.network.play.server.SPacketAdvancementInfo
|
||||||
net.minecraft.client.network.packet.SelectAdvancementTabS2CPacket net.minecraft.network.play.server.SPacketSelectAdvancementsTab
|
net.minecraft.network.play.server.SSelectAdvancementsTabPacket net.minecraft.network.play.server.SPacketSelectAdvancementsTab
|
||||||
net.minecraft.client.network.packet.HealthUpdateS2CPacket net.minecraft.network.play.server.SPacketUpdateHealth
|
net.minecraft.network.play.server.SUpdateHealthPacket net.minecraft.network.play.server.SPacketUpdateHealth
|
||||||
net.minecraft.client.network.packet.GuiOpenS2CPacket net.minecraft.network.play.server.SPacketOpenWindow
|
net.minecraft.network.play.server.SOpenHorseWindowPacket net.minecraft.network.play.server.SPacketOpenWindow
|
||||||
net.minecraft.client.network.packet.GuiCloseS2CPacket net.minecraft.network.play.server.SPacketCloseWindow
|
net.minecraft.network.play.server.SCloseWindowPacket net.minecraft.network.play.server.SPacketCloseWindow
|
||||||
net.minecraft.client.network.packet.GuiSlotUpdateS2CPacket net.minecraft.network.play.server.SPacketSetSlot
|
net.minecraft.network.play.server.SSetSlotPacket net.minecraft.network.play.server.SPacketSetSlot
|
||||||
net.minecraft.client.network.packet.GuiUpdateS2CPacket net.minecraft.network.play.server.SPacketWindowItems
|
net.minecraft.network.play.server.SWindowPropertyPacket net.minecraft.network.play.server.SPacketWindowItems
|
||||||
net.minecraft.client.network.packet.SignEditorOpenS2CPacket net.minecraft.network.play.server.SPacketSignEditorOpen
|
net.minecraft.network.play.server.SOpenSignMenuPacket net.minecraft.network.play.server.SPacketSignEditorOpen
|
||||||
net.minecraft.client.network.packet.StatisticsS2CPacket net.minecraft.network.play.server.SPacketStatistics
|
net.minecraft.network.play.server.SStatisticsPacket net.minecraft.network.play.server.SPacketStatistics
|
||||||
net.minecraft.client.network.packet.ExperienceBarUpdateS2CPacket net.minecraft.network.play.server.SPacketSetExperience
|
net.minecraft.network.play.server.SSetExperiencePacket net.minecraft.network.play.server.SPacketSetExperience
|
||||||
net.minecraft.client.network.packet.SetCameraEntityS2CPacket net.minecraft.network.play.server.SPacketCamera
|
net.minecraft.network.play.server.SCameraPacket net.minecraft.network.play.server.SPacketCamera
|
||||||
net.minecraft.client.network.packet.PlayerAbilitiesS2CPacket net.minecraft.network.play.server.SPacketPlayerAbilities
|
net.minecraft.network.play.server.SPlayerAbilitiesPacket net.minecraft.network.play.server.SPacketPlayerAbilities
|
||||||
net.minecraft.client.network.packet.TitleS2CPacket net.minecraft.network.play.server.SPacketTitle
|
net.minecraft.network.play.server.STitlePacket net.minecraft.network.play.server.SPacketTitle
|
||||||
net.minecraft.client.network.packet.UnloadChunkS2CPacket net.minecraft.network.play.server.SPacketUnloadChunk
|
net.minecraft.network.play.server.SUnloadChunkPacket net.minecraft.network.play.server.SPacketUnloadChunk
|
||||||
net.minecraft.client.network.packet.PlaySoundS2CPacket net.minecraft.network.play.server.SPacketSoundEffect
|
net.minecraft.network.play.server.SPlaySoundEffectPacket net.minecraft.network.play.server.SPacketSoundEffect
|
||||||
net.minecraft.client.network.packet.WorldEventS2CPacket net.minecraft.network.play.server.SPacketEffect
|
net.minecraft.network.play.server.SPlaySoundEventPacket net.minecraft.network.play.server.SPacketEffect
|
||||||
net.minecraft.client.network.packet.EntityTrackerUpdateS2CPacket net.minecraft.network.play.server.SPacketEntityMetadata
|
net.minecraft.network.play.server.SEntityMetadataPacket net.minecraft.network.play.server.SPacketEntityMetadata
|
||||||
net.minecraft.client.network.packet.EntityEquipmentUpdateS2CPacket net.minecraft.network.play.server.SPacketEntityEquipment
|
net.minecraft.network.play.server.SEntityEquipmentPacket net.minecraft.network.play.server.SPacketEntityEquipment
|
||||||
net.minecraft.client.network.packet.EntityS2CPacket net.minecraft.network.play.server.SPacketEntity
|
net.minecraft.network.play.server.SEntityPacket net.minecraft.network.play.server.SPacketEntity
|
||||||
net.minecraft.client.network.packet.EntityS2CPacket.Rotate net.minecraft.network.play.server.SPacketEntity.Look
|
net.minecraft.network.play.server.SEntityPacket.Rotate net.minecraft.network.play.server.SPacketEntity.Look
|
||||||
net.minecraft.client.network.packet.EntityS2CPacket.MoveRelative net.minecraft.network.play.server.SPacketEntity.RelMove
|
net.minecraft.network.play.server.SEntityPacket.MoveRelative net.minecraft.network.play.server.SPacketEntity.RelMove
|
||||||
net.minecraft.client.network.packet.EntityS2CPacket.RotateAndMoveRelative net.minecraft.network.play.server.SPacketEntity.Move
|
net.minecraft.network.play.server.SEntityPacket.MovePacket net.minecraft.network.play.server.SPacketEntity.Move
|
||||||
@@ -1,2 +1,19 @@
|
|||||||
net.minecraft.client.renderer.WorldRenderer begin() startDrawing()
|
net.minecraft.client.renderer.WorldRenderer begin() startDrawing()
|
||||||
net.minecraft.network.play.server.S38PacketPlayerListItem getAction() func_179768_b()
|
net.minecraft.network.play.server.S38PacketPlayerListItem getAction() func_179768_b()
|
||||||
|
net.minecraft.network.play.server.S40PacketDisconnect getReason() func_149165_c()
|
||||||
|
net.minecraft.network.play.server.S48PacketResourcePackSend getURL() func_179783_a()
|
||||||
|
net.minecraft.network.play.server.S48PacketResourcePackSend getHash() func_179784_b()
|
||||||
|
net.minecraft.network.play.server.S08PacketPlayerPosLook getX() func_148932_c()
|
||||||
|
net.minecraft.network.play.server.S08PacketPlayerPosLook getY() func_148928_d()
|
||||||
|
net.minecraft.network.play.server.S08PacketPlayerPosLook getZ() func_148933_e()
|
||||||
|
net.minecraft.network.play.server.S2BPacketChangeGameState getGameState() func_149138_c()
|
||||||
|
net.minecraft.network.play.server.S0EPacketSpawnObject getType() func_148993_l()
|
||||||
|
net.minecraft.network.play.server.S21PacketChunkData getChunkX() func_149273_e()
|
||||||
|
net.minecraft.network.play.server.S21PacketChunkData getChunkZ() func_149271_f()
|
||||||
|
net.minecraft.network.play.server.S21PacketChunkData getExtractedSize() func_149276_g()
|
||||||
|
net.minecraft.network.play.server.S0CPacketSpawnPlayer watcher field_148960_i
|
||||||
|
net.minecraft.network.play.server.S0CPacketSpawnPlayer getPlayer() func_179819_c()
|
||||||
|
net.minecraft.network.play.server.S0DPacketCollectItem getEntityID() func_149354_c()
|
||||||
|
net.minecraft.util.Timer counter field_74285_i
|
||||||
|
net.minecraft.client.resources.ResourcePackRepository setResourcePackInstance() func_177319_a()
|
||||||
|
net.minecraft.client.resources.ResourcePackRepository downloadResourcePack() func_180601_a()
|
||||||
|
|||||||
@@ -24,10 +24,13 @@ net.minecraftforge.fml.common.network.FMLNetworkEvent cpw.mods.fml.common.networ
|
|||||||
net.minecraftforge.fml.common.network.handshake.FMLHandshakeCodec cpw.mods.fml.common.network.handshake.FMLHandshakeCodec
|
net.minecraftforge.fml.common.network.handshake.FMLHandshakeCodec cpw.mods.fml.common.network.handshake.FMLHandshakeCodec
|
||||||
net.minecraftforge.fml.common.network.handshake.NetworkDispatcher cpw.mods.fml.common.network.handshake.NetworkDispatcher
|
net.minecraftforge.fml.common.network.handshake.NetworkDispatcher cpw.mods.fml.common.network.handshake.NetworkDispatcher
|
||||||
net.minecraftforge.fml.relauncher.Side cpw.mods.fml.relauncher.Side
|
net.minecraftforge.fml.relauncher.Side cpw.mods.fml.relauncher.Side
|
||||||
|
net.minecraftforge.fml.common.gameevent.PlayerEvent cpw.mods.fml.common.gameevent.PlayerEvent
|
||||||
net.minecraftforge.fml.common.gameevent.PlayerEvent.ItemPickupEvent cpw.mods.fml.common.gameevent.PlayerEvent.ItemPickupEvent
|
net.minecraftforge.fml.common.gameevent.PlayerEvent.ItemPickupEvent cpw.mods.fml.common.gameevent.PlayerEvent.ItemPickupEvent
|
||||||
net.minecraftforge.fml.common.network.handshake.FMLHandshakeMessage cpw.mods.fml.common.network.handshake.FMLHandshakeMessage
|
net.minecraftforge.fml.common.network.handshake.FMLHandshakeMessage cpw.mods.fml.common.network.handshake.FMLHandshakeMessage
|
||||||
net.minecraftforge.fml.common.network.handshake.FMLHandshakeMessage.RegistryData cpw.mods.fml.common.network.handshake.FMLHandshakeMessage.ModIdData
|
net.minecraftforge.fml.common.network.handshake.FMLHandshakeMessage.RegistryData cpw.mods.fml.common.network.handshake.FMLHandshakeMessage.ModIdData
|
||||||
net.minecraftforge.fml.common.network.internal.FMLProxyPacket cpw.mods.fml.common.network.internal.FMLProxyPacket
|
net.minecraftforge.fml.common.network.internal.FMLProxyPacket cpw.mods.fml.common.network.internal.FMLProxyPacket
|
||||||
net.minecraftforge.fml.common.network.NetworkRegistry cpw.mods.fml.common.network.NetworkRegistry
|
net.minecraftforge.fml.common.network.NetworkRegistry cpw.mods.fml.common.network.NetworkRegistry
|
||||||
net.minecraftforge.fml.common.gameevent.InputEvent cpw.mods.fml.common.gameevent.InputEvent
|
net.minecraftforge.fml.common.gameevent.InputEvent cpw.mods.fml.common.gameevent.InputEvent
|
||||||
net.minecraft.client.renderer.tileentity.TileEntityEndPortalRenderer net.minecraft.client.renderer.tileentity.RenderEndPortal
|
net.minecraft.client.renderer.tileentity.TileEntityEndPortalRenderer net.minecraft.client.renderer.tileentity.RenderEndPortal
|
||||||
|
net.minecraft.network.play.server.S3FPacketCustomPayload getChannelName() func_149169_c()
|
||||||
|
net.minecraft.network.play.server.S01PacketJoinGame getEntityId() func_149197_c()
|
||||||
|
|||||||
@@ -16,6 +16,10 @@ net.minecraft.client.gui.GuiWorldSelection net.minecraft.client.gui.GuiSelectWor
|
|||||||
net.minecraft.util.math.AxisAlignedBB net.minecraft.util.AxisAlignedBB
|
net.minecraft.util.math.AxisAlignedBB net.minecraft.util.AxisAlignedBB
|
||||||
net.minecraft.util.math.RayTraceResult net.minecraft.util.MovingObjectPosition
|
net.minecraft.util.math.RayTraceResult net.minecraft.util.MovingObjectPosition
|
||||||
net.minecraft.client.renderer.RenderItem net.minecraft.client.renderer.entity.RenderItem
|
net.minecraft.client.renderer.RenderItem net.minecraft.client.renderer.entity.RenderItem
|
||||||
|
net.minecraft.network.play.server.SPacketSpawnMob dataManager field_149043_l
|
||||||
|
net.minecraft.network.play.server.SPacketSpawnMob getDataManagerEntries() func_149027_c()
|
||||||
|
net.minecraft.network.play.server.SPacketSpawnPlayer getDataManagerEntries() func_148944_c()
|
||||||
|
net.minecraft.client.multiplayer.ServerList saveSingleServer() func_147414_b()
|
||||||
|
|
||||||
net.minecraft.network.play.server.SPacketJoinGame net.minecraft.network.play.server.S01PacketJoinGame
|
net.minecraft.network.play.server.SPacketJoinGame net.minecraft.network.play.server.S01PacketJoinGame
|
||||||
net.minecraft.network.play.server.SPacketChat net.minecraft.network.play.server.S02PacketChat
|
net.minecraft.network.play.server.SPacketChat net.minecraft.network.play.server.S02PacketChat
|
||||||
@@ -55,5 +59,7 @@ net.minecraft.network.play.server.SPacketCloseWindow net.minecraft.network.play.
|
|||||||
net.minecraft.network.play.server.SPacketWindowItems net.minecraft.network.play.server.S30PacketWindowItems
|
net.minecraft.network.play.server.SPacketWindowItems net.minecraft.network.play.server.S30PacketWindowItems
|
||||||
net.minecraft.network.play.server.SPacketStatistics net.minecraft.network.play.server.S37PacketStatistics
|
net.minecraft.network.play.server.SPacketStatistics net.minecraft.network.play.server.S37PacketStatistics
|
||||||
net.minecraft.network.play.server.SPacketPlayerAbilities net.minecraft.network.play.server.S39PacketPlayerAbilities
|
net.minecraft.network.play.server.SPacketPlayerAbilities net.minecraft.network.play.server.S39PacketPlayerAbilities
|
||||||
|
net.minecraft.network.play.server.SPacketEntityEquipment net.minecraft.network.play.server.S04PacketEntityEquipment
|
||||||
|
net.minecraft.network.play.server.SPacketUseBed net.minecraft.network.play.server.S0APacketUseBed
|
||||||
net.minecraft.network.login.server.SPacketEnableCompression net.minecraft.network.login.server.S03PacketEnableCompression
|
net.minecraft.network.login.server.SPacketEnableCompression net.minecraft.network.login.server.S03PacketEnableCompression
|
||||||
net.minecraft.network.login.server.SPacketLoginSuccess net.minecraft.network.login.server.S02PacketLoginSuccess
|
net.minecraft.network.login.server.SPacketLoginSuccess net.minecraft.network.login.server.S02PacketLoginSuccess
|
||||||
|
|||||||
@@ -1,24 +1,20 @@
|
|||||||
buildscript {
|
buildscript {
|
||||||
def mcVersion
|
def mcVersion
|
||||||
if (project.name != 'core') {
|
def (major, minor, patch) = project.name.tokenize('-')[0].tokenize('.')
|
||||||
def (major, minor, patch) = project.name.tokenize('.')
|
mcVersion = "${major}${minor.padLeft(2, '0')}${(patch ?: '').padLeft(2, '0')}" as int
|
||||||
mcVersion = "${major}${minor.padLeft(2, '0')}${(patch ?: '').padLeft(2, '0')}" as int
|
def fabric = mcVersion >= 11400 && !project.name.endsWith("-forge")
|
||||||
} else {
|
|
||||||
def f = file('mcVersion')
|
|
||||||
mcVersion = f.readLines().first() as int
|
|
||||||
}
|
|
||||||
project.ext.mcVersion = mcVersion
|
project.ext.mcVersion = mcVersion
|
||||||
|
project.ext.fabric = fabric
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
jcenter()
|
jcenter()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
if (mcVersion >= 11400) {
|
maven {
|
||||||
maven {
|
name = "fabric"
|
||||||
name = "fabric"
|
url = "https://maven.fabricmc.net/"
|
||||||
url = "https://maven.fabricmc.net/"
|
}
|
||||||
}
|
if (!fabric) {
|
||||||
} else {
|
|
||||||
maven {
|
maven {
|
||||||
name = "forge"
|
name = "forge"
|
||||||
url = "https://files.minecraftforge.net/maven"
|
url = "https://files.minecraftforge.net/maven"
|
||||||
@@ -33,7 +29,7 @@ buildscript {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.2'
|
classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.2'
|
||||||
if (mcVersion >= 11400) {
|
if (fabric) {
|
||||||
classpath 'fabric-loom:fabric-loom.gradle.plugin:0.2.2-SNAPSHOT'
|
classpath 'fabric-loom:fabric-loom.gradle.plugin:0.2.2-SNAPSHOT'
|
||||||
} else if (mcVersion >= 11300) {
|
} else if (mcVersion >= 11300) {
|
||||||
classpath('net.minecraftforge.gradle:ForgeGradle:3.+'){
|
classpath('net.minecraftforge.gradle:ForgeGradle:3.+'){
|
||||||
@@ -50,16 +46,11 @@ buildscript {
|
|||||||
exclude group: 'trove', module: 'trove' // different name same thing
|
exclude group: 'trove', module: 'trove' // different name same thing
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
classpath 'com.github.replaymod:preprocessor:8ec3e31'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
import com.replaymod.gradle.preprocess.PreprocessTask
|
def FG3 = !fabric && mcVersion >= 11300
|
||||||
|
def FABRIC = fabric
|
||||||
def mcVersionStr = "${(int)(mcVersion/10000)}.${(int)(mcVersion/100)%100}" + (mcVersion%100==0 ? '' : ".${mcVersion%100}")
|
|
||||||
|
|
||||||
def FG3 = mcVersion >= 11300 && mcVersion < 11400
|
|
||||||
def FABRIC = mcVersion >= 11400
|
|
||||||
|
|
||||||
def jGuiVersion = project.name
|
def jGuiVersion = project.name
|
||||||
if (['1.10.2', '1.11', '1.11.2'].contains(jGuiVersion)) jGuiVersion = '1.9.4'
|
if (['1.10.2', '1.11', '1.11.2'].contains(jGuiVersion)) jGuiVersion = '1.9.4'
|
||||||
@@ -96,9 +87,22 @@ if (!FABRIC) {
|
|||||||
|
|
||||||
apply plugin: 'com.replaymod.preprocess'
|
apply plugin: 'com.replaymod.preprocess'
|
||||||
|
|
||||||
|
preprocess {
|
||||||
|
vars.put("MC", project.mcVersion)
|
||||||
|
vars.put("FABRIC", project.fabric ? 1 : 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
def mcVersionStr = "${(int)(mcVersion/10000)}.${(int)(mcVersion/100)%100}" + (mcVersion%100==0 ? '' : ".${mcVersion%100}")
|
||||||
|
|
||||||
sourceCompatibility = 1.8
|
sourceCompatibility = 1.8
|
||||||
targetCompatibility = 1.8
|
targetCompatibility = 1.8
|
||||||
|
|
||||||
|
if (mcVersion >= 11300) {
|
||||||
|
sourceSets {
|
||||||
|
api
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
version = mcVersionStr + '-' + rootProject.version
|
version = mcVersionStr + '-' + rootProject.version
|
||||||
group= "com.replaymod"
|
group= "com.replaymod"
|
||||||
archivesBaseName = "replaymod"
|
archivesBaseName = "replaymod"
|
||||||
@@ -143,7 +147,7 @@ if (FABRIC) {
|
|||||||
][mcVersion]
|
][mcVersion]
|
||||||
}
|
}
|
||||||
mappings = [
|
mappings = [
|
||||||
11302: "snapshot_20180921-1.13",
|
11404: "snapshot_20190719-1.14.3",
|
||||||
11202: "snapshot_20170615",
|
11202: "snapshot_20170615",
|
||||||
11201: "snapshot_20170615",
|
11201: "snapshot_20170615",
|
||||||
11200: "snapshot_20170615",
|
11200: "snapshot_20170615",
|
||||||
@@ -226,7 +230,7 @@ dependencies {
|
|||||||
|
|
||||||
if (FG3) {
|
if (FG3) {
|
||||||
minecraft 'net.minecraftforge:forge:' + [
|
minecraft 'net.minecraftforge:forge:' + [
|
||||||
11302: '1.13.2-25.0.76',
|
11404: '1.14.4-28.1.113',
|
||||||
][mcVersion]
|
][mcVersion]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -295,14 +299,6 @@ if (mcVersion <= 10710) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (project.name != 'core') {
|
|
||||||
def jGui = project.evaluationDependsOn(":jGui:$jGuiVersion")
|
|
||||||
// Make sure the corresponding jGui setCoreVersion task runs
|
|
||||||
project.tasks.setCoreVersionJava.dependsOn jGui.tasks.setCoreVersion
|
|
||||||
// and it doesn't run too early (i.e. before we're done with preprocessing)
|
|
||||||
jGui.tasks.setCoreVersionJava.mustRunAfter project.tasks.preprocessJava
|
|
||||||
}
|
|
||||||
|
|
||||||
task configureRelocation() {
|
task configureRelocation() {
|
||||||
dependsOn tasks.jar
|
dependsOn tasks.jar
|
||||||
dependsOn configurations.relocate
|
dependsOn configurations.relocate
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
11404
|
|
||||||
1
versions/mainProject
Normal file
1
versions/mainProject
Normal file
@@ -0,0 +1 @@
|
|||||||
|
1.14.4
|
||||||
0
versions/mapping-1.14.4-fabric-forge.txt
Normal file
0
versions/mapping-1.14.4-fabric-forge.txt
Normal file
Reference in New Issue
Block a user