commit cbd96d57f4c9a36e0884c0a0cc856cfd14e7ee35 Author: Marius Metzger Date: Sat Jan 3 23:25:21 2015 +0100 First Commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..f9d6c628 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +/* +/*/ +!/src/ +!.gitignore +!gradlew* +!/gradle/ +!/LICENSE.txt +!/README.md +!/COPYING.lesser \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 00000000..b7612167 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..678d9d8d --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Jul 02 15:54:47 CDT 2014 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip diff --git a/gradlew b/gradlew new file mode 100755 index 00000000..91a7e269 --- /dev/null +++ b/gradlew @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000..aec99730 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/src/main/java/eu/crushedpixel/replaymod/ReplayMod.java b/src/main/java/eu/crushedpixel/replaymod/ReplayMod.java new file mode 100644 index 00000000..8878fba2 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/ReplayMod.java @@ -0,0 +1,76 @@ +package eu.crushedpixel.replaymod; + +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.config.Configuration; +import net.minecraftforge.common.config.Property; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.Mod.EventHandler; +import net.minecraftforge.fml.common.Mod.Instance; +import net.minecraftforge.fml.common.SidedProxy; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import eu.crushedpixel.replaymod.events.GuiEventHandler; +import eu.crushedpixel.replaymod.events.GuiReplayOverlay; +import eu.crushedpixel.replaymod.events.RecordingHandler; +import eu.crushedpixel.replaymod.events.ReplayTickHandler; +import eu.crushedpixel.replaymod.recording.ConnectionEventHandler; +import eu.crushedpixel.replaymod.settings.ReplaySettings; + +@Mod(modid = ReplayMod.MODID, version = ReplayMod.VERSION) +public class ReplayMod +{ + + //TODO: Set ReplayHandler replaying to false when replay is exited + + public static final String MODID = "replaymod"; + public static final String VERSION = "0.0.1"; + + public static GuiReplayOverlay overlay = new GuiReplayOverlay(); + + public static ReplaySettings replaySettings = new ReplaySettings(0, true, true, true, false); + public static Configuration config; + + public static int PLAYER_ID = -1; + + // The instance of your mod that Forge uses. + @Instance(value = "ReplayModID") + public static ReplayMod instance; + + @EventHandler + public void preInit(FMLPreInitializationEvent event) { + config = new Configuration(event.getSuggestedConfigurationFile()); + config.load(); + + Property recServer = config.get("settings", "enableRecordingServer", true, "Defines whether a recording should be started upon joining a server."); + Property recSP = config.get("settings", "enableRecordingSingleplayer", true, "Defines whether a recording should be started upon joining a singleplayer world."); + Property maxFileSize = config.get("settings", "maximumFileSize", 0, "The maximum File size (in MB) of a recording. 0 means unlimited."); + Property showNot = ReplayMod.instance.config.get("settings", "showNotifications", true, "Defines whether notifications should be sent to the player."); + Property linear = ReplayMod.instance.config.get("settings", "forceLinearPath", false, "Defines whether travelling paths should be linear instead of interpolated."); + + replaySettings = new ReplaySettings(maxFileSize.getInt(0), recServer.getBoolean(true), recSP.getBoolean(true), showNot.getBoolean(true), linear.getBoolean(false)); + + config.save(); + } + + @EventHandler + public void init(FMLInitializationEvent event) { + FMLCommonHandler.instance().bus().register(new ConnectionEventHandler()); + MinecraftForge.EVENT_BUS.register(new GuiEventHandler()); + ReplayTickHandler tickHandler = new ReplayTickHandler(); + FMLCommonHandler.instance().bus().register(tickHandler); + MinecraftForge.EVENT_BUS.register(tickHandler); + + RecordingHandler rh = new RecordingHandler(); + FMLCommonHandler.instance().bus().register(rh); + MinecraftForge.EVENT_BUS.register(rh); + } + + @EventHandler + public void postInit(FMLPostInitializationEvent event) { + overlay = new GuiReplayOverlay(); + FMLCommonHandler.instance().bus().register(overlay); + MinecraftForge.EVENT_BUS.register(overlay); + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/chat/ChatMessageRequests.java b/src/main/java/eu/crushedpixel/replaymod/chat/ChatMessageRequests.java new file mode 100644 index 00000000..7d98dfad --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/chat/ChatMessageRequests.java @@ -0,0 +1,95 @@ +package eu.crushedpixel.replaymod.chat; + +import java.util.Queue; +import java.util.concurrent.ConcurrentLinkedQueue; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.IChatComponent; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import eu.crushedpixel.replaymod.ReplayMod; + +@SideOnly(Side.CLIENT) +public class ChatMessageRequests { + + public enum ChatMessageType { + INFORMATION, WARNING; + } + + private static boolean active = true; + private static boolean alive = true; + + private static Queue requests = new ConcurrentLinkedQueue(); + private static String prefix = "§8[§6Replay Mod§8]§r "; + + private static EntityPlayerSP player = null; + + public static Thread t = new Thread(new Runnable() { + + @Override + public void run() { + while(alive) { + while(active) { + try { + while(player == null) { + if(!alive) { + break; + } + try { + Thread.sleep(100); + player = Minecraft.getMinecraft().thePlayer; + } catch(Exception e) {} + } + + player.addChatComponentMessage(requests.poll()); + Thread.sleep(100); + } catch(Exception e) {} + } + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + }); + + static { + t.start(); + } + + public static void addChatMessage(String message, ChatMessageType type) { + if(ReplayMod.replaySettings.isShowNotifications()) { + message = prefix+toColor(message, type); + ChatComponentText cct = new ChatComponentText(message); + requests.add(cct); + } + } + + private static String toColor(String message, ChatMessageType type) { + if(type == ChatMessageType.INFORMATION) { + return "§2"+message; + } else if(type == ChatMessageType.WARNING) { + return "§c"+message; + } + + return message; + } + + public static void stop() { + active = false; + } + + public static void initialize() { + active = true; + requests.clear(); + if(ReplayMod.replaySettings.isShowNotifications()) { + } else { + System.out.println("Chat messages are disabled"); + } + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java b/src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java new file mode 100644 index 00000000..b5f7b781 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java @@ -0,0 +1,208 @@ +package eu.crushedpixel.replaymod.entities; + +import java.lang.reflect.Field; + +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraft.world.WorldSettings.GameType; + +import org.lwjgl.Sys; + +import eu.crushedpixel.replaymod.holders.Position; +import eu.crushedpixel.replaymod.replay.LesserDataWatcher; +import eu.crushedpixel.replaymod.replay.ReplayHandler; + +public class CameraEntity extends Entity { + + private Vec3 direction; + private double motion; + + private Field drawBlockOutline; + + private static final double SPEED = 10; //2 blocks per second + + private double decay = 4; //decays by 75% per second; + + private long lastCall = 0; + + //frac = time since last tick + public void updateMovement() { + Minecraft mc = Minecraft.getMinecraft(); + if(ReplayHandler.getCameraEntity() != null && mc.thePlayer != null) { + //Aligns the particle rotation + mc.thePlayer.rotationPitch = ReplayHandler.getCameraEntity().rotationPitch; + mc.thePlayer.rotationYaw = ReplayHandler.getCameraEntity().rotationYaw; + + //removes water/suffocation/shadow overlays in screen + mc.thePlayer.posX = 0; + mc.thePlayer.posY = 500; + mc.thePlayer.posZ = 0; + } + + if(direction == null || motion < 0.1) { + lastCall = Sys.getTime(); + return; + } + + long frac = Sys.getTime() - lastCall; + + if(frac == 0) return; + + Vec3 movement = direction.normalize(); + double factor = motion*(frac/1000D); + + moveRelative(movement.xCoord*factor, movement.yCoord*factor, movement.zCoord*factor); + + double decFac = Math.max(0, 1-(decay*(frac/1000D))); + motion *= decFac; + + lastCall = Sys.getTime(); + } + + public void setDirection(float pitch, float yaw) { + this.setRotation(yaw, pitch); + } + + public void setMovement(MoveDirection dir) { + Vec3 oldDir = direction; + + switch(dir) { + case BACKWARD: + direction = this.getVectorForRotation(-rotationPitch, rotationYaw-180); + break; + case DOWN: + direction = this.getVectorForRotation(90, 0); + break; + case FORWARD: + direction = this.getVectorForRotation(rotationPitch, rotationYaw); + break; + case LEFT: + direction = this.getVectorForRotation(0, rotationYaw-90); + break; + case RIGHT: + direction = this.getVectorForRotation(0, rotationYaw+90); + break; + case UP: + direction = this.getVectorForRotation(-90, 0); + break; + } + + if(oldDir != null) direction = direction.normalize().add(new Vec3(oldDir.xCoord*(motion/4f), oldDir.yCoord*(motion/4f), oldDir.zCoord*(motion/4f)).normalize()); + + this.motion = SPEED; + } + + public void moveAbsolute(double x, double y, double z) { + if(ReplayHandler.isReplaying()) return; + this.posX = x; + this.posY = y; + this.posZ = z; + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + this.lastTickPosX = this.posX; + this.lastTickPosY = this.posY; + this.lastTickPosZ = this.posZ; + } + + public void moveRelative(double x, double y, double z) { + if(ReplayHandler.isReplaying()) return; + this.posX += x; + this.posY += y; + this.posZ += z; + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + this.lastTickPosX = this.posX; + this.lastTickPosY = this.posY; + this.lastTickPosZ = this.posZ; + } + + public void movePath(Position pos) { + this.posX = pos.getX(); + this.posY = pos.getY(); + this.posZ = pos.getZ(); + this.rotationPitch = pos.getPitch(); + this.rotationYaw = pos.getYaw(); + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.lastTickPosX = this.posX; + this.lastTickPosY = this.posY; + this.lastTickPosZ = this.posZ; + } + + @Override + protected void entityInit() { + this.dataWatcher = new LesserDataWatcher(this); + } + + + public CameraEntity(World worldIn) { + super(worldIn); + } + + @Override + public void setAngles(float yaw, float pitch) + { + this.rotationYaw = (float)((double)this.rotationYaw + (double)yaw * 0.15D); + this.rotationPitch = (float)((double)this.rotationPitch - (double)pitch * 0.15D); + this.rotationPitch = MathHelper.clamp_float(this.rotationPitch, -90.0F, 90.0F); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + } + + + @Override + public MovingObjectPosition rayTrace(double p_174822_1_, float p_174822_3_) { + return null; + } + + @Override + public boolean canBePushed() { + return false; + } + + @Override + protected void createRunningParticles() {} + + @Override + public boolean canBeCollidedWith() { + return false; + } + @Override + public boolean canRenderOnFire() { + return false; + } + + /* + @Override + public boolean isSpectator() { + return true; + } + */ + + @Override + protected void readEntityFromNBT(NBTTagCompound tagCompund) { + // TODO Auto-generated method stub + + } + + @Override + protected void writeEntityToNBT(NBTTagCompound tagCompound) { + // TODO Auto-generated method stub + + } + + public enum MoveDirection { + UP, DOWN, LEFT, RIGHT, FORWARD, BACKWARD; + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java b/src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java new file mode 100644 index 00000000..066e28fb --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/events/GuiEventHandler.java @@ -0,0 +1,48 @@ +package eu.crushedpixel.replaymod.events; + +import eu.crushedpixel.replaymod.gui.GuiCustomMainMenu; +import eu.crushedpixel.replaymod.gui.GuiCustomOptions; +import eu.crushedpixel.replaymod.gui.GuiExitReplay; +import eu.crushedpixel.replaymod.replay.ReplayHandler; +import net.minecraft.client.gui.GuiChat; +import net.minecraft.client.gui.GuiDisconnected; +import net.minecraft.client.gui.GuiIngameMenu; +import net.minecraft.client.gui.GuiMainMenu; +import net.minecraft.client.gui.GuiOptions; +import net.minecraft.client.gui.inventory.GuiInventory; +import net.minecraftforge.client.event.GuiOpenEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +public class GuiEventHandler { + + @SubscribeEvent + public void onGui(GuiOpenEvent event) { + if(event.gui instanceof GuiMainMenu) { + event.gui = new GuiCustomMainMenu(); + } else if(event.gui instanceof GuiOptions) { + GuiOptions go = (GuiOptions)event.gui; + GuiCustomOptions gco = new GuiCustomOptions(GuiCustomOptions.getGuiScreen(go), GuiCustomOptions.getGameSettings(go)); + event.gui = gco; + } + + else if(event.gui instanceof GuiChat || event.gui instanceof GuiInventory) { + if(ReplayHandler.replayActive()) { + event.setCanceled(true); + } + } + + else if(event.gui instanceof GuiIngameMenu) { + if(ReplayHandler.replayActive()) { + event.gui = new GuiExitReplay(); + } + } + + else if(event.gui instanceof GuiDisconnected) { + if(!ReplayHandler.replayActive() && System.currentTimeMillis() - ReplayHandler.lastExit < 5000) { + event.setCanceled(true); + } + } + + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java b/src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java new file mode 100644 index 00000000..033ac2fe --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/events/GuiReplayOverlay.java @@ -0,0 +1,810 @@ +package eu.crushedpixel.replaymod.events; + +import java.awt.Color; +import java.io.IOException; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.util.concurrent.TimeUnit; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.EntityRenderer; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.settings.KeyBinding; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.MouseEvent; +import net.minecraftforge.client.event.RenderGameOverlayEvent; +import net.minecraftforge.client.event.RenderWorldLastEvent; +import net.minecraftforge.fml.client.FMLClientHandler; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.InputEvent.KeyInputEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent; + +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.Display; +import org.lwjgl.opengl.GL11; + +import eu.crushedpixel.replaymod.entities.CameraEntity; +import eu.crushedpixel.replaymod.entities.CameraEntity.MoveDirection; +import eu.crushedpixel.replaymod.gui.GuiMouseInput; +import eu.crushedpixel.replaymod.gui.GuiReplaySpeedSlider; +import eu.crushedpixel.replaymod.holders.Keyframe; +import eu.crushedpixel.replaymod.holders.Position; +import eu.crushedpixel.replaymod.holders.PositionKeyframe; +import eu.crushedpixel.replaymod.holders.TimeKeyframe; +import eu.crushedpixel.replaymod.reflection.MCPNames; +import eu.crushedpixel.replaymod.replay.ReplayHandler; +import eu.crushedpixel.replaymod.replay.ReplayProcess; + +public class GuiReplayOverlay extends Gui { + + private Minecraft mc = Minecraft.getMinecraft(); + + private int sliderX = 35; + private int sliderY = 10; + + private int timelineX = sliderX+100+5; + private int realTimelineX = 10 + 3*25; + private int realTimelineY = 33+10; + + private int realTimePosition = 0; + + private int ppButtonX = 10; + private int ppButtonY = 10; + + private int r_ppButtonX = 10; + private int r_ppButtonY = realTimelineY+1; + + private int place_ButtonX = 35; + private int place_ButtonY = realTimelineY+1; + + private int time_ButtonX = 60; + private int time_ButtonY = realTimelineY+1; + + private long lastSystemTime = System.currentTimeMillis(); + + private ResourceLocation guiLocation = new ResourceLocation("replaymod", "replay_gui.png"); + private ResourceLocation keyframeLocation = new ResourceLocation("replaymod", "extended_gui.png"); + private ResourceLocation timelineLocation = new ResourceLocation("replaymod", "timeline_icons.png"); + + private GuiReplaySpeedSlider speedSlider; + + private boolean mouseDown = false; + + private Field drawBlockOutline; + + public GuiReplayOverlay() { + try { + drawBlockOutline = EntityRenderer.class.getDeclaredField(MCPNames.field("field_175073_D")); + drawBlockOutline.setAccessible(true); + drawBlockOutline.set(Minecraft.getMinecraft().entityRenderer, false); + } catch(Exception e) {} + } + + @SubscribeEvent + public void tick(TickEvent event) { + if(!ReplayHandler.replayActive()) return; + if(ReplayHandler.getCameraEntity() != null) + ReplayHandler.getCameraEntity().updateMovement(); + onMouseMove(new MouseEvent()); + onKeyInput(new KeyInputEvent()); + if(ReplayHandler.isReplaying()) ReplayProcess.tickReplay(); + } + + @SubscribeEvent + public void onRenderWorld(RenderWorldLastEvent event) + throws IllegalAccessException, IllegalArgumentException, + InvocationTargetException, IOException { + if(!ReplayHandler.replayActive()) return; + ReplayHandler.setCameraEntity(ReplayHandler.getCameraEntity()); + if(ReplayHandler.replayActive() && ReplayHandler.isPaused()) { + if(mc != null && mc.thePlayer != null) + MinecraftTicker.runMouseKeyboardTick(mc); + } + } + + public void resetUI() throws Exception { + if(FMLClientHandler.instance().isGUIOpen(GuiMouseInput.class)) { + mc.displayGuiScreen((GuiScreen)null); + } + realTimePosition = 0; + speedSlider = new GuiReplaySpeedSlider(1, sliderX, sliderY, "Speed"); + } + + @SubscribeEvent + public void onRenderGui(RenderGameOverlayEvent.Post event) throws IllegalArgumentException, IllegalAccessException { + if(!ReplayHandler.replayActive()) return; + GL11.glEnable(GL11.GL_BLEND); + drawBlockOutline.set(Minecraft.getMinecraft().entityRenderer, false); + + if(!ReplayHandler.replayActive()) { + return; + } + + ScaledResolution sr = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); + final int width = sr.getScaledWidth(); + final int height = sr.getScaledHeight(); + + final int mouseX = (Mouse.getX() * width / mc.displayWidth); + final int mouseY = (height - Mouse.getY() * height / mc.displayHeight); + + //Draw Timeline + drawTimeline(timelineX, width - 14, 9); + drawRealTimeline(realTimelineX, width - 14 - 11, realTimelineY, mouseX, mouseY); + + //Play/Pause button + int x = 0; + int y = 0; + + boolean play = !ReplayHandler.isPaused(); + boolean hover = false; + + if(FMLClientHandler.instance().isGUIOpen(GuiMouseInput.class)) { + if(mouseX >= ppButtonX && mouseX <= ppButtonX+20 + && mouseY >= ppButtonY && mouseY <= ppButtonY+20) { + hover = true; + } + } + + if(play) { + y = 20; + } + if(hover) { + x = 20; + } + + mc.renderEngine.bindTexture(guiLocation); + + GlStateManager.resetColor(); + this.drawModalRectWithCustomSizedTexture(ppButtonX, ppButtonY, x, y, 20, 20, 64, 64); + + //GlStateManager.resetColor(); + + if(Mouse.isButtonDown(0) && FMLClientHandler.instance().isGUIOpen(GuiMouseInput.class)) { //clicking the Button + speedSlider.mousePressed(mc, mouseX, mouseY); + if(!mouseDown) { + mouseDown = true; + if(hover) { + boolean paused = !ReplayHandler.isPaused(); + if(paused) { + ReplayHandler.setSpeed(0); + } else { + ReplayHandler.setSpeed(speedSlider.getSliderValue()); + } + + } + + if(mouseX >= timelineX+4 && mouseX <= width - 18 && mouseY >= 11 && mouseY <= 29) { + double tot = (width - 18)-(timelineX+4); + double perc = (mouseX-(timelineX+4))/tot; + double time = perc*(double)ReplayHandler.getReplayLength(); + + if(time < ReplayHandler.getReplayTime()) { + mc.displayGuiScreen((GuiScreen)null); + } + + ReplayHandler.setReplayPos((int)time, false); + } + } + + } else { + speedSlider.mouseReleased(mouseX, mouseY); + mouseDown = false; + } + + + //Place Keyframe Button + hover = false; + x = 0; + y = 0; + + if(FMLClientHandler.instance().isGUIOpen(GuiMouseInput.class)) { + if(mouseX >= place_ButtonX && mouseX <= place_ButtonX+20 + && mouseY >= place_ButtonY && mouseY <= place_ButtonY+20) { + hover = true; + } + } + + if(hover) { + x = 20; + } + + if(ReplayHandler.getSelected() != null && ReplayHandler.getSelected() instanceof PositionKeyframe) { + y += 20; + } + + mc.renderEngine.bindTexture(keyframeLocation); + + if(hover && Mouse.isButtonDown(0) && isClick()) { + if(ReplayHandler.getSelected() == null || !(ReplayHandler.getSelected() instanceof PositionKeyframe)) { + addPlaceKeyframe(); + } else { + ReplayHandler.removeKeyframe(ReplayHandler.getSelected()); + } + } + + GlStateManager.resetColor(); + this.drawModalRectWithCustomSizedTexture(place_ButtonX, place_ButtonY, x, y, 20, 20, 64, 64); + + + //Time Keyframe Button + hover = false; + x = 0; + y = 40; + + boolean timeSelected = false; + if(ReplayHandler.getSelected() != null && ReplayHandler.getSelected() instanceof TimeKeyframe) { + timeSelected = true; + x = 40; + y = 0; + } + + if(FMLClientHandler.instance().isGUIOpen(GuiMouseInput.class)) { + if(mouseX >= time_ButtonX && mouseX <= time_ButtonX+20 + && mouseY >= time_ButtonY && mouseY <= time_ButtonY+20) { + hover = true; + } + } + + if(hover) { + if(timeSelected) { + y = 20; + } else { + x = 20; + } + } + + mc.renderEngine.bindTexture(keyframeLocation); + + if(hover && Mouse.isButtonDown(0) && isClick()) { + if(ReplayHandler.getSelected() == null || !(ReplayHandler.getSelected() instanceof TimeKeyframe)) { + addTimeKeyframe(); + } else { + ReplayHandler.removeKeyframe(ReplayHandler.getSelected()); + } + } + + GlStateManager.resetColor(); + this.drawModalRectWithCustomSizedTexture(time_ButtonX, time_ButtonY, x, y, 20, 20, 64, 64); + + if(mouseX >= (timelineX+4) && mouseX <= width - 18 && mouseY >= 11 && mouseY <= 29) { + double tot = (width - 18)-(timelineX+4); + double perc = (mouseX-(timelineX+4))/tot; + long time = Math.round(perc*(double)ReplayHandler.getReplayLength()); + + String timestamp = (String.format("%02d:%02ds", + TimeUnit.MILLISECONDS.toMinutes(time), + TimeUnit.MILLISECONDS.toSeconds(time) - + TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(time)) + )); + + this.drawCenteredString(mc.fontRendererObj, timestamp, mouseX, mouseY+5, Color.WHITE.getRGB()); + } + + if(mc.inGameHasFocus) { + Mouse.setCursorPosition(width/2, height/2); + } + + speedSlider.drawButton(mc, mouseX, mouseY); + GlStateManager.resetColor(); + + Entity player = ReplayHandler.getCameraEntity(); + if(player != null) { + player.setVelocity(0, 0, 0); + } + + if(!Mouse.isButtonDown(0)) isClick(); + } + + private int tl_begin_x=0; + private int tl_begin_width = 4; + + private int tl_end_x=60; + private int tl_end_width = 4; + + private int tl_middle_x=4; + + private int tl_y=40; + + private void drawTimeline(int minX, int maxX, int y) { + int zero = minX+tl_begin_width; + int full = maxX-tl_end_width; + + GlStateManager.resetColor(); + mc.renderEngine.bindTexture(guiLocation); + this.drawModalRectWithCustomSizedTexture(minX, y, tl_begin_x, tl_y, tl_begin_width, 22, 64, 64); + + for(int i=minX+tl_begin_width; i= slider_min && mouseX <= sl_max && mouseY >= sl_y && mouseY <= sl_y+slider_height || wasSliding)) { + wasSliding = true; + float dx = ((float)Mouse.getDX() * (float)new ScaledResolution(mc, mc.displayWidth, mc.displayHeight).getScaledWidth() / mc.displayWidth); + this.pos_left = Math.min(1f-this.zoom_scale, Math.max(0f, this.pos_left+(dx/(float)tlWidth))); + } + + if(!Mouse.isButtonDown(0)) { + wasSliding = false; + } + + //Timeline Buttons + //+- Buttons + boolean hover = false; + int px = plus_x; + if(FMLClientHandler.instance().isGUIOpen(GuiMouseInput.class)) { + if(mouseX >= maxX+2 && mouseX <= maxX+2+9 + && mouseY >= y+1 && mouseY <= y+1+9) { + hover = true; + } + } + + if(hover) { + px+=9; + } + + this.drawModalRectWithCustomSizedTexture(maxX+2, y+1, px, plus_y, 9, 9, 64, 64); + + if(hover && Mouse.isButtonDown(0)) { + zoomIn(); + } + + hover = false; + int mx = minus_x; + + if(FMLClientHandler.instance().isGUIOpen(GuiMouseInput.class)) { + if(mouseX >= maxX+2 && mouseX <= maxX+2+9 + && mouseY >= y+9+3 && mouseY <= y+9+3+9) { + hover = true; + } + } + + if(hover) { + mx+=9; + } + + this.drawModalRectWithCustomSizedTexture(maxX+2, y+9+3, mx, minus_y, 9, 9, 64, 64); + + if(hover && Mouse.isButtonDown(0)) { + zoomOut(); + } + + //show Time String + if(mouseX >= zero && mouseX <= full && mouseY >= y && mouseY <= y+22) { + long tot = Math.round((double)timelineLength*zoom_scale); + double perc = (mouseX-(realTimelineX+4))/(double)(full-zero); + + long time = Math.round(this.pos_left*(double)timelineLength)+Math.round(perc*(double)tot); + + String timestamp = (String.format("%02d:%02ds", + TimeUnit.MILLISECONDS.toMinutes(time), + TimeUnit.MILLISECONDS.toSeconds(time) - + TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(time)) + )); + this.drawCenteredString(mc.fontRendererObj, timestamp, mouseX, mouseY+5, Color.WHITE.getRGB()); + } + + //draw Markers on timeline + MarkerType mt = MarkerType.getMarkerType(zoom_scale, timelineLength); + + //every x seconds, draw small marker + long left_real = Math.round(pos_left*(double)timelineLength); + long right_real = left_real+(Math.round(zoom_scale*timelineLength)); + long tot = Math.round((double)timelineLength*zoom_scale); + + for(int s=0; s<=timelineLength; s+= mt.getSmallDistance()) { + if(s > right_real) break; + if(s >= left_real) { + //calculate absolute position on screen + long relative = (s) - (left_real); + double perc = ((double)relative/(double)tot); + + long real_width = full-zero; + long rel_x = Math.round(perc*(double)real_width); + + long real_x = zero+rel_x; + + this.drawVerticalLine((int)real_x, y+19-3, y+19, Color.WHITE.getRGB()); + } + } + + //every x seconds, draw big marker + for(int s=0; s<=timelineLength; s+= mt.getDistance()) { + if(s > right_real) break; + if(s >= left_real) { + //calculate absolute position on screen + long relative = s - (left_real); + double perc = ((double)relative/(double)tot); + + long real_width = full-zero; + long rel_x = Math.round(perc*(double)real_width); + + long real_x = zero+rel_x; + + this.drawVerticalLine((int)real_x, y+19-7, y+19, Color.LIGHT_GRAY.getRGB()); + + //write text + int time = s; + String timestamp = (String.format("%02d:%02d", + TimeUnit.MILLISECONDS.toMinutes(time), + TimeUnit.MILLISECONDS.toSeconds(time) - + TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(time)) + )); + + this.drawCenteredString(mc.fontRendererObj, timestamp, (int)real_x, y-8, Color.WHITE.getRGB()); + } + } + + //handle Mouse clicks on realTimeLine + if(Mouse.isButtonDown(0) && !wasSliding && mouseX >= minX+tl_begin_width && mouseX <= maxX-tl_end_width && + mouseY >= y && mouseY <= y+22) { + + //calculate real time and set cursor accordingly + int width = (maxX-tl_end_width) - (minX+tl_begin_width); + int rel_x = mouseX-(minX+tl_begin_width); + + float rel_pos = (float)rel_x/(float)width; + + float abs_width = (zoom_scale*(float)timelineLength); + int real_pos = Math.round(left_real+((rel_pos)*abs_width)); + + realTimePosition = real_pos; + + //Keyframe click handling here + if(isClick()) { + //tolerance is 2 pixels multiplied with the timespan of one pixel + int tolerance = 2*Math.round(abs_width/(float)width); + + if(mouseY >= y+9) { + TimeKeyframe close = ReplayHandler.getClosestTimeKeyframeForRealTime(realTimePosition, tolerance); + ReplayHandler.selectKeyframe(close); //can be null, deselects keyframe + } else { + PositionKeyframe close = ReplayHandler.getClosestPlaceKeyframeForRealTime(realTimePosition, tolerance); + ReplayHandler.selectKeyframe(close); //can be null, deselects keyframe + } + } + } + + //Draw Realtime Cursor + if(realTimePosition >= left_real && realTimePosition <= right_real) { + long rel_pos = realTimePosition-left_real; + long rel_width = right_real-left_real; + double perc = (double)rel_pos/(double)rel_width; + + int real_width = (maxX-tl_end_width) - (minX+tl_begin_width); + double rel_x = (float)real_width*perc; + + int real_x = (int)Math.round((minX+tl_begin_width)+rel_x); + mc.renderEngine.bindTexture(this.guiLocation); + + GL11.glEnable(GL11.GL_BLEND); + this.drawModalRectWithCustomSizedTexture(real_x-3, y+3, 44, 0, 8, 16, 64, 64); + //this.drawModalRectWithCustomSizedTexture(real_x, sl_y, u, v, width, height, textureWidth, textureHeight) + } + + + //Draw Keyframe logos + mc.renderEngine.bindTexture(timelineLocation); + for(Keyframe kf : ReplayHandler.getKeyframes()) { + if(kf.getRealTimestamp() > right_real) break; + if(kf.getRealTimestamp() >= left_real) { + int dx = 18; + int dy = 0; + + int ry = y+3; + + if(kf instanceof TimeKeyframe) { + dy = 5; + ry += 5; + } + if(ReplayHandler.isSelected(kf)) { + dx += 5; + } + + long relative = kf.getRealTimestamp() - (left_real); + double perc = ((double)relative/(double)tot); + + long real_width = full-zero; + long rel_x = Math.round(perc*(double)real_width); + + long real_x = zero+rel_x - 2; + + this.drawModalRectWithCustomSizedTexture((int)real_x, ry, dx, dy, 5, 5, 64, 64); + } + } + + //Draw Play/Pause Button + //Play/Pause button + + int dx = 0; + int dy = 0; + + boolean play = ReplayHandler.isReplaying(); + hover = false; + + if(FMLClientHandler.instance().isGUIOpen(GuiMouseInput.class)) { + if(mouseX >= r_ppButtonX && mouseX <= r_ppButtonX+20 + && mouseY >= r_ppButtonY && mouseY <= r_ppButtonY+20) { + hover = true; + } + } + + if(play) { + dy = 20; + } + if(hover) { + dx = 20; + } + + mc.renderEngine.bindTexture(guiLocation); + + GlStateManager.resetColor(); + this.drawModalRectWithCustomSizedTexture(r_ppButtonX, r_ppButtonY, dx, dy, 20, 20, 64, 64); + + //Handling the click on the Replay starter + if(hover && Mouse.isButtonDown(0) && isClick()) { + if(ReplayHandler.isReplaying()) { + ReplayHandler.interruptReplay(); + } else { + ReplayHandler.startPath(); + } + } + + } + + private void addPlaceKeyframe() { + CameraEntity cam = ReplayHandler.getCameraEntity(); + if(cam == null) return; + ReplayHandler.addKeyframe(new PositionKeyframe(realTimePosition, new Position(cam.posX, cam.posY, cam.posZ, cam.rotationPitch, cam.rotationYaw))); + } + + private void addTimeKeyframe() { + ReplayHandler.addKeyframe(new TimeKeyframe(realTimePosition, ReplayHandler.getReplayTime())); + } + + private enum MarkerType { + + ONE_S(1*1000, 100), + FIVE_S(5*1000, 1*1000), + QUARTER_M(15*1000, 3*1000), + HALF_M(30*1000, 5*1000), + ONE_M(60*1000, 10*1000), + FIVE_M(5*60*1000, 50*1000); + + int minimum; + int small_min; + int maximum = 10; + + int getDistance() { + return minimum; + } + + int getSmallDistance() { + return small_min; + } + + MarkerType(int minimum, int small_min) { + this.minimum = minimum; + this.small_min = small_min; + } + + public static MarkerType getMarkerType(float scale, long totalLength) { + long visible = Math.round((double)totalLength*scale); + long seconds = visible; + + for(MarkerType mt : values()) { + if(seconds/mt.getDistance() <= 10) { + return mt; + } + } + + return FIVE_M; + } + } + + private void zoomIn() { + if(!isClick()) return; + this.zoom_scale = Math.max(0.025f, zoom_scale-zoom_steps); + } + + private void zoomOut() { + if(!isClick()) return; + this.zoom_scale = Math.min(1f, zoom_scale+zoom_steps); + this.pos_left = Math.min(pos_left, 1f-zoom_scale); + } + + private boolean mouseDwn = false; + + private boolean isClick() { + if(Mouse.isButtonDown(0)) { + boolean bef = new Boolean(mouseDwn); + mouseDwn = true; + return !bef; + } else { + mouseDwn = false; + return false; + } + } + + @SubscribeEvent + public void onMouseMove(MouseEvent event) { + if(!ReplayHandler.replayActive()) return; + boolean flag = Display.isActive(); + flag = true; + + mc.mcProfiler.startSection("mouse"); + + if (flag && Minecraft.isRunningOnMac && mc.inGameHasFocus && !Mouse.isInsideWindow()) + { + Mouse.setGrabbed(false); + Mouse.setCursorPosition(Display.getWidth() / 2, Display.getHeight() / 2); + Mouse.setGrabbed(true); + } + + if (mc.inGameHasFocus && flag) + { + mc.mouseHelper.mouseXYChange(); + float f1 = mc.gameSettings.mouseSensitivity * 0.6F + 0.2F; + float f2 = f1 * f1 * f1 * 8.0F; + float f3 = (float)mc.mouseHelper.deltaX * f2; + float f4 = (float)mc.mouseHelper.deltaY * f2; + byte b0 = 1; + + if (mc.gameSettings.invertMouse) + { + b0 = -1; + } + + ReplayHandler.getCameraEntity().setAngles(f3, f4 * (float)b0); + + } + } + + @SubscribeEvent + public void onKeyInput(KeyInputEvent event) { + if(!ReplayHandler.replayActive()) return; + if(FMLClientHandler.instance().isGUIOpen(GuiMouseInput.class)) { + return; + } + + KeyBinding[] keyBindings = Minecraft.getMinecraft().gameSettings.keyBindings; + for(KeyBinding kb : keyBindings) { + if(!kb.isKeyDown()) { + continue; + } + try { + + if(kb.getKeyDescription().equals("key.forward")) { + ReplayHandler.getCameraEntity().setMovement(MoveDirection.FORWARD); + continue; + } + + if(kb.getKeyDescription().equals("key.back")) { + ReplayHandler.getCameraEntity().setMovement(MoveDirection.BACKWARD); + continue; + } + + if(kb.getKeyDescription().equals("key.jump")) { + ReplayHandler.getCameraEntity().setMovement(MoveDirection.UP); + continue; + } + + if(kb.getKeyDescription().equals("key.sneak")) { + ReplayHandler.getCameraEntity().setMovement(MoveDirection.DOWN); + continue; + } + + if(kb.getKeyDescription().equals("key.left")) { + ReplayHandler.getCameraEntity().setMovement(MoveDirection.LEFT); + continue; + } + + if(kb.getKeyDescription().equals("key.right")) { + ReplayHandler.getCameraEntity().setMovement(MoveDirection.RIGHT); + continue; + } + + if(kb.getKeyDescription().equals("key.chat")) { + mc.displayGuiScreen(new GuiMouseInput()); + continue; + } + } catch(Exception e) { + e.printStackTrace(); + } + + } + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/events/MinecraftTicker.java b/src/main/java/eu/crushedpixel/replaymod/events/MinecraftTicker.java new file mode 100644 index 00000000..0358a709 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/events/MinecraftTicker.java @@ -0,0 +1,442 @@ +package eu.crushedpixel.replaymod.events; + +import java.io.IOException; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiChat; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.inventory.GuiInventory; +import net.minecraft.client.settings.GameSettings; +import net.minecraft.client.settings.KeyBinding; +import net.minecraft.crash.CrashReport; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.network.play.client.C16PacketClientStatus; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ReportedException; + +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.Display; + +import eu.crushedpixel.replaymod.entities.CameraEntity; +import eu.crushedpixel.replaymod.reflection.MCPNames; +import eu.crushedpixel.replaymod.replay.ReplayHandler; + +public class MinecraftTicker { + + private static Field debugCrashKeyPressTime, rightClickDelayTimer, systemTime, leftClickCounter; + private static Method getSystemTime, updateDebugProfilerName, + clickMouse, middleClickMouse, rightClickMouse, sendClickBlockToController; + + private static Minecraft mc = Minecraft.getMinecraft(); + + private static float camPitch, camYaw, smoothCamPartialTicks, + smoothCamFilterX, smoothCamFilterY; + + static { + try { + debugCrashKeyPressTime = Minecraft.class.getDeclaredField(MCPNames.field("field_83002_am")); + debugCrashKeyPressTime.setAccessible(true); + + rightClickDelayTimer = Minecraft.class.getDeclaredField(MCPNames.field("field_71467_ac")); + rightClickDelayTimer.setAccessible(true); + + systemTime = Minecraft.class.getDeclaredField(MCPNames.field("field_71423_H")); + systemTime.setAccessible(true); + + leftClickCounter = Minecraft.class.getDeclaredField(MCPNames.field("field_71429_W")); + leftClickCounter.setAccessible(true); + + getSystemTime = Minecraft.class.getDeclaredMethod(MCPNames.method("func_71386_F")); + getSystemTime.setAccessible(true); + + updateDebugProfilerName = Minecraft.class.getDeclaredMethod(MCPNames.method("func_71383_b"), int.class); + updateDebugProfilerName.setAccessible(true); + + clickMouse = Minecraft.class.getDeclaredMethod(MCPNames.method("func_147116_af")); + clickMouse.setAccessible(true); + + rightClickMouse = Minecraft.class.getDeclaredMethod(MCPNames.method("func_147121_ag")); + rightClickMouse.setAccessible(true); + + middleClickMouse = Minecraft.class.getDeclaredMethod(MCPNames.method("func_147112_ai")); + middleClickMouse.setAccessible(true); + + sendClickBlockToController = Minecraft.class.getDeclaredMethod(MCPNames.method("func_147115_a"), boolean.class); + sendClickBlockToController.setAccessible(true); + + } catch(Exception e) { + e.printStackTrace(); + } + } + + public static void runMouseKeyboardTick(Minecraft mc) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, IOException { + + try { + mc.mcProfiler.endStartSection("mouse"); + int i; + while(Mouse.next()) { + i = Mouse.getEventButton(); + KeyBinding.setKeyBindState(i - 100, Mouse.getEventButtonState()); + + if (Mouse.getEventButtonState()) + { + if (mc.thePlayer.isSpectator() && i == 2) + { + mc.ingameGUI.func_175187_g().func_175261_b(); + } + else + { + KeyBinding.onTick(i - 100); + } + } + + long k = (Long)getSystemTime.invoke(mc) - (Long)systemTime.get(mc); + + if (k <= 200L) + { + int j = Mouse.getEventDWheel(); + + if (j != 0) + { + if (mc.thePlayer.isSpectator()) + { + j = j < 0 ? -1 : 1; + + if (mc.ingameGUI.func_175187_g().func_175262_a()) + { + mc.ingameGUI.func_175187_g().func_175259_b(-j); + } + else + { + float f = MathHelper.clamp_float(mc.thePlayer.capabilities.getFlySpeed() + (float)j * 0.005F, 0.0F, 0.2F); + mc.thePlayer.capabilities.setFlySpeed(f); + } + } + else + { + mc.thePlayer.inventory.changeCurrentItem(j); + } + } + + if (mc.currentScreen == null) + { + if (!mc.inGameHasFocus && Mouse.getEventButtonState()) + { + mc.setIngameFocus(); + } + } + else + { + mc.currentScreen.handleMouseInput(); + } + } + net.minecraftforge.fml.common.FMLCommonHandler.instance().fireMouseInput(); + } + + if ((Integer)leftClickCounter.get(mc) > 0) + { + leftClickCounter.set(mc, (Integer)leftClickCounter.get(mc) - 1); + } + mc.mcProfiler.endStartSection("keyboard"); + + while (Keyboard.next()) + { + i = Keyboard.getEventKey() == 0 ? Keyboard.getEventCharacter() + 256 : Keyboard.getEventKey(); + KeyBinding.setKeyBindState(i, Keyboard.getEventKeyState()); + + if (Keyboard.getEventKeyState()) + { + KeyBinding.onTick(i); + } + + if ((Long)debugCrashKeyPressTime.get(mc) > 0L) + { + if ((Long)getSystemTime.invoke(mc) - (Long)debugCrashKeyPressTime.get(mc) >= 6000L) + { + throw new ReportedException(new CrashReport("Manually triggered debug crash", new Throwable())); + } + + if (!Keyboard.isKeyDown(46) || !Keyboard.isKeyDown(61)) + { + debugCrashKeyPressTime.set(mc, -1); + } + } + else if (Keyboard.isKeyDown(46) && Keyboard.isKeyDown(61)) + { + debugCrashKeyPressTime.set(mc, getSystemTime.invoke(mc)); + } + + mc.dispatchKeypresses(); + + if (Keyboard.getEventKeyState()) + { + if (i == 62 && mc.entityRenderer != null) + { + mc.entityRenderer.switchUseShader(); + } + + if (mc.currentScreen != null) + { + mc.currentScreen.handleKeyboardInput(); + } + else + { + if (i == 1) + { + mc.displayInGameMenu(); + } + + if (i == 32 && Keyboard.isKeyDown(61) && mc.ingameGUI != null) + { + mc.ingameGUI.getChatGUI().clearChatMessages(); + } + + if (i == 31 && Keyboard.isKeyDown(61)) + { + mc.refreshResources(); + } + + if (i == 17 && Keyboard.isKeyDown(61)) + { + ; + } + + if (i == 18 && Keyboard.isKeyDown(61)) + { + ; + } + + if (i == 47 && Keyboard.isKeyDown(61)) + { + ; + } + + if (i == 38 && Keyboard.isKeyDown(61)) + { + ; + } + + if (i == 22 && Keyboard.isKeyDown(61)) + { + ; + } + + if (i == 20 && Keyboard.isKeyDown(61)) + { + mc.refreshResources(); + } + + if (i == 33 && Keyboard.isKeyDown(61)) + { + boolean flag1 = Keyboard.isKeyDown(42) | Keyboard.isKeyDown(54); + mc.gameSettings.setOptionValue(GameSettings.Options.RENDER_DISTANCE, flag1 ? -1 : 1); + } + + if (i == 30 && Keyboard.isKeyDown(61)) + { + mc.renderGlobal.loadRenderers(); + } + + if (i == 35 && Keyboard.isKeyDown(61)) + { + mc.gameSettings.advancedItemTooltips = !mc.gameSettings.advancedItemTooltips; + mc.gameSettings.saveOptions(); + } + + if (i == 48 && Keyboard.isKeyDown(61)) + { + mc.getRenderManager().setDebugBoundingBox(!mc.getRenderManager().isDebugBoundingBox()); + } + + if (i == 25 && Keyboard.isKeyDown(61)) + { + mc.gameSettings.pauseOnLostFocus = !mc.gameSettings.pauseOnLostFocus; + mc.gameSettings.saveOptions(); + } + + if (i == 59) + { + mc.gameSettings.hideGUI = !mc.gameSettings.hideGUI; + } + + if (i == 61) + { + mc.gameSettings.showDebugInfo = !mc.gameSettings.showDebugInfo; + mc.gameSettings.showDebugProfilerChart = GuiScreen.isShiftKeyDown(); + } + + if (mc.gameSettings.keyBindTogglePerspective.isPressed()) + { + ++mc.gameSettings.thirdPersonView; + + if (mc.gameSettings.thirdPersonView > 2) + { + mc.gameSettings.thirdPersonView = 0; + } + + if (mc.gameSettings.thirdPersonView == 0) + { + mc.entityRenderer.loadEntityShader(mc.getRenderViewEntity()); + } + else if (mc.gameSettings.thirdPersonView == 1) + { + mc.entityRenderer.loadEntityShader((Entity)null); + } + } + + if (mc.gameSettings.keyBindSmoothCamera.isPressed()) + { + mc.gameSettings.smoothCamera = !mc.gameSettings.smoothCamera; + } + } + + if (mc.gameSettings.showDebugInfo && mc.gameSettings.showDebugProfilerChart) + { + if (i == 11) + { + updateDebugProfilerName.invoke(mc, 0); + } + + for (int l = 0; l < 9; ++l) + { + if (i == 2 + l) + { + updateDebugProfilerName.invoke(mc, l+1); + } + } + } + } + net.minecraftforge.fml.common.FMLCommonHandler.instance().fireKeyInput(); + } + + for (i = 0; i < 9; ++i) + { + if (mc.gameSettings.keyBindsHotbar[i].isPressed()) + { + if (mc.thePlayer.isSpectator()) + { + mc.ingameGUI.func_175187_g().func_175260_a(i); + } + else + { + mc.thePlayer.inventory.currentItem = i; + } + } + } + + boolean flag = mc.gameSettings.chatVisibility != EntityPlayer.EnumChatVisibility.HIDDEN; + + while (mc.gameSettings.keyBindInventory.isPressed()) + { + if (mc.playerController.isRidingHorse()) + { + mc.thePlayer.sendHorseInventory(); + } + else + { + mc.getNetHandler().addToSendQueue(new C16PacketClientStatus(C16PacketClientStatus.EnumState.OPEN_INVENTORY_ACHIEVEMENT)); + mc.displayGuiScreen(new GuiInventory(mc.thePlayer)); + } + } + + while (mc.gameSettings.keyBindDrop.isPressed()) + { + if (!mc.thePlayer.isSpectator()) + { + mc.thePlayer.dropOneItem(GuiScreen.isCtrlKeyDown()); + } + } + + while (mc.gameSettings.keyBindChat.isPressed() && flag) + { + mc.displayGuiScreen(new GuiChat()); + } + + if (mc.currentScreen == null && mc.gameSettings.keyBindCommand.isPressed() && flag) + { + mc.displayGuiScreen(new GuiChat("/")); + } + + if (mc.thePlayer != null && mc.thePlayer.isUsingItem()) + { + if (!mc.gameSettings.keyBindUseItem.isKeyDown()) + { + mc.playerController.onStoppedUsingItem(mc.thePlayer); + } + + label435: + + while (true) + { + if (!mc.gameSettings.keyBindAttack.isPressed()) + { + while (mc.gameSettings.keyBindUseItem.isPressed()) + { + ; + } + + while (true) + { + if (mc.gameSettings.keyBindPickBlock.isPressed()) + { + continue; + } + + break label435; + } + } + } + } + else + { + while (mc.gameSettings.keyBindAttack.isPressed()) + { + if(mc != null) + try { + clickMouse.invoke(mc); + } catch(Exception e) {} + + } + + while (mc.gameSettings.keyBindUseItem.isPressed()) + { + if(mc != null) + try { + rightClickMouse.invoke(mc); + } catch(Exception e) {} + } + + while (mc.gameSettings.keyBindPickBlock.isPressed()) + { + if(mc != null) + try { + middleClickMouse.invoke(mc); + } catch(Exception e) {} + } + } + + if (mc.gameSettings.keyBindUseItem.isKeyDown() && (Integer)rightClickDelayTimer.get(mc) == 0 && !mc.thePlayer.isUsingItem()) + { + if(mc != null) + try { + rightClickMouse.invoke(mc); + } catch(Exception e) {} + } + + if(mc != null) + try { + sendClickBlockToController.invoke(mc, mc.currentScreen == null && mc.gameSettings.keyBindAttack.isKeyDown() && mc.inGameHasFocus); + } catch(Exception e) {} + + if(mc != null) + systemTime.set(mc, getSystemTime.invoke(mc)); + } catch(Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/events/RecordingHandler.java b/src/main/java/eu/crushedpixel/replaymod/events/RecordingHandler.java new file mode 100644 index 00000000..b7f4cf53 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/events/RecordingHandler.java @@ -0,0 +1,87 @@ +package eu.crushedpixel.replaymod.events; + +import java.io.IOException; +import java.util.UUID; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.network.Packet; +import net.minecraft.network.PacketBuffer; +import net.minecraft.network.play.server.S0CPacketSpawnPlayer; +import net.minecraft.network.play.server.S14PacketEntity.S17PacketEntityLookMove; +import net.minecraft.network.play.server.S18PacketEntityTeleport; +import net.minecraft.util.MathHelper; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; +import eu.crushedpixel.replaymod.recording.ConnectionEventHandler; + +public class RecordingHandler { + + private Minecraft mc = Minecraft.getMinecraft(); + + private int entityID = Integer.MAX_VALUE; + + @SubscribeEvent + public void onPlayerJoin(EntityJoinWorldEvent e) throws IOException { + if(e.entity != mc.thePlayer) return; + if(!ConnectionEventHandler.isRecording()) return; + + //Packet packet = new S0CPacketSpawnPlayer((EntityPlayer)e.entity); + Packet packet = new S0CPacketSpawnPlayer(); + + ByteBuf bb = Unpooled.buffer(); + PacketBuffer pb = new PacketBuffer(bb); + + pb.writeVarIntToBuffer(entityID); + //pb.writeUuid((e.entity).getUniqueID()); + pb.writeUuid(UUID.randomUUID()); + + pb.writeInt(MathHelper.floor_double(e.entity.posX * 32.0D)); + pb.writeInt(MathHelper.floor_double(e.entity.posY * 32.0D)); + pb.writeInt(MathHelper.floor_double(e.entity.posZ * 32.0D)); + pb.writeByte((byte)((int)(((EntityPlayer)e.entity).rotationYaw * 256.0F / 360.0F))); + pb.writeByte((byte)((int)(((EntityPlayer)e.entity).rotationPitch * 256.0F / 360.0F))); + + ItemStack itemstack = ((EntityPlayer)e.entity).inventory.getCurrentItem(); + pb.writeInt(itemstack == null ? 0 : Item.getIdFromItem(itemstack.getItem())); + ((EntityPlayer)e.entity).getDataWatcher().writeTo(pb); + + packet.readPacketData(pb); + + ConnectionEventHandler.insertPacket(packet); + } + + @SubscribeEvent + public void onPlayerTick(PlayerTickEvent e) { + if(e.player != mc.thePlayer) return; + if(!ConnectionEventHandler.isRecording()) return; + + double dx = e.player.prevPosX - e.player.posX; + double dy = e.player.prevPosY - e.player.posY; + double dz = e.player.prevPosZ - e.player.posZ; + + Packet packet; + if(Math.abs(dx) > 4.0 || Math.abs(dy) > 4.0 || Math.abs(dz) > 4.0) { + packet = new S18PacketEntityTeleport(e.player); + } else { + byte oldYaw = (byte)((int)(e.player.prevRotationYaw * 256.0F / 360.0F)); + byte newYaw = (byte)((int)(e.player.rotationYaw * 256.0F / 360.0F)); + byte oldPitch = (byte)((int)(e.player.prevRotationPitch * 256.0F / 360.0F)); + byte newPitch = (byte)((int)(e.player.rotationPitch * 256.0F / 360.0F)); + + byte dPitch = (byte)(newPitch-oldPitch); + byte dYaw = (byte)(newYaw-oldYaw); + + packet = new S17PacketEntityLookMove(entityID, + (byte)Math.round(dx*32), (byte)Math.round(dy*32), (byte)Math.round(dz*32), + dYaw, dPitch, e.player.onGround); + } + + ConnectionEventHandler.insertPacket(packet); + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/events/ReplayTickHandler.java b/src/main/java/eu/crushedpixel/replaymod/events/ReplayTickHandler.java new file mode 100644 index 00000000..eb2b91d4 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/events/ReplayTickHandler.java @@ -0,0 +1,41 @@ +package eu.crushedpixel.replaymod.events; + +import java.lang.reflect.Field; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.WorldRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.world.WorldSettings.GameType; +import net.minecraftforge.client.event.FOVUpdateEvent; +import net.minecraftforge.client.event.RenderWorldEvent; +import net.minecraftforge.event.entity.player.AchievementEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.entity.player.PlayerFlyableFallEvent; +import net.minecraftforge.event.entity.player.PlayerInteractEvent; +import net.minecraftforge.fml.common.eventhandler.Event; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.ServerTickEvent; +import eu.crushedpixel.replaymod.reflection.MCPNames; +import eu.crushedpixel.replaymod.replay.ReplayHandler; + +public class ReplayTickHandler { + + private Minecraft mc = Minecraft.getMinecraft(); + + @SubscribeEvent + public void onPlayer(PlayerEvent event) { + if(ReplayHandler.replayActive() && event.isCancelable()) { + event.setCanceled(true); + } + } + + + @SubscribeEvent + public void onFovChange(FOVUpdateEvent event) { + if(ReplayHandler.replayActive()) { + event.newfov = 1f; + } + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiCustomMainMenu.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiCustomMainMenu.java new file mode 100644 index 00000000..c1de01ce --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiCustomMainMenu.java @@ -0,0 +1,139 @@ +package eu.crushedpixel.replaymod.gui; + +import io.netty.channel.SimpleChannelInboundHandler; + +import java.io.IOException; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.Calendar; +import java.util.Date; + +import eu.crushedpixel.replaymod.reflection.MCPNames; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiButtonLanguage; +import net.minecraft.client.gui.GuiMainMenu; +import net.minecraft.client.gui.GuiSelectWorld; +import net.minecraft.client.renderer.texture.DynamicTexture; +import net.minecraft.client.resources.I18n; +import net.minecraft.network.Packet; + +public class GuiCustomMainMenu extends GuiMainMenu { + + private static final int REPLAY_MANAGER_ID = 9001; + + @Override + public void initGui() { + Class clazz = GuiMainMenu.class; + + int i1 = this.height / 4 + 48; + this.buttonList.add(new GuiButton(REPLAY_MANAGER_ID, this.width / 2 - 100, i1 + 2*24, I18n.format("Replay Manager", new Object[0]))); + + try { + Field viewportTexture = clazz.getDeclaredField(MCPNames.field("field_73977_n")); + viewportTexture.setAccessible(true); + viewportTexture.set(this, new DynamicTexture(256, 256)); + + Field field_110351_G = clazz.getDeclaredField(MCPNames.field("field_110351_G")); + field_110351_G.setAccessible(true); + field_110351_G.set(this, this.mc.getTextureManager().getDynamicTextureLocation("background", (DynamicTexture)viewportTexture.get(this))); + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + + Field splashText = clazz.getDeclaredField(MCPNames.field("field_73975_c")); + splashText.setAccessible(true); + + if (calendar.get(2) + 1 == 11 && calendar.get(5) == 9) + { + splashText.set(this, "Happy birthday, ez!"); + } + else if (calendar.get(2) + 1 == 6 && calendar.get(5) == 1) + { + splashText.set(this, "Happy birthday, Notch!"); + } + else if (calendar.get(2) + 1 == 12 && calendar.get(5) == 24) + { + splashText.set(this, "Merry X-Mas!"); + } + else if (calendar.get(2) + 1 == 1 && calendar.get(5) == 1) + { + splashText.set(this, "Happy new year!"); + } + else if (calendar.get(2) + 1 == 10 && calendar.get(5) == 31) + { + splashText.set(this, "OOoooOOOoooo! Spooky!"); + } + + boolean flag = true; + int i = this.height / 4 + 48; + + if (this.mc.isDemo()) + { + Method addDemoButtons = clazz.getDeclaredMethod(MCPNames.method("func_73972_b"), int.class, int.class); + addDemoButtons.setAccessible(true); + addDemoButtons.invoke(this, i, 24); + } + else + { + Method addSingleplayerMultiplayerButtons = clazz.getDeclaredMethod(MCPNames.method("func_73969_a"), int.class, int.class); + addSingleplayerMultiplayerButtons.setAccessible(true); + addSingleplayerMultiplayerButtons.invoke(this, i - 24, 24); + } + + this.buttonList.add(new GuiButton(0, this.width / 2 - 100, i + 72 + 12, 98, 20, I18n.format("menu.options", new Object[0]))); + this.buttonList.add(new GuiButton(4, this.width / 2 + 2, i + 72 + 12, 98, 20, I18n.format("menu.quit", new Object[0]))); + this.buttonList.add(new GuiButtonLanguage(5, this.width / 2 - 124, i + 72 + 12)); + + Field threadLock = clazz.getDeclaredField(MCPNames.field("field_104025_t")); + threadLock.setAccessible(true); + Object object = threadLock.get(this); + + Field field_92023_s = clazz.getDeclaredField(MCPNames.field("field_92023_s")); + field_92023_s.setAccessible(true); + + Field openGLWarning1 = clazz.getDeclaredField(MCPNames.field("openGLWarning1")); + openGLWarning1.setAccessible(true); + + Field openGLWarning2 = clazz.getDeclaredField(MCPNames.field("openGLWarning2")); + openGLWarning2.setAccessible(true); + + Field field_92024_r = clazz.getDeclaredField(MCPNames.field("field_92024_r")); + field_92024_r.setAccessible(true); + + Field field_92022_t = clazz.getDeclaredField(MCPNames.field("field_92022_t")); + field_92022_t.setAccessible(true); + + Field field_92021_u = clazz.getDeclaredField(MCPNames.field("field_92021_u")); + field_92021_u.setAccessible(true); + + Field field_92020_v = clazz.getDeclaredField(MCPNames.field("field_92020_v")); + field_92020_v.setAccessible(true); + + Field field_92019_w = clazz.getDeclaredField(MCPNames.field("field_92019_w")); + field_92019_w.setAccessible(true); + + synchronized (object) + { + field_92023_s.set(this, this.fontRendererObj.getStringWidth((String)openGLWarning1.get(this))); + field_92024_r.set(this, this.fontRendererObj.getStringWidth((String)openGLWarning2.get(this))); + int j = Math.max((Integer)(field_92023_s.get(this)), (Integer)(field_92024_r.get(this))); + field_92022_t.set(this, (this.width - j) / 2); + field_92021_u.set(this, ((GuiButton)this.buttonList.get(0)).yPosition - 24); + field_92020_v.set(this, (Integer)field_92022_t.get(this) + j); + field_92019_w.set(this, (Integer)field_92021_u.get(this) + 24); + } + + } catch(Exception e) { + e.printStackTrace(); + } + } + + @Override + protected void actionPerformed(GuiButton button) throws IOException { + if(button.id == REPLAY_MANAGER_ID) { + this.mc.displayGuiScreen(new GuiReplayManager()); + } + super.actionPerformed(button); + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiCustomOptions.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiCustomOptions.java new file mode 100644 index 00000000..9c6044d2 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiCustomOptions.java @@ -0,0 +1,63 @@ +package eu.crushedpixel.replaymod.gui; + +import java.io.IOException; +import java.lang.reflect.Field; + +import com.mojang.realmsclient.util.Pair; + +import eu.crushedpixel.replaymod.reflection.MCPNames; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiCustomizeSkin; +import net.minecraft.client.gui.GuiOptionButton; +import net.minecraft.client.gui.GuiOptions; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.renderer.texture.DynamicTexture; +import net.minecraft.client.settings.GameSettings; + +public class GuiCustomOptions extends GuiOptions { + + public static GuiScreen getGuiScreen(GuiOptions go) { + try { + Class clazz = GuiOptions.class; + Field guiScreen = clazz.getDeclaredField(MCPNames.field(MCPNames.field("field_146441_g"))); + guiScreen.setAccessible(true); + Object obj = guiScreen.get(go); + return (GuiScreen)obj; + } catch(Exception e) { + e.printStackTrace(); + return null; + } + } + + public static GameSettings getGameSettings(GuiOptions go) { + try { + Class clazz = GuiOptions.class; + Field gameSettings = clazz.getDeclaredField(MCPNames.field(MCPNames.field("field_146443_h"))); + gameSettings.setAccessible(true); + Object obj = gameSettings.get(go); + return (GameSettings)obj; + } catch(Exception e) { + e.printStackTrace(); + return null; + } + } + + public GuiCustomOptions(GuiScreen guiScreen, GameSettings gameSettings) { + super(guiScreen, gameSettings); + } + + @Override + public void initGui() { + super.initGui(); + buttonList.add(new GuiButton(9001, this.width / 2 - 155, this.height / 6 + 48 - 6 - 24, 310, 20, "Replay Mod Settings...")); + } + + @Override + public void actionPerformed(GuiButton button) throws IOException { + super.actionPerformed(button); + if (button.enabled && button.id == 9001) { //Replay Mod Settings... + this.mc.displayGuiScreen(new GuiReplaySettings(this)); + } + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiExitReplay.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiExitReplay.java new file mode 100644 index 00000000..cc227a1c --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiExitReplay.java @@ -0,0 +1,65 @@ +package eu.crushedpixel.replaymod.gui; + +import java.io.IOException; + +import eu.crushedpixel.replaymod.replay.ReplayHandler; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiIngameMenu; +import net.minecraft.client.gui.GuiMainMenu; +import net.minecraft.client.multiplayer.WorldClient; +import net.minecraft.client.resources.I18n; + +public class GuiExitReplay extends GuiIngameMenu { + + @Override + public void initGui() + { + this.buttonList.clear(); + byte b0 = -16; + boolean flag = true; + this.buttonList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 120 + b0, I18n.format("menu.returnToMenu", new Object[0]))); + + if (!this.mc.isIntegratedServerRunning()) + { + ((GuiButton)this.buttonList.get(0)).displayString = I18n.format("Exit Replay", new Object[0]); + } + + this.buttonList.add(new GuiButton(4, this.width / 2 - 100, this.height / 4 + 24 + b0, I18n.format("menu.returnToGame", new Object[0]))); + this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 96 + b0, 98, 20, I18n.format("menu.options", new Object[0]))); + this.buttonList.add(new GuiButton(12, this.width / 2 + 2, this.height / 4 + 96 + b0, 98, 20, I18n.format("fml.menu.modoptions"))); + GuiButton guibutton; + this.buttonList.add(guibutton = new GuiButton(7, this.width / 2 - 100, this.height / 4 + 72 + b0, 200, 20, I18n.format("menu.shareToLan", new Object[0]))); + this.buttonList.add(new GuiButton(5, this.width / 2 - 100, this.height / 4 + 48 + b0, 98, 20, I18n.format("gui.achievements", new Object[0]))); + this.buttonList.add(new GuiButton(6, this.width / 2 + 2, this.height / 4 + 48 + b0, 98, 20, I18n.format("gui.stats", new Object[0]))); + guibutton.enabled = this.mc.isSingleplayer() && !this.mc.getIntegratedServer().getPublic(); + } + + @Override + protected void actionPerformed(GuiButton button) throws IOException + { + if(button.id == 1) { + button.enabled = false; + + Thread t = new Thread(new Runnable() { + + @Override + public void run() { + ReplayHandler.endReplay(); + ReplayHandler.setSpeed(1f); + + ReplayHandler.lastExit = System.currentTimeMillis(); + mc.theWorld.sendQuittingDisconnectingPacket(); + mc.displayGuiScreen(new GuiMainMenu()); + //mc.loadWorld((WorldClient)null); + } + }); + + t.run(); + + + } else { + super.actionPerformed(button); + } + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiMouseInput.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiMouseInput.java new file mode 100644 index 00000000..6d2d6dc2 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiMouseInput.java @@ -0,0 +1,10 @@ +package eu.crushedpixel.replaymod.gui; + +import org.lwjgl.input.Keyboard; + +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiTextField; + +public class GuiMouseInput extends GuiScreen { + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenameReplay.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenameReplay.java new file mode 100644 index 00000000..df8707ce --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenameReplay.java @@ -0,0 +1,102 @@ +package eu.crushedpixel.replaymod.gui; + +import java.io.File; +import java.io.IOException; + +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.resources.I18n; + +import org.apache.commons.io.FilenameUtils; +import org.lwjgl.input.Keyboard; + +import eu.crushedpixel.replaymod.recording.ConnectionEventHandler; + +public class GuiRenameReplay extends GuiScreen +{ + private GuiScreen field_146585_a; + private GuiTextField field_146583_f; + private static final String __OBFID = "CL_00000709"; + + private File file; + + public GuiRenameReplay(GuiScreen parent, File file) + { + this.field_146585_a = parent; + this.file = file; + } + + public void updateScreen() + { + this.field_146583_f.updateCursorCounter(); + } + + public void initGui() + { + Keyboard.enableRepeatEvents(true); + this.buttonList.clear(); + this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 96 + 12, I18n.format("Rename", new Object[0]))); + this.buttonList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 120 + 12, I18n.format("Cancel", new Object[0]))); + String s = FilenameUtils.getBaseName(file.getAbsolutePath()); + this.field_146583_f = new GuiTextField(2, this.fontRendererObj, this.width / 2 - 100, 60, 200, 20); + this.field_146583_f.setFocused(true); + this.field_146583_f.setText(s); + } + + public void onGuiClosed() + { + Keyboard.enableRepeatEvents(false); + } + + protected void actionPerformed(GuiButton button) throws IOException + { + if (button.enabled) + { + if (button.id == 1) + { + this.mc.displayGuiScreen(this.field_146585_a); + } + else if (button.id == 0) + { + File folder = new File("./replay_recordings/"); + folder.mkdirs(); + File initRenamed = new File(folder, this.field_146583_f.getText().trim()+ConnectionEventHandler.ZIP_FILE_EXTENSION.replaceAll("[^a-zA-Z0-9\\.\\-]", "_")); + File renamed = initRenamed; + int i=1; + while(renamed.isFile()) { + renamed = new File(initRenamed.getAbsolutePath()+"_"+i); + i++; + } + file.renameTo(renamed); + this.mc.displayGuiScreen(this.field_146585_a); + } + } + } + + protected void keyTyped(char typedChar, int keyCode) throws IOException + { + this.field_146583_f.textboxKeyTyped(typedChar, keyCode); + ((GuiButton)this.buttonList.get(0)).enabled = this.field_146583_f.getText().trim().length() > 0; + + if (keyCode == 28 || keyCode == 156) + { + this.actionPerformed((GuiButton)this.buttonList.get(0)); + } + } + + protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException + { + super.mouseClicked(mouseX, mouseY, mouseButton); + this.field_146583_f.mouseClicked(mouseX, mouseY, mouseButton); + } + + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + this.drawCenteredString(this.fontRendererObj, I18n.format("Rename World", new Object[0]), this.width / 2, 20, 16777215); + this.drawString(this.fontRendererObj, I18n.format("Replay Name", new Object[0]), this.width / 2 - 100, 47, 10526880); + this.field_146583_f.drawTextBox(); + super.drawScreen(mouseX, mouseY, partialTicks); + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplayListEntry.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplayListEntry.java new file mode 100644 index 00000000..b218bd57 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplayListEntry.java @@ -0,0 +1,92 @@ +package eu.crushedpixel.replaymod.gui; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.GuiListExtended.IGuiListEntry; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.WorldRenderer; +import eu.crushedpixel.replaymod.recording.ReplayMetaData; + +public class GuiReplayListEntry implements IGuiListEntry { + + private Minecraft minecraft = Minecraft.getMinecraft(); + private final DateFormat dateFormat = new SimpleDateFormat(); + + private ReplayMetaData metaData; + private String fileName; + + + + public ReplayMetaData getMetaData() { + return metaData; + } + + public void setMetaData(ReplayMetaData metaData) { + this.metaData = metaData; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + private boolean selected = false; + private GuiReplayListExtended parent; + + public GuiReplayListEntry(GuiReplayListExtended parent, String fileName, ReplayMetaData metaData) { + this.metaData = metaData; + this.fileName = fileName; + this.parent = parent; + } + + @Override + public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) + { + minecraft.fontRendererObj.drawString(fileName, x + 3, y + 1, 16777215); + + List list = new ArrayList(); + list.add(metaData.getServerName()+" ("+dateFormat.format(new Date(metaData.getDate()))+")"); + + list.add(String.format("%02dm%02ds", + TimeUnit.MILLISECONDS.toMinutes(metaData.getDuration()), + TimeUnit.MILLISECONDS.toSeconds(metaData.getDuration()) - + TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(metaData.getDuration())) + )); + + for (int l1 = 0; l1 < Math.min(list.size(), 2); ++l1) { + minecraft.fontRendererObj.drawString((String)list.get(l1), x + 3, y + 12 + minecraft.fontRendererObj.FONT_HEIGHT * l1, 8421504); + } + } + + @Override + public void setSelected(int p_178011_1_, int p_178011_2_, int p_178011_3_) {} + + @Override + public boolean mousePressed(int p_148278_1_, int p_148278_2_, + int p_148278_3_, int p_148278_4_, int p_148278_5_, int p_148278_6_) { + for(int slot = 0; slot this.bottom || k1 + l1 < this.top) + { + this.func_178040_a(j1, p_148120_1_, k1); + } + + if (this.showSelectionBox && selected == j1) + { + int i2 = this.left + (this.width / 2 - this.getListWidth() / 2); + int j2 = this.left + this.width / 2 + this.getListWidth() / 2; + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.disableTexture2D(); + worldrenderer.startDrawingQuads(); + worldrenderer.setColorOpaque_I(8421504); + worldrenderer.addVertexWithUV((double)i2, (double)(k1 + l1 + 2), 0.0D, 0.0D, 1.0D); + worldrenderer.addVertexWithUV((double)j2, (double)(k1 + l1 + 2), 0.0D, 1.0D, 1.0D); + worldrenderer.addVertexWithUV((double)j2, (double)(k1 - 2), 0.0D, 1.0D, 0.0D); + worldrenderer.addVertexWithUV((double)i2, (double)(k1 - 2), 0.0D, 0.0D, 0.0D); + worldrenderer.setColorOpaque_I(0); + worldrenderer.addVertexWithUV((double)(i2 + 1), (double)(k1 + l1 + 1), 0.0D, 0.0D, 1.0D); + worldrenderer.addVertexWithUV((double)(j2 - 1), (double)(k1 + l1 + 1), 0.0D, 1.0D, 1.0D); + worldrenderer.addVertexWithUV((double)(j2 - 1), (double)(k1 - 1), 0.0D, 1.0D, 0.0D); + worldrenderer.addVertexWithUV((double)(i2 + 1), (double)(k1 - 1), 0.0D, 0.0D, 0.0D); + tessellator.draw(); + GlStateManager.enableTexture2D(); + } + + this.drawSlot(j1, p_148120_1_, k1, l1, p_148120_3_, p_148120_4_); + } + } + + + private List entries = new ArrayList(); + + public void clearEntries() { + entries = new ArrayList(); + } + + public void addEntry(String fileName, ReplayMetaData metaData) { + entries.add(new GuiReplayListEntry(this, fileName, metaData)); + } + + @Override + public GuiReplayListEntry getListEntry(int index) { + return entries.get(index); + } + + @Override + protected int getSize() { + return entries.size(); + } + + + @Override + public void handleMouseInput() + { + if (this.isMouseYWithinSlotBounds(this.mouseY)) + { + if (Mouse.isButtonDown(0)) + { + if (this.initialClickY == -1.0F) + { + int i2 = this.getScrollBarX(); + int i1 = i2 + 6; + + boolean flag = true; + + if (this.mouseY >= this.top && this.mouseY <= this.bottom && this.mouseX <= i1) + { + int i = this.width / 2 - this.getListWidth() / 2; + int j = this.width / 2 + this.getListWidth() / 2; + int k = this.mouseY - this.top - this.headerPadding + (int)this.amountScrolled - 4; + int l = k / this.slotHeight; + + if (this.mouseX >= i && this.mouseX <= j && l >= 0 && k >= 0 && l < this.getSize()) + { + boolean flag1 = l == this.selectedElement && Minecraft.getSystemTime() - this.lastClicked < 250L; + this.elementClicked(l, flag1, this.mouseX, this.mouseY); + this.selectedElement = l; + this.lastClicked = Minecraft.getSystemTime(); + } + else if (this.mouseX >= i && this.mouseX <= j && k < 0) + { + this.func_148132_a(this.mouseX - i, this.mouseY - this.top + (int)this.amountScrolled - 4); + flag = false; + } + + if (this.mouseX >= i2 && this.mouseX <= i1) + { + this.scrollMultiplier = -1.0F; + int j1 = this.func_148135_f(); + + if (j1 < 1) + { + j1 = 1; + } + + int k1 = (int)((float)((this.bottom - this.top) * (this.bottom - this.top)) / (float)this.getContentHeight()); + k1 = MathHelper.clamp_int(k1, 32, this.bottom - this.top - 8); + this.scrollMultiplier /= (float)(this.bottom - this.top - k1) / (float)j1; + } + else + { + this.scrollMultiplier = 1.0F; + } + + if (flag) + { + this.initialClickY = (float)this.mouseY; + } + else + { + this.initialClickY = -2.0F; + } + } + else + { + this.initialClickY = -2.0F; + } + } + else if (this.initialClickY >= 0.0F) + { + this.amountScrolled -= ((float)this.mouseY - this.initialClickY) * this.scrollMultiplier; + this.initialClickY = (float)this.mouseY; + } + } + else + { + this.initialClickY = -1.0F; + } + + int l1 = Mouse.getEventDWheel(); + + if (l1 != 0) + { + if (l1 > 0) + { + l1 = -1; + } + else if (l1 < 0) + { + l1 = 1; + } + + this.amountScrolled += (float)(l1 * this.slotHeight / 2); + } + } + } + + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplayManager.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplayManager.java new file mode 100644 index 00000000..67b31eeb --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplayManager.java @@ -0,0 +1,286 @@ +package eu.crushedpixel.replaymod.gui; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.SocketAddress; +import java.net.URI; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiYesNo; +import net.minecraft.client.gui.GuiYesNoCallback; +import net.minecraft.client.network.NetHandlerLoginClient; +import net.minecraft.client.resources.I18n; +import net.minecraft.network.EnumConnectionState; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.handshake.client.C00Handshake; +import net.minecraft.network.login.client.C00PacketLoginStart; +import net.minecraft.util.Util; + +import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; +import org.apache.commons.compress.archivers.zip.ZipFile; +import org.apache.commons.io.FilenameUtils; +import org.lwjgl.Sys; +import org.lwjgl.input.Keyboard; + +import com.google.gson.Gson; +import com.mojang.realmsclient.util.Pair; + +import eu.crushedpixel.replaymod.recording.ConnectionEventHandler; +import eu.crushedpixel.replaymod.recording.ReplayMetaData; +import eu.crushedpixel.replaymod.replay.ReplayHandler; +import eu.crushedpixel.replaymod.replay.ReplaySender; + +public class GuiReplayManager extends GuiScreen implements GuiYesNoCallback { + + private GuiScreen parentScreen; + private GuiButton btnEditServer; + private GuiButton btnSelectServer; + private GuiButton btnDeleteServer; + private String hoveringText; + private boolean initialized; + private GuiReplayListExtended replayGuiList; + private List> replayFileList = new ArrayList>(); + private GuiButton loadButton, folderButton, renameButton, deleteButton, cancelButton, settingsButton; + + private static Gson gson = new Gson(); + private boolean replaying = false; + + private static final int LOAD_BUTTON_ID = 9001; + private static final int FOLDER_BUTTON_ID = 9002; + private static final int RENAME_BUTTON_ID = 9003; + private static final int DELETE_BUTTON_ID = 9004; + private static final int SETTINGS_BUTTON_ID = 9005; + private static final int CANCEL_BUTTON_ID = 9006; + + private boolean delete_file = false; + + private void reloadFiles() { + replayGuiList.clearEntries(); + replayFileList = new ArrayList>(); + + File folder = new File("./replay_recordings/"); + folder.mkdirs(); + + for(File file : folder.listFiles()) { + if(("."+FilenameUtils.getExtension(file.getAbsolutePath())).equals(ConnectionEventHandler.ZIP_FILE_EXTENSION)) { + try { + ZipFile archive = new ZipFile(file); + ZipArchiveEntry recfile = archive.getEntry("recording"+ConnectionEventHandler.TEMP_FILE_EXTENSION); + ZipArchiveEntry metadata = archive.getEntry("metaData"+ConnectionEventHandler.JSON_FILE_EXTENSION); + + InputStream is = archive.getInputStream(metadata); + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + + String json = br.readLine(); + + ReplayMetaData metaData = gson.fromJson(json, ReplayMetaData.class); + + replayFileList.add(Pair.of(file, metaData)); + + archive.close(); + } catch(Exception e) { + e.printStackTrace(); + } + } + } + + Collections.sort(replayFileList, new FileAgeComparator()); + + for(Pair p : replayFileList) { + replayGuiList.addEntry(FilenameUtils.getBaseName(p.first().getName()), p.second()); + } + } + + public class FileAgeComparator implements Comparator> { + + @Override + public int compare(Pair o1, Pair o2) { + return (int) (o2.second().getDate() - o1.second().getDate()); + } + + } + + public void initGui() + { + replayGuiList = new GuiReplayListExtended(this, this.mc, this.width, this.height, 32, this.height - 64, 36); + Keyboard.enableRepeatEvents(true); + this.buttonList.clear(); + + if (!this.initialized) { + this.initialized = true; + } + else { + this.replayGuiList.setDimensions(this.width, this.height, 32, this.height - 64); + } + + reloadFiles(); + this.createButtons(); + } + + private void createButtons() { + this.buttonList.add(loadButton = new GuiButton(LOAD_BUTTON_ID, this.width / 2 - 154, this.height - 52, 150, 20, I18n.format("Load Replay", new Object[0]))); + this.buttonList.add(folderButton = new GuiButton(FOLDER_BUTTON_ID, this.width / 2 + 4, this.height - 52, 150, 20, I18n.format("Open Replay Folder...", new Object[0]))); + this.buttonList.add(renameButton = new GuiButton(RENAME_BUTTON_ID, this.width / 2 - 154, this.height - 28, 72, 20, I18n.format("Rename", new Object[0]))); + this.buttonList.add(deleteButton = new GuiButton(DELETE_BUTTON_ID, this.width / 2 - 76, this.height - 28, 72, 20, I18n.format("Delete", new Object[0]))); + this.buttonList.add(settingsButton = new GuiButton(SETTINGS_BUTTON_ID, this.width / 2 + 4, this.height - 28, 72, 20, I18n.format("Settings", new Object[0]))); + this.buttonList.add(cancelButton = new GuiButton(CANCEL_BUTTON_ID, this.width / 2 + 4 + 78, this.height - 28, 72, 20, I18n.format("Cancel", new Object[0]))); + setButtonsEnabled(false); + } + + public void handleMouseInput() throws IOException + { + super.handleMouseInput(); + this.replayGuiList.handleMouseInput(); + } + + protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException + { + super.mouseClicked(mouseX, mouseY, mouseButton); + this.replayGuiList.mouseClicked(mouseX, mouseY, mouseButton); + } + + protected void mouseReleased(int mouseX, int mouseY, int state) + { + super.mouseReleased(mouseX, mouseY, state); + this.replayGuiList.mouseReleased(mouseX, mouseY, state); + } + + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.hoveringText = null; + this.drawDefaultBackground(); + this.replayGuiList.drawScreen(mouseX, mouseY, partialTicks); + this.drawCenteredString(this.fontRendererObj, I18n.format("Replay Manager", new Object[0]), this.width / 2, 20, 16777215); + super.drawScreen(mouseX, mouseY, partialTicks); + } + + @Override + protected void actionPerformed(GuiButton button) throws IOException + { + if (button.enabled) { + if(button.id == LOAD_BUTTON_ID) { + loadReplay(replayGuiList.selected); + } + else if (button.id == CANCEL_BUTTON_ID) + { + mc.displayGuiScreen(parentScreen); + } + else if (button.id == DELETE_BUTTON_ID) + { + String s = replayGuiList.getListEntry(replayGuiList.selected).getFileName(); + + if (s != null) + { + delete_file = true; + GuiYesNo guiyesno = getYesNoGui(this, s, 1); + this.mc.displayGuiScreen(guiyesno); + } + } + else if(button.id == SETTINGS_BUTTON_ID) { + this.mc.displayGuiScreen(new GuiReplaySettings(this)); + } + else if(button.id == RENAME_BUTTON_ID) + { + File file = replayFileList.get(replayGuiList.selected).first(); + this.mc.displayGuiScreen(new GuiRenameReplay(this, file)); + } + else if(button.id == FOLDER_BUTTON_ID) + { + File file1 = new File("./replay_recordings/"); + file1.mkdirs(); + String s = file1.getAbsolutePath(); + + if (Util.getOSType() == Util.EnumOS.OSX) + { + try + { + Runtime.getRuntime().exec(new String[] {"/usr/bin/open", s}); + return; + } + catch (IOException ioexception1) {} + } + else if (Util.getOSType() == Util.EnumOS.WINDOWS) + { + String s1 = String.format("cmd.exe /C start \"Open file\" \"%s\"", new Object[] {s}); + + try + { + Runtime.getRuntime().exec(s1); + return; + } + catch (IOException ioexception) {} + } + + boolean flag = false; + + try + { + Class oclass = Class.forName("java.awt.Desktop"); + Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]); + oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {file1.toURI()}); + } + catch (Throwable throwable) + { + flag = true; + } + + if (flag) + { + Sys.openURL("file://" + s); + } + } + } + } + + public void confirmClicked(boolean result, int id) { + if (this.delete_file) + { + this.delete_file = false; + + if (result) + { + replayFileList.get(replayGuiList.selected).first().delete(); + replayFileList.remove(replayGuiList.selected); + } + + this.mc.displayGuiScreen(this); + } + } + + public static GuiYesNo getYesNoGui(GuiYesNoCallback p_152129_0_, String file, int p_152129_2_) + { + String s1 = I18n.format("Are you sure you want to delete this replay?", new Object[0]); + String s2 = "\'" + file + "\' " + I18n.format("will be lost forever! (A long time!)", new Object[0]); + String s3 = I18n.format("Delete", new Object[0]); + String s4 = I18n.format("Cancel", new Object[0]); + GuiYesNo guiyesno = new GuiYesNo(p_152129_0_, s1, s2, s3, s4, p_152129_2_); + return guiyesno; + } + + public void setButtonsEnabled(boolean b) { + loadButton.enabled = b; + renameButton.enabled = b; + deleteButton.enabled = b; + } + + public void loadReplay(int id) + { + mc.displayGuiScreen((GuiScreen)null); + + try { + ReplayHandler.startReplay(replayFileList.get(id).first()); + } catch(Exception e) { + e.printStackTrace(); + } + + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java new file mode 100644 index 00000000..a1457f4d --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySettings.java @@ -0,0 +1,133 @@ +package eu.crushedpixel.replaymod.gui; + +import java.awt.Color; +import java.io.IOException; +import java.util.Map; +import java.util.Map.Entry; + +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiOptionButton; +import net.minecraft.client.gui.GuiOptionSlider; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.resources.I18n; +import net.minecraftforge.fml.client.FMLClientHandler; +import eu.crushedpixel.replaymod.ReplayMod; +import eu.crushedpixel.replaymod.settings.ReplaySettings; + +public class GuiReplaySettings extends GuiScreen { + + private GuiScreen parentGuiScreen; + protected String screenTitle = "Replay Mod Settings"; + + private static final int MAXSIZE_SLIDER_ID = 9003; + private static final int RECORDSERVER_ID = 9004; + private static final int RECORDSP_ID = 9005; + private static final int SEND_CHAT = 9006; + private static final int FORCE_LINEAR = 9007; + + private GuiButton recordServerButton, recordSPButton, sendChatButton, linearButton; + + public GuiReplaySettings(GuiScreen parentGuiScreen) + { + this.parentGuiScreen = parentGuiScreen; + } + + public void initGui() { + this.screenTitle = I18n.format("Replay Mod Settings", new Object[0]); + this.buttonList.clear(); + this.buttonList.add(new GuiButton(200, this.width / 2 - 100, this.height - 27, I18n.format("gui.done", new Object[0]))); + + Map aoptions = ReplayMod.replaySettings.getOptions(); + + int k = 0; + int i = 0; + for (Entry e : aoptions.entrySet()) { + if(e.getKey().equals("Maximum File Size")) { + float minValue = -1; + float maxValue = 10000; + float valueSteps = 1; + + int val = (Integer)e.getValue(); + this.buttonList.add(new GuiSizeLimitOptionSlider(MAXSIZE_SLIDER_ID, this.width / 2 - 155 + i % 2 * 160, this.height / 6 + 24 * (i >> 1), 0, 39, 1, val, e.getKey())); + + } else if(e.getKey().equals("Enable Notifications")) { + sendChatButton = new GuiButton(SEND_CHAT, this.width / 2 - 155 + i % 2 * 160, this.height / 6 + 24 * (i >> 1), 150, 20, "Enable Notifications: "+onOff((Boolean)e.getValue())); + this.buttonList.add(sendChatButton); + } else if(e.getKey().equals("Record Server")) { + recordServerButton = new GuiButton(RECORDSERVER_ID, this.width / 2 - 155 + i % 2 * 160, this.height / 6 + 24 * (i >> 1), 150, 20, "Record Server: "+onOff((Boolean)e.getValue())); + this.buttonList.add(recordServerButton); + } else if(e.getKey().equals("Record Singleplayer")) { + recordSPButton = new GuiButton(RECORDSP_ID, this.width / 2 - 155 + i % 2 * 160, this.height / 6 + 24 * (i >> 1), 150, 20, "Record Singleplayer: "+onOff((Boolean)e.getValue())); + this.buttonList.add(recordSPButton); + } else if(e.getKey().equals("Force Linear Movement")) { + linearButton = new GuiButton(FORCE_LINEAR, this.width / 2 - 155 + i % 2 * 160, this.height / 6 + 24 * (i >> 1), 150, 20, "Camera Path: "+linearOnOff((Boolean)e.getValue())); + this.buttonList.add(linearButton); + } + + ++i; + ++k; + } + + if (i % 2 == 1) + { + ++i; + } + } + + private String onOff(boolean on) { + return on ? "ON" : "OFF"; + } + + private String linearOnOff(boolean on) { + return on ? "Linear" : "Cubic"; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + this.drawCenteredString(this.fontRendererObj, "Replay Mod Settings", this.width / 2, 20, 16777215); + if (FMLClientHandler.instance().getClient().thePlayer != null) { + this.drawCenteredString(this.fontRendererObj, "WARNING: These settings are going to be", this.width / 2, 180, Color.RED.getRGB()); + this.drawCenteredString(this.fontRendererObj, "applied the next time you join a world.", this.width / 2, 190, Color.RED.getRGB()); + } + super.drawScreen(mouseX, mouseY, partialTicks); + } + + + protected void actionPerformed(GuiButton button) throws IOException + { + if (button.enabled) + { + switch(button.id) { + case 200: + this.mc.displayGuiScreen(this.parentGuiScreen); + break; + case RECORDSERVER_ID: + boolean enabled = ReplayMod.replaySettings.isEnableRecordingServer(); + enabled = !enabled; + recordServerButton.displayString = "Record Server: "+onOff(enabled); + ReplayMod.replaySettings.setEnableRecordingServer(enabled); + break; + case RECORDSP_ID: + enabled = ReplayMod.replaySettings.isEnableRecordingSingleplayer(); + enabled = !enabled; + recordSPButton.displayString = "Record Singleplayer: "+onOff(enabled); + ReplayMod.replaySettings.setEnableRecordingSingleplayer(enabled); + break; + case SEND_CHAT: + enabled = ReplayMod.replaySettings.isShowNotifications(); + enabled = !enabled; + sendChatButton.displayString = "Enable Notifications: "+onOff(enabled); + ReplayMod.replaySettings.setShowNotifications(enabled); + break; + case FORCE_LINEAR: + enabled = ReplayMod.replaySettings.isLinearMovement(); + enabled = !enabled; + linearButton.displayString = "Camera Path: "+linearOnOff(enabled); + ReplayMod.replaySettings.setLinearMovement(enabled); + break; + } + } + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java new file mode 100644 index 00000000..bb32ec4e --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiReplaySpeedSlider.java @@ -0,0 +1,189 @@ +package eu.crushedpixel.replaymod.gui; + +import eu.crushedpixel.replaymod.ReplayMod; +import eu.crushedpixel.replaymod.replay.ReplayHandler; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.settings.GameSettings; +import net.minecraft.util.MathHelper; +import net.minecraftforge.fml.client.FMLClientHandler; + +public class GuiReplaySpeedSlider extends GuiButton { + + private float sliderValue; + + private float valueStep, valueMin, valueMax; + private String displayKey; + private boolean dragging = false; + + public GuiReplaySpeedSlider(int buttonId, int p_i45017_2_, int p_i45017_3_, String displayKey) + { + super(buttonId, p_i45017_2_, p_i45017_3_, 150, 20, ""); + sliderValue = (9f/38f); + + this.width = 100; + this.valueMin = 1; + this.valueMax = 38; + this.valueStep = 1; + this.displayString = displayKey+": 1x"; + this.displayKey = displayKey; + + Minecraft.getMinecraft().getTextureManager().bindTexture(buttonTextures); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + this.drawTexturedModalRect(this.xPosition + (int)(sliderValue * (float)(this.width - 8)), this.yPosition, 0, 66, 4, 20); + this.drawTexturedModalRect(this.xPosition + (int)(sliderValue * (float)(this.width - 8)) + 4, this.yPosition, 196, 66, 4, 20); + } + + @Override + protected int getHoverState(boolean mouseOver) { + return 0; + } + + @Override + public void drawButton(Minecraft mc, int mouseX, int mouseY) + { + if (this.visible) + { + try { + FontRenderer fontrenderer = mc.fontRendererObj; + mc.getTextureManager().bindTexture(buttonTextures); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height; + int k = this.getHoverState(this.hovered); + GlStateManager.enableBlend(); + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); + GlStateManager.blendFunc(770, 771); + this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, 46 + k * 20, this.width / 2, this.height); + this.drawTexturedModalRect(this.xPosition + this.width / 2, this.yPosition, 200 - this.width / 2, 46 + k * 20, this.width / 2, this.height); + this.mouseDragged(mc, mouseX, mouseY); + int l = 14737632; + + if (packedFGColour != 0) + { + l = packedFGColour; + } + else if (!this.enabled) + { + l = 10526880; + } + else if (this.hovered && FMLClientHandler.instance().isGUIOpen(GuiMouseInput.class)) + { + l = 16777120; + } + + this.drawCenteredString(fontrenderer, this.displayString, this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, l); + } catch(Exception e) {} + } + } + + private String translate(float f) { + return f+"x"; + } + + public static float convertScaleRet(float value) { + if(value <= 1) { + return Math.round(value*10); + } + float steps = value-1; + return Math.round(steps/0.25f); + } + + public static float convertScale(float value) { + if(value == 10) { + return 1; + } + if(value <= 9) { + return value/10f; + } + return 1+(0.25f*(value-10)); + } + + + public double getSliderValue() { + return convertScale(normalizedToReal(sliderValue)); + } + + @Override + protected void mouseDragged(Minecraft mc, int mouseX, int mouseY) { + if (this.visible) { + try { + if(this.dragging) { + sliderValue = (float)(mouseX - (this.xPosition + 4)) / (float)(this.width - 8); + sliderValue = MathHelper.clamp_float(sliderValue, 0.0F, 1.0F); + float f = denormalizeValue(sliderValue); + sliderValue = normalizeValue(f); + if(ReplayHandler.getSpeed() != 0) { + ReplayHandler.setSpeed(convertScale(normalizedToReal(sliderValue))); + } + this.displayString = displayKey+": "+translate(convertScale(normalizedToReal(sliderValue))); + } + + mc.getTextureManager().bindTexture(buttonTextures); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + this.drawTexturedModalRect(this.xPosition + (int)(sliderValue * (float)(this.width - 8)), this.yPosition, 0, 66, 4, 20); + this.drawTexturedModalRect(this.xPosition + (int)(sliderValue * (float)(this.width - 8)) + 4, this.yPosition, 196, 66, 4, 20); + } catch(Exception e) {} + } + } + + public float normalizeValue(float p_148266_1_) + { + return MathHelper.clamp_float((this.snapToStepClamp(p_148266_1_) - this.valueMin) / (this.valueMax - this.valueMin), 0.0F, 1.0F); + } + + public float realToNormalized(float value) { + float min = 0 - valueMin; + float max = valueMax + min; + + return value/(max) - min; + } + + public float denormalizeValue(float p_148262_1_) + { + return this.snapToStepClamp(this.valueMin + (this.valueMax - this.valueMin) * MathHelper.clamp_float(p_148262_1_, 0.0F, 1.0F)); + } + + public float snapToStepClamp(float p_148268_1_) + { + p_148268_1_ = this.snapToStep(p_148268_1_); + return MathHelper.clamp_float(p_148268_1_, this.valueMin, this.valueMax); + } + + protected float snapToStep(float p_148264_1_) + { + if (this.valueStep > 0.0F) + { + p_148264_1_ = this.valueStep * (float)Math.round(p_148264_1_ / this.valueStep); + } + + return p_148264_1_; + } + + public float normalizedToReal(float value) { + float min = 0 - valueMin; + float max = valueMax + min; + + return Math.round(value*(max) - min); + } + + public boolean mousePressed(Minecraft mc, int mouseX, int mouseY) + { + if (super.mousePressed(mc, mouseX, mouseY)) + { + this.dragging = true; + return true; + } + else + { + return false; + } + } + + public void mouseReleased(int mouseX, int mouseY) + { + this.dragging = false; + } + +} \ No newline at end of file diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiSizeLimitOptionSlider.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiSizeLimitOptionSlider.java new file mode 100644 index 00000000..9f8406b8 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiSizeLimitOptionSlider.java @@ -0,0 +1,185 @@ +package eu.crushedpixel.replaymod.gui; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.settings.GameSettings; +import net.minecraft.util.MathHelper; +import eu.crushedpixel.replaymod.ReplayMod; + +public class GuiSizeLimitOptionSlider extends GuiButton { + + public GuiSizeLimitOptionSlider(int buttonId, int p_i45017_2_, int p_i45017_3_, float valueMin, float valueMax, float valueStep, int sliderValue, String displayKey) + { + super(buttonId, p_i45017_2_, p_i45017_3_, 150, 20, ""); + this.valueMin = valueMin; + this.valueMax = valueMax; + this.valueStep = valueStep; + this.sliderValue = sliderValue; + this.displayString = displayKey+": "+translate(sliderValue); + this.displayKey = displayKey; + + float val = realToNormalized(convertScaleRet(sliderValue)); + + + this.sliderValue = val; + } + + private float sliderValue; + public boolean dragging; + private GameSettings.Options options; + + private float valueStep, valueMin, valueMax; + private String displayKey; + + + protected int getHoverState(boolean mouseOver) { + return 0; + } + + + @Override + protected void mouseDragged(Minecraft mc, int mouseX, int mouseY) { + if (this.visible) { + if (this.dragging) { + sliderValue = (float)(mouseX - (this.xPosition + 4)) / (float)(this.width - 8); + sliderValue = MathHelper.clamp_float(sliderValue, 0.0F, 1.0F); + float f = denormalizeValue(sliderValue); + sliderValue = normalizeValue(f); + this.displayString = displayKey+": "+translate(convertScale(normalizedToReal(sliderValue))); + ReplayMod.replaySettings.setMaximumFileSize(convertScale(normalizedToReal(sliderValue))); + } + + mc.getTextureManager().bindTexture(buttonTextures); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + this.drawTexturedModalRect(this.xPosition + (int)(sliderValue * (float)(this.width - 8)), this.yPosition, 0, 66, 4, 20); + this.drawTexturedModalRect(this.xPosition + (int)(sliderValue * (float)(this.width - 8)) + 4, this.yPosition, 196, 66, 4, 20); + } + } + + public static String translate(int value) { + if(value == 0) { + return "Unlimited"; + } else { + return convertToStringRepresentation(value); + } + } + + public static int convertScale(float value) { + if(value == 0) { + return 0; + } else { + if(value > 20) { + value = 1024+((value-20)*1024); + } else { + value = value*50; + } + if(value == 1000) { + value = 1024; + } + return Math.round(value); + } + } + + public static int convertScaleRet(float value) { + if(value == 0) { + return 0; + } else { + if(value >= 1024) { + value = 20+((value-1024)/1024); + } else { + value = value/50; + } + if(value == 1024) { + value = 1000; + } + return Math.round(value); + } + } + + public static String convertToStringRepresentation(final long value){ + long M = 1; + long G = 1024; + long T = G * 1024; + + final long[] dividers = new long[] { T, G, M}; + final String[] units = new String[] { "TB", "GB", "MB"}; + if(value < 1) + throw new IllegalArgumentException("Invalid file size: " + value); + String result = null; + for(int i = 0; i < dividers.length; i++){ + final long divider = dividers[i]; + if(value >= divider){ + result = format(value, divider, units[i]); + break; + } + } + return result; + } + + private static String format(final long value, + final long divider, + final String unit){ + final double result = + divider > 1 ? (double) value / (double) divider : (double) value; + return String.format("%.0f %s", Double.valueOf(result), unit); + } + + public float normalizedToReal(float value) { + float min = 0 - valueMin; + float max = valueMax + min; + + return Math.round(value*(max) - min); + } + + public float realToNormalized(float value) { + float min = 0 - valueMin; + float max = valueMax + min; + + return value/(max) - min; + } + + public float normalizeValue(float p_148266_1_) + { + return MathHelper.clamp_float((this.snapToStepClamp(p_148266_1_) - this.valueMin) / (this.valueMax - this.valueMin), 0.0F, 1.0F); + } + + public float denormalizeValue(float p_148262_1_) + { + return this.snapToStepClamp(this.valueMin + (this.valueMax - this.valueMin) * MathHelper.clamp_float(p_148262_1_, 0.0F, 1.0F)); + } + + public float snapToStepClamp(float p_148268_1_) + { + p_148268_1_ = this.snapToStep(p_148268_1_); + return MathHelper.clamp_float(p_148268_1_, this.valueMin, this.valueMax); + } + + protected float snapToStep(float p_148264_1_) + { + if (this.valueStep > 0.0F) + { + p_148264_1_ = this.valueStep * (float)Math.round(p_148264_1_ / this.valueStep); + } + + return p_148264_1_; + } + + public boolean mousePressed(Minecraft mc, int mouseX, int mouseY) + { + if (super.mousePressed(mc, mouseX, mouseY)) + { + this.dragging = true; + return true; + } + else + { + return false; + } + } + + public void mouseReleased(int mouseX, int mouseY) + { + this.dragging = false; + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java b/src/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java new file mode 100644 index 00000000..a0f7645e --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/holders/Keyframe.java @@ -0,0 +1,20 @@ +package eu.crushedpixel.replaymod.holders; + +public class Keyframe { + + private int realTimestamp; + + public Keyframe(int realTimestamp) { + this.realTimestamp = realTimestamp; + } + + public int getRealTimestamp() { + return realTimestamp; + } + + public void setRealTimestamp(int realTimestamp) { + this.realTimestamp = realTimestamp; + } + + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/holders/KeyframeComparator.java b/src/main/java/eu/crushedpixel/replaymod/holders/KeyframeComparator.java new file mode 100644 index 00000000..309f4e7d --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/holders/KeyframeComparator.java @@ -0,0 +1,16 @@ +package eu.crushedpixel.replaymod.holders; + +import java.util.Comparator; + +import eu.crushedpixel.replaymod.replay.ReplayHandler; + +public class KeyframeComparator implements Comparator { + + @Override + public int compare(Keyframe o1, Keyframe o2) { + if(ReplayHandler.isSelected(o1)) return 1; + if(ReplayHandler.isSelected(o2)) return -1; + return o1.getRealTimestamp()-o2.getRealTimestamp(); + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/holders/Position.java b/src/main/java/eu/crushedpixel/replaymod/holders/Position.java new file mode 100644 index 00000000..0a02ce82 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/holders/Position.java @@ -0,0 +1,57 @@ +package eu.crushedpixel.replaymod.holders; + +public class Position { + + private double x, y, z; + private float pitch, yaw; + + public Position(double x, double y, double z, float pitch, float yaw) { + this.x = x; + this.y = y; + this.z = z; + this.pitch = pitch; + this.yaw = yaw; + } + + public double getX() { + return x; + } + + public void setX(double x) { + this.x = x; + } + + public double getY() { + return y; + } + + public void setY(double y) { + this.y = y; + } + + public double getZ() { + return z; + } + + public void setZ(double z) { + this.z = z; + } + + public float getPitch() { + return pitch; + } + + public void setPitch(float pitch) { + this.pitch = pitch; + } + + public float getYaw() { + return yaw; + } + + public void setYaw(float yaw) { + this.yaw = yaw; + } + + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/holders/PositionKeyframe.java b/src/main/java/eu/crushedpixel/replaymod/holders/PositionKeyframe.java new file mode 100644 index 00000000..a4b1ea90 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/holders/PositionKeyframe.java @@ -0,0 +1,20 @@ +package eu.crushedpixel.replaymod.holders; + +public class PositionKeyframe extends Keyframe { + + private Position position; + + public PositionKeyframe(int realTime, Position position) { + super(realTime); + this.position = position; + } + + public Position getPosition() { + return position; + } + + public void setPosition(Position position) { + this.position = position; + } + +} \ No newline at end of file diff --git a/src/main/java/eu/crushedpixel/replaymod/holders/TimeInfo.java b/src/main/java/eu/crushedpixel/replaymod/holders/TimeInfo.java new file mode 100644 index 00000000..a1583a9f --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/holders/TimeInfo.java @@ -0,0 +1,100 @@ +package eu.crushedpixel.replaymod.holders; + +/** + * Copyright (c) 2014 Johni0702 + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + **/ +public final class TimeInfo { + + @Override + public String toString() { + return start+" | "+speedSince+" | "+speed+" | "+jumpTo; + } + + public static TimeInfo create() { + long now = System.currentTimeMillis(); + return new TimeInfo(now, now, 1, -1); + } + + public TimeInfo(long start, long speedSince, double speed, long jumpTo) { + this.start = start; + this.speedSince = speedSince; + this.speed = speed; + this.jumpTo = jumpTo; + } + + private final long start; + private final long speedSince; + private final double speed; + private final long jumpTo; + + public long getActualStartTime(long now) { + long realTimePassed = now - speedSince; + long ingameTimePassed = (long) (realTimePassed * this.speed); + return start + realTimePassed - ingameTimePassed; + } + + public long getInGameTimePassed(long now) { + long realTimePassed = now - speedSince; + long ingameTimePassed = (long) (realTimePassed * this.speed); + return speedSince - start + ingameTimePassed; + } + + public TimeInfo updateSpeed(long now, double speed) { + if (isJumping()) { + return new TimeInfo(now-jumpTo, now, speed, -1); + } else { + if (this.speed == speed) { + return this; + } + long start; + if (this.speed == 1) { + start = this.start; + } else { + start = getActualStartTime(now); + } + return new TimeInfo(start, now, speed, -1); + } + } + + public boolean isJumping() { + return jumpTo != -1; + } + + public TimeInfo jumpTo(long jumpTo) { + return new TimeInfo(start, speedSince, speed, jumpTo); + } + + public long getStart() { + return start; + } + + public long getSpeedSince() { + return speedSince; + } + + public double getSpeed() { + return speed; + } + + public long getJumpTo() { + return jumpTo; + } +} \ No newline at end of file diff --git a/src/main/java/eu/crushedpixel/replaymod/holders/TimeKeyframe.java b/src/main/java/eu/crushedpixel/replaymod/holders/TimeKeyframe.java new file mode 100644 index 00000000..bb527812 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/holders/TimeKeyframe.java @@ -0,0 +1,19 @@ +package eu.crushedpixel.replaymod.holders; + +public class TimeKeyframe extends Keyframe { + + private int timestamp; + + public TimeKeyframe(int realTime, int timestamp) { + super(realTime); + this.timestamp = timestamp; + } + + public int getTimestamp() { + return timestamp; + } + + public void setTimestamp(int timestamp) { + this.timestamp = timestamp; + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/interpolation/BasicSpline.java b/src/main/java/eu/crushedpixel/replaymod/interpolation/BasicSpline.java new file mode 100644 index 00000000..58c9dab0 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/interpolation/BasicSpline.java @@ -0,0 +1,71 @@ +package eu.crushedpixel.replaymod.interpolation; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Collection; +import java.util.List; + +public abstract class BasicSpline { + public void calcNaturalCubic(List valueCollection, Field val, Collection cubicCollection) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { + int num = valueCollection.size()-1; + + double[] gamma = new double[num+1]; + double[] delta = new double[num+1]; + double[] D = new double[num+1]; + + int i; + /* + We solve the equation + [2 1 ] [D[0]] [3(x[1] - x[0]) ] + |1 4 1 | |D[1]| |3(x[2] - x[0]) | + | 1 4 1 | | . | = | . | + | ..... | | . | | . | + | 1 4 1| | . | |3(x[n] - x[n-2])| + [ 1 2] [D[n]] [3(x[n] - x[n-1])] + + by using row operations to convert the matrix to upper triangular + and then back sustitution. The D[i] are the derivatives at the knots. + */ + gamma[0] = 1.0f / 2.0f; + for(i=1; i< num; i++) { + gamma[i] = 1.0f/(4.0f - gamma[i-1]); + } + gamma[num] = 1.0f/(2.0f - gamma[num-1]); + + Double p0 = val.getDouble(valueCollection.get(0)); + Double p1 = val.getDouble(valueCollection.get(1)); + + delta[0] = 3.0f * (p1 - p0) * gamma[0]; + for(i=1; i< num; i++) { + p0 = val.getDouble(valueCollection.get(i-1)); + p1 = val.getDouble(valueCollection.get(i+1)); + delta[i] = (3.0f * (p1 - p0) - delta[i - 1]) * gamma[i]; + } + p0 = val.getDouble(valueCollection.get(num-1)); + p1 = val.getDouble(valueCollection.get(num)); + + delta[num] = (3.0f * (p1 - p0) - delta[num - 1]) * gamma[num]; + + D[num] = delta[num]; + for(i=num-1; i >= 0; i--) { + D[i] = delta[i] - gamma[i] * D[i+1]; + } + + //now compute the coefficients of the cubics + cubicCollection.clear(); + + for(i=0; i { + + protected List points = new ArrayList(); + + public abstract K getPoint(float position); + + public void addPoint(K point) { + points.add(point); + } + + public void clearPoints() { + points = new ArrayList(); + } + + protected Pair> getCurrentPoints(float position) { + if(points.size() == 0) return null; + float pos = position * (points.size()-1); + int cubicNum = Math.round(pos); + float cubicPos = (pos - cubicNum); + + if(cubicNum == points.size()-1) { + cubicNum--; + cubicPos++; + } + + if(cubicNum < 0) { + return new Pair>(cubicPos, new Pair(points.get(cubicNum+1), points.get(cubicNum+1))); + } + return new Pair>(cubicPos, new Pair(points.get(cubicNum), points.get(cubicNum+1))); + } + + protected double getInterpolatedValue(double val1, double val2, float perc) { + return val1+((val2-val1)*perc); + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/interpolation/LinearPoint.java b/src/main/java/eu/crushedpixel/replaymod/interpolation/LinearPoint.java new file mode 100644 index 00000000..262ae07b --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/interpolation/LinearPoint.java @@ -0,0 +1,29 @@ +package eu.crushedpixel.replaymod.interpolation; + +import akka.japi.Pair; +import eu.crushedpixel.replaymod.holders.Position; + +public class LinearPoint extends LinearInterpolation { + + @Override + public Position getPoint(float position) { + Pair> pair = getCurrentPoints(position); + if(pair == null) return null; + + float perc = pair.first(); + + Position first = pair.second().first(); + Position second = pair.second().second(); + + double x = getInterpolatedValue(first.getX(), second.getX(), perc); + double y = getInterpolatedValue(first.getY(), second.getY(), perc); + double z = getInterpolatedValue(first.getZ(), second.getZ(), perc); + + float pitch = (float)getInterpolatedValue(first.getPitch(), second.getPitch(), perc); + float yaw = (float)getInterpolatedValue(first.getYaw(), second.getYaw(), perc); + + Position inter = new Position(x, y, z, pitch, yaw); + return inter; + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/interpolation/LinearTimestamp.java b/src/main/java/eu/crushedpixel/replaymod/interpolation/LinearTimestamp.java new file mode 100644 index 00000000..5bc08eec --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/interpolation/LinearTimestamp.java @@ -0,0 +1,22 @@ +package eu.crushedpixel.replaymod.interpolation; + +import akka.japi.Pair; +import eu.crushedpixel.replaymod.holders.Position; + +public class LinearTimestamp extends LinearInterpolation { + + @Override + public Integer getPoint(float position) { + Pair> pair = getCurrentPoints(position); + if(pair == null) return null; + + float perc = pair.first(); + + int first = pair.second().first(); + int second = pair.second().second(); + + int val = (int)getInterpolatedValue(first, second, perc); + + return val; + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/interpolation/SplinePoint.java b/src/main/java/eu/crushedpixel/replaymod/interpolation/SplinePoint.java new file mode 100644 index 00000000..d851a86c --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/interpolation/SplinePoint.java @@ -0,0 +1,92 @@ +package eu.crushedpixel.replaymod.interpolation; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Vector; + +import com.sun.javafx.geom.Vec3d; + +import eu.crushedpixel.replaymod.holders.Position; + +public class SplinePoint extends BasicSpline{ + private Vector points; + + private Vector xCubics; + private Vector yCubics; + private Vector zCubics; + private Vector pitchCubics; + private Vector yawCubics; + + private Field vectorX; + private Field vectorY; + private Field vectorZ; + private Field vectorPitch; + private Field vectorYaw; + + private static final Object[] EMPTYOBJ = new Object[] { }; + + public SplinePoint() { + this.points = new Vector(); + + this.xCubics = new Vector(); + this.yCubics = new Vector(); + this.zCubics = new Vector(); + this.pitchCubics = new Vector(); + this.yawCubics = new Vector(); + + try { + vectorX = Position.class.getDeclaredField("x"); + vectorY = Position.class.getDeclaredField("y"); + vectorZ = Position.class.getDeclaredField("z"); + vectorPitch = Position.class.getDeclaredField("pitch"); + vectorYaw = Position.class.getDeclaredField("yaw"); + vectorX.setAccessible(true); + vectorY.setAccessible(true); + vectorZ.setAccessible(true); + vectorPitch.setAccessible(true); + vectorYaw.setAccessible(true); + } catch (SecurityException e) { + e.printStackTrace(); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + } + + public void addPoint(Position point) { + this.points.add(point); + } + + public Vector getPoints() { + return points; + } + + public void calcSpline() { + try { + calcNaturalCubic(points, vectorX, xCubics); + calcNaturalCubic(points, vectorY, yCubics); + calcNaturalCubic(points, vectorZ, zCubics); + calcNaturalCubic(points, vectorPitch, pitchCubics); + calcNaturalCubic(points, vectorYaw, yawCubics); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + } + + public Position getPoint(float position) { + position = position * xCubics.size(); + int cubicNum = (int)Math.min(xCubics.size()-1, position); + float cubicPos = (position - cubicNum); + + return new Position(xCubics.get(cubicNum).eval(cubicPos), + yCubics.get(cubicNum).eval(cubicPos), + zCubics.get(cubicNum).eval(cubicPos), + (float)pitchCubics.get(cubicNum).eval(cubicPos), + (float)yawCubics.get(cubicNum).eval(cubicPos)); + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java b/src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java new file mode 100644 index 00000000..5a039990 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/recording/ConnectionEventHandler.java @@ -0,0 +1,158 @@ +package eu.crushedpixel.replaymod.recording; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandler; +import io.netty.channel.ChannelPipeline; + +import java.io.File; +import java.net.InetSocketAddress; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Iterator; +import java.util.List; +import java.util.Map.Entry; + +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.server.MinecraftServer; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.network.FMLNetworkEvent.ClientConnectedToServerEvent; +import net.minecraftforge.fml.common.network.FMLNetworkEvent.ClientDisconnectionFromServerEvent; +import eu.crushedpixel.replaymod.ReplayMod; +import eu.crushedpixel.replaymod.chat.ChatMessageRequests; +import eu.crushedpixel.replaymod.chat.ChatMessageRequests.ChatMessageType; + +public class ConnectionEventHandler { + + private static final String decoderKey = "decoder"; + private static final String packetHandlerKey = "packet_handler"; + private static final String DATE_FORMAT = "yyyy_MM_dd_HH_mm_ss"; + private static final SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT); + public static final String TEMP_FILE_EXTENSION = ".tmcpr"; + public static final String JSON_FILE_EXTENSION = ".json"; + public static final String ZIP_FILE_EXTENSION = ".mcpr"; + + private File currentFile; + private String fileName; + + private static PacketListener packetListener = null; + + private static boolean isRecording = false; + + public static boolean isRecording() { + return isRecording; + } + + public static void insertPacket(Packet packet) { + if(!isRecording || packetListener == null) { + System.out.println("Invalid attempt to insert Packet!"); + return; + } + try { + packetListener.channelRead(null, packet); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @SubscribeEvent + public void onConnectedToServerEvent(ClientConnectedToServerEvent event) { + System.out.println("Connected to server"); + + ChatMessageRequests.initialize(); + + try { + if(event.isLocal) { + if(!ReplayMod.replaySettings.isEnableRecordingSingleplayer()) { + System.out.println("Singleplayer Recording is disabled"); + return; + } + } else { + if(!ReplayMod.replaySettings.isEnableRecordingServer()) { + System.out.println("Multiplayer Recording is disabled"); + return; + } + } + NetworkManager nm = event.manager; + String worldName = ""; + if(!event.isLocal) { + worldName = ((InetSocketAddress)nm.getRemoteAddress()).getHostName(); + } + Channel channel = nm.channel(); + ChannelPipeline pipeline = channel.pipeline(); + + List channelHandlerKeys = new ArrayList(); + Iterator> it = pipeline.iterator(); + while(it.hasNext()) { + Entry entry = it.next(); + channelHandlerKeys.add(entry.getKey()); + } + + File folder = new File("./replay_recordings/"); + folder.mkdirs(); + + fileName = sdf.format(Calendar.getInstance().getTime()); + currentFile = new File(folder, fileName+TEMP_FILE_EXTENSION); + + currentFile.createNewFile(); + + int maxFileSize = ReplayMod.replaySettings.getMaximumFileSize(); + + PacketListener insert = null; + + if(event.isLocal) { + pipeline.addBefore(packetHandlerKey, "replay_recorder", insert = new PacketListener(currentFile, fileName, worldName, System.currentTimeMillis(), maxFileSize)); + ChatMessageRequests.addChatMessage("Recording started!", ChatMessageType.INFORMATION); + isRecording = true; + + } else { + //pipeline.addBefore(decoderKey, "replay_recorder", insert = new DataListener(currentFile, fileName, worldName, System.currentTimeMillis(), maxFileSize)); + pipeline.addBefore(packetHandlerKey, "replay_recorder", insert = new PacketListener(currentFile, fileName, worldName, System.currentTimeMillis(), maxFileSize)); + ChatMessageRequests.addChatMessage("Recording started!", ChatMessageType.INFORMATION); + isRecording = true; + } + + final PacketListener listener = insert; + + if(insert != null && event.isLocal) { + new Thread(new Runnable() { + + @Override + public void run() { + String worldName = null; + while(worldName == null) { + try { + worldName = MinecraftServer.getServer().getWorldName(); + listener.setWorldName(worldName); + return; + + } catch(Exception e) { + try { + Thread.sleep(100); + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + } + } + + } + }).start(); + } + + packetListener = listener; + + } catch(Exception e) { + ChatMessageRequests.addChatMessage("Failed to start recording!", ChatMessageType.WARNING); + e.printStackTrace(); + } + } + + @SubscribeEvent + public void onDisconnectedFromServerEvent(ClientDisconnectionFromServerEvent event) { + System.out.println("Disconnected from server"); + isRecording = false; + packetListener = null; + ChatMessageRequests.stop(); + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java b/src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java new file mode 100644 index 00000000..80d92668 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/recording/DataListener.java @@ -0,0 +1,184 @@ +package eu.crushedpixel.replaymod.recording; + +import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandlerAdapter; + +import java.io.BufferedOutputStream; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.PrintWriter; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +import net.minecraft.network.Packet; + +import com.google.gson.Gson; + +import eu.crushedpixel.replaymod.chat.ChatMessageRequests; +import eu.crushedpixel.replaymod.chat.ChatMessageRequests.ChatMessageType; + +public class DataListener extends ChannelInboundHandlerAdapter { + + protected File file; + protected long startTime; + protected long maxSize; + protected long totalBytes = 0; + protected DataOutputStream out; + protected String name; + protected String worldName; + + protected long lastSentPacket = 0; + + protected boolean alive = true; + protected boolean isPacketListener = false; + + private boolean writeJoinPacket = false; + + private Gson gson = new Gson(); + + public void setWorldName(String worldName) { + this.worldName = worldName; + System.out.println(worldName); + } + + public void insertPacket(Packet p) { + + } + + public DataListener(File file, String name, String worldName, long startTime, int maxSize) throws FileNotFoundException { + this.file = file; + this.startTime = startTime; + this.maxSize = maxSize*1024*1024; + this.name = name; + this.worldName = worldName; + + System.out.println(worldName); + + FileOutputStream fos = new FileOutputStream(file); + BufferedOutputStream bos = new BufferedOutputStream(fos); + out = new DataOutputStream(bos); + + writeJoinPacket = true; + } + + @Override + public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if(!alive || isPacketListener) { + lastSentPacket = System.currentTimeMillis(); + super.channelRead(ctx, msg); + return; + } + + /* + if(writeJoinPacket) { + writeJoinPacket = false; + S01PacketJoinGame p = new S01PacketJoinGame(); + + int timestamp = 0; + + PacketSerializer ps = new PacketSerializer(EnumPacketDirection.CLIENTBOUND); + ByteBuf bb = Unpooled.buffer(); + + PacketBuffer pb = new PacketBuffer(bb); + pb.writeInt(new Random().nextInt(1000)); + pb.writeByte(3); + pb.writeByte(-1); + pb.writeByte(0); + pb.writeByte(100); + pb.writeString("default"); + pb.writeBoolean(false); + + p.readPacketData(pb); + + ByteBuf b2 = Unpooled.buffer(); + ps.encode(ctx, p, b2); + + b2.readerIndex(0); + + byte[] array = new byte[b2.readableBytes()]; + b2.readBytes(array); + + b2.readerIndex(0); + + out.writeInt(timestamp); + out.writeInt(array.length); + out.write(array); + out.flush(); + } + */ + + int timestamp = (int)(System.currentTimeMillis() - startTime); + + ByteBuf byteBuf = (ByteBuf)msg; + + byteBuf.readerIndex(0); + byte[] array = new byte[byteBuf.readableBytes()]; + byteBuf.readBytes(array); + + totalBytes += (array.length + (2*4)); //two Integer values and the Packet size + if(totalBytes >= maxSize && maxSize > 0) { + ChatMessageRequests.addChatMessage("Maximum file size exceeded", ChatMessageType.WARNING); + ChatMessageRequests.addChatMessage("The Recording has been stopped", ChatMessageType.WARNING); + alive = false; + } + + byteBuf.readerIndex(0); + + out.writeInt(timestamp); + out.writeInt(array.length); + out.write(array); + out.flush(); + + super.channelRead(ctx, msg); + } + + + @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + out.flush(); + out.close(); + + byte[] buffer = new byte[1024]; + + try { + ReplayMetaData metaData = new ReplayMetaData(isPacketListener, worldName, (int) (lastSentPacket - startTime), startTime); + String json = gson.toJson(metaData); + + File folder = new File("./replay_recordings/"); + folder.mkdirs(); + + File archive = new File(folder, name+ConnectionEventHandler.ZIP_FILE_EXTENSION); + archive.createNewFile(); + + FileOutputStream fos = new FileOutputStream(archive); + ZipOutputStream zos = new ZipOutputStream(fos); + + zos.putNextEntry(new ZipEntry("metaData.json")); + PrintWriter pw = new PrintWriter(zos); + pw.write(json); + pw.flush(); + zos.closeEntry(); + + zos.putNextEntry(new ZipEntry("recording"+ConnectionEventHandler.TEMP_FILE_EXTENSION)); + FileInputStream fis = new FileInputStream(file); + int len; + while((len = fis.read(buffer)) > 0) { + zos.write(buffer, 0, len); + } + + fis.close(); + zos.closeEntry(); + + zos.close(); + + file.delete(); + } catch(Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java b/src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java new file mode 100644 index 00000000..76ce3ee6 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/recording/PacketListener.java @@ -0,0 +1,104 @@ +package eu.crushedpixel.replaymod.recording; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelHandlerContext; + +import java.io.File; +import java.io.FileNotFoundException; +import java.lang.reflect.Field; + +import net.minecraft.entity.DataWatcher; +import net.minecraft.network.EnumPacketDirection; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S0CPacketSpawnPlayer; +import net.minecraft.network.play.server.S0FPacketSpawnMob; +import eu.crushedpixel.replaymod.chat.ChatMessageRequests; +import eu.crushedpixel.replaymod.chat.ChatMessageRequests.ChatMessageType; +import eu.crushedpixel.replaymod.reflection.MCPNames; + +public class PacketListener extends DataListener { + + public PacketListener(File file, String name, String worldName, long startTime, int maxSize) throws FileNotFoundException { + super(file, name, worldName, startTime, maxSize); + isPacketListener = true; + } + + private ChannelHandlerContext context = null; + + @Override + public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if(ctx == null) { + if(context == null) { + return; + } else { + ctx = context; + } + } + this.context = ctx; + if(!alive) { + super.channelRead(ctx, msg); + return; + } + if(msg instanceof Packet) { + try { + Packet packet = (Packet)msg; + + int timestamp = (int)(System.currentTimeMillis() - startTime); + + //Converts the packet back to a ByteBuffer for correct saving + + PacketSerializer ps = new PacketSerializer(EnumPacketDirection.CLIENTBOUND); + + ByteBuf bb = Unpooled.buffer(); + if(packet instanceof S0FPacketSpawnMob) { + Field field_149043_l = S0FPacketSpawnMob.class.getDeclaredField(MCPNames.field("field_149043_l")); + field_149043_l.setAccessible(true); + DataWatcher l = (DataWatcher)field_149043_l.get(packet); + DataWatcher dw = new DataWatcher(null); + if(l == null) { + field_149043_l.set(packet, dw); + } + } + + if(packet instanceof S0CPacketSpawnPlayer) { + Field field_149043_l = S0CPacketSpawnPlayer.class.getDeclaredField(MCPNames.field("field_148960_i")); + field_149043_l.setAccessible(true); + DataWatcher l = (DataWatcher)field_149043_l.get(packet); + DataWatcher dw = new DataWatcher(null); + if(l == null) { + field_149043_l.set(packet, dw); + } + } + + ps.encode(ctx, packet, bb); + + bb.readerIndex(0); + byte[] array = new byte[bb.readableBytes()]; + bb.readBytes(array); + + + totalBytes += (array.length + (2*4)); //two Integer values and the Packet size + if(totalBytes >= maxSize && maxSize > 0) { + ChatMessageRequests.addChatMessage("Maximum file size exceeded", ChatMessageType.WARNING); + ChatMessageRequests.addChatMessage("The Recording has been stopped", ChatMessageType.WARNING); + alive = false; + } + + bb.readerIndex(0); + + out.writeInt(timestamp); //Timestamp + out.writeInt(array.length); //Lenght + out.write(array); + out.flush(); + + } catch(Exception e) { + e.printStackTrace(); + } + + } + + super.channelRead(ctx, msg); + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/recording/PacketSerializer.java b/src/main/java/eu/crushedpixel/replaymod/recording/PacketSerializer.java new file mode 100644 index 00000000..59d6b55f --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/recording/PacketSerializer.java @@ -0,0 +1,66 @@ +package eu.crushedpixel.replaymod.recording; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelHandlerContext; + +import java.io.ByteArrayInputStream; +import java.io.DataInputStream; +import java.io.IOException; +import java.io.ObjectInputStream; + +import net.minecraft.network.EnumConnectionState; +import net.minecraft.network.EnumPacketDirection; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.PacketBuffer; +import net.minecraft.network.play.server.S0CPacketSpawnPlayer; +import net.minecraft.util.MessageSerializer; + +public class PacketSerializer extends MessageSerializer { + + public PacketSerializer(EnumPacketDirection direction) { + super(direction); + } + + @Override + public void encode(ChannelHandlerContext p_encode_1_, Packet p_encode_2_, ByteBuf p_encode_3_) throws IOException { + //super.encode(p_encode_1_, p_encode_2_, p_encode_3_); + + Integer integer = ((EnumConnectionState)p_encode_1_.channel().attr(NetworkManager.attrKeyConnectionState).get()).getPacketId(EnumPacketDirection.CLIENTBOUND, p_encode_2_); + + if (integer == null) + { + return; + } + else + { + PacketBuffer packetbuffer = new PacketBuffer(p_encode_3_); + packetbuffer.writeVarIntToBuffer(integer.intValue()); + + try + { + if (p_encode_2_ instanceof S0CPacketSpawnPlayer) + { + //p_encode_2_ = p_encode_2_; FML: Kill warning + } + + p_encode_2_.writePacketData(packetbuffer); + } + catch (Throwable throwable) + { + throwable.printStackTrace(); + } + } + } + + public static ByteBuf toByteBuf(byte[] bytes) throws IOException, ClassNotFoundException { + ByteBuf bb; + bb = Unpooled.buffer(bytes.length); + bb.writeBytes(bytes); + + return bb; + } + + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/recording/ReplayMetaData.java b/src/main/java/eu/crushedpixel/replaymod/recording/ReplayMetaData.java new file mode 100644 index 00000000..a7b5f7a6 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/recording/ReplayMetaData.java @@ -0,0 +1,45 @@ +package eu.crushedpixel.replaymod.recording; + +import java.util.Date; +import java.util.List; + +public class ReplayMetaData { + + private boolean singleplayer; + private String serverName; + private int duration; + private long date; + + + public ReplayMetaData(boolean singleplayer, String serverName, + int duration, long date) { + this.singleplayer = singleplayer; + this.serverName = serverName; + this.duration = duration; + this.date = date; + } + public boolean isSingleplayer() { + return singleplayer; + } + public void setSingleplayer(boolean singleplayer) { + this.singleplayer = singleplayer; + } + public String getServerName() { + return serverName; + } + public void setServer_name(String serverName) { + this.serverName = serverName; + } + public int getDuration() { + return duration; + } + public void setDuration(int duration) { + this.duration = duration; + } + public long getDate() { + return date; + } + public void setDate(long date) { + this.date = date; + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/reflection/MCPEnvironment.java b/src/main/java/eu/crushedpixel/replaymod/reflection/MCPEnvironment.java new file mode 100644 index 00000000..2b54ec31 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/reflection/MCPEnvironment.java @@ -0,0 +1,24 @@ +package eu.crushedpixel.replaymod.reflection; + +import java.lang.reflect.Field; + +import net.minecraft.client.gui.GuiMainMenu; + +public class MCPEnvironment { + + boolean eclipse = true; + + public MCPEnvironment() { + eclipse = true; + Class clazz = GuiMainMenu.class; + try { + Field viewportTexture = clazz.getDeclaredField("viewportTexture"); + } catch(Exception e) { + eclipse = false; + } + } + + public boolean isMCPEnvironment() { + return eclipse; + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/reflection/MCPNames.java b/src/main/java/eu/crushedpixel/replaymod/reflection/MCPNames.java new file mode 100644 index 00000000..7b9b3110 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/reflection/MCPNames.java @@ -0,0 +1,269 @@ +package eu.crushedpixel.replaymod.reflection; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; + +import net.minecraft.client.Minecraft; +import net.minecraft.util.ResourceLocation; + +import com.google.common.base.Charsets; +import com.google.common.base.Splitter; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Maps; +import com.google.common.io.Files; +import com.google.common.io.LineProcessor; + +/** + *

A helper class for working with obfuscated field names.

+ *

In the development environment the mappings file will automatically loaded. You can provide the location of a custom mappings file by + * providing the system property {@code sevencommons.mappingsFile}.

+ * @author diesieben07 + * @author CrushedPixel + */ +public final class MCPNames { + + private static final Map fields; + private static final Map methods; + private static final MCPEnvironment env = new MCPEnvironment(); + + static { + if (use()) { + String mappingsDir = "./../build/unpacked/mappings/"; + ResourceLocation fieldsLocation = new ResourceLocation("assets/replaymod/fields.csv"); + ResourceLocation methodsLocation = new ResourceLocation("assets/replaymod/methods.csv"); + + InputStream fieldsIs = MCPNames.class.getClassLoader().getResourceAsStream("fields.csv"); + InputStream methodsIs = MCPNames.class.getClassLoader().getResourceAsStream("methods.csv"); + + fields = readMappings(fieldsIs); + methods = readMappings(methodsIs); + + } else { + methods = fields = null; + } + } + + /** + *

Whether the code is running in a development environment or not.

+ * @return true if the code is running in development mode (use MCP instead of SRG names) + */ + public static boolean use() { + return env.isMCPEnvironment(); + } + + /** + *

Get the correct name for the given SRG field based on the context.

+ * @param srg the SRG name for a field + * @return the input if the code is running outside of development mode or the matching MCP name otherwise + */ + public static String field(String srg) { + if (use()) { + String mcp = fields.get(srg); + if (mcp == null) { + // no mapping + return srg; + } + return mcp; + } else { + return srg; + } + } + + /** + *

Get the correct name for the given SRG method based on the context.

+ * @param srg the SRG name for a method + * @return the input if the code is running outside of development mode or the matching MCP name otherwise + */ + public static String method(String srg) { + if (use()) { + String mcp = methods.get(srg); + if (mcp == null) { + // no mapping + return srg; + } + return mcp; + } else { + return srg; + } + } + + private static Map readMappings(InputStream is) { + try { + InputStreamReader isr = new InputStreamReader(is); + BufferedReader br = new BufferedReader(isr); + + MCPFileParser fileParser = new MCPFileParser(); + + while(br.ready()) { + fileParser.processLine(br.readLine()); + } + + return fileParser.getResult(); + } catch (IOException e) { + throw new RuntimeException("Couldn't read SRG->MCP mappings", e); + } + } + + private static class MCPFileParser implements LineProcessor> { + + private static final Splitter splitter = Splitter.on(',').trimResults(); + private final Map map = Maps.newHashMap(); + private boolean foundFirst; + + @Override + public boolean processLine(String line) throws IOException { + if (!foundFirst) { + foundFirst = true; + return true; + } + + Iterator splitted = splitter.split(line).iterator(); + try { + String srg = splitted.next(); + String mcp = splitted.next(); + if (!map.containsKey(srg)) { + map.put(srg, mcp); + } + } catch (NoSuchElementException e) { + throw new IOException("Invalid Mappings file!", e); + } + + return true; + } + + @Override + public Map getResult() { + return ImmutableMap.copyOf(map); + } + } + + public static final String M_SPAWN_BABY = "func_75388_i"; + + public static final String F_TARGET_MATE = "field_75391_e"; + + public static final String F_THE_ANIMAL = "field_75390_d"; + + public static final String M_CLONE_PLAYER = "func_71049_a"; + + public static final String M_CONVERT_TO_VILLAGER = "func_82232_p"; + + public static final String M_SET_WORLD_AND_RESOLUTION = "func_73872_a"; + + public static final String F_BUTTON_LIST = "field_73887_h"; + + public static final String F_TAG_LIST = "field_74747_a"; + + public static final String F_TAG_MAP = "field_74784_a"; + + public static final String F_FOV_MODIFIER_HAND_PREV = "field_78506_S"; + + public static final String F_FOV_MODIFIER_HAND = "field_78507_R"; + + public static final String F_TRACKED_ENTITY_IDS = "field_72794_c"; + + public static final String F_MAP_TEXTURE_OBJECTS = "field_110585_a"; + + public static final String F_MY_ENTITY = "field_73132_a"; + + public static final String M_TRY_START_WATCHING_THIS = "func_73117_b"; + + public static final String M_ON_UPDATE = "func_70071_h_"; + + public static final String M_UPDATE_ENTITY = "func_70316_g"; + + public static final String M_DETECT_AND_SEND_CHANGES = "func_75142_b"; + + public static final String F_IS_REMOTE = "field_72995_K"; + + public static final String F_WORLD_OBJ_TILEENTITY = "field_70331_k"; + + public static final String F_WORLD_OBJ_ENTITY = "field_70170_p"; + + public static final String F_TIMER = "field_71428_T"; + + public static final String F_PACKET_CLASS_TO_ID_MAP = "field_73291_a"; + + public static final String M_SEND_PACKET_TO_PLAYER = "func_72567_b"; + + public static final String M_REMOVE_ENTITY = "func_72900_e"; + + public static final String M_WRITE_ENTITY_TO_NBT = "func_70014_b"; + + public static final String M_READ_ENTITY_FROM_NBT = "func_70037_a"; + + public static final String M_WRITE_TO_NBT_TILEENTITY = "func_70310_b"; + + public static final String M_READ_FROM_NBT_TILEENTITY = "func_70307_a"; + + public static final String F_ITEM_DAMAGE = "field_77991_e"; + + public static final String M_REGISTER_EXT_PROPS = "registerExtendedProperties"; + + public static final String M_READ_PACKET_DATA = "func_73267_a"; + + public static final String M_WRITE_PACKET_DATA = "func_73273_a"; + + public static final String M_GET_PACKET_SIZE = "func_73284_a"; + + public static final String F_UNLOCALIZED_NAME_BLOCK = "field_71968_b"; + + public static final String M_SET_HAS_SUBTYPES = "func_77627_a"; + + public static final String F_ICON_STRING = "field_111218_cA"; + + public static final String F_UNLOCALIZED_NAME_ITEM = "field_77774_bZ"; + + public static final String F_TEXTURE_NAME_BLOCK = "field_111026_f"; + + public static final String M_ACTION_PERFORMED = "func_73875_a"; + + public static final String F_Z_LEVEL = "field_73735_i"; + + public static final String M_ADD_SLOT_TO_CONTAINER = "func_75146_a"; + + public static final String M_MERGE_ITEM_STACK = "func_75135_a"; + + public static final String F_CRAFTERS = "field_75149_d"; + + public static final String M_GET_ICON_STRING = "func_111208_A"; + + public static final String M_GET_TEXTURE_NAME = "func_111023_E"; + + public static final String M_NBT_WRITE = "func_74734_a"; + + public static final String M_NBT_LOAD = "func_74735_a"; + + public static final String F_NBT_STRING_DATA = "field_74751_a"; + public static final String F_NBT_BYTE_DATA = "field_74756_a"; + public static final String F_NBT_SHORT_DATA = "field_74752_a"; + public static final String F_NBT_INT_DATA = "field_74748_a"; + public static final String F_NBT_LONG_DATA = "field_74753_a"; + public static final String F_NBT_FLOAT_DATA = "field_74750_a"; + public static final String F_NBT_DOUBLE_DATA = "field_74755_a"; + + public static final String M_SET_TAG = "func_74782_a"; + + public static final String M_NBT_GET_ID = "func_74732_a"; + + public static final String M_ITEMSTACK_WRITE_NBT = "func_77955_b"; + public static final String M_LOAD_ITEMSTACK_FROM_NBT = "func_77949_a"; + + public static final String M_ADD_CRAFTING_TO_CRAFTERS = "func_75132_a"; + + public static final String M_CHECK_HOTBAR_KEYS = "func_82319_a"; + + public static final String M_HANDLE_MOUSE_CLICK = "func_74191_a"; + + public static final String F_GUICONTAINER_THE_SLOT = "field_82320_o"; + + private MCPNames() { } + +} \ No newline at end of file diff --git a/src/main/java/eu/crushedpixel/replaymod/replay/LesserDataWatcher.java b/src/main/java/eu/crushedpixel/replaymod/replay/LesserDataWatcher.java new file mode 100644 index 00000000..c7ce1561 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/replay/LesserDataWatcher.java @@ -0,0 +1,105 @@ +package eu.crushedpixel.replaymod.replay; + +import java.io.IOException; +import java.util.List; + +import scala.actors.threadpool.Arrays; +import net.minecraft.entity.DataWatcher; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import net.minecraft.network.PacketBuffer; +import net.minecraft.util.Rotations; + +public class LesserDataWatcher extends DataWatcher { + + public LesserDataWatcher(Entity owner) { + super(owner); + } + + @Override + public void addObject(int id, Object object) { + } + + @Override + public void addObjectByDataType(int id, int type) { + } + + @Override + public byte getWatchableObjectByte(int id) { + return 0; + } + + @Override + public short getWatchableObjectShort(int id) { + return 0; + } + + @Override + public int getWatchableObjectInt(int id) { + return 0; + } + + @Override + public float getWatchableObjectFloat(int id) { + return 0; + } + + @Override + public String getWatchableObjectString(int id) { + return null; + } + + @Override + public ItemStack getWatchableObjectItemStack(int id) { + return null; + } + + @Override + public Rotations getWatchableObjectRotations(int id) { + return null; + } + + @Override + public void updateObject(int id, Object newData) { + } + + @Override + public void setObjectWatched(int id) { + } + + @Override + public boolean hasObjectChanged() { + return false; + } + + @Override + public List getChanged() { + return null; + } + + @Override + public void writeTo(PacketBuffer buffer) throws IOException { + } + + @Override + public List getAllWatched() { + return null; + } + + @Override + public void updateWatchedObjectsFromList(List p_75687_1_) { + } + + @Override + public boolean getIsBlank() { + return true; + } + + @Override + public void func_111144_e() { + } + + + + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/replay/OpenEmbeddedChannel.java b/src/main/java/eu/crushedpixel/replaymod/replay/OpenEmbeddedChannel.java new file mode 100644 index 00000000..360568c3 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/replay/OpenEmbeddedChannel.java @@ -0,0 +1,34 @@ +package eu.crushedpixel.replaymod.replay; + +import net.minecraft.network.NetworkManager; +import io.netty.channel.ChannelFuture; +import io.netty.channel.embedded.EmbeddedChannel; + +public class OpenEmbeddedChannel extends EmbeddedChannel { + + private boolean ignoreClose = false; + + public OpenEmbeddedChannel(NetworkManager networkManager) { + super(networkManager); + } + + @Override + public boolean finish() { + System.out.println("wanted to finish"); + ignoreClose = true; + return super.finish(); + } + + @Override + public ChannelFuture close() { + if(ignoreClose) { + ignoreClose = false; + return null; + } + return pipeline().close(); + } + + public ChannelFuture manualClose() { + return pipeline().close(); + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/replay/PacketDeserializer.java b/src/main/java/eu/crushedpixel/replaymod/replay/PacketDeserializer.java new file mode 100644 index 00000000..0e0a1f6b --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/replay/PacketDeserializer.java @@ -0,0 +1,110 @@ +package eu.crushedpixel.replaymod.replay; + +import gnu.trove.iterator.TIntObjectIterator; +import gnu.trove.map.TIntObjectMap; +import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandlerContext; + +import java.io.IOException; +import java.lang.reflect.Field; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import net.minecraft.network.EnumConnectionState; +import net.minecraft.network.EnumPacketDirection; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.PacketBuffer; +import net.minecraft.util.MessageDeserializer; + +import com.google.common.collect.BiMap; + +import eu.crushedpixel.replaymod.reflection.MCPNames; + +public class PacketDeserializer extends MessageDeserializer { + + private final EnumPacketDirection direction; + private Field directionMaps; + private EnumConnectionState state; + + public PacketDeserializer(EnumPacketDirection direction) { + super(direction); + this.direction = direction; + try { + directionMaps = EnumConnectionState.class.getDeclaredField(MCPNames.field("field_179247_h")); + directionMaps.setAccessible(true); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } catch (SecurityException e) { + e.printStackTrace(); + } + } + + public Packet getPacket(EnumPacketDirection direction, int packetId) throws InstantiationException, IllegalAccessException + { + Map map = ((Map)directionMaps.get(state)); + BiMap biMap = ((BiMap)map.get(direction)); + if(biMap == null) { + System.out.println("BiMap is null!"); + } + Class oclass = (Class)biMap.get(Integer.valueOf(packetId)); + return oclass == null ? null : (Packet)oclass.newInstance(); + } + + public void setEnumConnectionState(EnumConnectionState state) { + this.state = state; + } + + @Override + public void decode(ChannelHandlerContext p_decode_1_, + ByteBuf p_decode_2_, List p_decode_3_) throws IOException, + InstantiationException, IllegalAccessException { + + if (p_decode_2_.readableBytes() != 0) + { + PacketBuffer packetbuffer = new PacketBuffer(p_decode_2_); + int i = packetbuffer.readVarIntFromBuffer(); + + Field state_by_id = null; + try { + state_by_id = EnumConnectionState.class.getDeclaredField("STATES_BY_ID"); //TODO: Localize + state_by_id.setAccessible(true); + state = (EnumConnectionState)((TIntObjectMap)state_by_id.get(null)).get(i); + TIntObjectMap map = (TIntObjectMap)state_by_id.get(null); + TIntObjectIterator it = map.iterator(); + while(it.hasNext()) { + it.advance(); + System.out.println(it.key() +" | "+it.value().getClass()); + } + } catch(Exception e) { + e.printStackTrace(); + } + + if(state == null) { + System.out.println("state is null"); + } + //Packet packet = getPacket(this.direction, i); + Packet packet = state.getPacket(EnumPacketDirection.CLIENTBOUND, i); + + if (packet == null) + { + throw new IOException("Bad packet id " + i); + } + else + { + packet.readPacketData(packetbuffer); + + if (packetbuffer.readableBytes() > 0) + { + throw new IOException("Packet " + ((EnumConnectionState)p_decode_1_.channel().attr(NetworkManager.attrKeyConnectionState).get()).getId() + "/" + i + " (" + packet.getClass().getSimpleName() + ") was larger than I expected, found " + packetbuffer.readableBytes() + " bytes extra whilst reading packet " + i); + } + else + { + p_decode_3_.add(packet); + } + } + } + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/replay/PacketInfo.java b/src/main/java/eu/crushedpixel/replaymod/replay/PacketInfo.java new file mode 100644 index 00000000..edc7375a --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/replay/PacketInfo.java @@ -0,0 +1,40 @@ +package eu.crushedpixel.replaymod.replay; + +import net.minecraft.network.EnumConnectionState; + +public class PacketInfo { + + private byte[] bytes; + private EnumConnectionState connectionState; + private int packetID; + + + + public PacketInfo(byte[] bytes, EnumConnectionState connectionState, + int packetID) { + super(); + this.bytes = bytes; + this.connectionState = connectionState; + this.packetID = packetID; + } + public byte[] getBytes() { + return bytes; + } + public void setBytes(byte[] bytes) { + this.bytes = bytes; + } + public EnumConnectionState getConnectionState() { + return connectionState; + } + public void setConnectionState(EnumConnectionState connectionState) { + this.connectionState = connectionState; + } + public int getPacketID() { + return packetID; + } + public void setPacketID(int packetID) { + this.packetID = packetID; + } + + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java b/src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java new file mode 100644 index 00000000..2d756418 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/replay/ReplayHandler.java @@ -0,0 +1,361 @@ +package eu.crushedpixel.replaymod.replay; + +import io.netty.channel.ChannelPipeline; +import io.netty.channel.embedded.EmbeddedChannel; + +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.UUID; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.network.NetHandlerPlayClient; +import net.minecraft.network.EnumPacketDirection; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.play.INetHandlerPlayClient; + +import com.mojang.authlib.GameProfile; + +import eu.crushedpixel.replaymod.ReplayMod; +import eu.crushedpixel.replaymod.chat.ChatMessageRequests; +import eu.crushedpixel.replaymod.entities.CameraEntity; +import eu.crushedpixel.replaymod.holders.Keyframe; +import eu.crushedpixel.replaymod.holders.KeyframeComparator; +import eu.crushedpixel.replaymod.holders.PositionKeyframe; +import eu.crushedpixel.replaymod.holders.TimeKeyframe; + +public class ReplayHandler { + + private static NetworkManager networkManager; + private static Minecraft mc = Minecraft.getMinecraft(); + private static ReplaySender replaySender; + private static OpenEmbeddedChannel channel; + + private static Keyframe selectedKeyframe; + + private static boolean isReplaying = false; + + private static CameraEntity cameraEntity; + + private static List keyframes = new ArrayList(); + + private static boolean replayActive = false; + + public static long lastExit = 0; + + public static void setReplaying(boolean replaying) { + isReplaying = replaying; + } + + public static void startPath() { + ReplayProcess.startReplayProcess(); + } + + public static void interruptReplay() { + ReplayProcess.stopReplayProcess(false); + } + + public static boolean isReplaying() { + return isReplaying; + } + + public static void setCameraEntity(CameraEntity entity) { + if(entity == null) return; + cameraEntity = entity; + mc.setRenderViewEntity(cameraEntity); + } + + public static CameraEntity getCameraEntity() { + return cameraEntity; + } + + public static int getReplayTime() { + if(replaySender != null) { + return (int)replaySender.currentTimeStamp(); + } + + return 0; + } + + public static void sortKeyframes() { + Collections.sort(keyframes, new KeyframeComparator()); + } + + public static void addKeyframe(Keyframe keyframe) { + keyframes.add(keyframe); + selectKeyframe(keyframe); + } + + public static void removeKeyframe(Keyframe keyframe) { + keyframes.remove(keyframe); + if(keyframe == selectedKeyframe) { + selectKeyframe(null); + } else { + sortKeyframes(); + } + } + + public static int getKeyframeIndex(TimeKeyframe timeKeyframe) { + int index = 0; + for(Keyframe kf : keyframes) { + if(kf == timeKeyframe) return index; + else if(kf instanceof TimeKeyframe) index++; + } + return -1; + } + + public static int getKeyframeIndex(PositionKeyframe posKeyframe) { + int index = 0; + for(Keyframe kf : keyframes) { + if(kf == posKeyframe) return index; + else if(kf instanceof PositionKeyframe) index++; + } + return -1; + } + + public static int getPosKeyframeCount() { + int size = 0; + for(Keyframe kf : keyframes) { + if(kf instanceof PositionKeyframe) size++; + } + return size; + } + + public static int getTimeKeyframeCount() { + int size = 0; + for(Keyframe kf : keyframes) { + if(kf instanceof TimeKeyframe) size++; + } + return size; + } + + public static TimeKeyframe getClosestTimeKeyframeForRealTime(int realTime, int tolerance) { + List found = new ArrayList(); + for(Keyframe kf : keyframes) { + if(!(kf instanceof TimeKeyframe)) continue; + if(Math.abs(kf.getRealTimestamp()-realTime) <= tolerance) { + found.add((TimeKeyframe)kf); + } + } + + TimeKeyframe closest = null; + + for(TimeKeyframe kf : found) { + if(closest == null || Math.abs(closest.getTimestamp()-realTime) > Math.abs(kf.getRealTimestamp()-realTime)) { + closest = kf; + } + } + return closest; + } + + public static PositionKeyframe getClosestPlaceKeyframeForRealTime(int realTime, int tolerance) { + List found = new ArrayList(); + for(Keyframe kf : keyframes) { + if(!(kf instanceof PositionKeyframe)) continue; + if(Math.abs(kf.getRealTimestamp()-realTime) <= tolerance) { + found.add((PositionKeyframe)kf); + } + } + + PositionKeyframe closest = null; + + for(PositionKeyframe kf : found) { + if(closest == null || Math.abs(closest.getRealTimestamp()-realTime) > Math.abs(kf.getRealTimestamp()-realTime)) { + closest = kf; + } + } + return closest; + } + + public static PositionKeyframe getPreviousPositionKeyframe(int realTime) { + if(keyframes.isEmpty()) return null; + List found = new ArrayList(); + for(Keyframe kf : keyframes) { + if(!(kf instanceof PositionKeyframe)) continue; + if(kf.getRealTimestamp() < realTime) { + found.add((PositionKeyframe)kf); + } + } + + if(found.size() > 0) + return found.get(found.size()-1); //last element is nearest + else return null; + } + + public static PositionKeyframe getNextPositionKeyframe(int realTime) { + if(keyframes.isEmpty()) return null; + for(Keyframe kf : keyframes) { + if(!(kf instanceof PositionKeyframe)) continue; + if(kf.getRealTimestamp() >= realTime) { + return (PositionKeyframe)kf; //first found element is next + } + } + return null; + } + + public static TimeKeyframe getPreviousTimeKeyframe(int realTime) { + if(keyframes.isEmpty()) return null; + List found = new ArrayList(); + for(Keyframe kf : keyframes) { + if(!(kf instanceof TimeKeyframe)) continue; + if(kf.getRealTimestamp() < realTime) { + found.add((TimeKeyframe)kf); + } + } + + if(found.size() > 0) + return found.get(found.size()-1); //last element is nearest + else return null; + } + + public static TimeKeyframe getNextTimeKeyframe(int realTime) { + if(keyframes.isEmpty()) return null; + for(Keyframe kf : keyframes) { + if(!(kf instanceof TimeKeyframe)) continue; + if(kf.getRealTimestamp() >= realTime) { + return (TimeKeyframe)kf; //first found element is next + } + } + return null; + } + + public static List getKeyframes() { + return new ArrayList(keyframes); + } + + public static void resetKeyframes() { + keyframes = new ArrayList(); + selectKeyframe(null); + } + + public static void setReplayPos(int pos, boolean force) { + if(replaySender != null) { + replaySender.jumpToTime(pos, force); + } + } + + public static boolean isHurrying() { + if(replaySender != null) { + return replaySender.isHurrying(); + } + return false; + } + + public static int getReplayLength() { + if(replaySender != null) { + return replaySender.replayLength(); + } + + return 1; + } + + public static boolean isSelected(Keyframe kf) { + return kf == selectedKeyframe; + } + + public static void selectKeyframe(Keyframe kf) { + selectedKeyframe = kf; + sortKeyframes(); + } + + public static boolean replayActive() { + return replayActive; + } + + public static boolean isPaused() { + if(replaySender != null) { + return replaySender.paused(); + } + return true; + } + + public static void setSpeed(double d) { + if(replaySender != null) { + replaySender.setReplaySpeed(d); + } + } + + public static double getSpeed() { + if(replaySender != null) { + return replaySender.getReplaySpeed(); + } + return 0; + } + + public static void startReplay(File file) throws NoSuchMethodException, SecurityException, NoSuchFieldException { + + ChatMessageRequests.initialize(); + mc.ingameGUI.getChatGUI().clearChatMessages(); + resetKeyframes(); + + if(replaySender != null) { + replaySender.terminateReplay(); + } + + if(channel != null) { + channel.close(); + } + + networkManager = new NetworkManager(EnumPacketDirection.CLIENTBOUND); + INetHandlerPlayClient pc = new NetHandlerPlayClient(mc, (GuiScreen)null, networkManager, new GameProfile(UUID.randomUUID(), "Player")); + networkManager.setNetHandler(pc); + + channel = new OpenEmbeddedChannel(networkManager); + + replaySender = new ReplaySender(file, networkManager); + channel.pipeline().addFirst(replaySender); + channel.pipeline().fireChannelActive(); + + try { + ReplayMod.overlay.resetUI(); + } catch(Exception e) {} + + replayActive = true; + } + + public static void restartReplay() { + //mc.setRenderViewEntity(mc.thePlayer); + mc.ingameGUI.getChatGUI().clearChatMessages(); + + if(channel != null) { + channel.close(); + } + + networkManager = new NetworkManager(EnumPacketDirection.CLIENTBOUND); + INetHandlerPlayClient pc = new NetHandlerPlayClient(mc, (GuiScreen)null, networkManager, new GameProfile(UUID.randomUUID(), "Player")); + networkManager.setNetHandler(pc); + + EmbeddedChannel channel = new OpenEmbeddedChannel(networkManager); + + channel.pipeline().addFirst(replaySender); + channel.pipeline().fireChannelActive(); + + ChannelPipeline pipeline = networkManager.channel().pipeline(); + + try { + ReplayMod.overlay.resetUI(); + } catch(Exception e) {} + + replayActive = true; + } + + public static void endReplay() { + if(replaySender != null) { + replaySender.terminateReplay(); + } + + resetKeyframes(); + + if(channel != null) { + channel.close(); + } + + replayActive = false; + } + + public static Keyframe getSelected() { + return selectedKeyframe; + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java b/src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java new file mode 100644 index 00000000..db9cf6a0 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/replay/ReplayProcess.java @@ -0,0 +1,211 @@ +package eu.crushedpixel.replaymod.replay; + +import net.minecraft.client.Minecraft; +import eu.crushedpixel.replaymod.ReplayMod; +import eu.crushedpixel.replaymod.chat.ChatMessageRequests; +import eu.crushedpixel.replaymod.chat.ChatMessageRequests.ChatMessageType; +import eu.crushedpixel.replaymod.holders.Keyframe; +import eu.crushedpixel.replaymod.holders.Position; +import eu.crushedpixel.replaymod.holders.PositionKeyframe; +import eu.crushedpixel.replaymod.holders.TimeKeyframe; +import eu.crushedpixel.replaymod.interpolation.LinearPoint; +import eu.crushedpixel.replaymod.interpolation.LinearTimestamp; +import eu.crushedpixel.replaymod.interpolation.SplinePoint; + +public class ReplayProcess { + + private static Minecraft mc = Minecraft.getMinecraft(); + + private static long startRealTime; + private static int lastRealReplayTime; + private static long lastRealTime = 0; + + private static boolean linear = false; + + private static Position lastPosition = null; + private static int lastTimestamp = -1; + + private static SplinePoint motionSpline = null; + private static LinearPoint motionLinear = null; + private static LinearTimestamp timeLinear = null; + + private static double previousReplaySpeed = 0; + + public static void startReplayProcess() { + ChatMessageRequests.initialize(); + if(ReplayHandler.getKeyframes().isEmpty()) { + ChatMessageRequests.addChatMessage("No keyframes set!", ChatMessageType.WARNING); + return; + } + startRealTime = System.currentTimeMillis(); + lastRealTime = startRealTime; + lastRealReplayTime = 0; + lastTimestamp = -1; + lastPosition = null; + motionSpline = null; + timeLinear = null; + linear = ReplayMod.replaySettings.isLinearMovement(); + ReplayHandler.sortKeyframes(); + ReplayHandler.setReplaying(true); + previousReplaySpeed = ReplayHandler.getSpeed(); + TimeKeyframe tf = ReplayHandler.getNextTimeKeyframe(-1); + if(tf != null) { + int ts = tf.getTimestamp(); + ReplayHandler.setReplayPos(ts, true); + } + ChatMessageRequests.addChatMessage("Replay started!", ChatMessageType.INFORMATION); + } + + public static void stopReplayProcess(boolean finished) { + if(finished) ChatMessageRequests.addChatMessage("Replay finished!", ChatMessageType.INFORMATION); + else ChatMessageRequests.addChatMessage("Replay stopped!", ChatMessageType.INFORMATION); + ReplayHandler.setReplaying(false); + ReplayHandler.setSpeed(previousReplaySpeed); + ReplayHandler.setSpeed(0); + } + + public static void tickReplay() { + if(!ReplayHandler.isReplaying()) return; + if(ReplayHandler.isHurrying()) { + lastRealTime = System.currentTimeMillis(); + System.out.println("rethurrn"); + return; + } + + if(!linear && motionSpline == null) { + //set up spline path + motionSpline = new SplinePoint(); + for(Keyframe kf : ReplayHandler.getKeyframes()) { + if(kf instanceof PositionKeyframe) { + PositionKeyframe pkf = (PositionKeyframe)kf; + Position pos = pkf.getPosition(); + motionSpline.addPoint(pos); + } + } + if(motionSpline.getPoints().size() < 3) linear = true; + else motionSpline.calcSpline(); + + } + if(linear && motionLinear == null) { + //set up linear path + motionLinear = new LinearPoint(); + for(Keyframe kf : ReplayHandler.getKeyframes()) { + if(kf instanceof PositionKeyframe) { + PositionKeyframe pkf = (PositionKeyframe)kf; + Position pos = pkf.getPosition(); + motionLinear.addPoint(pos); + } + } + } + if(timeLinear == null) { + timeLinear = new LinearTimestamp(); + for(Keyframe kf : ReplayHandler.getKeyframes()) { + if(kf instanceof TimeKeyframe) { + timeLinear.addPoint(((TimeKeyframe)kf).getTimestamp()); + } + } + + /* + for(float x = 0; x <= 1f; x+=0.1) { + //timeLinear.getPoint(x); + System.out.println(x+" | "+timeLinear.getPoint(x)); + } + */ + //System.out.println(timeLinear.getPoint(0)); + } + + long curTime = System.currentTimeMillis(); + long timeStep = curTime - lastRealTime; + + int curRealReplayTime = (int)(lastRealReplayTime + timeStep); + + PositionKeyframe lastPos = ReplayHandler.getPreviousPositionKeyframe(curRealReplayTime); + PositionKeyframe nextPos = ReplayHandler.getNextPositionKeyframe(curRealReplayTime); + + int lastPosStamp = 0; + int nextPosStamp = 0; + + if(nextPos != null || lastPos != null) { + if(nextPos != null) { + nextPosStamp = nextPos.getRealTimestamp(); + } else { + nextPosStamp = lastPos.getRealTimestamp(); + } + + if(lastPos != null) { + lastPosStamp = lastPos.getRealTimestamp(); + } else { + lastPosStamp = nextPos.getRealTimestamp(); + } + } + + TimeKeyframe lastTime = ReplayHandler.getPreviousTimeKeyframe(curRealReplayTime); + TimeKeyframe nextTime = ReplayHandler.getNextTimeKeyframe(curRealReplayTime); + + int lastTimeStamp = 0; + int nextTimeStamp = 0; + + double curSpeed = 0f; + + if(nextTime != null || lastTime != null) { + if(nextTime != null) { + nextTimeStamp = nextTime.getRealTimestamp(); + } else { + nextTimeStamp = lastTime.getRealTimestamp(); + } + + if(lastTime != null) { + lastTimeStamp = lastTime.getRealTimestamp(); + } else { + lastTimeStamp = nextTime.getRealTimestamp(); + } + + if(!(nextTime == null || lastTime == null)) { + curSpeed = ((double)((nextTime.getTimestamp()-lastTime.getTimestamp())))/((double)((nextTimeStamp-lastTimeStamp))); + } + } + + int currentDiff = nextPosStamp - lastPosStamp; + int current = curRealReplayTime - lastPosStamp; + + float currentStepPerc = (float)current/(float)currentDiff; //The percentage of the travelled path between the current positions + if(Float.isInfinite(currentStepPerc)) currentStepPerc = 0; + + float splinePos = ((float)ReplayHandler.getKeyframeIndex(lastPos) + currentStepPerc)/(float)(ReplayHandler.getPosKeyframeCount()-1); + float timePos = ((float)ReplayHandler.getKeyframeIndex(lastTime) + currentStepPerc)/(float)(ReplayHandler.getTimeKeyframeCount()-1); + + Position pos = null; + if(!linear) { + pos = motionSpline.getPoint(Math.max(0, Math.min(1, splinePos))); + } else { + pos = motionLinear.getPoint(Math.max(0, Math.min(1, splinePos))); + } + + //int curPos = timeLinear.getPoint(Math.max(0, Math.min(1, timePos))); + + //set replay speed + if(pos != null) ReplayHandler.getCameraEntity().movePath(pos); + //System.out.println(curSpeed+" | "+curPos); + //ReplayHandler.setSpeed(curSpeed); + //System.out.println("sent "+curPos); + //ReplayHandler.setReplayPos(curPos, timePos == 0); + + + //calculate replay speed + + /* + int ts = timeLinear.getPoint(Math.max(0, Math.min(1, splinePos))); + if(ts != lastTimestamp) { + lastTimestamp = ts; + } + */ + + //splinePos = (index of last entry + add) / total entries + + + lastRealReplayTime = curRealReplayTime; + lastRealTime = curTime; + + if(splinePos >= 1) stopReplayProcess(true); + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java b/src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java new file mode 100644 index 00000000..7d15c84a --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java @@ -0,0 +1,528 @@ +package eu.crushedpixel.replaymod.replay; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelHandler.Sharable; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandlerAdapter; + +import java.io.BufferedReader; +import java.io.DataInputStream; +import java.io.EOFException; +import java.io.File; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiDownloadTerrain; +import net.minecraft.client.particle.EffectRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.network.EnumConnectionState; +import net.minecraft.network.EnumPacketDirection; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.PacketBuffer; +import net.minecraft.network.play.server.S01PacketJoinGame; +import net.minecraft.network.play.server.S02PacketChat; +import net.minecraft.network.play.server.S06PacketUpdateHealth; +import net.minecraft.network.play.server.S08PacketPlayerPosLook; +import net.minecraft.network.play.server.S0BPacketAnimation; +import net.minecraft.network.play.server.S0CPacketSpawnPlayer; +import net.minecraft.network.play.server.S14PacketEntity; +import net.minecraft.network.play.server.S18PacketEntityTeleport; +import net.minecraft.network.play.server.S1CPacketEntityMetadata; +import net.minecraft.network.play.server.S1DPacketEntityEffect; +import net.minecraft.network.play.server.S28PacketEffect; +import net.minecraft.network.play.server.S29PacketSoundEffect; +import net.minecraft.network.play.server.S2BPacketChangeGameState; +import net.minecraft.network.play.server.S2DPacketOpenWindow; +import net.minecraft.network.play.server.S2EPacketCloseWindow; +import net.minecraft.network.play.server.S2FPacketSetSlot; +import net.minecraft.network.play.server.S30PacketWindowItems; +import net.minecraft.network.play.server.S36PacketSignEditorOpen; +import net.minecraft.network.play.server.S37PacketStatistics; +import net.minecraft.network.play.server.S39PacketPlayerAbilities; +import net.minecraft.network.play.server.S43PacketCamera; +import net.minecraft.network.play.server.S45PacketTitle; +import net.minecraft.network.play.server.S14PacketEntity.S17PacketEntityLookMove; +import net.minecraft.util.Timer; +import net.minecraft.world.EnumDifficulty; +import net.minecraft.world.WorldSettings.GameType; +import net.minecraft.world.WorldType; +import net.minecraftforge.fml.client.FMLClientHandler; +import net.minecraftforge.fml.common.FMLCommonHandler; + +import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; +import org.apache.commons.compress.archivers.zip.ZipFile; +import org.apache.commons.io.FilenameUtils; + +import com.google.gson.Gson; + +import eu.crushedpixel.replaymod.entities.CameraEntity; +import eu.crushedpixel.replaymod.recording.ConnectionEventHandler; +import eu.crushedpixel.replaymod.recording.ReplayMetaData; +import eu.crushedpixel.replaymod.reflection.MCPNames; + +@Sharable +public class ReplaySender extends ChannelInboundHandlerAdapter { + + private long currentTimeStamp; + private boolean hurryToTimestamp; + private long desiredTimeStamp; + private long lastTimeStamp, lastPacketSent; + + private long toleratedTimeStamp; + + private File replayFile; + private PacketDeserializer ds = new PacketDeserializer(EnumPacketDirection.SERVERBOUND); + private boolean active = true; + private ZipFile archive; + private DataInputStream dis; + private ChannelHandlerContext ctx = null; + + private boolean startFromBeginning = true; + + private NetworkManager networkManager; + private boolean terminate = false; + + private float defaultReplaySpeed = 0.5f; + + private int packetAt = 0; + private double replaySpeed = 1f; + private long lastTime = 0, lastTimestamp = 0; + + private Field joinPacketEntityId, joinPacketWorldType, + joinPacketDimension, joinPacketDifficulty, joinPacketMaxPlayers; + + private Field effectPacketEntityId; + private Field metadataPacketEntityId, metadataPacketList; + + private Field animationPacketEntityId; + private Field entityDataWatcher; + + private Field chatPacketPosition; + + private Minecraft mc = Minecraft.getMinecraft(); + private Field mcTimer; + + private long now = System.currentTimeMillis(); + + private int replayLength = 0; + + private EffectRenderer old = mc.effectRenderer; + + private ZipArchiveEntry replayEntry; + + public boolean isHurrying() { + return hurryToTimestamp; + } + + public long currentTimeStamp() { + return currentTimeStamp; + } + + public int replayLength() { + return replayLength; + } + + public void terminateReplay() { + terminate = true; + try { + channelInactive(ctx); + ctx.channel().pipeline().close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void jumpToTime(int millis, boolean forceReload) { + setReplaySpeed(replaySpeed); + + if((millis < currentTimeStamp && !isHurrying()) || forceReload) { + if(forceReload) System.out.println("forced"); + if(ReplayHandler.isReplaying()) { + if(forceReload) { + startFromBeginning = true; + } + else { + startFromBeginning = false; + desiredTimeStamp = millis; + hurryToTimestamp = false; + return; + } + } else { + startFromBeginning = true; + } + } + + desiredTimeStamp = millis; + hurryToTimestamp = true; + } + + public void setReplaySpeed(final double d) { + if(d != 0) this.replaySpeed = d; + + try { + Timer timer = (Timer)mcTimer.get(mc); + timer.timerSpeed = (float)d; + } catch (Exception e) { + e.printStackTrace(); + } + + } + + public ReplaySender(final File replayFile, NetworkManager nm) { + try { + joinPacketEntityId = S01PacketJoinGame.class.getDeclaredField(MCPNames.field("field_149206_a")); + joinPacketEntityId.setAccessible(true); + + joinPacketDifficulty = S01PacketJoinGame.class.getDeclaredField(MCPNames.field("field_149203_e")); + joinPacketDifficulty.setAccessible(true); + + joinPacketDimension = S01PacketJoinGame.class.getDeclaredField(MCPNames.field("field_149202_d")); + joinPacketDimension.setAccessible(true); + + joinPacketMaxPlayers = S01PacketJoinGame.class.getDeclaredField(MCPNames.field("field_149200_f")); + joinPacketMaxPlayers.setAccessible(true); + + joinPacketWorldType = S01PacketJoinGame.class.getDeclaredField(MCPNames.field("field_149201_g")); + joinPacketWorldType.setAccessible(true); + + mcTimer = Minecraft.class.getDeclaredField(MCPNames.field("field_71428_T")); + mcTimer.setAccessible(true); + + effectPacketEntityId = S1DPacketEntityEffect.class.getDeclaredField(MCPNames.field("field_149434_a")); + effectPacketEntityId.setAccessible(true); + + metadataPacketEntityId = S1CPacketEntityMetadata.class.getDeclaredField(MCPNames.field("field_149379_a")); + metadataPacketEntityId.setAccessible(true); + + metadataPacketList = S1CPacketEntityMetadata.class.getDeclaredField(MCPNames.field("field_149378_b")); + metadataPacketList.setAccessible(true); + + animationPacketEntityId = S0BPacketAnimation.class.getDeclaredField(MCPNames.field("field_148981_a")); + animationPacketEntityId.setAccessible(true); + + entityDataWatcher = Entity.class.getDeclaredField(MCPNames.field("field_70180_af")); + entityDataWatcher.setAccessible(true); + + chatPacketPosition = S02PacketChat.class.getDeclaredField(MCPNames.field("field_179842_b")); + chatPacketPosition.setAccessible(true); + + } catch (Exception e) { + e.printStackTrace(); + } + + this.replayFile = replayFile; + this.networkManager = nm; + if(("."+FilenameUtils.getExtension(replayFile.getAbsolutePath())).equals(ConnectionEventHandler.ZIP_FILE_EXTENSION)) { + try { + archive = new ZipFile(replayFile); + replayEntry = archive.getEntry("recording"+ConnectionEventHandler.TEMP_FILE_EXTENSION); + + ZipArchiveEntry metadata = archive.getEntry("metaData"+ConnectionEventHandler.JSON_FILE_EXTENSION); + InputStream is = archive.getInputStream(metadata); + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + + String json = br.readLine(); + + ReplayMetaData metaData = new Gson().fromJson(json, ReplayMetaData.class); + + this.replayLength = metaData.getDuration(); + + sender.start(); + } catch(Exception e) { + e.printStackTrace(); + } + } + } + + private Thread sender = new Thread(new Runnable() { + + @Override + public void run() { + + try { + dis = new DataInputStream(archive.getInputStream(replayEntry)); + } catch(Exception e) { + e.printStackTrace(); + } + + try { + while(ctx == null && !terminate) { + Thread.sleep(10); + } + while(!terminate) { + if(startFromBeginning) { + currentTimeStamp = 0; + dis = new DataInputStream(archive.getInputStream(replayEntry)); + startFromBeginning = false; + ReplayHandler.restartReplay(); + } + while(!startFromBeginning && (!paused() || FMLClientHandler.instance().isGUIOpen(GuiDownloadTerrain.class))) { + try { + + /* + * LOGIC: + * While behind desired timestamp, only send packets + * until desired timestamp is reached, + * then increase desired timestamp by 1/20th of a second + * + * Desired timestamp is divided through stretch factor. + * + * If hurrying, don't wait for correct timing. + */ + + if(!hurryToTimestamp && ReplayHandler.isReplaying()) { + continue; + } else if(ReplayHandler.isReplaying()) { + System.out.println("nocont "+currentTimeStamp+" | "+((Timer)mcTimer.get(mc)).timerSpeed); + } + + int timestamp = dis.readInt(); + + currentTimeStamp = timestamp; + + if(!ReplayHandler.isReplaying() && !hurryToTimestamp && !FMLClientHandler.instance().isGUIOpen(GuiDownloadTerrain.class)) { + int timeWait = (int)Math.round((currentTimeStamp - lastTimeStamp)/replaySpeed); + long timeDiff = System.currentTimeMillis() - lastPacketSent; + lastPacketSent = System.currentTimeMillis(); + Thread.sleep(Math.max(0, timeWait-timeDiff)); + } + + int bytes = dis.readInt(); + byte[] bb = new byte[bytes]; + dis.readFully(bb); + + ReplaySender.this.channelRead(ctx, bb); + + lastTimeStamp = currentTimeStamp; + + if(hurryToTimestamp && currentTimeStamp >= desiredTimeStamp && !startFromBeginning) { + toleratedTimeStamp = currentTimeStamp; + hurryToTimestamp = false; + System.out.println("stop hurrying"); + } + + } catch(EOFException eof) { + setReplaySpeed(0); + } + } + } + } catch(Exception e) { + e.printStackTrace(); + } + } + }); + + private List packetClasses = new ArrayList(); + + private static Field field_149074_a; //TODO: REMOVE + static { + try { + field_149074_a = S14PacketEntity.class.getDeclaredField(MCPNames.field("field_149074_a")); + field_149074_a.setAccessible(true); + } catch(Exception e) { + e.printStackTrace(); + } + } + + @Override + public void channelRead(ChannelHandlerContext ctx, Object msg) + throws Exception { + if(terminate) { + return; + } + + if(msg instanceof Packet) { + super.channelRead(ctx, msg); + return; + } + byte[] ba = (byte[])msg; + + try { + ByteBuf bb = Unpooled.buffer(ba.length); + PacketBuffer pb = new PacketBuffer(bb); + + pb.writeBytes(ba); + + int i = pb.readVarIntFromBuffer(); + + Packet p = EnumConnectionState.PLAY.getPacket(EnumPacketDirection.CLIENTBOUND, i); + + if(hurryToTimestamp) { //If hurrying, ignore some packets + if(p instanceof S45PacketTitle || + p instanceof S29PacketSoundEffect) return; + } + + if(p instanceof S28PacketEffect) { + return; + } + + if(p instanceof S2BPacketChangeGameState) { //TODO: Test with rain + return; + } + + if(p instanceof S06PacketUpdateHealth) { + return; + } + + if(p instanceof S2DPacketOpenWindow) { + return; + } + + if(p instanceof S2EPacketCloseWindow) { + return; + } + + if(p instanceof S2FPacketSetSlot) { + return; + } + + if(p instanceof S30PacketWindowItems) { + return; + } + + if(p instanceof S36PacketSignEditorOpen) { + return; + } + + if(p instanceof S02PacketChat) { + byte pos = (Byte)chatPacketPosition.get(p); + if(pos == 1) { //Ignores command block output sent + return; + } + } + + if(p instanceof S1CPacketEntityMetadata) { + int entityId = (Integer)metadataPacketEntityId.get(p); + } + + if(p instanceof S0BPacketAnimation) { + int entityId = (Integer)animationPacketEntityId.get(p); + if(entityId == 0) { + return; + } + } + + if(p instanceof S1DPacketEntityEffect) { + int entityId = (Integer)effectPacketEntityId.get(p); + if(entityId == 0) { + return; + } + } + + if(p instanceof S37PacketStatistics) { + return; + } + + try { + p.readPacketData(pb); + + if(p instanceof S0CPacketSpawnPlayer) { + S0CPacketSpawnPlayer sp = (S0CPacketSpawnPlayer)p; + System.out.println("PACKET SPAWN PLAYER ----------"); + System.out.println("ENTITY ID: "+sp.func_148943_d()); + System.out.println("UUID: "+sp.func_179819_c()); + System.out.println("X: "+sp.func_148942_f()); + System.out.println("Y: "+sp.func_148949_g()); + System.out.println("Z: "+sp.func_148946_h()); + System.out.println("YAW: "+sp.func_148941_i()); + System.out.println("PITCH: "+sp.func_148945_j()); + System.out.println("ITEM: "+sp.func_148947_k()); + System.out.println("PACKET END -------------------"); + } + + if(p instanceof S01PacketJoinGame) { + + int entId = (Integer)joinPacketEntityId.get(p); + entId = -1; + int dimension = (Integer)joinPacketDimension.get(p); + EnumDifficulty difficulty = (EnumDifficulty)joinPacketDifficulty.get(p); + int maxPlayers = (Integer)joinPacketMaxPlayers.get(p); + WorldType worldType = (WorldType)joinPacketWorldType.get(p); + + p = new S01PacketJoinGame(entId, GameType.SPECTATOR, false, dimension, + difficulty, maxPlayers, worldType, false); + } + + if(p instanceof S39PacketPlayerAbilities) { + return; + } + + if(p instanceof S08PacketPlayerPosLook) { + final S08PacketPlayerPosLook ppl = (S08PacketPlayerPosLook)p; + + if(ReplayHandler.isReplaying()) return; + Thread t = new Thread(new Runnable() { + + @Override + public void run() { + while(mc.theWorld == null) { + try { + Thread.sleep(10); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + + Entity ent = ReplayHandler.getCameraEntity(); + if(ent == null || !(ent instanceof CameraEntity)) ent = new CameraEntity(mc.theWorld); + CameraEntity cent = (CameraEntity)ent; + cent.moveAbsolute(ppl.func_148932_c(), ppl.func_148928_d(), ppl.func_148933_e()); + + ReplayHandler.setCameraEntity(cent); + } + }); + + t.start(); + } + + if(p instanceof S43PacketCamera) { + return; + } + if(ReplayHandler.isReplaying()) + System.out.println("packet arrived"); + super.channelRead(ctx, p); + } catch(Exception e) { + System.out.println(p.getClass()); + e.printStackTrace(); + } + + } catch(Exception e) { + //e.printStackTrace(); + } + + } + + @Override + public void channelActive(ChannelHandlerContext ctx) throws Exception { + this.ctx = ctx; + networkManager.channel().attr(networkManager.attrKeyConnectionState).set(EnumConnectionState.PLAY); + super.channelActive(ctx); + } + + @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + archive.close(); + super.channelInactive(ctx); + } + + public boolean paused() { + try { + return ((Timer)mcTimer.get(mc)).timerSpeed == 0; + } catch(Exception e) {} + return true; + } + + public double getReplaySpeed() { + if(!paused()) return replaySpeed; + else return 0; + //return timeInfo.get().getSpeed(); + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java b/src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java new file mode 100644 index 00000000..097b6ee4 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/settings/ReplaySettings.java @@ -0,0 +1,101 @@ +package eu.crushedpixel.replaymod.settings; + +import java.util.LinkedHashMap; +import java.util.Map; + +import net.minecraftforge.common.config.Property; +import eu.crushedpixel.replaymod.ReplayMod; + +public class ReplaySettings { + + private int maximumFileSize = 0; + private boolean enableRecordingServer = true; + private boolean enableRecordingSingleplayer = true; + private boolean showNotifications = true; + private boolean forceLinearPath = false; + + public ReplaySettings(int maximumFileSize, boolean enableRecordingServer, + boolean enableRecordingSingleplayer, boolean showNotifications, boolean forceLinearPath) { + this.maximumFileSize = maximumFileSize; + this.enableRecordingServer = enableRecordingServer; + this.enableRecordingSingleplayer = enableRecordingSingleplayer; + this.showNotifications = showNotifications; + this.forceLinearPath = forceLinearPath; + } + + public int getMaximumFileSize() { + return maximumFileSize; + } + public void setMaximumFileSize(int maximumFileSize) { + this.maximumFileSize = maximumFileSize; + rewriteSettings(); + } + public boolean isEnableRecordingServer() { + return enableRecordingServer; + } + public void setEnableRecordingServer(boolean enableRecordingServer) { + this.enableRecordingServer = enableRecordingServer; + rewriteSettings(); + } + public boolean isEnableRecordingSingleplayer() { + return enableRecordingSingleplayer; + } + public void setEnableRecordingSingleplayer(boolean enableRecordingSingleplayer) { + this.enableRecordingSingleplayer = enableRecordingSingleplayer; + rewriteSettings(); + } + public boolean isShowNotifications() { + return showNotifications; + } + public void setShowNotifications(boolean showNotifications) { + this.showNotifications = showNotifications; + rewriteSettings(); + } + public boolean isLinearMovement() { + return forceLinearPath; + } + public void setLinearMovement(boolean linear) { + this.forceLinearPath = linear; + rewriteSettings(); + } + + public Map getOptions() { + Map map = new LinkedHashMap(); + + map.put("Enable Notifications", showNotifications); + map.put("Maximum File Size", maximumFileSize); + map.put("Record Server", enableRecordingServer); + map.put("Record Singleplayer", enableRecordingSingleplayer); + map.put("Force Linear Movement", forceLinearPath); + + return map; + } + + public void setOptions(Map map) { + try { + + maximumFileSize = (Integer)map.get("Maximum File Size"); + showNotifications = (Boolean)map.get("Enable Notifications"); + enableRecordingServer = (Boolean)map.get("Record Server"); + enableRecordingSingleplayer = (Boolean)map.get("Record Singleplayer"); + forceLinearPath = (Boolean)map.get("Force Linear Movement"); + + rewriteSettings(); + } catch(Exception e) { + e.printStackTrace(); + } + } + + public void rewriteSettings() { + ReplayMod.instance.config.load(); + + ReplayMod.instance.config.removeCategory(ReplayMod.instance.config.getCategory("settings")); + Property recServer = ReplayMod.instance.config.get("settings", "enableRecordingServer", enableRecordingServer, "Defines whether a recording should be started upon joining a server."); + Property recSP = ReplayMod.instance.config.get("settings", "enableRecordingSingleplayer", enableRecordingSingleplayer, "Defines whether a recording should be started upon joining a singleplayer world."); + Property maxFileSize = ReplayMod.instance.config.get("settings", "maximumFileSize", maximumFileSize, "The maximum File size (in MB) of a recording. 0 means unlimited."); + Property showNot = ReplayMod.instance.config.get("settings", "showNotifications", showNotifications, "Defines whether notifications should be sent to the player."); + Property linear = ReplayMod.instance.config.get("settings", "forceLinearPath", forceLinearPath, "Defines whether travelling paths should be linear instead of interpolated."); + + ReplayMod.instance.config.save(); + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/unused/DataReciever.java b/src/main/java/eu/crushedpixel/replaymod/unused/DataReciever.java new file mode 100644 index 00000000..9460684e --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/unused/DataReciever.java @@ -0,0 +1,30 @@ +package eu.crushedpixel.replaymod.unused; + +import io.netty.buffer.ByteBuf; +import net.minecraft.network.Packet; + +public class DataReciever { + + private byte[] array; + private int timestamp; + + public DataReciever(byte[] array, int timestamp) { + this.array = array; + this.timestamp = timestamp; + } + + public byte[] getByteArray() { + return array; + } + public void setByteArray(byte[] array) { + this.array = array; + } + public int getTimestamp() { + return timestamp; + } + public void setTimestamp(int timestamp) { + this.timestamp = timestamp; + } + + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/unused/DataWriter.java b/src/main/java/eu/crushedpixel/replaymod/unused/DataWriter.java new file mode 100644 index 00000000..2c9087d0 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/unused/DataWriter.java @@ -0,0 +1,88 @@ +package eu.crushedpixel.replaymod.unused; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; + +import java.io.DataOutputStream; +import java.util.HashMap; +import java.util.Map.Entry; +import java.util.concurrent.ConcurrentLinkedQueue; + +import net.minecraft.network.PacketBuffer; + +public class DataWriter { + + private boolean active = true; + + private ConcurrentLinkedQueue queue = new ConcurrentLinkedQueue(); + + Thread outputThread = new Thread(new Runnable() { + + @Override + public void run() { + + HashMap counts = new HashMap(); + + while(active) { + DataReciever dataReciever = queue.poll(); + if(dataReciever != null) { + //write the ByteBuf to the given OutputStream + + byte[] array = dataReciever.getByteArray(); + + if(array != null) { + try { + + stream.writeInt(dataReciever.getTimestamp()); //Timestamp + stream.writeInt(array.length); //Lenght + + stream.write(array); //Content + stream.flush(); + } catch(Exception e) { + e.printStackTrace(); + } + } + + } else { + try { + //let the Thread sleep for 1/2 second and queue up new Packets + Thread.sleep(500L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + try { + stream.close(); + } catch (Exception e) { + e.printStackTrace(); + } + + for(Entry entries : counts.entrySet()) { + System.out.println(entries.getKey()+ "| "+entries.getValue()); + } + + } + }); + + public ConcurrentLinkedQueue getQueue() { + return queue; + } + + public void setQueue(ConcurrentLinkedQueue queue) { + this.queue = queue; + } + + private DataOutputStream stream; + + public DataWriter(DataOutputStream stream) { + this.stream = stream; + outputThread.start(); + } + + public void requestFinish() { + active = false; + } + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/unused/PacketListener.java b/src/main/java/eu/crushedpixel/replaymod/unused/PacketListener.java new file mode 100644 index 00000000..2b5e6573 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/unused/PacketListener.java @@ -0,0 +1,37 @@ +package eu.crushedpixel.replaymod.unused; + +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandlerAdapter; +import net.minecraft.network.EnumConnectionState; +import net.minecraft.network.EnumPacketDirection; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.PacketBuffer; + +public class PacketListener extends ChannelInboundHandlerAdapter { + + private PacketWriter packetWriter; + private long startTime; + + public PacketListener(PacketWriter packetWriter, long startTime) { + this.packetWriter = packetWriter; + this.startTime = startTime; + } + + @Override + public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + super.channelRead(ctx, msg); + + if(msg instanceof Packet) { + Packet packet = (Packet)msg; + int packetID = ((EnumConnectionState)ctx.channel() + .attr(NetworkManager.attrKeyConnectionState).get()).getPacketId(EnumPacketDirection.CLIENTBOUND, packet); + int timestamp = (int) (System.currentTimeMillis() - startTime); + PacketReciever reciever = new PacketReciever(packet, (short)packetID, timestamp); + packetWriter.getQueue().add(reciever); + } + } + + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/unused/PacketReciever.java b/src/main/java/eu/crushedpixel/replaymod/unused/PacketReciever.java new file mode 100644 index 00000000..a08fcbb4 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/unused/PacketReciever.java @@ -0,0 +1,37 @@ +package eu.crushedpixel.replaymod.unused; + +import net.minecraft.network.Packet; + +public class PacketReciever { + + private Packet packet; + private short packetID; + private int timestamp; + + public PacketReciever(Packet packet, short packetID, int timestamp) { + this.packet = packet; + this.packetID = packetID; + this.timestamp = timestamp; + } + + public Packet getPacket() { + return packet; + } + public void setPacket(Packet packet) { + this.packet = packet; + } + public short getPacketID() { + return packetID; + } + public void setPacketID(short packetID) { + this.packetID = packetID; + } + public int getTimestamp() { + return timestamp; + } + public void setTimestamp(int timestamp) { + this.timestamp = timestamp; + } + + +} diff --git a/src/main/java/eu/crushedpixel/replaymod/unused/PacketWriter.java b/src/main/java/eu/crushedpixel/replaymod/unused/PacketWriter.java new file mode 100644 index 00000000..65c33da6 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/unused/PacketWriter.java @@ -0,0 +1,101 @@ +package eu.crushedpixel.replaymod.unused; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; + +import java.io.DataOutputStream; +import java.util.HashMap; +import java.util.Map.Entry; +import java.util.concurrent.ConcurrentLinkedQueue; + +import net.minecraft.network.PacketBuffer; + +public class PacketWriter { + + private boolean active = true; + + private ConcurrentLinkedQueue queue = new ConcurrentLinkedQueue(); + + Thread outputThread = new Thread(new Runnable() { + + @Override + public void run() { + + HashMap counts = new HashMap(); + + while(active) { + PacketReciever packetReciever = queue.poll(); + if(packetReciever != null) { + ByteBuf bb = Unpooled.buffer(); + PacketBuffer packetBuffer = new PacketBuffer(bb); + //write the Packet to the given OutputStream + + if(packetReciever.getPacket() != null) { + try { + packetReciever.getPacket().writePacketData(packetBuffer); + + bb.readerIndex(0); + byte[] array = new byte[bb.readableBytes()]; + bb.readBytes(array); + + stream.writeInt(packetReciever.getTimestamp()); //Timestamp + stream.writeInt(array.length); //Lenght + + if(counts.containsKey(packetReciever.getPacket().getClass())) { + counts.put(packetReciever.getPacket().getClass(), counts.get(packetReciever.getPacket().getClass())+array.length); + } else { + counts.put(packetReciever.getPacket().getClass(), array.length); + } + + stream.writeShort(packetReciever.getPacketID()); //Packet ID + stream.write(array); //Content + stream.flush(); + } catch(Exception e) { + System.out.println(packetReciever.getPacket().getClass()); + e.printStackTrace(); + } + } + + } else { + try { + //let the Thread sleep for 1/2 second and queue up new Packets + Thread.sleep(500L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + try { + stream.close(); + } catch (Exception e) { + e.printStackTrace(); + } + + for(Entry entries : counts.entrySet()) { + System.out.println(entries.getKey()+ "| "+entries.getValue()); + } + + } + }); + + public ConcurrentLinkedQueue getQueue() { + return queue; + } + + public void setQueue(ConcurrentLinkedQueue queue) { + this.queue = queue; + } + + private DataOutputStream stream; + + public PacketWriter(DataOutputStream stream) { + this.stream = stream; + outputThread.start(); + } + + public void requestFinish() { + active = false; + } + +} diff --git a/src/main/resources/assets/replaymod/extended_gui.png b/src/main/resources/assets/replaymod/extended_gui.png new file mode 100644 index 00000000..68bb3925 Binary files /dev/null and b/src/main/resources/assets/replaymod/extended_gui.png differ diff --git a/src/main/resources/assets/replaymod/replay_gui.png b/src/main/resources/assets/replaymod/replay_gui.png new file mode 100644 index 00000000..a97fb3d8 Binary files /dev/null and b/src/main/resources/assets/replaymod/replay_gui.png differ diff --git a/src/main/resources/assets/replaymod/steve.png b/src/main/resources/assets/replaymod/steve.png new file mode 100644 index 00000000..e407f801 Binary files /dev/null and b/src/main/resources/assets/replaymod/steve.png differ diff --git a/src/main/resources/assets/replaymod/timeline_icons.png b/src/main/resources/assets/replaymod/timeline_icons.png new file mode 100644 index 00000000..a71e9355 Binary files /dev/null and b/src/main/resources/assets/replaymod/timeline_icons.png differ diff --git a/src/main/resources/fields.csv b/src/main/resources/fields.csv new file mode 100644 index 00000000..3567d6c6 --- /dev/null +++ b/src/main/resources/fields.csv @@ -0,0 +1,5870 @@ +searge,name,side,desc +field_100013_f,isPotionDurationMax,0, +field_104003_g,isAggressive,2, +field_104025_t,threadLock,0, +field_104057_T,isGamemodeForced,2, +field_110150_bn,lastAttacker,2, +field_110151_bq,absorptionAmount,2, +field_110152_bk,newPosZ,2, +field_110153_bc,lastDamage,2, +field_110155_d,attributeMap,2, +field_110156_b,sprintingSpeedBoostModifierUUID,2, +field_110157_c,sprintingSpeedBoostModifier,2, +field_110158_av,swingProgressInt,2, +field_110168_bw,leashedToEntity,2, +field_110169_bv,isLeashed,2, +field_110170_bx,leashNBTTag,2, +field_110178_bs,aiBase,2, +field_110186_bp,reinforcementChance,2, +field_110187_bq,babySpeedBoostUUID,2, +field_110188_br,babySpeedBoostModifier,2, +field_110192_bp,attackingSpeedBoostModifierUUID,2, +field_110193_bq,attackingSpeedBoostModifier,2, +field_110268_bz,horseTextures,2, +field_110270_bw,horseArmorTextures,2, +field_110271_bv,horseJumpStrength,2, +field_110272_by,armorValues,2, +field_110274_bs,temper,2, +field_110275_br,horseJumping,2, +field_110276_bu,horseBreedingSelector,2, +field_110277_bt,jumpPower,2, +field_110281_bL,rearingAmount,2, +field_110282_bM,prevRearingAmount,2, +field_110283_bJ,headLean,2, +field_110284_bK,prevHeadLean,2, +field_110285_bP,gallopTime,2, +field_110286_bQ,texturePrefix,2, +field_110287_bN,mouthOpenness,2, +field_110288_bO,prevMouthOpenness,2, +field_110289_bD,eatingHaystackCounter,2, +field_110290_bE,openMouthCounter,2, +field_110291_bB,horseMarkingTextures,2, +field_110293_bH,hasReproduced,2, +field_110295_bF,jumpRearingCounter,2, +field_110296_bG,horseChest,2, +field_110320_a,horseJumpPowerCounter,0, +field_110321_bQ,horseJumpPower,0, +field_110323_l,statIcons,0, +field_110324_m,icons,0, +field_110325_k,optionsBackground,0, +field_110328_d,pumpkinBlurTexPath,0, +field_110329_b,vignetteTexPath,0, +field_110330_c,widgetsTexPath,0, +field_110352_y,minecraftTitleTextures,0, +field_110353_x,splashTexts,0, +field_110444_H,locationMojangPng,0, +field_110445_I,macDisplayModes,0, +field_110446_Y,fileAssets,0, +field_110447_Z,launchedVersion,0, +field_110448_aq,mcResourcePackRepository,0, +field_110449_ao,defaultResourcePacks,0, +field_110450_ap,mcDefaultResourcePack,0, +field_110451_am,mcResourceManager,0, +field_110452_an,metadataSerializer_,0, +field_110453_aa,proxy,0, +field_110456_c,serverProxy,2, +field_110463_b,packFormat,0, +field_110464_a,packDescription,0, +field_110465_b,charLefts,0, +field_110466_c,charSpacings,0, +field_110467_a,charWidths,0, +field_110475_d,frameTime,0, +field_110476_b,frameWidth,0, +field_110477_c,frameHeight,0, +field_110478_a,animationFrames,0, +field_110481_b,textureClamp,0, +field_110482_a,textureBlur,0, +field_110498_b,frameTime,0, +field_110499_a,frameIndex,0, +field_110506_b,gsonBuilder,0, +field_110507_c,gson,0, +field_110508_a,metadataSectionSerializerRegistry,0, +field_110520_f,locationTexturePackIcon,0, +field_110521_d,rePackMetadataSection,0, +field_110522_e,texturePackIcon,0, +field_110523_b,resourcePackFile,0, +field_110524_c,reResourcePack,0, +field_110529_f,mcmetaJsonChecked,0, +field_110530_g,mcmetaJson,0, +field_110531_d,mcmetaInputStream,0, +field_110532_e,srMetadataSerializer,0, +field_110533_b,srResourceLocation,0, +field_110534_c,resourceInputStream,0, +field_110535_a,mapMetadataSections,0, +field_110539_b,frmMetadataSerializer,0, +field_110540_a,resourcePacks,0, +field_110546_b,reloadListeners,0, +field_110547_c,rmMetadataSerializer,0, +field_110548_a,domainResourceManagers,0, +field_110553_a,glTextureId,0, +field_110559_g,textureUploaded,0, +field_110560_d,bufferedImage,0, +field_110561_e,imageThread,0, +field_110562_b,imageUrl,0, +field_110563_c,imageBuffer,0, +field_110566_b,dynamicTextureData,0, +field_110567_b,layeredTextureNames,0, +field_110568_b,textureLocation,0, +field_110574_e,mapRegisteredSprites,0, +field_110575_b,locationBlocksTexture,0, +field_110582_d,theResourceManager,0, +field_110583_b,listTickables,0, +field_110584_c,mapTextureCounters,0, +field_110585_a,mapTextureObjects,0, +field_110597_b,resourcePackFile,0, +field_110598_a,resourceLog,0, +field_110600_d,resourcePackZipFile,0, +field_110601_c,entryNameSplitter,0, +field_110608_a,defaultResourceDomains,0, +field_110617_f,repositoryEntries,0, +field_110618_d,dirResourcepacks,0, +field_110619_e,repositoryEntriesAll,0, +field_110620_b,rprDefaultResourcePack,0, +field_110621_c,rprMetadataSerializer,0, +field_110622_a,resourcePackFilter,0, +field_110625_b,resourcePath,2, +field_110626_a,resourceDomain,2, +field_110684_D,frontRightLeg,0, +field_110685_E,frontRightShin,0, +field_110686_F,frontRightHoof,0, +field_110687_G,muleLeftChest,0, +field_110688_A,frontLeftLeg,0, +field_110689_B,frontLeftShin,0, +field_110690_C,frontLeftHoof,0, +field_110691_L,horseLeftSaddleRope,0, +field_110692_M,horseLeftSaddleMetal,0, +field_110693_N,horseRightSaddleRope,0, +field_110694_O,horseRightSaddleMetal,0, +field_110695_H,muleRightChest,0, +field_110696_I,horseSaddleBottom,0, +field_110697_J,horseSaddleFront,0, +field_110698_K,horseSaddleBack,0, +field_110699_Q,horseRightFaceMetal,0, +field_110700_P,horseLeftFaceMetal,0, +field_110701_S,horseRightRein,0, +field_110702_R,horseLeftRein,0, +field_110703_f,muleLeftEar,0, +field_110704_g,muleRightEar,0, +field_110705_d,horseLeftEar,0, +field_110706_e,horseRightEar,0, +field_110709_a,head,0, +field_110710_n,tailTip,0, +field_110711_o,backLeftLeg,0, +field_110712_l,tailBase,0, +field_110713_m,tailMiddle,0, +field_110714_j,mane,0, +field_110715_k,body,0, +field_110716_h,neck,0, +field_110717_i,horseFaceRopes,0, +field_110718_w,backLeftHoof,0, +field_110719_v,backLeftShin,0, +field_110720_z,backRightHoof,0, +field_110721_y,backRightShin,0, +field_110722_x,backRightLeg,0, +field_110737_b,particleTextures,0, +field_110778_a,shadowTextures,0, +field_110780_a,arrowTextures,0, +field_110782_f,boatTextures,0, +field_110785_a,experienceOrbTextures,0, +field_110787_a,enderCrystalTextures,0, +field_110789_a,mapBackgroundTextures,0, +field_110798_h,RES_ITEM_GLINT,0, +field_110801_f,leashKnotModel,0, +field_110802_a,leashKnotTextures,0, +field_110804_g,minecartTextures,0, +field_110810_f,witherTextures,0, +field_110811_a,invulnerableWitherTextures,0, +field_110830_f,creeperTextures,0, +field_110833_a,cowTextures,0, +field_110835_a,batTextures,0, +field_110837_a,blazeTextures,0, +field_110839_f,endermanTextures,0, +field_110842_f,enderDragonExplodingTextures,0, +field_110843_g,enderDragonCrystalBeamTextures,0, +field_110844_k,enderDragonTextures,0, +field_110850_f,whiteHorseTextures,0, +field_110851_g,muleTextures,0, +field_110853_l,skeletonHorseTextures,0, +field_110854_k,zombieHorseTextures,0, +field_110855_h,donkeyTextures,0, +field_110861_l,witherSkeletonTextures,0, +field_110862_k,skeletonTextures,0, +field_110864_q,zombieVillagerTextures,0, +field_110865_p,zombieTextures,0, +field_110868_f,ghastShootingTextures,0, +field_110869_a,ghastTextures,0, +field_110871_a,zombieTextures,0, +field_110873_a,magmaCubeTextures,0, +field_110875_f,ocelotTextures,0, +field_110876_g,redOcelotTextures,0, +field_110877_a,blackOcelotTextures,0, +field_110878_h,siameseOcelotTextures,0, +field_110880_a,mooshroomTextures,0, +field_110882_a,silverfishTextures,0, +field_110884_f,shearedSheepTextures,0, +field_110887_f,pigTextures,0, +field_110890_f,spiderTextures,0, +field_110893_a,caveSpiderTextures,0, +field_110895_a,snowManTextures,0, +field_110897_a,slimeTextures,0, +field_110899_a,ironGolemTextures,0, +field_110901_a,squidTextures,0, +field_110903_f,villagerTextures,0, +field_110904_g,farmerVillagerTextures,0, +field_110905_l,smithVillagerTextures,0, +field_110906_m,butcherVillagerTextures,0, +field_110907_k,priestVillagerTextures,0, +field_110908_h,librarianVillagerTextures,0, +field_110910_a,witchTextures,0, +field_110912_f,witherTextures,0, +field_110913_a,invulnerableWitherTextures,0, +field_110915_f,tamedWolfTextures,0, +field_110916_g,anrgyWolfTextures,0, +field_110917_a,wolfTextures,0, +field_110920_a,chickenTextures,0, +field_110922_T,locationLightMap,0, +field_110923_r,locationSnowPng,0, +field_110924_q,locationRainPng,0, +field_110925_j,locationCloudsPng,0, +field_110926_k,locationEndSkyPng,0, +field_110927_h,locationMoonPhasesPng,0, +field_110928_i,locationSunPng,0, +field_110929_d,RES_UNDERWATER_OVERLAY,0, +field_110931_c,RES_MAP_BACKGROUND,0, +field_110973_g,frameCounter,0, +field_110974_d,originY,0, +field_110975_c,originX,0, +field_110976_a,framesTextureData,0, +field_110977_n,minV,0, +field_110978_o,maxV,0, +field_110979_l,minU,0, +field_110980_m,maxU,0, +field_110982_k,animationMetadata,0, +field_110983_h,tickCounter,0, +field_110984_i,iconName,0, +field_110999_b,missingTextureData,0, +field_111000_c,dataBuffer,0, +field_111001_a,missingTexture,0, +field_111053_a,numericVariablePattern,2, +field_111113_b,defaultValue,2, +field_111114_c,shouldWatch,2, +field_111115_a,unlocalizedName,2, +field_111118_b,maximumValue,2, +field_111119_c,description,2, +field_111120_a,minimumValue,2, +field_111132_f,baseValue,2, +field_111133_g,needsUpdate,2, +field_111134_d,mapByName,2, +field_111135_e,mapByUUID,2, +field_111136_b,genericAttribute,2, +field_111137_c,mapByOperation,2, +field_111138_a,attributeMap,2, +field_111139_h,cachedValue,2, +field_111153_b,attributesByName,2, +field_111154_a,attributes,2, +field_111162_d,attributeInstanceSet,2, +field_111163_c,descriptionToAttributeInstanceMap,2, +field_111170_d,id,2, +field_111171_e,isSaved,2, +field_111172_b,operation,2, +field_111173_c,name,2, +field_111174_a,amount,2, +field_111180_a,horseHost,2, +field_111188_I,attributeModifierMap,2, +field_111192_g,previousTotalWorldTime,2, +field_111193_e,playerInstanceList,2, +field_111198_g,previousWorldTime,2, +field_111203_a,moonPhaseFactors,2, +field_111204_q,inhabitedTime,2, +field_111210_e,itemModifierUUID,2, +field_111230_s,enchantmentTypes,2, +field_111242_f,theHorse,2, +field_111243_a,horseInventory,2, +field_111263_d,movementSpeed,2, +field_111264_e,attackDamage,2, +field_111265_b,followRange,2, +field_111266_c,knockbackResistance,2, +field_111267_a,maxHealth,2, +field_111273_g,locationFontTexture,0, +field_111274_c,unicodePageLocations,0, +field_111284_a,DECIMALFORMAT,2, +field_120014_b,ticks,1, +field_120015_a,server,1, +field_120021_b,server,1, +field_130068_bO,combinedHealth,2, +field_130070_K,fileResourcepacks,0, +field_130074_a,joinerResourcePacks,0, +field_130078_a,LOC_GRASS_PNG,0, +field_130079_a,LOC_FOLIAGE_PNG,0, +field_130222_e,rotated,0, +field_130223_c,width,0, +field_130224_d,height,0, +field_135017_as,mcLanguageManager,0, +field_135019_a,languages,0, +field_135029_d,unicode,0, +field_135030_b,splitter,0, +field_135031_c,pattern,0, +field_135032_a,properties,0, +field_135036_d,bidirectional,0, +field_135037_b,region,0, +field_135038_c,name,0, +field_135039_a,languageCode,0, +field_135046_d,languageMap,0, +field_135047_b,theMetadataSerializer,0, +field_135048_c,currentLanguage,0, +field_135049_a,currentLocale,0, +field_135054_a,i18nLocale,0, +field_135057_d,setResourceDomains,0, +field_135065_b,equalSignSplitter,2, +field_142016_bo,lastAttackerTime,2, +field_142022_ce,clientBrand,0, +field_142025_a,isRunningOnMac,0, +field_142052_b,revengeTimerOld,2, +field_143005_bX,playerLastActiveTime,2, +field_143008_E,maxPlayerIdleMinutes,2, +field_145761_f,customName,2, +field_145762_d,lastOutput,2, +field_145763_e,commandStored,2, +field_145764_b,successCount,2, +field_145765_c,trackOutput,2, +field_145766_a,timestampFormat,2, +field_145783_c,entityId,2, +field_145786_d,yTile,2, +field_145787_e,zTile,2, +field_145788_c,xTile,2, +field_145789_f,zTile,2, +field_145790_g,inTile,2, +field_145791_d,xTile,2, +field_145792_e,yTile,2, +field_145793_f,yTile,2, +field_145794_g,zTile,2, +field_145795_e,xTile,2, +field_145796_h,inTile,2, +field_145801_f,thrower,2, +field_145802_g,owner,2, +field_145803_d,logger,2, +field_145804_b,delayBeforeCanPickup,2, +field_145809_g,hurtEntities,2, +field_145810_d,tileEntityData,2, +field_145812_b,fallTime,2, +field_145813_c,shouldDropItem,2, +field_145815_h,fallHurtMax,2, +field_145816_i,fallHurtAmount,2, +field_145823_b,activatorRailCooldown,2, +field_145824_a,commandBlockLogic,2, +field_145846_f,tileEntityInvalid,2, +field_145847_g,blockMetadata,2, +field_145850_b,worldObj,2, +field_145852_a,logger,2, +field_145853_j,classToNameMap,2, +field_145854_h,blockType,2, +field_145855_i,nameToClassMap,2, +field_145858_a,record,2, +field_145870_n,lastProgress,2, +field_145872_l,shouldHeadBeRendered,2, +field_145873_m,progress,2, +field_145875_k,extending,2, +field_145879_a,note,2, +field_145880_i,previousRedstoneState,2, +field_145882_a,spawnerLogic,2, +field_145900_a,inventory,2, +field_145901_j,transferCooldown,2, +field_145902_i,customName,2, +field_145908_a,skullType,2, +field_145910_i,skullRotation,2, +field_145915_a,signText,2, +field_145916_j,isEditable,2, +field_145917_k,player,2, +field_145918_i,lineBeingEdited,2, +field_145922_s,customName,2, +field_145925_p,bookRotationPrev,2, +field_145926_a,tickCount,2, +field_145927_n,bookSpreadPrev,2, +field_145928_o,bookRotation,2, +field_145930_m,bookSpread,2, +field_145931_j,pageFlipPrev,2, +field_145933_i,pageFlip,2, +field_145941_a,inputSlots,2, +field_145942_n,customName,2, +field_145943_l,filledSlots,2, +field_145944_m,ingredientID,2, +field_145945_j,brewingItemStacks,2, +field_145946_k,brewTime,2, +field_145947_i,outputSlots,2, +field_145956_a,furnaceBurnTime,2, +field_145957_n,furnaceItemStacks,2, +field_145958_o,furnaceCustomName,2, +field_145959_l,slotsBottom,2, +field_145960_m,slotsSides,2, +field_145962_k,slotsTop,2, +field_145963_i,currentItemBurnTime,2, +field_145967_a,flowerPotItem,2, +field_145968_i,flowerPotData,2, +field_145975_i,prevLidAngle,2, +field_145981_s,customName,2, +field_145982_r,cachedChestType,2, +field_145983_q,ticksSinceSync,2, +field_145984_a,adjacentChestChecked,2, +field_145985_p,chestContents,2, +field_145986_n,prevLidAngle,2, +field_145987_o,numPlayersUsing,2, +field_145988_l,adjacentChestZPos,2, +field_145989_m,lidAngle,2, +field_145990_j,adjacentChestXPos,2, +field_145991_k,adjacentChestXNeg,2, +field_145992_i,adjacentChestZNeg,2, +field_145994_a,commandBlockLogic,2, +field_145997_a,outputSignal,2, +field_146008_p,customName,2, +field_146009_a,effectsList,2, +field_146010_n,secondaryEffect,2, +field_146011_o,payment,2, +field_146012_l,levels,2, +field_146013_m,primaryEffect,2, +field_146015_k,isComplete,2, +field_146020_a,customName,2, +field_146022_i,stacks,2, +field_146032_b,partName,2, +field_146036_f,FISH,2, +field_146037_g,xTile,2, +field_146038_az,ticksCatchableDelay,2, +field_146039_d,JUNK,2, +field_146040_ay,ticksCaughtDelay,2, +field_146041_e,TREASURE,2, +field_146042_b,angler,2, +field_146043_c,caughtEntity,2, +field_146044_a,shake,2, +field_146045_ax,ticksCatchable,2, +field_146046_j,inTile,2, +field_146047_aw,ticksInAir,2, +field_146048_h,yTile,2, +field_146049_av,ticksInGround,2, +field_146050_i,zTile,2, +field_146051_au,inGround,2, +field_146052_aI,clientMotionY,0, +field_146053_aJ,clientMotionZ,0, +field_146054_aA,fishApproachAngle,2, +field_146055_aB,fishPosRotationIncrements,2, +field_146056_aC,fishX,2, +field_146057_aD,fishY,2, +field_146058_aE,fishZ,2, +field_146059_aF,fishYaw,2, +field_146060_aG,fishPitch,2, +field_146061_aH,clientMotionX,0, +field_146073_bw,zombieHeight,2, +field_146074_bv,zombieWidth,2, +field_146075_bs,breakDoor,2, +field_146084_br,playerInLove,2, +field_146087_bs,entityAIEatGrass,2, +field_146106_i,gameProfile,2, +field_146108_bO,statWriter,0, +field_146109_a,mc,0, +field_146120_f,width,0, +field_146121_g,height,0, +field_146122_a,buttonTextures,0, +field_146123_n,hovered,0, +field_146124_l,enabled,0, +field_146125_m,visible,0, +field_146126_j,displayString,0, +field_146127_k,id,0, +field_146128_h,xPosition,0, +field_146129_i,yPosition,0, +field_146133_q,options,0, +field_146134_p,sliderValue,0, +field_146135_o,dragging,0, +field_146137_o,enumOptions,0, +field_146164_r,fontRenderer,0, +field_146170_l,centered,0, +field_146171_m,labelBgEnabled,0, +field_146172_j,visible,0, +field_146209_f,xPosition,0, +field_146210_g,yPosition,0, +field_146211_a,fontRendererInstance,0, +field_146212_n,canLoseFocus,0, +field_146213_o,isFocused,0, +field_146214_l,cursorCounter,0, +field_146215_m,enableBackgroundDrawing,0, +field_146216_j,text,0, +field_146217_k,maxStringLength,0, +field_146218_h,width,0, +field_146219_i,height,0, +field_146220_v,visible,0, +field_146221_u,disabledColor,0, +field_146222_t,enabledColor,0, +field_146223_s,selectionEnd,0, +field_146224_r,cursorPosition,0, +field_146225_q,lineScrollOffset,0, +field_146226_p,isEnabled,0, +field_146247_f,mc,0, +field_146248_g,sentMessages,0, +field_146249_a,logger,0, +field_146250_j,scrollPos,0, +field_146251_k,isScrolled,0, +field_146252_h,chatLines,0, +field_146259_f,mc,0, +field_146260_g,width,0, +field_146261_a,achievementBg,0, +field_146262_n,permanentNotification,0, +field_146263_l,notificationTime,0, +field_146264_m,renderItem,0, +field_146265_j,achievementDescription,0, +field_146266_k,theAchievement,0, +field_146267_h,height,0, +field_146268_i,achievementTitle,0, +field_146287_f,eventButton,0, +field_146288_g,lastMouseEvent,0, +field_146289_q,fontRendererObj,0, +field_146290_a,selectedButton,0, +field_146291_p,allowUserInput,0, +field_146292_n,buttonList,0, +field_146293_o,labelList,0, +field_146294_l,width,0, +field_146295_m,height,0, +field_146296_j,itemRender,0, +field_146297_k,mc,0, +field_146298_h,touchValue,0, +field_146304_f,message,0, +field_146305_g,multilineMessage,0, +field_146306_a,reason,0, +field_146307_h,parentScreen,0, +field_146308_f,serverIPField,0, +field_146309_g,serverNameField,0, +field_146310_a,parentScreen,0, +field_146311_h,serverData,0, +field_146320_D,btnMapType,0, +field_146321_E,btnAllowCommands,0, +field_146322_F,btnCustomizeType,0, +field_146324_A,btnMoreOptions,0, +field_146325_B,btnMapFeatures,0, +field_146326_C,btnBonusItems,0, +field_146327_L,disallowedFilenames,0, +field_146331_K,selectedIndex,0, +field_146332_f,parentScreen,0, +field_146334_a,chunkProviderSettingsJson,0, +field_146343_z,btnGameMode,0, +field_146347_a,enableButtonsTimer,0, +field_146349_a,logger,0, +field_146351_f,messageLine1,0, +field_146352_g,confirmButtonText,0, +field_146353_s,ticksUntilEnable,0, +field_146354_r,messageLine2,0, +field_146355_a,parentScreen,0, +field_146356_h,cancelButtonText,0, +field_146357_i,parentButtonClickedId,0, +field_146360_u,showSecurityWarning,0, +field_146361_t,linkText,0, +field_146362_s,copyLinkButtonText,0, +field_146363_r,openLinkWarning,0, +field_146370_f,logger,0, +field_146371_g,networkManager,0, +field_146372_a,CONNECTION_ID,0, +field_146373_h,cancel,0, +field_146374_i,previousGuiScreen,0, +field_146385_f,createWorldGui,0, +field_146387_g,theFlatGeneratorInfo,0, +field_146390_s,createFlatWorldListSlotGui,0, +field_146393_h,flatWorldTitle,0, +field_146400_h,game_settings,0, +field_146408_f,logger,0, +field_146409_v,defaultInputFieldText,0, +field_146410_g,historyBuffer,0, +field_146412_t,foundPlayerNames,0, +field_146413_s,autocompleteIndex,0, +field_146414_r,waitingOnAutocomplete,0, +field_146415_a,inputField,0, +field_146416_h,sentHistoryCursor,0, +field_146417_i,playerNamesFound,0, +field_146431_f,FLAT_WORLD_PRESETS,0, +field_146432_g,parentScreen,0, +field_146443_h,game_settings_1,0, +field_146450_f,list,0, +field_146451_g,game_settings_3,0, +field_146452_r,confirmSettingsBtn,0, +field_146453_a,parentScreen,0, +field_146454_h,languageManager,0, +field_146455_i,forceUnicodeFontBtn,0, +field_146465_D,buttonSign,0, +field_146466_f,bookGuiTextures,0, +field_146467_E,buttonFinalize,0, +field_146468_g,editingPlayer,0, +field_146469_F,buttonCancel,0, +field_146470_A,buttonNextPage,0, +field_146471_B,buttonPreviousPage,0, +field_146472_C,buttonDone,0, +field_146473_a,logger,0, +field_146474_h,bookObj,0, +field_146475_i,bookIsUnsigned,0, +field_146476_w,bookTotalPages,0, +field_146477_v,bookImageHeight,0, +field_146478_u,bookImageWidth,0, +field_146479_t,updateCount,0, +field_146480_s,bookGettingSigned,0, +field_146481_r,bookIsModified,0, +field_146482_z,bookTitle,0, +field_146483_y,bookPages,0, +field_146484_x,currPage,0, +field_146485_f,commandTextField,0, +field_146487_r,cancelBtn,0, +field_146489_h,localCommandBlock,0, +field_146490_i,doneBtn,0, +field_146491_f,buttonId,0, +field_146492_g,optionsArr,0, +field_146493_s,buttonReset,0, +field_146494_r,keyBindingList,0, +field_146495_a,screenTitle,0, +field_146496_h,parentScreen,0, +field_146497_i,options,0, +field_146498_f,parentGuiScreen,0, +field_146499_g,guiGameSettings,0, +field_146500_a,screenTitle,0, +field_146501_h,optionsRowList,0, +field_146502_i,videoOptions,0, +field_146506_g,game_settings_4,0, +field_146510_b_,lanSearchStates,0, +field_146542_f,screenTitle,0, +field_146543_v,doesGuiPauseGame,0, +field_146545_u,displaySlot,0, +field_146547_s,mobStats,0, +field_146548_r,blockStats,0, +field_146549_a,parentScreen,0, +field_146550_h,generalStats,0, +field_146551_i,itemStats,0, +field_146556_E,statFileWriter,0, +field_146558_F,loadingAchievements,0, +field_146562_a,parentScreen,0, +field_146580_a,logger,0, +field_146587_f,scaledResolution,0, +field_146588_g,framebuffer,0, +field_146593_f,progress,0, +field_146594_a,netHandlerPlayClient,0, +field_146603_f,game_settings_2,0, +field_146629_g,logger,0, +field_146797_f,oldServerPinger,0, +field_146798_g,parentScreen,0, +field_146799_A,lanServerList,0, +field_146800_B,lanServerDetector,0, +field_146801_C,initialized,0, +field_146802_a,logger,0, +field_146803_h,serverListSelector,0, +field_146804_i,savedServerList,0, +field_146805_w,editingServer,0, +field_146806_v,addingServer,0, +field_146807_u,deletingServer,0, +field_146808_t,btnDeleteServer,0, +field_146809_s,btnSelectServer,0, +field_146810_r,btnEditServer,0, +field_146811_z,selectedServer,0, +field_146812_y,hoveringText,0, +field_146813_x,directConnect,0, +field_146848_f,tileSign,0, +field_146849_g,updateCounter,0, +field_146851_h,editLine,0, +field_146852_i,doneBtn,0, +field_146968_a,logger,0, +field_146972_A,openGLWarning2,0, +field_146974_g,logger,0, +field_146985_D,currentDragTargetSlot,0, +field_146986_E,dragItemDropDelay,0, +field_146987_F,dragSplittingLimit,0, +field_146988_G,dragSplittingButton,0, +field_146989_A,returningStackDestSlot,0, +field_146990_B,returningStackTime,0, +field_146991_C,returningStack,0, +field_146992_L,lastClickButton,0, +field_146993_M,doubleClick,0, +field_146994_N,shiftClickedSlot,0, +field_146995_H,ignoreMouseUp,0, +field_146996_I,dragSplittingRemnant,0, +field_146997_J,lastClickTime,0, +field_146998_K,lastClickSlot,0, +field_146999_f,xSize,0, +field_147000_g,ySize,0, +field_147001_a,inventoryBackground,0, +field_147002_h,inventorySlots,0, +field_147003_i,guiLeft,0, +field_147004_w,isRightMouseClick,0, +field_147005_v,clickedSlot,0, +field_147006_u,theSlot,0, +field_147007_t,dragSplitting,0, +field_147008_s,dragSplittingSlots,0, +field_147009_r,guiTop,0, +field_147010_z,touchUpY,0, +field_147011_y,touchUpX,0, +field_147012_x,draggedStack,0, +field_147013_v,tileBrewingStand,0, +field_147014_u,brewingStandGuiTextures,0, +field_147015_w,lowerChestInventory,0, +field_147016_v,upperChestInventory,0, +field_147017_u,CHEST_GUI_TEXTURE,0, +field_147018_x,inventoryRows,0, +field_147019_u,craftingTableGuiTextures,0, +field_147024_w,tileBeacon,0, +field_147025_v,beaconGuiTextures,0, +field_147026_u,logger,0, +field_147027_y,buttonsNotDrawn,0, +field_147028_x,beaconConfirmButton,0, +field_147029_w,horseInventory,0, +field_147030_v,playerInventory,0, +field_147031_u,horseGuiTextures,0, +field_147032_z,mousePosY,0, +field_147033_y,mousePosx,0, +field_147034_x,horseEntity,0, +field_147037_w,merchant,0, +field_147038_v,MERCHANT_GUI_TEXTURE,0, +field_147039_u,logger,0, +field_147040_A,chatComponent,0, +field_147041_z,selectedMerchantRecipe,0, +field_147042_y,previousButton,0, +field_147043_x,nextButton,0, +field_147045_u,hasActivePotionEffects,0, +field_147047_v,oldMouseY,0, +field_147048_u,oldMouseX,0, +field_147058_w,selectedTabIndex,0, +field_147061_u,creativeInventoryTabs,0, +field_147062_A,searchField,0, +field_147065_z,wasClicking,0, +field_147066_y,isScrolling,0, +field_147067_x,currentScroll,0, +field_147070_D,ENCHANTMENT_TABLE_BOOK_TEXTURE,0, +field_147072_E,MODEL_BOOK,0, +field_147074_F,random,0, +field_147075_G,container,0, +field_147078_C,ENCHANTMENT_TABLE_GUI_TEXTURE,0, +field_147083_w,hopperInventory,0, +field_147084_v,playerInventory,0, +field_147085_u,HOPPER_GUI_TEXTURE,0, +field_147086_v,tileFurnace,0, +field_147087_u,furnaceGuiTextures,0, +field_147088_v,dispenserGuiTextures,0, +field_147091_w,nameField,0, +field_147092_v,anvil,0, +field_147093_u,anvilResource,0, +field_147094_x,playerInventory,0, +field_147101_bU,respawnInvulnerabilityTicks,2, +field_147102_bM,logger,2, +field_147103_bO,statsFile,2, +field_147123_G,logger,0, +field_147124_at,framebufferMc,0, +field_147125_j,pointedEntity,0, +field_147126_aw,mcMusicTicker,0, +field_147127_av,mcSoundHandler,0, +field_147128_au,textureMapBlocks,0, +field_147129_ai,jvm64bit,0, +field_147141_M,resourcePackUrl,2, +field_147142_T,nanoTimeSinceStatusRefresh,2, +field_147143_S,sessionService,2, +field_147144_o,networkSystem,2, +field_147145_h,logger,2, +field_147146_q,random,2, +field_147147_p,statusResponse,2, +field_147148_h,logger,0, +field_147150_a,logger,2, +field_147166_l,categoryName,0, +field_147167_m,categoryId,0, +field_147175_a,logger,2, +field_147208_a,logger,2, +field_147228_b,logger,0, +field_147229_c,pingDestinations,0, +field_147230_a,PING_RESPONSE_SPLITTER,0, +field_147299_f,gameController,0, +field_147300_g,clientWorldController,0, +field_147301_d,logger,0, +field_147302_e,netManager,0, +field_147304_c,currentServerMaxPlayers,0, +field_147306_l,avRandomizer,0, +field_147307_j,guiScreenServer,0, +field_147309_h,doneLoadingTerrain,0, +field_147310_i,playerInfoMap,0, +field_147313_b,networkManager,2, +field_147314_a,server,2, +field_147327_f,server,2, +field_147328_g,currentLoginState,2, +field_147329_d,RANDOM,2, +field_147330_e,verifyToken,2, +field_147331_b,AUTHENTICATOR_THREAD_ID,2, +field_147332_c,logger,2, +field_147333_a,networkManager,2, +field_147334_j,serverId,2, +field_147335_k,secretKey,2, +field_147336_h,connectionTimer,2, +field_147337_i,loginGameProfile,2, +field_147365_f,floatingTickCount,2, +field_147367_d,serverController,2, +field_147368_e,networkTickCount,2, +field_147369_b,playerEntity,2, +field_147370_c,logger,2, +field_147371_a,netManager,2, +field_147373_o,lastPosX,2, +field_147374_l,chatSpamThresholdCount,2, +field_147375_m,itemDropThreshold,2, +field_147377_k,lastSentPingPacket,2, +field_147379_i,lastPingTime,2, +field_147380_r,hasMoved,2, +field_147381_q,lastPosZ,2, +field_147382_p,lastPosY,2, +field_147384_b,networkManager,0, +field_147385_a,mcServer,0, +field_147386_b,networkManager,2, +field_147387_a,server,2, +field_147393_d,networkManager,0, +field_147394_b,mc,0, +field_147395_c,previousGuiScreen,0, +field_147396_a,logger,0, +field_147411_m,serverIcon,0, +field_147412_i,playerList,0, +field_147415_a,logger,0, +field_147417_b,logger,2, +field_147433_r,parabolicField,2, +field_147436_a,logger,0, +field_147481_N,processingLoadedTiles,2, +field_147482_g,loadedTileEntityList,2, +field_147483_b,tileEntitiesToBeRemoved,2, +field_147484_a,addedTileEntityList,2, +field_147489_T,blockEventCacheIndex,2, +field_147491_a,logger,2, +field_147501_a,rendererDispatcher,0, +field_147503_f,textureChristmas,0, +field_147504_g,textureNormal,0, +field_147505_d,textureNormalDouble,0, +field_147506_e,textureTrapped,0, +field_147507_b,textureTrappedDouble,0, +field_147508_c,textureChristmasDouble,0, +field_147509_j,isChristams,0, +field_147510_h,simpleChest,0, +field_147511_i,largeChest,0, +field_147514_c,model,0, +field_147523_b,beaconBeam,0, +field_147532_f,CREEPER_TEXTURES,0, +field_147534_d,WITHER_SKELETON_TEXTURES,0, +field_147535_e,ZOMBIE_TEXTURES,0, +field_147536_b,instance,0, +field_147537_c,SKELETON_TEXTURES,0, +field_147550_f,worldObj,0, +field_147551_g,entity,0, +field_147552_d,staticPlayerZ,0, +field_147553_e,renderEngine,0, +field_147554_b,staticPlayerX,0, +field_147555_c,staticPlayerY,0, +field_147556_a,instance,0, +field_147557_n,fontRenderer,0, +field_147558_l,entityZ,0, +field_147559_m,mapSpecialRenderers,0, +field_147560_j,entityX,0, +field_147561_k,entityY,0, +field_147562_h,entityYaw,0, +field_147563_i,entityPitch,0, +field_147593_P,mapSoundPositions,0, +field_147595_R,displayListEntitiesDirty,0, +field_147596_f,prevRenderSortX,0, +field_147597_g,prevRenderSortY,0, +field_147599_m,logger,0, +field_147602_h,prevRenderSortZ,0, +field_147616_f,framebufferObject,0, +field_147617_g,framebufferTexture,0, +field_147618_d,framebufferHeight,0, +field_147619_e,useDepth,0, +field_147620_b,framebufferTextureHeight,0, +field_147621_c,framebufferWidth,0, +field_147622_a,framebufferTextureWidth,0, +field_147623_j,framebufferFilter,0, +field_147624_h,depthBuffer,0, +field_147625_i,framebufferColor,0, +field_147635_d,logger,0, +field_147636_j,mipmapLevels,0, +field_147638_c,logger,0, +field_147639_c,logger,0, +field_147643_d,threadDownloadCounter,0, +field_147644_c,logger,0, +field_147646_a,logger,0, +field_147648_b,logger,0, +field_147658_f,zPosF,0, +field_147659_g,repeat,0, +field_147660_d,xPosF,0, +field_147661_e,yPosF,0, +field_147662_b,volume,0, +field_147663_c,pitch,0, +field_147664_a,positionedSoundLocation,0, +field_147665_h,repeatDelay,0, +field_147666_i,attenuationType,0, +field_147668_j,donePlaying,0, +field_147670_k,minecart,0, +field_147671_l,minecart,0, +field_147672_k,player,0, +field_147676_d,timeUntilNextMusic,0, +field_147677_b,mc,0, +field_147678_c,currentMusic,0, +field_147679_a,rand,0, +field_147694_f,sndManager,0, +field_147695_g,mcResourceManager,0, +field_147697_e,sndRegistry,0, +field_147698_b,logger,0, +field_147700_a,missing_sound,0, +field_147707_d,theShaderGroup,0, +field_147708_e,shaderCount,0, +field_147709_v,theMapItemRenderer,0, +field_147710_q,logger,0, +field_147711_ac,resourceManager,0, +field_147712_ad,shaderResourceLocations,0, +field_147713_ae,shaderIndex,0, +field_147719_a,instance,0, +field_147917_g,mc,0, +field_147923_a,logger,0, +field_147941_i,pointedEntity,0, +field_147957_g,mipmapBuffer,0, +field_147959_c,logger,0, +field_147967_a,logger,0, +field_147968_d,mipmapLevelHolder,0, +field_147971_a,mipmapLevelStitcher,0, +field_147997_f,shaderSamplers,0, +field_147998_g,samplerNames,0, +field_147999_d,currentProgram,0, +field_148001_b,defaultShaderUniform,0, +field_148002_c,staticShaderManager,0, +field_148003_a,logger,0, +field_148004_n,useFaceCulling,0, +field_148005_o,isDirty,0, +field_148006_l,program,0, +field_148007_m,programFilename,0, +field_148008_j,shaderUniformLocations,0, +field_148009_k,mappedShaderUniforms,0, +field_148010_h,shaderSamplerLocations,0, +field_148011_i,shaderUniforms,0, +field_148012_t,fragmentShaderLoader,0, +field_148013_s,vertexShaderLoader,0, +field_148014_r,attributes,0, +field_148015_q,attribLocations,0, +field_148016_p,field_148016_p,0, +field_148029_f,listFramebuffers,0, +field_148030_g,projectionMatrix,0, +field_148031_d,listShaders,0, +field_148032_e,mapFramebuffers,0, +field_148033_b,resourceManager,0, +field_148034_c,shaderGroupName,0, +field_148035_a,mainFramebuffer,0, +field_148038_h,mainFramebufferWidth,0, +field_148039_i,mainFramebufferHeight,0, +field_148046_f,listAuxWidths,0, +field_148047_g,listAuxHeights,0, +field_148048_d,listAuxFramebuffers,0, +field_148049_e,listAuxNames,0, +field_148050_b,framebufferOut,0, +field_148051_c,manager,0, +field_148052_a,framebufferIn,0, +field_148053_h,projectionMatrix,0, +field_148058_d,shaderAttachCount,0, +field_148059_b,shaderFilename,0, +field_148060_c,shader,0, +field_148061_a,shaderType,0, +field_148067_f,loadedShaders,0, +field_148069_d,shaderExtension,0, +field_148070_e,shaderMode,0, +field_148072_c,shaderName,0, +field_148079_b,staticShaderLinkHelper,0, +field_148080_a,logger,0, +field_148098_f,uniformFloatBuffer,0, +field_148099_g,shaderName,0, +field_148100_d,uniformType,0, +field_148101_e,uniformIntBuffer,0, +field_148102_b,uniformLocation,0, +field_148103_c,uniformCount,0, +field_148104_a,logger,0, +field_148105_h,dirty,0, +field_148106_i,shaderManager,0, +field_148149_f,slotHeight,0, +field_148150_g,mouseX,0, +field_148151_d,right,0, +field_148152_e,left,0, +field_148153_b,top,0, +field_148154_c,bottom,0, +field_148155_a,width,0, +field_148156_n,scrollDownButtonID,0, +field_148157_o,initialClickY,0, +field_148158_l,height,0, +field_148159_m,scrollUpButtonID,0, +field_148160_j,headerPadding,0, +field_148161_k,mc,0, +field_148162_h,mouseY,0, +field_148164_v,enabled,0, +field_148165_u,hasListHeader,0, +field_148166_t,showSelectionBox,0, +field_148167_s,lastClicked,0, +field_148168_r,selectedElement,0, +field_148169_q,amountScrolled,0, +field_148170_p,scrollMultiplier,0, +field_148176_l,langCodeList,0, +field_148177_m,languageMap,0, +field_148188_n,maxListLabelWidth,0, +field_148189_l,mc,0, +field_148190_m,listEntries,0, +field_148196_n,lanScanEntry,0, +field_148200_k,owner,0, +field_148205_k,mc,0, +field_148216_n,statSorter,0, +field_148219_m,statsHolder,0, +field_148240_d,location,0, +field_148242_b,mapData,0, +field_148251_b,textureManager,0, +field_148252_c,loadedMaps,0, +field_148253_a,mapIcons,0, +field_148257_b,playerID,0, +field_148258_c,token,0, +field_148261_a,logger,0, +field_148270_M,valueStep,0, +field_148271_N,valueMin,0, +field_148272_O,valueMax,0, +field_148280_d,btnChangeKeyBinding,0, +field_148281_e,btnReset,0, +field_148282_b,keybinding,0, +field_148283_c,keyDesc,0, +field_148285_b,labelText,0, +field_148286_c,labelWidth,0, +field_148304_a,logger,0, +field_148321_e,resourcePackIcon,0, +field_148322_c,logger,0, +field_148326_f,logger,2, +field_148330_a,itemList,0, +field_148332_b,slot,0, +field_148336_b,rand,0, +field_148337_c,namePartsArray,0, +field_148338_a,instance,0, +field_148534_e,dirServerResourcepacks,0, +field_148536_c,listMipmaps,0, +field_148546_d,logger,2, +field_148547_k,playerStatFiles,2, +field_148550_b,logger,0, +field_148564_f,streaming,0, +field_148567_b,volume,0, +field_148568_c,pitch,0, +field_148569_a,name,0, +field_148575_b,replaceExisting,0, +field_148576_c,category,0, +field_148577_a,soundList,0, +field_148589_c,type,0, +field_148617_f,loaded,0, +field_148618_g,playTime,0, +field_148619_d,options,0, +field_148620_e,sndSystem,0, +field_148621_b,logger,0, +field_148622_c,sndHandler,0, +field_148623_a,LOG_MARKER,0, +field_148624_n,playingSoundsStopTime,0, +field_148625_l,tickableSounds,0, +field_148626_m,delayedSounds,0, +field_148627_j,playingSoundPoolEntries,0, +field_148628_k,categorySounds,0, +field_148629_h,playingSounds,0, +field_148630_i,invPlayingSounds,0, +field_148643_j,maxDelay,0, +field_148645_h,musicLocation,0, +field_148646_i,minDelay,0, +field_148653_d,volume,0, +field_148654_b,streamingSound,0, +field_148655_c,pitch,0, +field_148656_a,location,0, +field_148657_b,logger,0, +field_148731_f,eventVolume,0, +field_148732_d,category,0, +field_148733_e,eventPitch,0, +field_148734_b,rnd,0, +field_148735_c,soundLocation,0, +field_148736_a,soundPool,0, +field_148738_b,weight,0, +field_148739_a,entry,0, +field_148743_a,logger,2, +field_148748_b,objectList,2, +field_148749_a,identityMap,2, +field_148759_a,underlyingIntegerMap,2, +field_148764_a,soundRegistry,0, +field_148823_f,framebufferSupported,0, +field_148824_g,shadersSupported,0, +field_148826_e,GL_STATIC_DRAW,0, +field_148827_a,openGL21,0, +field_148828_i,openGL14,0, +field_148849_e,progress,2, +field_148852_a,breakerId,2, +field_148859_d,metadata,2, +field_148860_e,nbt,2, +field_148904_f,entityId,2, +field_148905_d,slotCount,2, +field_148907_b,inventoryType,2, +field_148908_c,windowTitle,2, +field_148909_a,windowId,2, +field_148919_a,chatComponent,2, +field_148925_b,chunkPosCoord,2, +field_148980_b,type,2, +field_148981_a,entityId,2, +field_149097_a,playerID,2, +field_149114_f,walkSpeed,2, +field_149115_d,creativeMode,2, +field_149116_e,flySpeed,2, +field_149117_b,flying,2, +field_149118_c,allowFlying,2, +field_149119_a,invulnerable,2, +field_149140_b,state,2, +field_149142_a,MESSAGE_NAMES,2, +field_149167_a,reason,2, +field_149171_b,data,2, +field_149172_a,channel,2, +field_149191_a,mapId,2, +field_149200_f,maxPlayers,2, +field_149201_g,worldType,2, +field_149202_d,dimension,2, +field_149203_e,difficulty,2, +field_149204_b,hardcoreMode,2, +field_149205_c,gameType,2, +field_149206_a,entityId,2, +field_149232_d,zCoord,2, +field_149233_e,xOffset,2, +field_149234_b,xCoord,2, +field_149235_c,yCoord,2, +field_149237_h,particleSpeed,2, +field_149238_i,particleCount,2, +field_149246_f,serverWide,2, +field_149249_b,soundData,2, +field_149251_a,soundType,2, +field_149282_b,chunkZ,2, +field_149284_a,chunkX,2, +field_149290_a,clientTime,2, +field_149293_a,clientTime,2, +field_149296_b,response,2, +field_149297_a,GSON,2, +field_149301_b,verifyTokenEncrypted,2, +field_149302_a,secretKeyEncrypted,2, +field_149305_a,profile,2, +field_149326_d,action,2, +field_149327_b,objective,2, +field_149328_c,value,2, +field_149329_a,name,2, +field_149334_b,foodLevel,2, +field_149335_c,saturationLevel,2, +field_149336_a,health,2, +field_149420_a,message,2, +field_149437_a,status,2, +field_149440_a,message,2, +field_149461_a,key,2, +field_149473_f,pitch,2, +field_149474_g,onGround,2, +field_149476_e,yaw,2, +field_149477_b,y,2, +field_149478_c,z,2, +field_149479_a,x,2, +field_149480_h,moving,2, +field_149481_i,rotating,2, +field_149495_f,walkSpeed,2, +field_149496_d,creativeMode,2, +field_149497_e,flySpeed,2, +field_149498_b,flying,2, +field_149499_c,allowFlying,2, +field_149500_a,invulnerable,2, +field_149508_e,status,2, +field_149515_b,action,2, +field_149516_c,auxData,2, +field_149517_a,entityID,2, +field_149526_d,enableColors,2, +field_149528_b,view,2, +field_149529_c,chatVisibility,2, +field_149530_a,lang,2, +field_149534_b,uid,2, +field_149535_c,accepted,2, +field_149536_a,windowId,2, +field_149540_b,button,2, +field_149541_a,windowId,2, +field_149549_f,mode,2, +field_149550_d,actionNumber,2, +field_149551_e,clickedItem,2, +field_149552_b,slotId,2, +field_149553_c,usedButton,2, +field_149554_a,windowId,2, +field_149556_a,windowId,2, +field_149561_c,data,2, +field_149562_a,channel,2, +field_149566_b,action,2, +field_149567_a,entityId,2, +field_149577_f,facingX,2, +field_149578_g,facingY,2, +field_149579_d,placedBlockDirection,2, +field_149580_e,stack,2, +field_149584_h,facingZ,2, +field_149590_d,lines,2, +field_149597_d,requestedState,2, +field_149598_b,ip,2, +field_149599_c,port,2, +field_149600_a,protocolVersion,2, +field_149602_a,profile,2, +field_149605_a,reason,2, +field_149610_b,publicKey,2, +field_149611_c,verifyToken,2, +field_149612_a,hashedServerId,2, +field_149615_a,slotId,2, +field_149621_d,sneaking,2, +field_149622_b,forwardSpeed,2, +field_149623_c,jumping,2, +field_149624_a,strafeSpeed,2, +field_149628_b,stack,2, +field_149629_a,slotId,2, +field_149754_D,minZ,2, +field_149755_E,maxX,2, +field_149756_F,maxY,2, +field_149757_G,maxZ,2, +field_149758_A,isBlockContainer,2, +field_149759_B,minX,2, +field_149760_C,minY,2, +field_149762_H,stepSound,2, +field_149763_I,blockParticleGravity,2, +field_149764_J,blockMaterial,2, +field_149765_K,slipperiness,2, +field_149766_f,soundTypeWood,2, +field_149767_g,soundTypeGravel,2, +field_149769_e,soundTypeStone,2, +field_149770_b,unlocalizedName,2, +field_149771_c,blockRegistry,2, +field_149772_a,displayOnCreativeTab,2, +field_149773_n,soundTypeSnow,2, +field_149774_o,soundTypeLadder,2, +field_149775_l,soundTypeCloth,2, +field_149776_m,soundTypeSand,2, +field_149777_j,soundTypeMetal,2, +field_149778_k,soundTypeGlass,2, +field_149779_h,soundTypeGrass,2, +field_149780_i,soundTypePiston,2, +field_149781_w,blockResistance,2, +field_149782_v,blockHardness,2, +field_149783_u,useNeighborBrightness,2, +field_149784_t,lightValue,2, +field_149785_s,translucent,2, +field_149786_r,lightOpacity,2, +field_149787_q,fullBlock,2, +field_149788_p,soundTypeAnvil,2, +field_149789_z,needsRandomTick,2, +field_149790_y,enableStats,2, +field_149815_a,adjacentSourceBlocks,2, +field_149832_M,fallInstantly,2, +field_149848_b,flammabilities,2, +field_149849_a,encouragements,2, +field_149877_a,crop,2, +field_149914_a,isRepeaterPowered,2, +field_149932_b,isBurning,2, +field_149934_M,keepInventory,2, +field_149942_b,rand,2, +field_149943_a,dispenseBehaviorRegistry,2, +field_149947_P,dropBehavior,2, +field_149955_b,rand,2, +field_149956_a,chestType,2, +field_149961_a,rand,2, +field_149996_a,ignoreSimilarity,2, +field_150047_a,wooden,2, +field_150053_a,isPowered,2, +field_150069_a,sensitivity,2, +field_150082_a,isSticky,2, +field_150099_b,canDrop,2, +field_150112_b,toggles,2, +field_150113_a,isOn,2, +field_150121_P,fancyGraphics,2, +field_150127_b,iconIndex,0, +field_150128_a,surroundings,2, +field_150149_b,modelBlock,2, +field_150151_M,modelState,2, +field_150152_N,hasRaytraced,2, +field_150153_O,rayTracePass,2, +field_150171_a,isOn,2, +field_150179_b,blocksNeedingUpdate,2, +field_150181_a,canProvidePower,2, +field_150187_a,isOn,2, +field_150202_a,mapColor,2, +field_150243_f,strikethrough,2, +field_150244_g,obfuscated,2, +field_150245_d,italic,2, +field_150246_e,underlined,2, +field_150247_b,color,2, +field_150248_c,bold,2, +field_150249_a,parentStyle,2, +field_150250_j,rootStyle,2, +field_150251_h,chatClickEvent,2, +field_150252_i,chatHoverEvent,2, +field_150263_b,style,2, +field_150264_a,siblings,2, +field_150267_b,text,2, +field_150274_f,syncLock,2, +field_150275_g,lastTranslationUpdateTimeInMilliseconds,2, +field_150276_d,key,2, +field_150277_e,formatArgs,2, +field_150278_b,children,2, +field_150279_c,stringVariablePattern,2, +field_150280_b,dataSize,2, +field_150282_a,data,2, +field_150301_b,logger,2, +field_150317_a,logger,2, +field_150318_D,golden_rail,2, +field_150319_E,detector_rail,2, +field_150320_F,sticky_piston,2, +field_150321_G,web,2, +field_150322_A,sandstone,2, +field_150323_B,noteblock,2, +field_150324_C,bed,2, +field_150325_L,wool,2, +field_150327_N,yellow_flower,2, +field_150328_O,red_flower,2, +field_150329_H,tallgrass,2, +field_150330_I,deadbush,2, +field_150331_J,piston,2, +field_150332_K,piston_head,2, +field_150333_U,stone_slab,2, +field_150334_T,double_stone_slab,2, +field_150335_W,tnt,2, +field_150336_V,brick_block,2, +field_150337_Q,red_mushroom,2, +field_150338_P,brown_mushroom,2, +field_150339_S,iron_block,2, +field_150340_R,gold_block,2, +field_150341_Y,mossy_cobblestone,2, +field_150342_X,bookshelf,2, +field_150343_Z,obsidian,2, +field_150344_f,planks,2, +field_150345_g,sapling,2, +field_150346_d,dirt,2, +field_150347_e,cobblestone,2, +field_150348_b,stone,2, +field_150349_c,grass,2, +field_150350_a,air,2, +field_150351_n,gravel,2, +field_150352_o,gold_ore,2, +field_150353_l,lava,2, +field_150354_m,sand,2, +field_150355_j,water,2, +field_150356_k,flowing_lava,2, +field_150357_h,bedrock,2, +field_150358_i,flowing_water,2, +field_150359_w,glass,2, +field_150360_v,sponge,2, +field_150361_u,leaves2,2, +field_150362_t,leaves,2, +field_150363_s,log2,2, +field_150364_r,log,2, +field_150365_q,coal_ore,2, +field_150366_p,iron_ore,2, +field_150367_z,dispenser,2, +field_150368_y,lapis_block,2, +field_150369_x,lapis_ore,2, +field_150370_cb,quartz_stairs,2, +field_150371_ca,quartz_block,2, +field_150372_bz,sandstone_stairs,2, +field_150373_bw,double_wooden_slab,2, +field_150374_bv,lit_redstone_lamp,2, +field_150375_by,cocoa,2, +field_150376_bx,wooden_slab,2, +field_150377_bs,end_stone,2, +field_150378_br,end_portal_frame,2, +field_150379_bu,redstone_lamp,2, +field_150380_bt,dragon_egg,2, +field_150381_bn,enchanting_table,2, +field_150382_bo,brewing_stand,2, +field_150383_bp,cauldron,2, +field_150384_bq,end_portal,2, +field_150385_bj,nether_brick,2, +field_150386_bk,nether_brick_fence,2, +field_150387_bl,nether_brick_stairs,2, +field_150388_bm,nether_wart,2, +field_150389_bf,brick_stairs,2, +field_150390_bg,stone_brick_stairs,2, +field_150391_bh,mycelium,2, +field_150392_bi,waterlily,2, +field_150393_bb,pumpkin_stem,2, +field_150394_bc,melon_stem,2, +field_150395_bd,vine,2, +field_150397_co,stained_glass_pane,2, +field_150398_cm,double_plant,2, +field_150399_cn,stained_glass,2, +field_150400_ck,acacia_stairs,2, +field_150401_cl,dark_oak_stairs,2, +field_150402_ci,coal_block,2, +field_150403_cj,packed_ice,2, +field_150404_cg,carpet,2, +field_150405_ch,hardened_clay,2, +field_150406_ce,stained_hardened_clay,2, +field_150407_cf,hay_block,2, +field_150408_cc,activator_rail,2, +field_150409_cd,dropper,2, +field_150410_aZ,glass_pane,2, +field_150411_aY,iron_bars,2, +field_150412_bA,emerald_ore,2, +field_150413_aR,unpowered_repeater,2, +field_150414_aQ,cake,2, +field_150415_aT,trapdoor,2, +field_150416_aS,powered_repeater,2, +field_150417_aV,stonebrick,2, +field_150418_aU,monster_egg,2, +field_150419_aX,red_mushroom_block,2, +field_150420_aW,brown_mushroom_block,2, +field_150421_aI,jukebox,2, +field_150423_aK,pumpkin,2, +field_150424_aL,netherrack,2, +field_150425_aM,soul_sand,2, +field_150426_aN,glowstone,2, +field_150427_aO,portal,2, +field_150428_aP,lit_pumpkin,2, +field_150429_aA,redstone_torch,2, +field_150430_aB,stone_button,2, +field_150431_aC,snow_layer,2, +field_150432_aD,ice,2, +field_150433_aE,snow,2, +field_150434_aF,cactus,2, +field_150435_aG,clay,2, +field_150436_aH,reeds,2, +field_150437_az,unlit_redstone_torch,2, +field_150438_bZ,hopper,2, +field_150439_ay,lit_redstone_ore,2, +field_150440_ba,melon_block,2, +field_150441_bU,unpowered_comparator,2, +field_150442_at,lever,2, +field_150443_bT,heavy_weighted_pressure_plate,2, +field_150444_as,wall_sign,2, +field_150445_bS,light_weighted_pressure_plate,2, +field_150446_ar,stone_stairs,2, +field_150447_bR,trapped_chest,2, +field_150448_aq,rail,2, +field_150449_bY,quartz_ore,2, +field_150450_ax,redstone_ore,2, +field_150451_bX,redstone_block,2, +field_150452_aw,wooden_pressure_plate,2, +field_150453_bW,daylight_detector,2, +field_150454_av,iron_door,2, +field_150455_bV,powered_comparator,2, +field_150456_au,stone_pressure_plate,2, +field_150457_bL,flower_pot,2, +field_150458_ak,farmland,2, +field_150459_bM,carrots,2, +field_150460_al,furnace,2, +field_150461_bJ,beacon,2, +field_150462_ai,crafting_table,2, +field_150463_bK,cobblestone_wall,2, +field_150464_aj,wheat,2, +field_150465_bP,skull,2, +field_150467_bQ,anvil,2, +field_150468_ap,ladder,2, +field_150469_bN,potatoes,2, +field_150470_am,lit_furnace,2, +field_150471_bO,wooden_button,2, +field_150472_an,standing_sign,2, +field_150473_bD,tripwire,2, +field_150474_ac,mob_spawner,2, +field_150475_bE,emerald_block,2, +field_150476_ad,oak_stairs,2, +field_150477_bB,ender_chest,2, +field_150478_aa,torch,2, +field_150479_bC,tripwire_hook,2, +field_150480_ab,fire,2, +field_150481_bH,jungle_stairs,2, +field_150482_ag,diamond_ore,2, +field_150483_bI,command_block,2, +field_150484_ah,diamond_block,2, +field_150485_bF,spruce_stairs,2, +field_150486_ae,chest,2, +field_150487_bG,birch_stairs,2, +field_150488_af,redstone_wire,2, +field_150499_b,volume,2, +field_150500_c,frequency,2, +field_150501_a,soundName,2, +field_150507_a,cipher,2, +field_150509_a,decryptionCodec,2, +field_150511_e,lastUpdateTimeInMilliseconds,2, +field_150514_p,yellowFlowerGen,2, +field_150552_a,flower,2, +field_150574_L,jungleEdge,2, +field_150575_M,deepOcean,2, +field_150576_N,stoneBeach,2, +field_150577_O,coldBeach,2, +field_150578_U,megaTaiga,2, +field_150579_T,coldTaigaHills,2, +field_150580_W,extremeHillsPlus,2, +field_150581_V,megaTaigaHills,2, +field_150582_Q,birchForestHills,2, +field_150583_P,birchForest,2, +field_150584_S,coldTaiga,2, +field_150585_R,roofedForest,2, +field_150586_aC,logger,2, +field_150587_Y,savannaPlateau,2, +field_150588_X,savanna,2, +field_150589_Z,mesa,2, +field_150590_f,height_MidPlains,2, +field_150591_g,height_LowHills,2, +field_150592_d,height_DeepOceans,2, +field_150593_e,height_LowPlains,2, +field_150594_b,height_ShallowWaters,2, +field_150595_c,height_Oceans,2, +field_150596_a,height_Default,2, +field_150597_n,explorationBiomesList,2, +field_150598_l,height_LowIslands,2, +field_150599_m,height_PartiallySubmerged,2, +field_150600_j,height_Shores,2, +field_150601_k,height_RockyWaters,2, +field_150602_h,height_HighPlateaus,2, +field_150603_i,height_MidHills,2, +field_150605_ac,temperatureNoise,2, +field_150607_aa,mesaPlateau_F,2, +field_150608_ab,mesaPlateau,2, +field_150611_aD,baseBiome,2, +field_150656_f,isPowered,2, +field_150660_b,world,2, +field_150670_b,value,2, +field_150671_a,action,2, +field_150676_f,allowedInChat,2, +field_150677_g,canonicalName,2, +field_150679_e,nameMapping,2, +field_150688_f,canonicalName,2, +field_150690_d,nameMapping,2, +field_150691_e,allowedInChat,2, +field_150700_a,GSON,2, +field_150703_b,value,2, +field_150704_a,action,2, +field_150710_d,enchantable,2, +field_150711_b,returnStack,2, +field_150712_c,maxDamagePercent,2, +field_150735_g,logger,2, +field_150738_b,logMarkerPackets,2, +field_150739_c,attrKeyConnectionState,2, +field_150740_a,logMarkerNetwork,2, +field_150742_o,terminationReason,2, +field_150743_l,socketAddress,2, +field_150744_m,packetListener,2, +field_150745_j,outboundPacketsQueue,2, +field_150746_k,channel,2, +field_150750_a,encryptionCodec,2, +field_150761_f,STATES_BY_CLASS,2, +field_150762_g,id,2, +field_150764_e,STATES_BY_ID,2, +field_150773_b,futureListeners,2, +field_150774_a,packet,2, +field_150776_b,variation,2, +field_150777_a,rootHeight,2, +field_150794_a,buf,2, +field_150797_b,RECEIVED_PACKET_MARKER,2, +field_150798_a,logger,2, +field_150799_b,RECEIVED_PACKET_MARKER,2, +field_150800_a,logger,2, +field_150814_l,isLightPopulated,2, +field_150816_i,chunkTileEntityMap,2, +field_150817_t,logger,2, +field_150828_b,fallbackTranslator,2, +field_150844_d,time,2, +field_150865_b,axis,2, +field_150867_a,world,2, +field_150875_a,statsData,2, +field_150887_d,statsFile,2, +field_150889_b,logger,2, +field_150890_c,mcServer,2, +field_150901_e,itemRegistry,2, +field_150907_b,cooked,2, +field_150908_b,crops,2, +field_150914_c,effectiveBlocks,2, +field_150915_c,EFFECTIVE_ON,2, +field_150916_c,EFFECTIVE_ON,2, +field_150917_c,EFFECTIVE_ON,2, +field_150922_c,dyeColors,2, +field_150925_a,crops,2, +field_150928_b,RECORDS,2, +field_150929_a,recordName,2, +field_150933_b,material,2, +field_150934_a,attackDamage,2, +field_150935_a,block,2, +field_150939_a,block,2, +field_150940_b,leaves,2, +field_150944_b,coloredBlock,2, +field_150945_c,subtypeNames,2, +field_150949_c,singleSlab,2, +field_150961_L,exploreAllBiomes,2, +field_150962_H,breedCow,2, +field_150963_I,spawnWither,2, +field_150964_J,killWither,2, +field_150965_K,fullBeacon,2, +field_150966_x,diamondsToYou,2, +field_150980_f,meta,2, +field_150981_g,unlocalizedName,2, +field_150983_e,META_LOOKUP,2, +field_150987_n,cookable,2, +field_150989_l,cookedHealAmount,2, +field_150990_m,cookedSaturationModifier,2, +field_150991_j,uncookedHealAmount,2, +field_150992_k,uncookedSaturationModifier,2, +field_151002_e,item,2, +field_151004_a,underlyingSet,2, +field_151005_D,golden_pickaxe,2, +field_151006_E,golden_axe,2, +field_151007_F,string,2, +field_151008_G,feather,2, +field_151009_A,mushroom_stew,2, +field_151010_B,golden_sword,2, +field_151011_C,golden_shovel,2, +field_151012_L,diamond_hoe,2, +field_151013_M,golden_hoe,2, +field_151014_N,wheat_seeds,2, +field_151015_O,wheat,2, +field_151016_H,gunpowder,2, +field_151017_I,wooden_hoe,2, +field_151018_J,stone_hoe,2, +field_151019_K,iron_hoe,2, +field_151020_U,chainmail_helmet,2, +field_151021_T,leather_boots,2, +field_151022_W,chainmail_leggings,2, +field_151023_V,chainmail_chestplate,2, +field_151024_Q,leather_helmet,2, +field_151025_P,bread,2, +field_151026_S,leather_leggings,2, +field_151027_R,leather_chestplate,2, +field_151028_Y,iron_helmet,2, +field_151029_X,chainmail_boots,2, +field_151030_Z,iron_chestplate,2, +field_151031_f,bow,2, +field_151032_g,arrow,2, +field_151033_d,flint_and_steel,2, +field_151034_e,apple,2, +field_151035_b,iron_pickaxe,2, +field_151036_c,iron_axe,2, +field_151037_a,iron_shovel,2, +field_151038_n,wooden_shovel,2, +field_151039_o,wooden_pickaxe,2, +field_151040_l,iron_sword,2, +field_151041_m,wooden_sword,2, +field_151042_j,iron_ingot,2, +field_151043_k,gold_ingot,2, +field_151044_h,coal,2, +field_151045_i,diamond,2, +field_151046_w,diamond_pickaxe,2, +field_151047_v,diamond_shovel,2, +field_151048_u,diamond_sword,2, +field_151049_t,stone_axe,2, +field_151050_s,stone_pickaxe,2, +field_151051_r,stone_shovel,2, +field_151052_q,stone_sword,2, +field_151053_p,wooden_axe,2, +field_151054_z,bowl,2, +field_151055_y,stick,2, +field_151056_x,diamond_axe,2, +field_151057_cb,name_tag,2, +field_151058_ca,lead,2, +field_151059_bz,fire_charge,2, +field_151060_bw,speckled_melon,2, +field_151061_bv,ender_eye,2, +field_151062_by,experience_bottle,2, +field_151063_bx,spawn_egg,2, +field_151064_bs,magma_cream,2, +field_151065_br,blaze_powder,2, +field_151066_bu,cauldron,2, +field_151067_bt,brewing_stand,2, +field_151068_bn,potionitem,2, +field_151069_bo,glass_bottle,2, +field_151070_bp,spider_eye,2, +field_151071_bq,fermented_spider_eye,2, +field_151072_bj,blaze_rod,2, +field_151073_bk,ghast_tear,2, +field_151074_bl,gold_nugget,2, +field_151075_bm,nether_wart,2, +field_151076_bf,chicken,2, +field_151077_bg,cooked_chicken,2, +field_151078_bh,rotten_flesh,2, +field_151079_bi,ender_pearl,2, +field_151080_bb,pumpkin_seeds,2, +field_151081_bc,melon_seeds,2, +field_151082_bd,beef,2, +field_151083_be,cooked_beef,2, +field_151084_co,record_wait,2, +field_151085_cm,record_ward,2, +field_151086_cn,record_11,2, +field_151087_ck,record_stal,2, +field_151088_cl,record_strad,2, +field_151089_ci,record_mall,2, +field_151090_cj,record_mellohi,2, +field_151091_cg,record_chirp,2, +field_151092_ch,record_far,2, +field_151093_ce,record_cat,2, +field_151094_cf,record_blocks,2, +field_151095_cc,command_block_minecart,2, +field_151096_cd,record_13,2, +field_151097_aZ,shears,2, +field_151098_aY,filled_map,2, +field_151099_bA,writable_book,2, +field_151100_aR,dye,2, +field_151102_aT,sugar,2, +field_151103_aS,bone,2, +field_151104_aV,bed,2, +field_151105_aU,cake,2, +field_151106_aX,cookie,2, +field_151107_aW,repeater,2, +field_151108_aI,chest_minecart,2, +field_151109_aJ,furnace_minecart,2, +field_151110_aK,egg,2, +field_151111_aL,compass,2, +field_151112_aM,fishing_rod,2, +field_151113_aN,clock,2, +field_151114_aO,glowstone_dust,2, +field_151115_aP,fish,2, +field_151116_aA,leather,2, +field_151117_aB,milk_bucket,2, +field_151118_aC,brick,2, +field_151119_aD,clay_ball,2, +field_151120_aE,reeds,2, +field_151121_aF,paper,2, +field_151122_aG,book,2, +field_151123_aH,slime_ball,2, +field_151124_az,boat,2, +field_151125_bZ,diamond_horse_armor,2, +field_151126_ay,snowball,2, +field_151127_ba,melon,2, +field_151128_bU,quartz,2, +field_151129_at,lava_bucket,2, +field_151130_bT,netherbrick,2, +field_151131_as,water_bucket,2, +field_151132_bS,comparator,2, +field_151133_ar,bucket,2, +field_151134_bR,enchanted_book,2, +field_151136_bY,golden_horse_armor,2, +field_151137_ax,redstone,2, +field_151138_bX,iron_horse_armor,2, +field_151139_aw,iron_door,2, +field_151140_bW,hopper_minecart,2, +field_151141_av,saddle,2, +field_151142_bV,tnt_minecart,2, +field_151143_au,minecart,2, +field_151144_bL,skull,2, +field_151145_ak,flint,2, +field_151146_bM,carrot_on_a_stick,2, +field_151147_al,porkchop,2, +field_151148_bJ,map,2, +field_151149_ai,golden_leggings,2, +field_151150_bK,golden_carrot,2, +field_151151_aj,golden_boots,2, +field_151152_bP,fireworks,2, +field_151153_ao,golden_apple,2, +field_151154_bQ,firework_charge,2, +field_151155_ap,sign,2, +field_151156_bN,nether_star,2, +field_151157_am,cooked_porkchop,2, +field_151158_bO,pumpkin_pie,2, +field_151159_an,painting,2, +field_151160_bD,item_frame,2, +field_151161_ac,diamond_helmet,2, +field_151162_bE,flower_pot,2, +field_151163_ad,diamond_chestplate,2, +field_151164_bB,written_book,2, +field_151165_aa,iron_leggings,2, +field_151166_bC,emerald,2, +field_151167_ab,iron_boots,2, +field_151168_bH,baked_potato,2, +field_151169_ag,golden_helmet,2, +field_151170_bI,poisonous_potato,2, +field_151171_ah,golden_chestplate,2, +field_151172_bF,carrot,2, +field_151173_ae,diamond_leggings,2, +field_151174_bG,potato,2, +field_151175_af,diamond_boots,2, +field_151183_A,junkFishedStat,2, +field_151184_B,treasureFishedStat,2, +field_151185_q,distanceByHorseStat,2, +field_151186_x,animalsBredStat,2, +field_151191_b,jsonSerializableValue,2, +field_151192_a,integerValue,2, +field_151227_b,logger,2, +field_151228_a,downloadThreadsStarted,2, +field_151234_b,logger,2, +field_151242_b,multiplyDeBruijnBitPosition,2, +field_151245_t,iconItemStack,0, +field_151249_a,logger,2, +field_151254_d,locationOfBlockChange,2, +field_151257_b,networkSystem,2, +field_151258_a,logger,2, +field_151262_p,logger,2, +field_151272_f,networkManagers,2, +field_151273_d,mcServer,2, +field_151274_e,endpoints,2, +field_151275_b,logger,2, +field_151276_c,eventLoops,2, +field_151277_a,isAlive,2, +field_151291_a,VALUES,2, +field_151305_b,protocol,2, +field_151306_a,name,2, +field_151323_d,favicon,2, +field_151324_b,playerCount,2, +field_151325_c,protocolVersion,2, +field_151326_a,serverMotd,2, +field_151334_b,onlinePlayerCount,2, +field_151335_c,players,2, +field_151336_a,maxPlayers,2, +field_151343_f,eventParameter,2, +field_151344_d,blockType,2, +field_151345_e,eventID,2, +field_151352_g,block,2, +field_151355_a,alreadyRegistered,2, +field_151360_e,AMPLIFIED,2, +field_151361_l,hasNotificationData,2, +field_151369_A,lure,2, +field_151370_z,luckOfTheSea,2, +field_151423_m,pufferfishEffect,2, +field_151430_f,resourceKey,2, +field_151432_d,ID_LOOKUP,2, +field_151433_e,chatVisibility,2, +field_151441_H,showInventoryAchievementHint,0, +field_151442_I,mipmapLevels,0, +field_151444_V,keyBindSprint,0, +field_151445_Q,keyBindInventory,0, +field_151446_aD,mapSoundLevels,0, +field_151447_Z,keyBindScreenshot,0, +field_151448_g,fboEnable,0, +field_151449_az,typeListString,0, +field_151450_ay,gson,0, +field_151451_c,renderDistanceChunks,0, +field_151452_as,saturation,0, +field_151453_l,resourcePacks,0, +field_151454_ax,logger,0, +field_151455_aw,forceUnicodeFont,0, +field_151456_ac,keyBindsHotbar,0, +field_151457_aa,keyBindTogglePerspective,0, +field_151458_ab,keyBindSmoothCamera,0, +field_151471_f,keyCategory,0, +field_151472_e,keyCodeDefault,0, +field_151473_c,keybindSet,0, +field_151474_i,pressTime,0, +field_151476_f,logger,2, +field_151477_a,optionIds,0, +field_151478_a,logger,2, +field_151479_b,logger,2, +field_151480_b,logger,2, +field_151481_a,logger,2, +field_151484_k,temptItem,2, +field_151500_b,grassEaterEntity,2, +field_151501_c,entityWorld,2, +field_151502_a,eatingGrassTimer,2, +field_151504_e,doorBlock,2, +field_151505_a,logger,2, +field_151506_a,logger,2, +field_151511_a,owner,2, +field_151516_b,logger,2, +field_151520_r,damageIsAbsolute,2, +field_151527_f,difficultyId,2, +field_151528_g,difficultyResourceKey,2, +field_151530_e,difficultyEnums,2, +field_151563_j,tileTicks,2, +field_151564_i,tileEntities,2, +field_151566_D,dragonEgg,2, +field_151567_E,portal,2, +field_151568_F,cake,2, +field_151569_G,web,2, +field_151570_A,cactus,2, +field_151571_B,clay,2, +field_151572_C,gourd,2, +field_151573_f,iron,2, +field_151574_g,anvil,2, +field_151575_d,wood,2, +field_151576_e,rock,2, +field_151577_b,grass,2, +field_151578_c,ground,2, +field_151579_a,air,2, +field_151580_n,cloth,2, +field_151581_o,fire,2, +field_151582_l,vine,2, +field_151583_m,sponge,2, +field_151584_j,leaves,2, +field_151585_k,plants,2, +field_151586_h,water,2, +field_151587_i,lava,2, +field_151588_w,ice,2, +field_151589_v,coral,2, +field_151590_u,tnt,2, +field_151591_t,redstoneLight,2, +field_151592_s,glass,2, +field_151593_r,carpet,2, +field_151594_q,circuits,2, +field_151595_p,sand,2, +field_151596_z,craftedSnow,2, +field_151597_y,snow,2, +field_151598_x,packedIce,2, +field_151629_c,logger,2, +field_151645_D,redColor,2, +field_151646_E,blackColor,2, +field_151647_F,goldColor,2, +field_151648_G,diamondColor,2, +field_151649_A,blueColor,2, +field_151650_B,brownColor,2, +field_151651_C,greenColor,2, +field_151652_H,lapisColor,2, +field_151653_I,emeraldColor,2, +field_151654_J,obsidianColor,2, +field_151655_K,netherrackColor,2, +field_151656_f,tntColor,2, +field_151657_g,iceColor,2, +field_151658_d,sandColor,2, +field_151659_e,clothColor,2, +field_151660_b,airColor,2, +field_151661_c,grassColor,2, +field_151662_n,waterColor,2, +field_151663_o,woodColor,2, +field_151664_l,dirtColor,2, +field_151665_m,stoneColor,2, +field_151666_j,snowColor,2, +field_151667_k,clayColor,2, +field_151668_h,ironColor,2, +field_151669_i,foliageColor,2, +field_151670_w,grayColor,2, +field_151671_v,pinkColor,2, +field_151672_u,limeColor,2, +field_151673_t,yellowColor,2, +field_151674_s,lightBlueColor,2, +field_151675_r,magentaColor,2, +field_151676_q,adobeColor,2, +field_151677_p,quartzColor,2, +field_151678_z,purpleColor,2, +field_151679_y,cyanColor,2, +field_151680_x,silverColor,2, +field_151687_a,logger,2, +field_152110_j,playerProfile,2, +field_152118_bv,chickenJockey,2, +field_152127_m,streamIndicator,0, +field_152176_i,serverResourcePacks,0, +field_152177_g,time,0, +field_152350_aA,skinManager,0, +field_152351_aB,scheduledTasks,0, +field_152352_aC,mcThread,0, +field_152353_at,stream,0, +field_152354_ay,mojangLogo,0, +field_152355_az,sessionService,0, +field_152356_J,twitchDetails,0, +field_152364_T,authService,2, +field_152365_W,profileRepo,2, +field_152366_X,profileCache,2, +field_152367_a,USER_CACHE_FILE,2, +field_152391_aS,STREAM_COMPRESSIONS,0, +field_152392_aT,STREAM_CHAT_MODES,0, +field_152393_aU,STREAM_CHAT_FILTER_MODES,0, +field_152394_aV,STREAM_MIC_MODES,0, +field_152395_am,keyBindFullscreen,0, +field_152396_an,keyBindStreamStartStop,0, +field_152397_ao,keyBindStreamPauseUnpause,0, +field_152398_ap,keyBindStreamCommercials,0, +field_152399_aq,keyBindStreamToggleMic,0, +field_152400_J,streamBytesPerPixel,0, +field_152401_K,streamMicVolume,0, +field_152402_L,streamGameVolume,0, +field_152403_M,streamKbps,0, +field_152404_N,streamFps,0, +field_152405_O,streamCompression,0, +field_152406_P,streamSendMetadata,0, +field_152407_Q,streamPreferredServer,0, +field_152408_R,streamChatEnabled,0, +field_152409_S,streamChatUserFilter,0, +field_152410_T,streamMicToggleBehavior,0, +field_152425_c,SESSION_TYPES,0, +field_152426_d,sessionType,0, +field_152429_d,sessionType,0, +field_152434_e,cacheFile,0, +field_152441_a,locationStreamIndicator,0, +field_152442_b,mc,0, +field_152451_a,INFINITE,2, +field_152452_b,max,2, +field_152453_c,read,2, +field_152463_r,isEncrypted,2, +field_152478_a,LOGGER,0, +field_152499_c,direction,2, +field_152500_c,direction,2, +field_152587_j,resourceMode,0, +field_152594_d,motd,0, +field_152613_a,FILE_PLAYERBANS,2, +field_152614_b,FILE_IPBANS,2, +field_152615_c,FILE_OPS,2, +field_152616_d,FILE_WHITELIST,2, +field_152627_a,pmLogger,2, +field_152642_a,value,2, +field_152659_a,dateFormat,2, +field_152660_b,gson,2, +field_152664_f,mcServer,2, +field_152665_g,usercacheFile,2, +field_152693_a,logger,2, +field_152694_b,gson,2, +field_152695_c,saveFile,2, +field_152696_d,values,2, +field_152697_e,lanServer,2, +field_152698_f,saveFileFormat,2, +field_152728_a,OLD_IPBAN_FILE,2, +field_152729_b,OLD_PLAYERBAN_FILE,2, +field_152730_c,OLD_OPS_FILE,2, +field_152731_d,OLD_WHITELIST_FILE,2, +field_152732_e,LOGGER,2, +field_152781_b,mapAssets,0, +field_152783_a,logger,0, +field_152784_b,resourceMap,0, +field_152785_b,IS_STANDALONE,2, +field_152794_b,THREAD_POOL,0, +field_152795_c,textureManager,0, +field_152796_d,skinCacheDir,0, +field_152797_e,sessionService,0, +field_152798_f,skinCacheLoader,0, +field_152812_b,name,0, +field_152813_c,description,0, +field_152814_d,payload,0, +field_152861_B,logger,0, +field_152864_E,errorCode,0, +field_152867_c,broadcastListener,0, +field_152879_o,broadcastState,0, +field_152881_q,videoParamaters,0, +field_152882_r,audioParamaters,0, +field_152885_u,authenticationToken,0, +field_152886_v,channelInfo,0, +field_152887_w,userInfo,0, +field_152888_x,streamInfo,0, +field_152951_c,broadcastController,0, +field_152952_d,chatController,0, +field_152961_m,loggedIn,0, +field_153018_p,LOGGER,0, +field_153196_B,logText,0, +field_153197_d,nvidia,0, +field_153198_e,GL_FRAMEBUFFER,0, +field_153199_f,GL_RENDERBUFFER,0, +field_153200_g,GL_COLOR_ATTACHMENT0,0, +field_153201_h,GL_DEPTH_ATTACHMENT,0, +field_153202_i,GL_FRAMEBUFFER_COMPLETE,0, +field_153203_j,GL_FB_INCOMPLETE_ATTACHMENT,0, +field_153204_k,GL_FB_INCOMPLETE_MISS_ATTACH,0, +field_153205_l,GL_FB_INCOMPLETE_DRAW_BUFFER,0, +field_153206_m,GL_FB_INCOMPLETE_READ_BUFFER,0, +field_153207_o,GL_LINK_STATUS,0, +field_153208_p,GL_COMPILE_STATUS,0, +field_153209_q,GL_VERTEX_SHADER,0, +field_153210_r,GL_FRAGMENT_SHADER,0, +field_153211_u,extBlendFuncSeparate,0, +field_153212_w,framebufferType,0, +field_153213_x,shadersAvailable,0, +field_153214_y,arbShaders,0, +field_153215_z,arbMultitexture,0, +field_154332_n,eula,1, +field_154340_k,selectionList,0, +field_154349_a,LOG,1, +field_154350_b,eulaFile,1, +field_154351_c,acceptedEULA,1, +field_155771_h,logger,1, +field_164003_c,threadName,1, +field_164004_h,THREAD_ID,1, +field_164005_h,LOGGER,1, +field_164248_b,LOGGER,1, +field_164249_a,serverGuiFont,1, +field_164439_d,LOGGER,1, +field_164440_a,LOGGER,1, +field_174835_g,isOutsideBorder,2, +field_174836_a,ZERO_AABB,2, +field_174837_as,cmdResultStats,2, +field_174853_f,inTile,2, +field_174854_a,inGround,2, +field_174861_a,hangingPosition,2, +field_174879_c,pos,2, +field_174896_a,guiID,0, +field_174901_a,code,2, +field_174905_l,totalCookTime,2, +field_174906_k,cookTime,2, +field_174913_f,RNG,2, +field_174924_c,inventoryHeight,2, +field_174931_f,pistonFacing,2, +field_174932_a,pistonState,2, +field_174934_k,guardian,0, +field_174938_d,blurLast,0, +field_174939_e,mipmapLast,0, +field_174940_b,blur,0, +field_174941_c,mipmap,0, +field_174945_f,LOCATION_MISSING_TEXTURE,0, +field_174946_m,iconCreator,0, +field_174948_g,textureLocation,0, +field_174955_d,defaultModel,0, +field_174956_b,texMap,0, +field_174957_c,modelProvider,0, +field_174958_a,modelRegistry,0, +field_174987_D,frustumUpdatePosZ,0, +field_174988_E,frustumUpdatePosChunkX,0, +field_174989_F,frustumUpdatePosChunkY,0, +field_174990_G,frustumUpdatePosChunkZ,0, +field_174991_A,entityOutlineShader,0, +field_174992_B,frustumUpdatePosX,0, +field_174993_C,frustumUpdatePosY,0, +field_174994_L,lastViewEntityYaw,0, +field_174995_M,renderDispatcher,0, +field_174996_N,renderContainer,0, +field_174997_H,lastViewEntityX,0, +field_174998_I,lastViewEntityY,0, +field_174999_J,lastViewEntityZ,0, +field_175000_K,lastViewEntityPitch,0, +field_175001_U,debugFixedClippingHelper,0, +field_175002_T,debugFixTerrainFrustum,0, +field_175003_W,debugTerrainFrustumPosition,0, +field_175004_V,debugTerrainMatrix,0, +field_175005_X,vboEnabled,0, +field_175006_g,locationForcefieldPng,0, +field_175007_a,renderChunkFactory,0, +field_175008_n,viewFrustum,0, +field_175009_l,chunksToUpdate,0, +field_175010_j,renderManager,0, +field_175011_u,sky2VBO,0, +field_175012_t,skyVBO,0, +field_175013_s,starVBO,0, +field_175014_r,vertexBufferFormat,0, +field_175015_z,entityOutlineFramebuffer,0, +field_175024_d,chestRenderer,0, +field_175025_e,fluidRenderer,0, +field_175026_b,gameSettings,0, +field_175027_c,blockModelRenderer,0, +field_175028_a,blockModelShapes,0, +field_175051_f,debugItemRotationOffsetY,0, +field_175052_g,debugItemRotationOffsetZ,0, +field_175053_d,debugItemOffsetZ,0, +field_175054_e,debugItemRotationOffsetX,0, +field_175055_b,debugItemOffsetX,0, +field_175056_c,debugItemOffsetY,0, +field_175057_n,textureManager,0, +field_175059_m,itemModelMesher,0, +field_175060_j,debugItemScaleZ,0, +field_175061_h,debugItemScaleX,0, +field_175062_i,debugItemScaleY,0, +field_175073_D,drawBlockOutline,0, +field_175074_C,renderHand,0, +field_175075_L,torchFlickerDX,0, +field_175076_N,rainXCoords,0, +field_175077_O,rainYCoords,0, +field_175078_W,debugView,0, +field_175079_V,debugViewDirection,0, +field_175080_Q,fogColorRed,0, +field_175081_S,fogColorBlue,0, +field_175082_R,fogColorGreen,0, +field_175083_ad,useShader,0, +field_175084_ae,frameCount,0, +field_175091_e,gameProfile,0, +field_175107_d,profile,0, +field_175118_f,patterns,2, +field_175120_a,baseColor,2, +field_175122_h,patternList,2, +field_175123_i,colorList,2, +field_175127_b,position,2, +field_175128_a,world,2, +field_175129_b,position,2, +field_175130_a,world,2, +field_175132_d,fallTile,2, +field_175152_f,xpSeed,2, +field_175153_bG,hasReducedDebug,2, +field_175157_a,playerInfo,0, +field_175164_bL,lastReportedYaw,0, +field_175165_bM,lastReportedPitch,0, +field_175166_bJ,lastReportedPosY,0, +field_175167_bK,lastReportedPosZ,0, +field_175168_bP,positionUpdateTicks,0, +field_175170_bN,serverSneakState,0, +field_175171_bO,serverSprintState,0, +field_175172_bI,lastReportedPosX,0, +field_175190_E,lastSystemTime,0, +field_175196_v,overlayPlayerList,0, +field_175197_u,spectatorGui,0, +field_175198_t,overlayDebug,0, +field_175214_q,guiResponder,0, +field_175215_p,localizationStr,0, +field_175241_f,fontRenderer,0, +field_175242_a,mc,0, +field_175255_h,footer,0, +field_175256_i,header,0, +field_175284_f,PROTOCOLS,0, +field_175285_g,NEWLINE_SPLITTER,0, +field_175286_t,clickedLinkURI,0, +field_175287_a,LOGGER,0, +field_175337_G,random,0, +field_175360_f,title,0, +field_175361_a,parentScreen,0, +field_175372_K,realmsButton,0, +field_175376_w,playerInventory,0, +field_175377_u,dispenserInventory,0, +field_175379_F,playerInventory,0, +field_175383_v,playerInventory,0, +field_175384_v,playerInventory,0, +field_175401_bS,spectatingEntity,2, +field_175429_f,DEFAULT_RIGHTLEG_ROTATION,2, +field_175430_g,contents,2, +field_175431_d,DEFAULT_RIGHTARM_ROTATION,2, +field_175432_e,DEFAULT_LEFTLEG_ROTATION,2, +field_175433_b,DEFAULT_BODY_ROTATION,2, +field_175434_c,DEFAULT_LEFTARM_ROTATION,2, +field_175435_a,DEFAULT_HEAD_ROTATION,2, +field_175436_h,canInteract,2, +field_175437_i,punchCooldown,2, +field_175438_bj,leftArmRotation,2, +field_175439_bk,rightArmRotation,2, +field_175440_bl,leftLegRotation,2, +field_175441_bm,rightLegRotation,2, +field_175442_bg,disabledSlots,2, +field_175443_bh,headRotation,2, +field_175444_bi,bodyRotation,2, +field_175481_bq,wander,2, +field_175497_b,lifetime,2, +field_175498_c,playerSpawned,2, +field_175541_bs,carrotTicks,2, +field_175542_br,moveType,2, +field_175560_bz,villagerInventory,2, +field_175561_bA,DEFAULT_TRADE_LIST_MAP,2, +field_175562_bw,careerLevel,2, +field_175563_bv,careerId,2, +field_175565_bs,isWillingToTrade,2, +field_175575_g,resultStats,2, +field_175588_P,resourcePackHash,2, +field_175589_i,futureTaskQueue,2, +field_175590_aa,serverThread,2, +field_175591_ab,currentTime,2, +field_175612_E,renderChunksMany,0, +field_175616_W,renderManager,0, +field_175617_aL,modelManager,0, +field_175618_aM,blockRenderDispatcher,0, +field_175619_R,enableGLErrorChecking,0, +field_175620_Y,itemRenderer,0, +field_175621_X,renderItem,0, +field_175622_Z,renderViewEntity,0, +field_175632_f,DEFAULT_STATE,0, +field_175633_g,position,0, +field_175634_h,combinedLights,0, +field_175635_i,blockStates,0, +field_175728_M,worldBorder,2, +field_175729_l,entitiesById,2, +field_175730_i,tickableTileEntities,2, +field_175740_d,villageSiege,2, +field_175741_N,entitiesByUuid,2, +field_175742_R,mobSpawner,2, +field_175743_a,delegate,2, +field_175747_C,colorIndex,2, +field_175748_y,name,2, +field_175774_a,LOGGER,2, +field_175785_a,SHORTCUTS,2, +field_175916_b,SPAWNERTYPES,2, +field_175917_c,CHESTCONTENT,2, +field_175920_a,oreBlock,2, +field_175946_l,world,2, +field_175972_I,barrier,2, +field_176076_D,GL_OPERAND2_RGB,0, +field_176077_E,GL_COMBINE_ALPHA,0, +field_176078_F,GL_SOURCE0_ALPHA,0, +field_176079_G,GL_SOURCE1_ALPHA,0, +field_176080_A,GL_SOURCE2_RGB,0, +field_176081_B,GL_OPERAND0_RGB,0, +field_176082_C,GL_OPERAND1_RGB,0, +field_176083_O,vboSupported,0, +field_176084_H,GL_SOURCE2_ALPHA,0, +field_176085_I,GL_OPERAND0_ALPHA,0, +field_176086_J,GL_OPERAND1_ALPHA,0, +field_176087_K,GL_OPERAND2_ALPHA,0, +field_176088_V,arbTextureEnvCombine,0, +field_176089_P,GL_ARRAY_BUFFER,0, +field_176090_Y,arbVbo,0, +field_176091_w,GL_PREVIOUS,0, +field_176092_v,GL_CONSTANT,0, +field_176093_u,GL_PRIMARY_COLOR,0, +field_176094_t,GL_INTERPOLATE,0, +field_176095_s,GL_COMBINE,0, +field_176096_r,GL_TEXTURE2,0, +field_176097_z,GL_SOURCE1_RGB,0, +field_176098_y,GL_SOURCE0_RGB,0, +field_176099_x,GL_COMBINE_RGB,0, +field_176103_f,minY,2, +field_176104_g,maxX,2, +field_176106_e,minX,2, +field_176108_h,maxY,2, +field_176146_D,borderSize,2, +field_176147_E,borderSizeLerpTime,2, +field_176148_F,borderSizeLerpTarget,2, +field_176149_G,borderSafeZone,2, +field_176150_A,difficultyLocked,2, +field_176151_B,borderCenterX,2, +field_176152_C,borderCenterZ,2, +field_176153_H,borderDamagePerBlock,2, +field_176154_I,borderWarningDistance,2, +field_176155_J,borderWarningTime,2, +field_176156_a,DEFAULT_DIFFICULTY,2, +field_176157_p,cleanWeatherTime,2, +field_176158_z,difficulty,2, +field_176227_L,blockState,2, +field_176228_M,defaultBlockState,2, +field_176229_d,BLOCK_STATE_IDS,2, +field_176230_a,AIR_ID,2, +field_176231_q,SLIME_SOUND,2, +field_176236_b,CHECK_DECAY,2, +field_176237_a,DECAYABLE,2, +field_176238_O,isTransparent,0, +field_176239_P,VARIANT,2, +field_176240_P,VARIANT,2, +field_176241_b,NORTH,2, +field_176242_M,EAST,2, +field_176243_N,SOUTH,2, +field_176244_O,WEST,2, +field_176245_a,COLOR,2, +field_176246_a,EXPLODE,2, +field_176247_a,VARIANT,2, +field_176248_b,DEFAULT_META,2, +field_176249_a,VARIANT,2, +field_176250_M,MOSSY_META,2, +field_176251_N,CRACKED_META,2, +field_176252_O,CHISELED_META,2, +field_176254_b,NORTH,2, +field_176255_P,VARIANT,2, +field_176256_a,UP,2, +field_176257_M,EAST,2, +field_176258_N,SOUTH,2, +field_176259_O,WEST,2, +field_176263_b,POWERED,2, +field_176264_a,FACING,2, +field_176265_M,ATTACHED,2, +field_176266_N,SUSPENDED,2, +field_176271_T,WEST_FLAG,2, +field_176272_Q,SOUTH_FLAG,2, +field_176273_b,NORTH,2, +field_176274_P,ALL_FACES,2, +field_176275_S,EAST_FLAG,2, +field_176276_R,NORTH_FLAG,2, +field_176277_a,UP,2, +field_176278_M,EAST,2, +field_176279_N,SOUTH,2, +field_176280_O,WEST,2, +field_176283_b,OPEN,2, +field_176284_a,FACING,2, +field_176285_M,HALF,2, +field_176289_Q,SOUTH,2, +field_176290_b,SUSPENDED,2, +field_176291_P,EAST,2, +field_176292_R,WEST,2, +field_176293_a,POWERED,2, +field_176294_M,ATTACHED,2, +field_176295_N,DISARMED,2, +field_176296_O,NORTH,2, +field_176297_a,TYPE,2, +field_176298_M,AXIS,2, +field_176299_a,LOG_AXIS,2, +field_176300_b,VARIANT,2, +field_176301_b,VARIANT,2, +field_176308_b,HALF,2, +field_176309_a,FACING,2, +field_176310_M,SHAPE,2, +field_176313_a,WET,2, +field_176315_a,LAYERS,2, +field_176320_b,EXTENDED,2, +field_176321_a,FACING,2, +field_176325_b,TYPE,2, +field_176326_a,FACING,2, +field_176327_M,SHORT,2, +field_176330_a,COLOR,2, +field_176331_b,ROUGH_META,2, +field_176332_a,VARIANT,2, +field_176333_M,BRICKS_META,2, +field_176334_N,DARK_META,2, +field_176335_a,VARIANT,2, +field_176336_a,TYPE,2, +field_176347_b,EAST,2, +field_176348_a,NORTH,2, +field_176349_M,SOUTH,2, +field_176350_N,WEST,2, +field_176351_O,POWER,2, +field_176355_a,AGE,2, +field_176359_b,POWERED,2, +field_176360_a,FACING,2, +field_176367_b,LEVEL,2, +field_176378_a,VARIANT,2, +field_176379_b,smallBlock,2, +field_176380_a,VARIANT,2, +field_176382_a,FACING,2, +field_176383_a,VARIANT,2, +field_176384_a,SNOWY,2, +field_176385_b,SNOWY,2, +field_176386_a,VARIANT,2, +field_176387_N,FACING,2, +field_176393_b,snowmanPattern,2, +field_176394_a,snowmanBasePattern,2, +field_176395_M,golemBasePattern,2, +field_176396_O,golemPattern,2, +field_176410_b,DELAY,2, +field_176411_a,LOCKED,2, +field_176412_a,FACING,2, +field_176413_a,ROTATION,2, +field_176417_b,NODROP,2, +field_176418_a,FACING,2, +field_176419_M,IS_WITHER_SKELETON,2, +field_176420_N,witherBasePattern,2, +field_176421_O,witherPattern,2, +field_176425_b,TYPE,2, +field_176426_a,FACING,2, +field_176429_b,ENABLED,2, +field_176430_a,FACING,2, +field_176432_a,HAS_RECORD,2, +field_176434_a,INSTRUMENTS,2, +field_176435_b,inverted,2, +field_176436_a,POWER,2, +field_176437_a,FACING,2, +field_176440_b,TRIGGERED,2, +field_176441_a,FACING,2, +field_176443_b,CONTENTS,2, +field_176444_a,LEGACY_DATA,2, +field_176447_a,FACING,2, +field_176448_b,ROTATION,2, +field_176449_a,FACING,2, +field_176451_a,HAS_BOTTLE,2, +field_176452_a,TRIGGERED,2, +field_176459_a,FACING,2, +field_176463_b,MODE,2, +field_176464_a,POWERED,2, +field_176465_b,POWERED,2, +field_176466_a,OPEN,2, +field_176467_M,IN_WALL,2, +field_176471_b,OCCUPIED,2, +field_176472_a,PART,2, +field_176479_b,STAGE,2, +field_176480_a,TYPE,2, +field_176483_b,FACING,2, +field_176484_a,AGE,2, +field_176486_a,AGE,2, +field_176488_a,AGE,2, +field_176492_b,HALF,2, +field_176493_a,VARIANT,2, +field_176496_a,type,2, +field_176497_a,TYPE,2, +field_176498_a,SNOWY,2, +field_176501_a,AGE,2, +field_176504_a,VARIANT,2, +field_176505_b,DAMAGE,2, +field_176506_a,FACING,2, +field_176507_b,EYE,2, +field_176508_a,FACING,2, +field_176519_b,OPEN,2, +field_176520_a,FACING,2, +field_176521_M,HINGE,2, +field_176522_N,POWERED,2, +field_176523_O,HALF,2, +field_176525_b,EAST,2, +field_176526_a,NORTH,2, +field_176527_M,SOUTH,2, +field_176528_N,WEST,2, +field_176531_a,MOISTURE,2, +field_176539_Q,WEST,2, +field_176540_b,FLIP,2, +field_176541_P,SOUTH,2, +field_176542_R,UPPER,2, +field_176543_a,AGE,2, +field_176544_M,ALT,2, +field_176545_N,NORTH,2, +field_176546_O,EAST,2, +field_176547_a,COLOR,2, +field_176550_a,AXIS,2, +field_176554_a,HALF,2, +field_176555_b,SEAMLESS,2, +field_176556_M,VARIANT,2, +field_176557_b,VARIANT,2, +field_176558_b,SEAMLESS,2, +field_176559_M,VARIANT,2, +field_176565_b,SHAPE,2, +field_176568_b,SHAPE,2, +field_176569_M,POWERED,2, +field_176573_b,SHAPE,2, +field_176574_M,POWERED,2, +field_176579_a,POWER,2, +field_176580_a,POWERED,2, +field_176581_a,COLOR,2, +field_176584_b,POWERED,2, +field_176585_a,FACING,2, +field_176587_a,AGE,2, +field_176589_a,BITES,2, +field_176591_a,LEVEL,2, +field_176596_a,FACING,2, +field_176599_b,ITEM,0, +field_176600_a,BLOCK,0, +field_176605_b,interpolatedFrameData,0, +field_176606_q,locationNameCompass,0, +field_176607_p,locationNameClock,0, +field_176609_a,FACING_LOOKUP,2, +field_176615_f,meta,2, +field_176616_g,name,2, +field_176618_e,META_LOOKUP,2, +field_176622_h,unlocalizedName,2, +field_176635_l,unlocalizedName,2, +field_176637_j,meta,2, +field_176638_k,name,2, +field_176640_i,META_LOOKUP,2, +field_176653_j,name,2, +field_176654_k,unlocalizedName,2, +field_176655_h,META_LOOKUP,2, +field_176656_i,meta,2, +field_176661_f,unlocalizedName,2, +field_176663_d,meta,2, +field_176664_e,name,2, +field_176666_c,META_LOOKUP,2, +field_176671_c,name,2, +field_176677_f,name,2, +field_176678_g,unlocalizedName,2, +field_176679_d,META_LOOKUP,2, +field_176680_e,metadata,2, +field_176690_f,mapColor,2, +field_176691_g,unlocalizedName,2, +field_176692_d,meta,2, +field_176693_e,name,2, +field_176695_c,META_LOOKUP,2, +field_176699_f,name,2, +field_176709_c,name,2, +field_176714_c,VARIANT,2, +field_176723_f,plane,2, +field_176725_d,NAME_LOOKUP,2, +field_176726_e,name,2, +field_176748_g,index,2, +field_176754_o,HORIZONTALS,2, +field_176755_l,axisDirection,2, +field_176756_m,directionVec,2, +field_176757_j,name,2, +field_176758_k,axis,2, +field_176759_h,opposite,2, +field_176760_i,horizontalIndex,2, +field_176761_p,NAME_LOOKUP,2, +field_176784_w,mapColor,2, +field_176785_v,unlocalizedName,2, +field_176786_u,name,2, +field_176787_t,dyeDamage,2, +field_176788_s,meta,2, +field_176789_r,DYE_DMG_LOOKUP,2, +field_176790_q,META_LOOKUP,2, +field_176793_x,chatColor,2, +field_176797_f,META_LOOKUP,2, +field_176798_g,meta,2, +field_176806_i,unlocalizedName,2, +field_176811_f,name,2, +field_176812_g,unlocalizedName,2, +field_176813_d,META_LOOKUP,2, +field_176814_e,meta,2, +field_176820_d,name,2, +field_176829_f,name,2, +field_176830_g,unlocalizedName,2, +field_176831_d,META_LOOKUP,2, +field_176832_e,meta,2, +field_176842_g,META_LOOKUP,2, +field_176848_j,unlocalizedName,2, +field_176850_h,meta,2, +field_176851_i,name,2, +field_176864_l,facing,2, +field_176866_j,meta,2, +field_176867_k,name,2, +field_176869_i,META_LOOKUP,2, +field_176874_e,name,2, +field_176885_g,META_LOOKUP,2, +field_176891_j,unlocalizedName,2, +field_176893_h,meta,2, +field_176894_i,name,2, +field_176905_n,META_LOOKUP,2, +field_176906_o,meta,2, +field_176914_p,name,2, +field_176919_d,name,2, +field_176921_b,META_LOOKUP,2, +field_176922_c,meta,2, +field_176928_f,name,2, +field_176929_g,unlocalizedName,2, +field_176930_d,METADATA_LOOKUP,2, +field_176931_e,metadata,2, +field_176941_g,META_LOOKUP,2, +field_176947_j,unlocalizedName,2, +field_176949_h,meta,2, +field_176950_i,name,2, +field_176976_n,name,2, +field_176977_o,unlocalizedName,2, +field_176978_l,blockType,2, +field_176979_m,meta,2, +field_176981_k,TYPES_FOR_BLOCK,2, +field_176988_c,name,2, +field_177006_w,name,2, +field_177027_l,meta,2, +field_177028_m,name,2, +field_177030_k,META_LOOKUP,2, +field_177036_c,name,2, +field_177041_c,name,2, +field_177046_f,name,2, +field_177048_d,META_LOOKUP,2, +field_177049_e,meta,2, +field_177056_a,FACING_LOOKUP,2, +field_177057_a,FACING_LOOKUP,2, +field_177058_a,FACING_LOOKUP,2, +field_177063_a,FACING_LOOKUP,2, +field_177065_a,WOOD_TYPE_LOOKUP,2, +field_177072_f,itemFrameModel,0, +field_177073_g,mapModel,0, +field_177074_h,itemRenderer,0, +field_177097_h,layerRenderers,0, +field_177098_i,renderOutlines,0, +field_177103_a,TEXTURE_ARMOR_STAND,0, +field_177118_j,DEFAULT_RES_LOC,0, +field_177126_e,WHITE,0, +field_177127_a,BROWN,0, +field_177128_n,TOAST,0, +field_177129_o,CAERBANNOG,0, +field_177130_l,SALT,0, +field_177131_m,WHITE_SPLOTCHED,0, +field_177132_j,BLACK,0, +field_177133_k,GOLD,0, +field_177140_a,smallArms,0, +field_177156_b,pigRenderer,0, +field_177157_c,pigModel,0, +field_177158_a,TEXTURE,0, +field_177160_b,slimeModel,0, +field_177161_a,slimeRenderer,0, +field_177163_b,sheepRenderer,0, +field_177164_c,sheepModel,0, +field_177165_a,TEXTURE,0, +field_177167_a,playerRenderer,0, +field_177170_b,creeperRenderer,0, +field_177171_c,creeperModel,0, +field_177172_a,LIGHTNING_TEXTURE,0, +field_177211_b,dragonRenderer,0, +field_177212_a,TEXTURE,0, +field_177220_e,interpolate,0, +field_177233_b,MAP_ENTRY_TO_STRING,2, +field_177234_a,COMMA_JOINER,2, +field_177237_b,properties,2, +field_177238_c,propertyValueTable,2, +field_177239_a,block,2, +field_177242_b,resourcePackName,0, +field_177243_a,FACING_LOOKUP,2, +field_177246_b,logger,0, +field_177247_a,FACING_LOOKUP,2, +field_177256_f,toDestroy,2, +field_177257_d,moveDirection,2, +field_177258_e,toMove,2, +field_177259_b,pistonPos,2, +field_177260_c,blockToMove,2, +field_177261_a,world,2, +field_177284_N,patternName,2, +field_177285_O,patternID,2, +field_177290_Q,patternCraftingStack,2, +field_177291_P,craftingLayers,2, +field_177320_c,logger,0, +field_177331_a,FACING_LOOKUP,2, +field_177336_b,TEXTURE_ALEX,0, +field_177337_a,TEXTURE_STEVE,0, +field_177351_f,elementOffsetsById,0, +field_177352_g,normalElementOffset,0, +field_177353_d,nextOffset,0, +field_177354_e,colorElementOffset,0, +field_177355_b,elements,0, +field_177356_c,offsets,0, +field_177357_a,LOGGER,0, +field_177363_b,vertexFormat,0, +field_177364_c,count,0, +field_177365_a,glBufferId,0, +field_177376_f,offset,0, +field_177377_d,index,0, +field_177378_e,elementCount,0, +field_177379_b,type,0, +field_177380_c,usage,0, +field_177381_a,LOGGER,0, +field_177392_h,displayName,0, +field_177405_j,glConstant,0, +field_177407_h,size,0, +field_177408_i,displayName,0, +field_177454_f,uuidToPlayerMap,2, +field_177463_c,world,2, +field_177474_A,oceanMonumentGenerator,2, +field_177477_r,settings,2, +field_177488_d,data,2, +field_177511_d,tileEntity,2, +field_177512_e,tileEntityInitialized,2, +field_177513_b,pos,2, +field_177514_c,state,2, +field_177515_a,world,2, +field_177519_c,variant,0, +field_177542_u,quartersY,0, +field_177543_t,quartersX,0, +field_177544_s,matrix4d,0, +field_177545_r,combinedXY,0, +field_177546_q,mapRotations,0, +field_177557_a,cameraTransforms,0, +field_177558_f,cameraTransforms,0, +field_177559_d,gui3d,0, +field_177560_e,texture,0, +field_177561_b,faceQuads,0, +field_177562_c,ambientOcclusion,0, +field_177563_a,generalQuads,0, +field_177565_b,models,0, +field_177566_c,baseModel,0, +field_177567_a,totalWeight,0, +field_177598_f,resourceManager,0, +field_177599_g,sprites,0, +field_177600_d,BUILT_IN_MODELS,0, +field_177601_e,JOINER,0, +field_177602_b,LOCATIONS_BUILTIN_TEXTURES,0, +field_177603_c,LOGGER,0, +field_177604_a,MODEL_MISSING,0, +field_177605_n,bakedRegistry,0, +field_177606_o,MODEL_GENERATED,0, +field_177607_l,faceBakery,0, +field_177608_m,itemModelGenerator,0, +field_177609_j,textureMap,0, +field_177610_k,blockModelShapes,0, +field_177611_h,models,0, +field_177612_i,variants,0, +field_177613_u,variantNames,0, +field_177614_t,blockDefinitions,0, +field_177615_s,itemLocations,0, +field_177616_r,MODEL_ENTITY,0, +field_177617_q,MODEL_CLOCK,0, +field_177618_p,MODEL_COMPASS,0, +field_177624_d,properties,2, +field_177625_e,validStates,2, +field_177626_b,GET_NAME_FUNC,2, +field_177627_c,block,2, +field_177628_a,COMMA_JOINER,2, +field_177636_b,model,0, +field_177640_b,propertyPredicates,2, +field_177641_a,blockstate,2, +field_177644_a,block,2, +field_177651_f,builderCameraTransforms,0, +field_177652_d,builderTexture,0, +field_177653_e,builderGui3d,0, +field_177654_b,builderFaceQuads,0, +field_177655_c,builderAmbientOcclusion,0, +field_177656_a,builderGeneralQuads,0, +field_177663_d,aisleHeight,2, +field_177664_e,rowWidth,2, +field_177665_b,depth,2, +field_177666_c,symbolMap,2, +field_177667_a,COMMA_JOIN,2, +field_177671_d,lcache,2, +field_177672_b,finger,2, +field_177673_c,thumb,2, +field_177674_a,pos,2, +field_177678_a,listItems,0, +field_177680_a,world,2, +field_177686_d,palmLength,2, +field_177687_b,fingerLength,2, +field_177688_c,thumbLength,2, +field_177689_a,blockMatches,2, +field_177703_b,name,2, +field_177704_a,valueClass,2, +field_177710_b,nameToValue,2, +field_177711_a,allowedValues,2, +field_177717_a,allowedValues,2, +field_177720_a,allowedValues,2, +field_177752_f,endTime,2, +field_177753_g,startTime,2, +field_177754_d,startDiameter,2, +field_177755_e,endDiameter,2, +field_177756_b,centerX,2, +field_177757_c,centerZ,2, +field_177758_a,listeners,2, +field_177759_l,warningDistance,2, +field_177760_j,damageBuffer,2, +field_177761_k,warningTime,2, +field_177762_h,worldSize,2, +field_177763_i,damageAmount,2, +field_177767_d,id,2, +field_177777_D,lavaLakeChance,2, +field_177778_E,useLavaOceans,2, +field_177779_F,fixedBiome,2, +field_177780_G,biomeSize,2, +field_177781_A,useWaterLakes,2, +field_177782_B,waterLakeChance,2, +field_177783_C,useLavaLakes,2, +field_177784_L,dirtMaxHeight,2, +field_177785_M,gravelSize,2, +field_177786_N,gravelCount,2, +field_177787_O,gravelMinHeight,2, +field_177788_H,riverSize,2, +field_177789_I,dirtSize,2, +field_177790_J,dirtCount,2, +field_177791_K,dirtMinHeight,2, +field_177792_U,dioriteSize,2, +field_177793_T,graniteMaxHeight,2, +field_177794_W,dioriteMinHeight,2, +field_177795_V,dioriteCount,2, +field_177796_Q,graniteSize,2, +field_177797_P,gravelMaxHeight,2, +field_177798_S,graniteMinHeight,2, +field_177799_R,graniteCount,2, +field_177800_Y,andesiteSize,2, +field_177801_X,dioriteMaxHeight,2, +field_177802_Z,andesiteCount,2, +field_177803_f,depthNoiseScaleZ,2, +field_177804_g,depthNoiseScaleExponent,2, +field_177805_az,lapisSpread,2, +field_177806_d,lowerLimitScale,2, +field_177807_ay,lapisCenterHeight,2, +field_177808_e,depthNoiseScaleX,2, +field_177809_b,heightScale,2, +field_177810_c,upperLimitScale,2, +field_177811_a,coordinateScale,2, +field_177812_at,diamondCount,2, +field_177813_n,biomeDepthOffSet,2, +field_177814_as,diamondSize,2, +field_177815_o,biomeScaleWeight,2, +field_177816_ar,redstoneMaxHeight,2, +field_177817_l,stretchY,2, +field_177818_aq,redstoneMinHeight,2, +field_177819_m,biomeDepthWeight,2, +field_177820_ax,lapisCount,2, +field_177821_j,mainNoiseScaleZ,2, +field_177822_aw,lapisSize,2, +field_177823_k,baseSize,2, +field_177824_av,diamondMaxHeight,2, +field_177825_h,mainNoiseScaleX,2, +field_177826_au,diamondMinHeight,2, +field_177827_i,mainNoiseScaleY,2, +field_177828_ak,goldSize,2, +field_177829_w,useMineShafts,2, +field_177830_al,goldCount,2, +field_177831_v,useVillages,2, +field_177832_ai,ironMinHeight,2, +field_177833_u,useStrongholds,2, +field_177834_aj,ironMaxHeight,2, +field_177835_t,dungeonChance,2, +field_177836_ao,redstoneSize,2, +field_177837_s,useDungeons,2, +field_177838_ap,redstoneCount,2, +field_177839_r,useCaves,2, +field_177840_am,goldMinHeight,2, +field_177841_q,seaLevel,2, +field_177842_an,goldMaxHeight,2, +field_177843_p,biomeScaleOffset,2, +field_177844_ac,coalSize,2, +field_177845_ad,coalCount,2, +field_177846_aa,andesiteMinHeight,2, +field_177847_ab,andesiteMaxHeight,2, +field_177848_ag,ironSize,2, +field_177849_ah,ironCount,2, +field_177850_z,useRavines,2, +field_177851_ae,coalMinHeight,2, +field_177852_y,useMonuments,2, +field_177853_af,coalMaxHeight,2, +field_177854_x,useTemples,2, +field_177859_b,defaultState,2, +field_177860_a,data,2, +field_177866_D,useLavaLakes,2, +field_177867_E,lavaLakeChance,2, +field_177868_F,useLavaOceans,2, +field_177869_G,fixedBiome,2, +field_177870_A,useRavines,2, +field_177871_B,useWaterLakes,2, +field_177872_C,waterLakeChance,2, +field_177873_L,dirtMinHeight,2, +field_177874_M,dirtMaxHeight,2, +field_177875_N,gravelSize,2, +field_177876_O,gravelCount,2, +field_177877_H,biomeSize,2, +field_177878_I,riverSize,2, +field_177879_J,dirtSize,2, +field_177880_K,dirtCount,2, +field_177881_U,graniteMaxHeight,2, +field_177882_T,graniteMinHeight,2, +field_177883_W,dioriteCount,2, +field_177884_V,dioriteSize,2, +field_177885_Q,gravelMaxHeight,2, +field_177886_P,gravelMinHeight,2, +field_177887_S,graniteCount,2, +field_177888_R,graniteSize,2, +field_177889_aA,lapisSpread,2, +field_177890_Y,dioriteMaxHeight,2, +field_177891_X,dioriteMinHeight,2, +field_177892_Z,andesiteSize,2, +field_177893_f,depthNoiseScaleX,2, +field_177894_g,depthNoiseScaleZ,2, +field_177895_az,lapisCenterHeight,2, +field_177896_d,upperLimitScale,2, +field_177897_ay,lapisCount,2, +field_177898_e,lowerLimitScale,2, +field_177899_b,coordinateScale,2, +field_177900_c,heightScale,2, +field_177901_a,JSON_ADAPTER,2, +field_177902_at,diamondSize,2, +field_177903_n,biomeDepthWeight,2, +field_177904_as,redstoneMaxHeight,2, +field_177905_o,biomeDepthOffset,2, +field_177906_ar,redstoneMinHeight,2, +field_177907_l,baseSize,2, +field_177908_aq,redstoneCount,2, +field_177909_m,stretchY,2, +field_177910_ax,lapisSize,2, +field_177911_j,mainNoiseScaleY,2, +field_177912_aw,diamondMaxHeight,2, +field_177913_k,mainNoiseScaleZ,2, +field_177914_av,diamondMinHeight,2, +field_177915_h,depthNoiseScaleExponent,2, +field_177916_au,diamondCount,2, +field_177917_i,mainNoiseScaleX,2, +field_177918_ak,ironMaxHeight,2, +field_177919_w,useVillages,2, +field_177920_al,goldSize,2, +field_177921_v,useStrongholds,2, +field_177922_ai,ironCount,2, +field_177923_u,dungeonChance,2, +field_177924_aj,ironMinHeight,2, +field_177925_t,useDungeons,2, +field_177926_ao,goldMaxHeight,2, +field_177927_s,useCaves,2, +field_177928_ap,redstoneSize,2, +field_177929_r,seaLevel,2, +field_177930_am,goldCount,2, +field_177931_q,biomeScaleOffset,2, +field_177932_an,goldMinHeight,2, +field_177933_p,biomeScaleWeight,2, +field_177934_ac,andesiteMaxHeight,2, +field_177935_ad,coalSize,2, +field_177936_aa,andesiteCount,2, +field_177937_ab,andesiteMinHeight,2, +field_177938_ag,coalMaxHeight,2, +field_177939_ah,ironSize,2, +field_177940_z,useMonuments,2, +field_177941_ae,coalCount,2, +field_177942_y,useTemples,2, +field_177943_af,coalMinHeight,2, +field_177944_x,useMineShafts,2, +field_177959_e,NULL_VECTOR,2, +field_177960_b,y,2, +field_177961_c,z,2, +field_177962_a,x,2, +field_177987_f,Y_SHIFT,2, +field_177988_g,X_SHIFT,2, +field_177989_d,NUM_Y_BITS,2, +field_177990_b,NUM_X_BITS,2, +field_177991_c,NUM_Z_BITS,2, +field_177992_a,ORIGIN,2, +field_177993_j,Z_MASK,2, +field_177994_h,X_MASK,2, +field_177995_i,Y_MASK,2, +field_177996_d,z,2, +field_177997_b,x,2, +field_177998_c,y,2, +field_178005_d,viewEntityY,0, +field_178006_e,viewEntityZ,0, +field_178007_b,initialized,0, +field_178008_c,viewEntityX,0, +field_178009_a,renderChunks,0, +field_178032_d,counter,0, +field_178034_b,facing,0, +field_178035_c,setFacing,0, +field_178036_a,renderChunk,0, +field_178037_a,VALUES,0, +field_178090_d,modelManager,0, +field_178091_b,simpleShapesCache,0, +field_178092_c,shapers,0, +field_178093_a,simpleShapes,0, +field_178111_g,renderManager,0, +field_178112_h,itemRenderer,0, +field_178127_b,blockStateMapper,0, +field_178128_c,modelManager,0, +field_178129_a,bakedModelStore,0, +field_178133_b,mapStateModelLocations,0, +field_178140_d,listProperties,0, +field_178141_c,suffix,0, +field_178142_a,property,0, +field_178146_a,dispenserInventory,2, +field_178149_f,xpSeed,2, +field_178150_j,position,2, +field_178156_j,selfPosition,2, +field_178164_f,renderChunks,0, +field_178165_d,countChunksX,0, +field_178166_e,countChunksZ,0, +field_178167_b,world,0, +field_178168_c,countChunksY,0, +field_178169_a,renderGlobal,0, +field_178179_a,vertexBuffer,0, +field_178182_b,vboUploader,0, +field_178183_a,worldRenderer,0, +field_178206_b,vertexColorMultiplier,0, +field_178207_c,vertexBrightness,0, +field_178213_b,tintIndex,0, +field_178214_c,face,0, +field_178215_a,vertexData,0, +field_178218_d,texture,0, +field_178237_d,partRotation,0, +field_178238_e,shade,0, +field_178239_b,positionTo,0, +field_178240_c,mapFaces,0, +field_178241_a,positionFrom,0, +field_178242_d,texture,0, +field_178243_e,blockFaceUV,0, +field_178244_b,cullFace,0, +field_178245_c,tintIndex,0, +field_178246_a,FACING_DEFAULT,0, +field_178257_a,QUARTZ_ENUMTYPE_SWITCH_ARRAY,0, +field_178271_b,atlasSpritesWater,0, +field_178272_a,atlasSpritesLava,0, +field_178313_f,LOGGER,0, +field_178314_g,elements,0, +field_178315_d,parent,0, +field_178316_e,parentLocation,0, +field_178317_b,name,0, +field_178318_c,textures,0, +field_178319_a,SERIALIZER,0, +field_178320_j,cameraTransforms,0, +field_178321_h,gui3d,0, +field_178322_i,ambientOcclusion,0, +field_178323_b,modelExt,0, +field_178324_a,model,0, +field_178332_b,mapVariants,0, +field_178333_a,GSON,0, +field_178341_d,rescale,0, +field_178342_b,axis,0, +field_178343_c,angle,0, +field_178344_a,origin,0, +field_178350_b,rotation,0, +field_178351_a,uvs,0, +field_178353_d,head,0, +field_178354_e,gui,0, +field_178355_b,thirdPerson,0, +field_178356_c,firstPerson,0, +field_178357_a,DEFAULT,0, +field_178360_b,TRANSLATION_DEFAULT,0, +field_178361_c,SCALE_DEFAULT,0, +field_178362_a,ROTATION_DEFAULT,0, +field_178363_d,scale,0, +field_178364_b,rotation,0, +field_178365_c,translation,0, +field_178366_a,DEFAULT,0, +field_178376_e,facing,0, +field_178390_a,values,0, +field_178398_a,LAYERS,0, +field_178422_b,listVariants,0, +field_178423_a,name,0, +field_178434_d,weight,0, +field_178435_b,modelRotation,0, +field_178436_c,uvLock,0, +field_178437_a,modelLocation,0, +field_178443_b,builderSuffix,0, +field_178444_c,builderListProperties,0, +field_178445_a,builderProperty,0, +field_178449_b,setBuiltInBlocks,0, +field_178450_a,blockStateMap,0, +field_178460_a,DESTROY_STAGES,0, +field_178462_c,blockRenderer,0, +field_178464_d,BANNERTEXTURES,0, +field_178465_e,bannerModel,0, +field_178467_h,skeletonHead,0, +field_178468_i,humanoidHead,0, +field_178477_b,chunkRenderDispatcher,0, +field_178478_c,regionRenderCacheBuilder,0, +field_178496_f,setVisibility,0, +field_178497_g,state,0, +field_178498_d,empty,0, +field_178499_e,tileEntities,0, +field_178500_b,layersUsed,0, +field_178501_c,layersStarted,0, +field_178502_a,DUMMY,0, +field_178517_f,worldVertexUploader,0, +field_178518_g,vertexUploader,0, +field_178519_d,queueChunkUpdates,0, +field_178520_e,queueFreeRenderBuilders,0, +field_178521_b,threadFactory,0, +field_178522_c,listThreadedWorkers,0, +field_178523_a,logger,0, +field_178524_h,queueChunkUploads,0, +field_178525_i,renderWorker,0, +field_178547_f,compiledChunk,0, +field_178548_g,status,0, +field_178549_d,type,0, +field_178550_e,regionRenderCacheBuilder,0, +field_178551_b,lock,0, +field_178552_c,listFinishRunnables,0, +field_178553_a,renderChunk,0, +field_178554_h,finished,0, +field_178586_f,position,0, +field_178587_g,lockCompileTask,0, +field_178588_d,world,0, +field_178589_e,renderGlobal,0, +field_178590_b,compiledChunk,0, +field_178591_c,boundingBox,0, +field_178592_a,renderChunksUpdated,0, +field_178593_n,needsUpdate,0, +field_178594_l,vertexBuffers,0, +field_178595_m,frameIndex,0, +field_178596_j,index,0, +field_178597_k,modelviewMatrix,0, +field_178598_h,lockCompiledChunk,0, +field_178599_i,compileTask,0, +field_178601_d,baseDisplayList,0, +field_178622_b,bitSet,0, +field_178623_a,COUNT_FACES,0, +field_178625_b,projectionMatrix,0, +field_178626_c,modelviewMatrix,0, +field_178636_l,skinMap,0, +field_178638_s,renderShadow,0, +field_178639_r,renderOutlines,0, +field_178640_a,TRANSFORM_LOOKUP,0, +field_178688_b,bannerStand,0, +field_178689_c,bannerTop,0, +field_178690_a,bannerSlate,0, +field_178692_f,rabbitLeftArm,0, +field_178693_g,rabbitRightArm,0, +field_178694_d,rabbitRightThigh,0, +field_178695_e,rabbitBody,0, +field_178696_b,rabbitRightFoot,0, +field_178697_c,rabbitLeftThigh,0, +field_178698_a,rabbitLeftFoot,0, +field_178700_l,rabbitNose,0, +field_178702_j,rabbitLeftEar,0, +field_178703_k,rabbitTail,0, +field_178704_h,rabbitHead,0, +field_178705_i,rabbitRightEar,0, +field_178707_d,guardianTail,0, +field_178708_b,guardianEye,0, +field_178709_c,guardianSpines,0, +field_178710_a,guardianBody,0, +field_178717_b,head,0, +field_178720_f,bipedHeadwear,0, +field_178721_j,bipedRightLeg,0, +field_178722_k,bipedLeftLeg,0, +field_178723_h,bipedRightArm,0, +field_178724_i,bipedLeftArm,0, +field_178730_v,bipedBodyWear,0, +field_178731_d,bipedRightLegwear,0, +field_178732_b,bipedRightArmwear,0, +field_178733_c,bipedLeftLegwear,0, +field_178734_a,bipedLeftArmwear,0, +field_178737_d,standBase,0, +field_178738_b,standLeftSide,0, +field_178739_c,standWaist,0, +field_178740_a,standRightSide,0, +field_178741_d,gameInfo,0, +field_178742_e,serverInfo,0, +field_178743_b,displayInfo,0, +field_178744_c,folderInfo,0, +field_178745_a,userInfo,0, +field_178750_b,userProperties,0, +field_178751_c,proxy,0, +field_178752_a,session,0, +field_178753_b,serverPort,0, +field_178754_a,serverName,0, +field_178755_b,version,0, +field_178756_a,isDemo,0, +field_178757_d,assetIndex,0, +field_178758_b,resourcePacksDir,0, +field_178759_c,assetsDir,0, +field_178760_a,mcDataDir,0, +field_178761_d,checkGlErrors,0, +field_178762_b,height,0, +field_178763_c,fullscreen,0, +field_178764_a,width,0, +field_178768_d,renderType,2, +field_178783_e,blockPos,2, +field_178784_b,sideHit,2, +field_178791_c,TRIGGER,2, +field_178794_j,goalName,2, +field_178811_e,position,0, +field_178817_f,locked,2, +field_178862_f,locationCape,0, +field_178863_g,skinType,0, +field_178864_d,playerTexturesLoaded,0, +field_178865_e,locationSkin,0, +field_178866_b,gameType,0, +field_178867_a,gameProfile,0, +field_178879_v,reducedDebugInfo,0, +field_178880_u,allowBlockAlternatives,0, +field_178881_t,useVbo,0, +field_178882_aU,setModelParts,0, +field_178883_an,keyBindSpectatorOutlines,0, +field_178958_a,VALUES,0, +field_178959_a,VALUES,0, +field_178995_f,textureV,0, +field_178996_g,brightness,0, +field_178997_d,vertexCount,0, +field_178998_e,textureU,0, +field_178999_b,rawIntBuffer,0, +field_179000_c,rawFloatBuffer,0, +field_179001_a,byteBuffer,0, +field_179002_n,zOffset,0, +field_179003_o,normal,0, +field_179004_l,xOffset,0, +field_179005_m,yOffset,0, +field_179006_k,drawMode,0, +field_179007_h,color,0, +field_179008_i,rawBufferIndex,0, +field_179009_s,bufferSize,0, +field_179010_r,isDrawing,0, +field_179011_q,vertexFormat,0, +field_179012_p,byteIndex,0, +field_179017_d,stateVertexCount,0, +field_179018_e,stateVertexFormat,0, +field_179019_b,stateRawBuffer,0, +field_179020_c,stateRawBufferIndex,0, +field_179024_e,banner,0, +field_179029_g,facings,0, +field_179035_h,vertexInfos,0, +field_179040_a,worldRenderers,0, +field_179050_b,maskEnabled,0, +field_179051_c,depthFunc,0, +field_179052_a,depthTest,0, +field_179055_d,height,0, +field_179056_b,y,0, +field_179057_c,width,0, +field_179058_a,x,0, +field_179059_b,textureName,0, +field_179060_a,texture2DState,0, +field_179154_f,depthState,0, +field_179155_g,fogState,0, +field_179156_d,colorMaterialState,0, +field_179157_e,blendState,0, +field_179158_b,lightingState,0, +field_179159_c,lightState,0, +field_179160_a,alphaState,0, +field_179161_n,normalizeState,0, +field_179162_o,activeTextureUnit,0, +field_179163_l,clearState,0, +field_179164_m,stencilState,0, +field_179165_j,colorLogicState,0, +field_179166_k,texGenState,0, +field_179167_h,cullState,0, +field_179168_i,polygonOffsetState,0, +field_179169_u,viewportState,0, +field_179170_t,colorState,0, +field_179171_s,colorMaskState,0, +field_179172_r,rescaleNormalState,0, +field_179173_q,activeShadeModel,0, +field_179174_p,textureState,0, +field_179192_d,alpha,0, +field_179193_b,green,0, +field_179194_c,blue,0, +field_179195_a,red,0, +field_179201_b,currentState,0, +field_179202_a,capability,0, +field_179220_a,BLOCK_TO_ITEM,2, +field_179226_c,doubleSlab,2, +field_179227_b,theBlock,2, +field_179228_c,nameFunction,2, +field_179236_a,block,2, +field_179239_b,LOGGER,2, +field_179243_f,name,2, +field_179247_h,directionMaps,2, +field_179282_b,isLoaded,2, +field_179283_a,value,2, +field_179294_g,direction,2, +field_179295_d,CLIENT_NIO_EVENTLOOP,2, +field_179296_e,CLIENT_LOCAL_EVENTLOOP,2, +field_179297_n,disconnected,2, +field_179300_b,deflater,2, +field_179301_c,treshold,2, +field_179302_a,buffer,2, +field_179304_b,treshold,2, +field_179305_a,inflater,2, +field_179309_b,lastReturned,2, +field_179314_b,theBlockPos,2, +field_179317_b,pos,2, +field_179338_j,partName,0, +field_179340_h,partId,0, +field_179341_i,partMask,0, +field_179369_Q,particleName,2, +field_179372_R,particleID,2, +field_179417_b,y,2, +field_179418_c,z,2, +field_179419_a,x,2, +field_179420_a,FACING_LOOKUP,2, +field_179423_d,results,2, +field_179424_b,iterables,2, +field_179425_c,iterators,2, +field_179426_a,index,2, +field_179428_b,iterables,2, +field_179429_a,clazz,2, +field_179494_b,destinationBlock,2, +field_179504_c,theVillager,2, +field_179507_b,doorPosition,2, +field_179511_d,entityInstance,2, +field_179513_b,FACING_LOOKUP,2, +field_179514_c,PLANE_LOOKUP,2, +field_179515_a,AXIS_LOOKUP,2, +field_179525_d,description,2, +field_179528_c,offset,2, +field_179535_b,blockState,2, +field_179538_n,rabbitFootEffect,2, +field_179539_o,potionRequirements,2, +field_179540_p,potionAmplifiers,2, +field_179550_j,canPlaceOnCacheBlock,2, +field_179551_k,canPlaceOnCacheResult,2, +field_179552_h,canDestroyCacheBlock,2, +field_179553_i,canDestroyCacheResult,2, +field_179555_bs,rabbit_hide,2, +field_179556_br,rabbit_foot,2, +field_179557_bn,cooked_mutton,2, +field_179558_bo,rabbit,2, +field_179559_bp,cooked_rabbit,2, +field_179560_bq,rabbit_stew,2, +field_179561_bm,mutton,2, +field_179562_cC,prismarine_shard,2, +field_179563_cD,prismarine_crystals,2, +field_179564_cE,banner,2, +field_179565_cj,armor_stand,2, +field_179566_aV,cooked_fish,2, +field_179567_at,jungle_door,2, +field_179568_as,birch_door,2, +field_179569_ar,spruce_door,2, +field_179570_aq,oak_door,2, +field_179571_av,dark_oak_door,2, +field_179572_au,acacia_door,2, +field_179590_a,TYPE_LOOKUP,2, +field_179639_f,typeID,2, +field_179640_g,typeName,2, +field_179676_a,NUM_RESULT_TYPES,2, +field_179710_b,targetBlock,2, +field_179711_e,modelPartFlags,2, +field_179713_c,hitVec,2, +field_179716_b,facing,2, +field_179717_a,position,2, +field_179719_b,status,2, +field_179720_a,hash,2, +field_179723_a,pos,2, +field_179725_b,position,2, +field_179729_a,id,2, +field_179733_a,compressionTreshold,2, +field_179745_h,reducedDebugInfo,2, +field_179751_a,particleType,2, +field_179753_k,particleArguments,2, +field_179785_b,hash,2, +field_179786_a,url,2, +field_179799_b,bedPos,2, +field_179808_d,displayTime,2, +field_179809_e,fadeOutTime,2, +field_179810_b,message,2, +field_179811_c,fadeInTime,2, +field_179812_a,type,2, +field_179822_b,position,2, +field_179845_b,changedBlocks,2, +field_179857_b,insideBlock,2, +field_179858_c,insideDirection,2, +field_179859_a,doorBlockPos,2, +field_179871_c,LOGGER,2, +field_179872_a,SYSOUT,2, +field_179883_b,domain,2, +field_179884_a,LOGGER,2, +field_179990_j,insertion,2, +field_180036_b,RAIL_SHAPE_LOOKUP,2, +field_180037_a,MINECART_TYPE_LOOKUP,2, +field_180049_j,name,2, +field_180051_h,ID_LOOKUP,2, +field_180052_i,networkID,2, +field_180101_a,AXIS_LOOKUP,2, +field_180111_a,pos,2, +field_180121_a,DIRECTION_LOOKUP,2, +field_180126_g,stringToIDMapping,2, +field_180127_a,SENSITIVITY_ARRAY,2, +field_180132_d,NOT_SPECTATING,2, +field_180137_b,lightningBolt,2, +field_180140_r,isThornsDamage,2, +field_180152_w,healthBoost,2, +field_180155_a,LOGGER,2, +field_180156_h,showParticles,2, +field_180161_b,lock,2, +field_180162_a,EMPTY_CODE,2, +field_180163_b,ORIENTATION_LOOKUP,2, +field_180164_c,AXIS_LOOKUP,2, +field_180165_a,FACING_LOOKUP,2, +field_180167_a,AXIS_LOOKUP,2, +field_180171_b,additionalDifficulty,2, +field_180172_a,worldDifficulty,2, +field_180177_a,RANDOM,2, +field_180178_a,TYPE_LOOKUP,2, +field_180189_a,SQRT_2,2, +field_180190_a,FACING_LOOKUP,2, +field_180191_a,AXIS_LOOKUP,2, +field_180201_c,mask,2, +field_180203_a,AXIS_LOOKUP,2, +field_180205_F,timesTalkedToVillagerStat,2, +field_180206_G,timesTradedWithVillagerStat,2, +field_180207_j,distanceCrouchedStat,2, +field_180208_k,distanceSprintedStat,2, +field_180209_h,timeSinceDeathStat,2, +field_180219_M,overpowered,2, +field_180232_b,SERVER_LOCAL_EVENTLOOP,2, +field_180247_b,position,0, +field_180249_b,server,1, +field_180250_c,maxTickTime,1, +field_180251_a,LOGGER,1, +field_180256_e,type,2, +field_180268_a,MOB_COUNT_DIV,2, +field_180271_f,CUSTOMIZED,2, +field_180272_g,DEBUG_WORLD,2, +field_180278_o,BIOME_ID_MAP,2, +field_180280_ag,DOUBLE_PLANT_GENERATOR,2, +field_180282_a,position,2, +field_180293_d,chunkProviderSettings,2, +field_180295_l,andesiteGen,2, +field_180296_j,graniteGen,2, +field_180297_k,dioriteGen,2, +field_180298_q,diamondGen,2, +field_180299_p,redstoneGen,2, +field_180307_E,locationEnchantments,2, +field_180308_g,projectileProtection,2, +field_180309_e,featherFalling,2, +field_180310_c,protection,2, +field_180311_a,enchantmentsList,2, +field_180312_n,baneOfArthropods,2, +field_180313_o,knockback,2, +field_180314_l,sharpness,2, +field_180315_m,smite,2, +field_180316_k,depthStrider,2, +field_180317_h,respiration,2, +field_180323_f,rewardsExp,2, +field_180329_a,position,2, +field_180338_e,layerName,0, +field_180352_b,FLOWER_TYPE_LOOKUP,2, +field_180353_a,WOOD_TYPE_LOOKUP,2, +field_180356_a,FACING_LOOKUP,0, +field_180365_d,block,2, +field_180366_e,state,2, +field_180367_c,pos,2, +field_180370_a,FACING_LOOKUP,2, +field_180371_a,DIRECTION_LOOKUP,2, +field_180384_M,piston_extension,2, +field_180385_bs,dark_oak_fence_gate,2, +field_180386_br,jungle_fence_gate,2, +field_180387_bt,acacia_fence_gate,2, +field_180388_cO,double_stone_slab2,2, +field_180389_cP,stone_slab2,2, +field_180390_bo,oak_fence_gate,2, +field_180391_bp,spruce_fence_gate,2, +field_180392_bq,birch_fence_gate,2, +field_180393_cK,standing_banner,2, +field_180394_cL,wall_banner,2, +field_180395_cM,red_sandstone,2, +field_180396_cN,red_sandstone_stairs,2, +field_180397_cI,prismarine,2, +field_180398_cJ,sea_lantern,2, +field_180399_cE,slime_block,2, +field_180400_cw,iron_trapdoor,2, +field_180401_cv,barrier,2, +field_180402_cm,daylight_detector_inverted,2, +field_180403_aR,jungle_fence,2, +field_180404_aQ,birch_fence,2, +field_180405_aT,acacia_fence,2, +field_180406_aS,dark_oak_fence,2, +field_180407_aO,oak_fence,2, +field_180408_aP,spruce_fence,2, +field_180409_at,dark_oak_door,2, +field_180410_as,acacia_door,2, +field_180411_ar,jungle_door,2, +field_180412_aq,birch_door,2, +field_180413_ao,oak_door,2, +field_180414_ap,spruce_door,2, +field_180415_a,FACING_LOOKUP,2, +field_180420_a,FACING_LOOKUP,2, +field_70009_b,buffer,1, +field_70010_a,instance,1, +field_70116_cv,serverPosZ,0, +field_70117_cu,serverPosY,0, +field_70118_ct,serverPosX,0, +field_70121_D,boundingBox,2, +field_70122_E,onGround,2, +field_70123_F,isCollidedHorizontally,2, +field_70124_G,isCollidedVertically,2, +field_70125_A,rotationPitch,2, +field_70126_B,prevRotationYaw,2, +field_70127_C,prevRotationPitch,2, +field_70128_L,isDead,2, +field_70130_N,width,2, +field_70131_O,height,2, +field_70132_H,isCollided,2, +field_70133_I,velocityChanged,2, +field_70134_J,isInWeb,2, +field_70136_U,lastTickPosZ,2, +field_70137_T,lastTickPosY,2, +field_70138_W,stepHeight,2, +field_70140_Q,distanceWalkedModified,2, +field_70141_P,prevDistanceWalkedModified,2, +field_70142_S,lastTickPosX,2, +field_70143_R,fallDistance,2, +field_70144_Y,entityCollisionReduction,2, +field_70145_X,noClip,2, +field_70146_Z,rand,2, +field_70147_f,entityRiderYawDelta,2, +field_70148_d,firstUpdate,2, +field_70149_e,entityRiderPitchDelta,2, +field_70150_b,nextStepDistance,2, +field_70151_c,fire,2, +field_70152_a,nextEntityID,2, +field_70153_n,riddenByEntity,2, +field_70154_o,ridingEntity,2, +field_70155_l,renderDistanceWeight,2, +field_70156_m,preventEntitySpawning,2, +field_70158_ak,ignoreFrustumCheck,2, +field_70159_w,motionX,2, +field_70160_al,isAirBorne,2, +field_70161_v,posZ,2, +field_70162_ai,chunkCoordY,2, +field_70163_u,posY,2, +field_70164_aj,chunkCoordZ,2, +field_70165_t,posX,2, +field_70166_s,prevPosZ,2, +field_70167_r,prevPosY,2, +field_70169_q,prevPosX,2, +field_70170_p,worldObj,2, +field_70171_ac,inWater,2, +field_70172_ad,hurtResistantTime,2, +field_70173_aa,ticksExisted,2, +field_70174_ab,fireResistance,2, +field_70175_ag,addedToChunk,2, +field_70176_ah,chunkCoordX,2, +field_70177_z,rotationYaw,2, +field_70178_ae,isImmuneToFire,2, +field_70179_y,motionZ,2, +field_70180_af,dataWatcher,2, +field_70181_x,motionY,2, +field_70191_b,throwableShake,2, +field_70192_c,thrower,2, +field_70194_h,ticksInGround,2, +field_70195_i,ticksInAir,2, +field_70197_d,potionDamage,2, +field_70221_f,shatterOrDrop,2, +field_70222_d,targetZ,2, +field_70223_e,despawnTimer,2, +field_70224_b,targetX,2, +field_70225_c,targetY,2, +field_70230_d,accelerationZ,2, +field_70232_b,accelerationX,2, +field_70233_c,accelerationY,2, +field_70234_an,ticksInAir,2, +field_70235_a,shootingEntity,2, +field_70236_j,ticksAlive,2, +field_70238_i,inGround,2, +field_70249_b,arrowShake,2, +field_70250_c,shootingEntity,2, +field_70251_a,canBePickedUp,2, +field_70252_j,ticksInGround,2, +field_70253_h,inData,2, +field_70254_i,inGround,2, +field_70255_ao,damage,2, +field_70256_ap,knockbackStrength,2, +field_70257_an,ticksInAir,2, +field_70259_a,entityDragonObj,2, +field_70260_b,health,2, +field_70261_a,innerRotation,2, +field_70262_b,lightningState,2, +field_70263_c,boltLivingTime,2, +field_70264_a,boltVertex,2, +field_70272_f,boatZ,2, +field_70273_g,boatYaw,2, +field_70274_d,boatX,2, +field_70275_e,boatY,2, +field_70276_b,speedMultiplier,2, +field_70277_c,boatPosRotationIncrements,2, +field_70278_an,velocityZ,0, +field_70279_a,isBoatEmpty,2, +field_70280_j,velocityY,0, +field_70281_h,boatPitch,2, +field_70282_i,velocityX,0, +field_70290_d,hoverStart,2, +field_70291_e,health,2, +field_70292_b,age,2, +field_70457_g,itemStack,2, +field_70458_d,player,2, +field_70459_e,inventoryChanged,2, +field_70460_b,armorInventory,2, +field_70461_c,currentItem,2, +field_70462_a,mainInventory,2, +field_70464_b,inventoryWidth,2, +field_70465_c,eventHandler,2, +field_70466_a,stackList,2, +field_70467_a,stackResult,2, +field_70472_d,currentRecipe,2, +field_70473_e,currentRecipeIndex,2, +field_70474_b,theInventory,2, +field_70475_c,thePlayer,2, +field_70476_a,theMerchant,2, +field_70477_b,upperChest,2, +field_70478_c,lowerChest,2, +field_70479_a,name,2, +field_70481_b,slotsCount,2, +field_70482_c,inventoryContents,2, +field_70483_a,inventoryTitle,2, +field_70488_a,associatedChest,2, +field_70499_f,isInReverse,2, +field_70500_g,matrix,2, +field_70506_as,velocityZ,0, +field_70507_ar,velocityY,0, +field_70508_aq,velocityX,0, +field_70509_j,minecartY,2, +field_70510_h,turnProgress,2, +field_70511_i,minecartX,2, +field_70512_ao,minecartYaw,2, +field_70513_ap,minecartPitch,2, +field_70514_an,minecartZ,2, +field_70516_a,fuse,2, +field_70520_f,tickCounter1,2, +field_70522_e,art,2, +field_70529_d,xpOrbHealth,2, +field_70530_e,xpValue,2, +field_70531_b,xpOrbAge,2, +field_70533_a,xpColor,2, +field_70544_f,particleScale,0, +field_70545_g,particleGravity,0, +field_70546_d,particleAge,0, +field_70547_e,particleMaxAge,0, +field_70548_b,particleTextureJitterX,0, +field_70549_c,particleTextureJitterY,0, +field_70550_a,particleIcon,0, +field_70551_j,particleBlue,0, +field_70552_h,particleRed,0, +field_70553_i,particleGreen,0, +field_70554_ao,interpPosY,0, +field_70555_ap,interpPosZ,0, +field_70556_an,interpPosX,0, +field_70562_a,flameScale,0, +field_70563_a,materialType,0, +field_70564_aq,bobTimer,0, +field_70570_a,reddustParticleScale,0, +field_70571_a,portalParticleScale,0, +field_70572_as,portalPosZ,0, +field_70573_ar,portalPosY,0, +field_70574_aq,portalPosX,0, +field_70575_a,particleScaleOverTime,0, +field_70576_a,footstepAge,0, +field_70577_ar,currentFootSteps,0, +field_70578_aq,footstepMaxAge,0, +field_70579_a,timeSinceStart,0, +field_70580_aq,maximumTime,0, +field_70583_ar,theRenderEngine,0, +field_70585_a,noteParticleScale,0, +field_70586_a,lavaParticleScale,0, +field_70587_a,smokeParticleScale,0, +field_70588_a,snowDigParticleScale,0, +field_70590_a,baseSpellTextureIndex,0, +field_70593_as,maxAge,0, +field_70594_ar,age,0, +field_70696_bz,attackTarget,2, +field_70699_by,navigator,2, +field_70701_bs,moveForward,2, +field_70702_br,moveStrafing,2, +field_70703_bu,isJumping,2, +field_70704_bt,randomYawVelocity,2, +field_70705_bn,newRotationPitch,2, +field_70708_bq,entityAge,2, +field_70709_bj,newPosX,2, +field_70710_bk,newPosY,2, +field_70712_bm,newRotationYaw,2, +field_70713_bf,activePotionsMap,2, +field_70714_bg,tasks,2, +field_70715_bh,targetTasks,2, +field_70716_bi,newPosRotationIncrements,2, +field_70717_bb,attackingPlayer,2, +field_70718_bc,recentlyHit,2, +field_70720_be,arrowHitTimer,2, +field_70721_aZ,limbSwingAmount,2, +field_70722_aY,prevLimbSwingAmount,2, +field_70723_bA,senses,2, +field_70725_aQ,deathTime,2, +field_70726_aT,cameraPitch,2, +field_70727_aS,prevCameraPitch,2, +field_70728_aV,experienceValue,2, +field_70729_aU,dead,2, +field_70732_aI,prevSwingProgress,2, +field_70733_aJ,swingProgress,2, +field_70737_aN,hurtTime,2, +field_70738_aO,maxHurtTime,2, +field_70739_aP,attackedAtYaw,2, +field_70744_aE,scoreValue,2, +field_70746_aG,landMovementFactor,2, +field_70747_aH,jumpMovementFactor,2, +field_70749_g,lookHelper,2, +field_70752_e,potionsNeedUpdate,2, +field_70754_ba,limbSwing,2, +field_70755_b,entityLivingToAttack,2, +field_70756_c,revengeTimer,2, +field_70757_a,livingSoundTime,2, +field_70758_at,prevRotationYawHead,2, +field_70759_as,rotationYawHead,2, +field_70760_ar,prevRenderYawOffset,2, +field_70761_aq,renderYawOffset,2, +field_70762_j,bodyHelper,2, +field_70765_h,moveHelper,2, +field_70767_i,jumpHelper,2, +field_70771_an,maxHurtResistantTime,2, +field_70772_bD,maximumHomeDistance,2, +field_70773_bE,jumpTicks,2, +field_70775_bC,homePosition,2, +field_70811_b,squishFactor,2, +field_70812_c,prevSquishFactor,2, +field_70813_a,squishAmount,2, +field_70827_d,carriableBlocks,2, +field_70833_d,timeSinceIgnited,2, +field_70834_e,lastActiveTime,2, +field_70837_d,angerLevel,2, +field_70838_e,randomSoundDelay,2, +field_70847_d,heightOffset,2, +field_70848_e,heightOffsetUpdateTime,2, +field_70855_f,attackTimer,2, +field_70856_g,holdRoseTick,2, +field_70857_d,villageObj,2, +field_70858_e,homeCheckTimer,2, +field_70859_f,squidYaw,2, +field_70860_g,prevSquidYaw,2, +field_70861_d,squidPitch,2, +field_70862_e,prevSquidPitch,2, +field_70863_bz,randomMotionSpeed,2, +field_70864_bA,rotationVelocity,2, +field_70865_by,lastTentacleAngle,2, +field_70866_j,tentacleAngle,2, +field_70867_h,squidRotation,2, +field_70868_i,prevSquidRotation,2, +field_70869_bD,randomMotionVecY,2, +field_70870_bE,randomMotionVecZ,2, +field_70872_bC,randomMotionVecX,2, +field_70881_d,inLove,2, +field_70883_f,destPos,2, +field_70887_j,timeUntilNextEgg,2, +field_70899_e,sheepTimer,2, +field_70911_d,aiSit,2, +field_70914_e,aiTempt,2, +field_70924_f,headRotationCourseOld,2, +field_70925_g,isWet,2, +field_70926_e,headRotationCourse,2, +field_70927_j,prevTimeWolfIsShaking,2, +field_70928_h,isShaking,2, +field_70929_i,timeWolfIsShaking,2, +field_70935_b,customer,0, +field_70936_c,recipeList,0, +field_70937_a,theMerchantInventory,0, +field_70952_f,isMating,2, +field_70953_g,isPlaying,2, +field_70954_d,villageObj,2, +field_70955_e,randomTickDivider,2, +field_70956_bz,wealth,2, +field_70959_by,needsInitilization,2, +field_70961_j,timeUntilReset,2, +field_70962_h,buyingPlayer,2, +field_70963_i,buyingList,2, +field_70976_f,ringBufferIndex,2, +field_70977_g,dragonPartArray,2, +field_70978_d,targetZ,2, +field_70979_e,ringBuffer,2, +field_70980_b,targetX,2, +field_70981_c,targetY,2, +field_70982_bz,dragonPartTail3,2, +field_70983_bA,dragonPartWing1,2, +field_70984_by,dragonPartTail2,2, +field_70985_j,dragonPartTail1,2, +field_70986_h,dragonPartHead,2, +field_70987_i,dragonPartBody,2, +field_70988_bD,animTime,2, +field_70989_bE,forceNewTarget,2, +field_70990_bB,dragonPartWing2,2, +field_70991_bC,prevAnimTime,2, +field_70992_bH,healingEnderCrystal,2, +field_70993_bI,target,2, +field_70994_bF,slowed,2, +field_70995_bG,deathTicks,2, +field_71067_cb,experienceTotal,2, +field_71068_ca,experienceLevel,2, +field_71069_bz,inventoryContainer,2, +field_71070_bA,openContainer,2, +field_71071_by,inventory,2, +field_71072_f,itemInUseCount,2, +field_71073_d,startMinecartRidingCoordinate,2, +field_71074_e,itemInUse,2, +field_71075_bZ,capabilities,2, +field_71076_b,sleepTimer,2, +field_71077_c,spawnChunk,2, +field_71078_a,theInventoryEnderChest,2, +field_71079_bU,renderOffsetX,2, +field_71080_cy,prevTimeInPortal,0, +field_71081_bT,playerLocation,2, +field_71082_cx,renderOffsetY,0, +field_71083_bS,sleeping,2, +field_71086_bY,timeInPortal,0, +field_71087_bX,inPortal,2, +field_71088_bW,timeUntilPortal,2, +field_71089_bV,renderOffsetZ,2, +field_71090_bL,xpCooldown,2, +field_71093_bK,dimension,2, +field_71100_bB,foodStats,2, +field_71101_bC,flyToggleTimer,2, +field_71102_ce,speedInAir,2, +field_71104_cf,fishEntity,2, +field_71106_cc,experience,2, +field_71107_bF,prevCameraYaw,2, +field_71108_cd,speedOnGround,2, +field_71109_bG,cameraYaw,2, +field_71129_f,loadedChunks,2, +field_71130_g,destroyedItemsNetCache,2, +field_71131_d,managedPosX,2, +field_71132_e,managedPosZ,2, +field_71133_b,mcServer,2, +field_71134_c,theItemInWorldManager,2, +field_71135_a,playerNetServerHandler,2, +field_71136_j,playerConqueredTheEnd,2, +field_71137_h,isChangingQuantityOnly,2, +field_71138_i,ping,2, +field_71139_cq,currentWindowId,2, +field_71140_co,chatColours,2, +field_71143_cn,chatVisibility,2, +field_71144_ck,lastExperience,2, +field_71146_ci,lastFoodLevel,2, +field_71147_cj,wasHungry,2, +field_71148_cg,translator,2, +field_71149_ch,lastHealth,2, +field_71154_f,renderArmYaw,0, +field_71155_g,renderArmPitch,0, +field_71156_d,sprintToggleTimer,0, +field_71157_e,sprintingTicksLeft,0, +field_71158_b,movementInput,0, +field_71159_c,mc,0, +field_71163_h,prevRenderArmYaw,0, +field_71164_i,prevRenderArmPitch,0, +field_71174_a,sendQueue,0, +field_71180_f,otherPlayerMPYaw,0, +field_71181_g,otherPlayerMPPitch,0, +field_71182_d,otherPlayerMPY,0, +field_71183_e,otherPlayerMPZ,0, +field_71184_b,otherPlayerMPPosRotationIncrements,0, +field_71185_c,otherPlayerMPX,0, +field_71186_a,isItemInUse,0, +field_71280_D,buildLimit,2, +field_71284_A,pvpEnabled,2, +field_71285_B,allowFlight,2, +field_71286_C,motd,2, +field_71287_L,worldName,0, +field_71288_M,isDemo,2, +field_71289_N,enableBonusChest,2, +field_71290_O,worldIsBeingDeleted,2, +field_71292_I,serverKeyPair,2, +field_71293_J,serverOwner,2, +field_71294_K,folderName,2, +field_71295_T,startProfiling,2, +field_71296_Q,serverIsRunning,2, +field_71298_S,userMessage,2, +field_71299_R,timeOfLastWarning,2, +field_71302_d,currentTask,2, +field_71303_e,percentDone,2, +field_71304_b,theProfiler,2, +field_71305_c,worldServers,2, +field_71307_n,usageSnooper,2, +field_71308_o,anvilFile,2, +field_71309_l,mcServer,2, +field_71310_m,anvilConverterForAnvilFile,2, +field_71311_j,tickTimeArray,2, +field_71312_k,timeOfLastDimensionTick,2, +field_71315_w,tickCounter,2, +field_71316_v,serverStopped,2, +field_71317_u,serverRunning,2, +field_71318_t,serverConfigManager,2, +field_71319_s,serverPort,2, +field_71320_r,hostname,1, +field_71321_q,commandManager,2, +field_71322_p,playersOnline,2, +field_71323_z,canSpawnNPCs,2, +field_71324_y,canSpawnAnimals,2, +field_71325_x,onlineMode,2, +field_71335_s,guiIsEnabled,1, +field_71337_q,gameType,1, +field_71338_p,canSpawnStructures,1, +field_71339_n,theRConThreadMain,1, +field_71340_o,settings,1, +field_71341_l,pendingCommandList,1, +field_71342_m,theRConThreadQuery,1, +field_71345_q,lanServerPing,0, +field_71346_p,isPublic,0, +field_71348_o,isGamePaused,0, +field_71349_l,mc,0, +field_71350_m,theWorldSettings,0, +field_71412_D,mcDataDir,0, +field_71415_G,inGameHasFocus,0, +field_71417_B,mouseHelper,0, +field_71419_L,debugUpdateTime,0, +field_71420_M,fpsCounter,0, +field_71421_N,prevFrameTime,0, +field_71422_O,currentServerData,0, +field_71423_H,systemTime,0, +field_71424_I,mcProfiler,0, +field_71425_J,running,0, +field_71426_K,debug,0, +field_71427_U,usageSnooper,0, +field_71428_T,timer,0, +field_71429_W,leftClickCounter,0, +field_71431_Q,fullscreen,0, +field_71432_P,theMinecraft,0, +field_71433_S,crashReporter,0, +field_71434_R,hasCrashed,0, +field_71435_Y,tempDisplayHeight,0, +field_71436_X,tempDisplayWidth,0, +field_71437_Z,theIntegratedServer,0, +field_71438_f,renderGlobal,0, +field_71439_g,thePlayer,0, +field_71440_d,displayHeight,0, +field_71441_e,theWorld,0, +field_71442_b,playerController,0, +field_71443_c,displayWidth,0, +field_71444_a,memoryReserve,0, +field_71445_n,isGamePaused,0, +field_71446_o,renderEngine,0, +field_71449_j,session,0, +field_71452_i,effectRenderer,0, +field_71453_ak,myNetworkManager,0, +field_71454_w,skipRenderWorld,0, +field_71455_al,integratedServerIsRunning,0, +field_71456_v,ingameGUI,0, +field_71457_ai,joinPlayerCounter,0, +field_71458_u,guiAchievement,0, +field_71459_aj,isDemo,0, +field_71460_t,entityRenderer,0, +field_71461_s,loadingScreen,0, +field_71462_r,currentScreen,0, +field_71464_q,standardGalacticFontRenderer,0, +field_71465_an,debugProfilerName,0, +field_71466_p,fontRendererObj,0, +field_71467_ac,rightClickDelayTimer,0, +field_71469_aa,saveLoader,0, +field_71470_ab,debugFPS,0, +field_71474_y,gameSettings,0, +field_71475_ae,serverName,0, +field_71476_x,objectMouseOver,0, +field_71477_af,serverPort,0, +field_71510_d,crashReportFile,2, +field_71511_b,cause,2, +field_71512_c,crashReportSections,2, +field_71513_a,description,2, +field_71533_a,theAdmin,2, +field_71561_b,commandSet,2, +field_71562_a,commandMap,2, +field_71567_b,allowedCharactersArray,2, +field_71576_a,theReportedExceptionCrashReport,2, +field_72307_f,hitVec,2, +field_72308_g,entityHit,2, +field_72313_a,typeOfHit,2, +field_72334_f,maxZ,2, +field_72336_d,maxX,2, +field_72337_e,maxY,2, +field_72338_b,minY,2, +field_72339_c,minZ,2, +field_72340_a,minX,2, +field_72400_f,mcServer,2, +field_72401_g,bannedPlayers,2, +field_72402_d,viewDistance,2, +field_72403_e,dateFormat,2, +field_72404_b,playerEntityList,2, +field_72405_c,maxPlayers,2, +field_72407_n,commandsAllowedForAll,2, +field_72408_o,playerPingIndex,2, +field_72409_l,whiteListEnforced,2, +field_72410_m,gameType,2, +field_72411_j,whiteListedPlayers,2, +field_72412_k,playerNBTManagerObj,2, +field_72413_h,bannedIPs,2, +field_72414_i,ops,2, +field_72416_e,hostPlayerData,0, +field_72448_b,yCoord,2, +field_72449_c,zCoord,2, +field_72450_a,xCoord,2, +field_72595_f,requestIdAsString,1, +field_72596_d,requestId,1, +field_72597_e,challengeValue,1, +field_72598_b,timestamp,1, +field_72599_c,randomChallenge,1, +field_72614_f,serverSocketList,1, +field_72616_e,socketList,1, +field_72617_b,server,1, +field_72618_c,rconThread,1, +field_72619_a,running,1, +field_72629_g,lastAuthCheckTime,1, +field_72630_n,buffer,1, +field_72631_o,incomingPacket,1, +field_72632_l,worldName,1, +field_72633_m,querySocket,1, +field_72634_j,maxPlayers,1, +field_72635_k,serverMotd,1, +field_72636_h,queryPort,1, +field_72637_i,serverPort,1, +field_72638_v,lastQueryResponseTime,1, +field_72639_u,output,1, +field_72640_t,time,1, +field_72641_s,queryClients,1, +field_72642_r,serverHostname,1, +field_72643_q,queryHostname,1, +field_72647_g,rconPort,1, +field_72648_l,clientThreads,1, +field_72649_j,serverSocket,1, +field_72650_k,rconPassword,1, +field_72651_h,serverPort,1, +field_72652_i,hostname,1, +field_72657_g,loggedIn,1, +field_72658_j,rconPassword,1, +field_72659_h,clientSocket,1, +field_72660_i,buffer,1, +field_72666_a,hexDigits,1, +field_72673_b,output,1, +field_72674_a,byteArrayOutput,1, +field_72696_f,xzDirectionsConst,2, +field_72697_d,playerInstancesToUpdate,2, +field_72698_e,playerViewRadius,2, +field_72699_b,players,2, +field_72700_c,playerInstances,2, +field_72701_a,theWorldServer,2, +field_72738_E,damagedBlocks,0, +field_72739_F,renderDistanceChunks,0, +field_72740_G,renderEntitiesStartupCounter,0, +field_72748_H,countEntitiesTotal,0, +field_72749_I,countEntitiesRendered,0, +field_72750_J,countEntitiesHidden,0, +field_72755_R,renderInfos,0, +field_72769_h,theWorld,0, +field_72770_i,renderEngine,0, +field_72771_w,glSkyList,0, +field_72772_v,starGLCallList,0, +field_72773_u,cloudTickCounter,0, +field_72777_q,mc,0, +field_72781_x,glSkyList2,0, +field_72782_b,theWorldServer,2, +field_72783_a,mcServer,2, +field_72792_d,maxTrackingDistanceThreshold,2, +field_72793_b,trackedEntities,2, +field_72794_c,trackedEntityHashTable,2, +field_72795_a,theWorld,2, +field_72814_d,hasExtendedLevels,2, +field_72815_e,worldObj,2, +field_72816_b,chunkZ,2, +field_72817_c,chunkArray,2, +field_72818_a,chunkX,2, +field_72982_D,villageCollectionObj,2, +field_72984_F,theProfiler,2, +field_72985_G,spawnHostileMobs,2, +field_72986_A,worldInfo,2, +field_72987_B,findingSpawnPoint,2, +field_72988_C,mapStorage,2, +field_72990_M,ambientTickCountdown,2, +field_72992_H,spawnPeacefulMobs,2, +field_72993_I,activeChunkSet,2, +field_72994_J,lightUpdateBlockList,2, +field_72995_K,isRemote,2, +field_72996_f,loadedEntityList,2, +field_72997_g,unloadedEntityList,2, +field_72999_e,scheduledUpdatesAreImmediate,2, +field_73001_c,cloudColour,2, +field_73003_n,prevRainingStrength,2, +field_73004_o,rainingStrength,2, +field_73005_l,updateLCG,2, +field_73006_m,DIST_HASH_MAGIC,2, +field_73007_j,weatherEffects,2, +field_73008_k,skylightSubtracted,2, +field_73010_i,playerEntities,2, +field_73011_w,provider,2, +field_73012_v,rand,2, +field_73016_r,lastLightningBolt,2, +field_73017_q,thunderingStrength,2, +field_73018_p,prevThunderingStrength,2, +field_73019_z,saveHandler,2, +field_73020_y,chunkProvider,2, +field_73021_x,worldAccesses,2, +field_73032_d,entityList,0, +field_73033_b,clientChunkProvider,0, +field_73035_a,sendQueue,0, +field_73036_L,entitySpawnQueue,0, +field_73037_M,mc,0, +field_73038_N,previousActiveChunkSet,0, +field_73058_d,disableLevelSaving,2, +field_73059_b,theChunkProviderServer,2, +field_73061_a,mcServer,2, +field_73062_L,theEntityTracker,2, +field_73063_M,thePlayerManager,2, +field_73064_N,pendingTickListEntriesHashSet,2, +field_73065_O,pendingTickListEntriesTreeSet,2, +field_73068_P,allPlayersSleeping,2, +field_73069_S,bonusChestContent,2, +field_73071_a,demoWorldSettings,2, +field_73072_L,demoWorldSeed,2, +field_73088_d,isDestroyingBlock,2, +field_73089_e,initialDamage,2, +field_73090_b,thisPlayerMP,2, +field_73091_c,gameType,2, +field_73092_a,theWorld,2, +field_73093_n,initialBlockDamage,2, +field_73094_o,durabilityRemainingOnBlock,2, +field_73097_j,receivedFinishDiggingPacket,2, +field_73100_i,curblockDamage,2, +field_73103_d,demoTimeExpired,2, +field_73112_e,partialBlockProgress,0, +field_73115_a,miningPlayerEntId,0, +field_73126_f,encodedPosZ,2, +field_73127_g,encodedRotationYaw,2, +field_73128_d,encodedPosX,2, +field_73129_e,encodedPosY,2, +field_73130_b,trackingDistanceThreshold,2, +field_73131_c,updateFrequency,2, +field_73132_a,trackedEntity,2, +field_73133_n,playerEntitiesUpdated,2, +field_73134_o,trackingPlayers,2, +field_73135_l,motionZ,2, +field_73136_m,updateCounter,2, +field_73137_j,lastTrackedEntityMotionX,2, +field_73138_k,lastTrackedEntityMotionY,2, +field_73139_h,encodedRotationPitch,2, +field_73140_i,lastHeadMotion,2, +field_73141_v,ridingEntity,2, +field_73142_u,ticksSinceLastForcedTeleport,2, +field_73143_t,sendVelocityUpdates,2, +field_73144_s,firstUpdateDone,2, +field_73145_r,lastTrackedEntityPosZ,2, +field_73146_q,lastTrackedEntityPosY,2, +field_73147_p,lastTrackedEntityPosX,2, +field_73161_b,random,2, +field_73163_a,worldObj,2, +field_73167_f,noiseData3,2, +field_73168_g,noiseData4,2, +field_73169_d,noiseData1,2, +field_73170_e,noiseData2,2, +field_73171_b,netherNoiseGen7,2, +field_73172_c,genNetherBridge,2, +field_73173_a,netherNoiseGen6,2, +field_73174_n,netherrackExculsivityNoiseGen,2, +field_73175_o,worldObj,2, +field_73176_l,netherNoiseGen3,2, +field_73177_m,slowsandGravelNoiseGen,2, +field_73178_j,netherNoiseGen1,2, +field_73179_k,netherNoiseGen2,2, +field_73180_h,noiseData5,2, +field_73181_i,hellRNG,2, +field_73182_t,netherCaveGenerator,2, +field_73183_s,netherrackExclusivityNoise,2, +field_73184_r,gravelNoise,2, +field_73185_q,slowsandNoise,2, +field_73186_p,noiseField,2, +field_73190_f,noiseData4,2, +field_73191_g,noiseData5,2, +field_73192_d,noiseData2,2, +field_73193_e,noiseData3,2, +field_73194_b,noiseGen5,2, +field_73195_c,noiseData1,2, +field_73196_a,noiseGen4,2, +field_73197_n,densities,2, +field_73198_o,biomesForGeneration,2, +field_73199_l,noiseGen3,2, +field_73200_m,endWorld,2, +field_73201_j,noiseGen1,2, +field_73202_k,noiseGen2,2, +field_73204_i,endRNG,2, +field_73212_b,noiseGen6,2, +field_73213_c,mobSpawnerNoise,2, +field_73214_a,noiseGen5,2, +field_73220_k,rand,2, +field_73223_w,mineshaftGenerator,2, +field_73224_v,villageGenerator,2, +field_73225_u,strongholdGenerator,2, +field_73226_t,caveGenerator,2, +field_73227_s,stoneNoise,2, +field_73229_q,mapFeaturesEnabled,2, +field_73230_p,worldObj,2, +field_73231_z,biomesForGeneration,2, +field_73232_y,ravineGenerator,2, +field_73233_x,scatteredFeatureGenerator,2, +field_73235_d,worldObj,0, +field_73236_b,chunkMapping,0, +field_73237_c,chunkListing,0, +field_73238_a,blankChunk,0, +field_73244_f,id2ChunkMap,2, +field_73245_g,loadedChunks,2, +field_73246_d,serverChunkGenerator,2, +field_73247_e,chunkLoader,2, +field_73248_b,droppedChunksSet,2, +field_73249_c,dummyChunk,2, +field_73250_a,chunkLoadOverride,2, +field_73251_h,worldObj,2, +field_73260_f,flagsYAreasToUpdate,2, +field_73262_e,numBlocksToUpdate,2, +field_73263_b,playersWatchingChunk,2, +field_73264_c,chunkCoords,2, +field_73672_b,serverProperties,1, +field_73673_c,serverPropertiesFile,1, +field_73692_f,banEndDate,2, +field_73693_g,reason,2, +field_73694_d,banStartDate,2, +field_73695_e,bannedBy,2, +field_73698_a,dateFormat,2, +field_73701_b,sender,1, +field_73702_a,input,1, +field_73723_d,systemTime,0, +field_73725_b,mc,0, +field_73726_c,currentlyDisplayedText,0, +field_73727_a,message,0, +field_73735_i,zLevel,0, +field_73837_f,updateCounter,0, +field_73838_g,recordPlaying,0, +field_73839_d,mc,0, +field_73840_e,persistantChatGUI,0, +field_73841_b,itemRenderer,0, +field_73842_c,rand,0, +field_73843_a,prevVignetteBrightness,0, +field_73844_j,recordIsPlaying,0, +field_73845_h,recordPlayingUpFor,0, +field_73973_d,buttonResetDemo,0, +field_73974_b,updateCounter,0, +field_73975_c,splashText,0, +field_73977_n,viewportTexture,0, +field_73978_o,titlePanoramaPaths,0, +field_73979_m,panoramaTimer,0, +field_74276_f,lastHRTime,0, +field_74277_g,lastSyncSysClock,0, +field_74278_d,timerSpeed,0, +field_74279_e,elapsedPartialTicks,0, +field_74280_b,elapsedTicks,0, +field_74281_c,renderPartialTicks,0, +field_74282_a,ticksPerSecond,0, +field_74283_j,timeSyncAdjustment,0, +field_74284_h,lastSyncHRClock,0, +field_74286_b,username,0, +field_74293_b,pixelBuffer,0, +field_74294_c,pixelValues,0, +field_74295_a,dateFormat,0, +field_74310_D,keyBindChat,0, +field_74311_E,keyBindSneak,0, +field_74312_F,keyBindAttack,0, +field_74313_G,keyBindUseItem,0, +field_74314_A,keyBindJump,0, +field_74316_C,keyBindDrop,0, +field_74317_L,mc,0, +field_74318_M,difficulty,0, +field_74319_N,hideGUI,0, +field_74320_O,thirdPersonView,0, +field_74321_H,keyBindPlayerList,0, +field_74322_I,keyBindPickBlock,0, +field_74323_J,keyBindCommand,0, +field_74324_K,keyBindings,0, +field_74325_U,debugCamEnable,0, +field_74326_T,smoothCamera,0, +field_74329_Q,showDebugProfilerChart,0, +field_74330_P,showDebugInfo,0, +field_74332_R,lastServer,0, +field_74333_Y,gammaSetting,0, +field_74334_X,fovSetting,0, +field_74335_Z,guiScale,0, +field_74336_f,viewBobbing,0, +field_74337_g,anaglyph,0, +field_74338_d,invertMouse,0, +field_74341_c,mouseSensitivity,0, +field_74343_n,chatVisibility,0, +field_74344_o,chatColours,0, +field_74345_l,clouds,0, +field_74347_j,fancyGraphics,0, +field_74348_k,ambientOcclusion,0, +field_74350_i,limitFramerate,0, +field_74351_w,keyBindForward,0, +field_74352_v,enableVsync,0, +field_74353_u,fullScreen,0, +field_74354_ai,optionsFile,0, +field_74355_t,snooperEnabled,0, +field_74357_r,chatOpacity,0, +field_74358_q,chatLinksPrompt,0, +field_74359_p,chatLinks,0, +field_74362_aa,particleSetting,0, +field_74363_ab,language,0, +field_74364_ag,PARTICLES,0, +field_74366_z,keyBindRight,0, +field_74367_ae,GUISCALES,0, +field_74368_y,keyBindBack,0, +field_74370_x,keyBindLeft,0, +field_74375_b,deltaY,0, +field_74377_a,deltaX,0, +field_74385_A,enumFloat,0, +field_74386_B,enumBoolean,0, +field_74387_C,enumString,0, +field_74512_d,keyCode,0, +field_74513_e,pressed,0, +field_74514_b,hash,0, +field_74515_c,keyDescription,0, +field_74516_a,keybindArray,0, +field_74522_a,colorBuffer,0, +field_74541_b,lineString,0, +field_74542_c,chatLineID,0, +field_74543_a,updateCounterCreated,0, +field_74586_f,rotationZ,0, +field_74587_g,rotationYZ,0, +field_74588_d,rotationX,0, +field_74589_e,rotationXZ,0, +field_74596_h,rotationXY,0, +field_74746_b,tagType,2, +field_74747_a,tagList,2, +field_74748_a,data,2, +field_74749_a,intArray,2, +field_74750_a,data,2, +field_74751_a,data,2, +field_74752_a,data,2, +field_74753_a,data,2, +field_74754_a,data,2, +field_74755_a,data,2, +field_74756_a,data,2, +field_74784_a,tagMap,2, +field_74816_c,languageList,2, +field_74817_a,instance,2, +field_74839_a,localizedName,2, +field_74845_a,errorObjects,2, +field_74885_f,coordBaseMode,2, +field_74886_g,componentType,2, +field_74887_e,boundingBox,2, +field_74896_a,villagersSpawned,2, +field_74909_b,isTallHouse,2, +field_74910_c,tablePosition,2, +field_74913_b,isRoofAccessible,2, +field_74917_c,hasMadeChest,2, +field_74918_a,villageBlacksmithChestContents,2, +field_74926_d,structVillagePieceWeight,2, +field_74927_b,inDesert,2, +field_74928_c,terrainType,2, +field_74929_a,worldChunkMngr,2, +field_74931_h,structureVillageWeightedPieceList,2, +field_74934_a,averageGroundLevel,2, +field_74937_b,scatteredFeatureSizeY,2, +field_74938_c,scatteredFeatureSizeZ,2, +field_74939_a,scatteredFeatureSizeX,2, +field_74941_i,itemsToGenerateInTemple,2, +field_74942_n,junglePyramidsRandomScatteredStones,2, +field_74949_a,roomsLinkedToTheRoom,2, +field_74952_b,isMultipleFloors,2, +field_74953_a,corridorDirection,2, +field_74955_d,sectionCount,2, +field_74956_b,hasSpiders,2, +field_74957_c,spawnerPlaced,2, +field_74958_a,hasRails,2, +field_74968_b,primaryWeights,2, +field_74969_c,secondaryWeights,2, +field_74970_a,theNetherBridgePieceWeight,2, +field_74972_a,fillSeed,2, +field_74976_a,hasSpawner,2, +field_75002_c,hasMadeChest,2, +field_75003_a,strongholdChestContents,2, +field_75005_a,hasSpawner,2, +field_75007_b,strongholdLibraryChestContents,2, +field_75008_c,isLargeRoom,2, +field_75013_b,roomType,2, +field_75014_c,strongholdRoomCrossingChestContents,2, +field_75019_b,expandsX,2, +field_75020_c,expandsZ,2, +field_75025_b,strongholdPortalRoom,2, +field_75027_a,strongholdPieceWeight,2, +field_75038_b,rand,2, +field_75039_c,worldObj,2, +field_75040_a,range,2, +field_75053_d,structureMap,2, +field_75054_f,terrainType,2, +field_75055_e,villageSpawnBiomes,2, +field_75056_f,ranBiomeCheck,2, +field_75057_g,structureCoords,2, +field_75060_e,spawnList,2, +field_75061_e,biomelist,2, +field_75074_b,boundingBox,2, +field_75075_a,components,2, +field_75076_c,hasMoreThanTwoComponents,2, +field_75087_d,villagePiecesLimit,2, +field_75088_b,villagePieceWeight,2, +field_75089_c,villagePiecesSpawned,2, +field_75090_a,villagePieceClass,2, +field_75096_f,flySpeed,2, +field_75097_g,walkSpeed,2, +field_75098_d,isCreativeMode,2, +field_75099_e,allowEdit,2, +field_75100_b,isFlying,2, +field_75101_c,allowFlying,2, +field_75102_a,disableDamage,2, +field_75123_d,foodTimer,2, +field_75124_e,prevFoodLevel,2, +field_75125_b,foodSaturationLevel,2, +field_75126_c,foodExhaustionLevel,2, +field_75127_a,foodLevel,2, +field_75148_f,playerList,2, +field_75149_d,crafters,2, +field_75150_e,transactionID,0, +field_75151_b,inventorySlots,2, +field_75152_c,windowId,2, +field_75153_a,inventoryItemStacks,2, +field_75154_f,numRows,2, +field_75155_e,lowerChestInventory,2, +field_75158_e,tileFurnace,2, +field_75160_f,craftResult,2, +field_75161_g,worldObj,2, +field_75162_e,craftMatrix,2, +field_75167_g,enchantLevels,2, +field_75168_e,tableInventory,2, +field_75169_l,rand,2, +field_75172_h,worldPointer,2, +field_75176_f,merchantInventory,2, +field_75177_g,theWorld,2, +field_75178_e,theMerchant,2, +field_75179_f,craftResult,2, +field_75180_g,isLocalWorld,2, +field_75181_e,craftMatrix,2, +field_75186_f,theSlot,2, +field_75187_g,brewTime,2, +field_75188_e,tileBrewingStand,2, +field_75191_d,instancesLimit,2, +field_75192_b,pieceWeight,2, +field_75193_c,instancesSpawned,2, +field_75194_a,pieceClass,2, +field_75203_d,strongComponentType,2, +field_75204_e,strongholdStones,2, +field_75205_b,pieceWeightArray,2, +field_75206_c,structurePieceList,2, +field_75207_a,totalWeight,2, +field_75221_f,yDisplayPosition,2, +field_75222_d,slotNumber,2, +field_75223_e,xDisplayPosition,2, +field_75224_c,inventory,2, +field_75225_a,slotIndex,2, +field_75229_a,thePlayer,2, +field_75232_b,thePlayer,2, +field_75233_a,theMerchantInventory,2, +field_75234_h,theMerchant,2, +field_75237_g,amountCrafted,2, +field_75238_b,thePlayer,2, +field_75239_a,craftMatrix,2, +field_75244_a,player,2, +field_75245_a,doorEnum,2, +field_75254_a,mutexBits,2, +field_75255_d,idleTime,2, +field_75256_b,lookX,2, +field_75257_c,lookZ,2, +field_75258_a,idleEntity,2, +field_75259_d,playTime,2, +field_75260_b,targetVillager,2, +field_75261_c,speed,2, +field_75262_a,villagerObj,2, +field_75263_d,randPosY,2, +field_75264_e,randPosZ,2, +field_75265_b,speed,2, +field_75266_c,randPosX,2, +field_75267_a,theEntityCreature,2, +field_75268_b,creeperAttackTarget,2, +field_75269_a,swellingCreeper,2, +field_75271_b,isSitting,2, +field_75272_a,theEntity,2, +field_75273_a,theEntity,2, +field_75274_b,frontDoor,2, +field_75275_a,entityObj,2, +field_75276_a,villager,2, +field_75280_d,targetY,2, +field_75281_e,targetZ,2, +field_75282_b,speed,2, +field_75283_c,targetX,2, +field_75284_a,temptedEntity,2, +field_75285_l,scaredByPlayerMovement,2, +field_75287_j,isRunning,2, +field_75289_h,temptingPlayer,2, +field_75290_i,delayTemptCounter,2, +field_75291_d,tookGolemRose,2, +field_75292_b,theGolem,2, +field_75293_c,takeGolemRoseTick,2, +field_75294_a,theVillager,2, +field_75297_f,shouldCheckSight,2, +field_75298_g,targetUnseenTicks,2, +field_75299_d,taskOwner,2, +field_75301_b,targetSearchStatus,2, +field_75302_c,targetSearchDelay,2, +field_75303_a,nearbyOnly,2, +field_75304_b,villageAgressorTarget,2, +field_75305_a,irongolem,2, +field_75306_g,theNearestAttackableTargetSorter,2, +field_75307_b,targetClass,2, +field_75308_c,targetChance,2, +field_75309_a,targetEntity,2, +field_75310_g,theTameable,2, +field_75312_a,entityCallsForHelp,2, +field_75313_b,theTarget,2, +field_75314_a,theEntityTameable,2, +field_75315_b,theOwnerAttacker,2, +field_75316_a,theDefendingTameable,2, +field_75320_d,rangedAttackTime,2, +field_75321_e,entityMoveSpeed,2, +field_75322_b,entityHost,2, +field_75323_c,attackTarget,2, +field_75325_h,maxRangedAttackTime,2, +field_75326_b,leapTarget,2, +field_75327_c,leapMotionY,2, +field_75328_a,leaper,2, +field_75329_f,watchedClass,2, +field_75330_d,lookTime,2, +field_75332_b,theWatcher,2, +field_75333_c,maxDistanceForPlayer,2, +field_75334_a,closestEntity,2, +field_75335_b,theMerchant,2, +field_75337_g,petPathfinder,2, +field_75338_d,thePet,2, +field_75339_e,theOwner,2, +field_75340_b,maxDist,2, +field_75341_c,minDist,2, +field_75342_a,theWorld,2, +field_75346_b,parentAnimal,2, +field_75348_a,childAnimal,2, +field_75350_f,hasStoppedDoorInteraction,2, +field_75351_g,entityPositionX,2, +field_75356_a,theEntity,2, +field_75357_h,entityPositionZ,2, +field_75358_j,previousBreakProgress,2, +field_75359_i,breakingTime,2, +field_75360_j,closeDoorTemporisation,2, +field_75361_i,closeDoor,2, +field_75367_f,theWorld,2, +field_75368_d,shelterZ,2, +field_75369_e,movementSpeed,2, +field_75370_b,shelterX,2, +field_75371_c,shelterY,2, +field_75372_a,theCreature,2, +field_75373_a,theEntity,2, +field_75374_f,entityPathEntity,2, +field_75375_g,entityPathNavigate,2, +field_75376_d,closestLivingEntity,2, +field_75378_b,farSpeed,2, +field_75379_c,nearSpeed,2, +field_75380_a,theEntity,2, +field_75383_d,minPlayerDistance,2, +field_75385_b,thePlayer,2, +field_75386_c,worldObject,2, +field_75387_a,theWolf,2, +field_75390_d,theAnimal,2, +field_75391_e,targetMate,2, +field_75392_b,spawnBabyDelay,2, +field_75393_c,moveSpeed,2, +field_75394_a,theWorld,2, +field_75395_b,theVillager,2, +field_75396_c,lookTime,2, +field_75397_a,theGolem,2, +field_75408_d,attackCountdown,2, +field_75409_b,theEntity,2, +field_75410_c,theVictim,2, +field_75411_a,theWorld,2, +field_75415_f,doorList,2, +field_75416_d,doorInfo,2, +field_75417_e,isNocturnal,2, +field_75418_b,movementSpeed,2, +field_75419_c,entityPathNavigate,2, +field_75420_a,theEntity,2, +field_75421_d,insidePosZ,2, +field_75422_b,doorInfo,2, +field_75423_c,insidePosX,2, +field_75424_a,entityObj,2, +field_75425_f,speed,2, +field_75426_g,maxTargetDistance,2, +field_75427_d,movePosY,2, +field_75428_e,movePosZ,2, +field_75429_b,targetEntity,2, +field_75430_c,movePosX,2, +field_75431_a,theEntity,2, +field_75432_d,movePosZ,2, +field_75433_e,movementSpeed,2, +field_75434_b,movePosX,2, +field_75435_c,movePosY,2, +field_75436_a,theEntity,2, +field_75437_f,longMemory,2, +field_75438_g,entityPathEntity,2, +field_75439_d,attackTick,2, +field_75440_e,speedTowardsTarget,2, +field_75441_b,attacker,2, +field_75443_a,worldObj,2, +field_75444_h,classTarget,2, +field_75448_d,worldObj,2, +field_75449_e,matingTimeout,2, +field_75450_b,villagerObj,2, +field_75451_c,mate,2, +field_75452_a,villageObj,2, +field_75453_d,zPosition,2, +field_75454_e,speed,2, +field_75455_b,xPosition,2, +field_75456_c,yPosition,2, +field_75457_a,entity,2, +field_75459_b,theEntity,2, +field_75465_a,staticVector,2, +field_75475_f,lastActivityTimestamp,2, +field_75476_g,isDetachedFromVillageFlag,2, +field_75482_h,doorOpeningRestrictionCounter,2, +field_75510_g,totalTicks,2, +field_75511_d,speed,2, +field_75512_e,pathSearchRange,2, +field_75513_b,worldObj,2, +field_75514_c,currentPath,2, +field_75515_a,theEntity,2, +field_75520_h,ticksAtLastPos,2, +field_75521_i,lastPosCheck,2, +field_75524_b,seenEntities,2, +field_75525_c,unseenEntities,2, +field_75526_a,entityObj,2, +field_75531_f,theVillage,2, +field_75537_a,worldObj,2, +field_75552_d,villageList,2, +field_75553_e,tickCounter,2, +field_75554_b,villagerPositionsList,2, +field_75555_c,newDoors,2, +field_75556_a,worldObj,2, +field_75580_f,lastAddDoorTimestamp,2, +field_75581_g,tickCounter,2, +field_75582_d,center,2, +field_75583_e,villageRadius,2, +field_75584_b,villageDoorInfoList,2, +field_75585_c,centerHelper,2, +field_75586_a,worldObj,2, +field_75587_j,numIronGolems,2, +field_75588_h,numVillagers,2, +field_75589_i,villageAgressors,2, +field_75590_b,agressionTime,2, +field_75592_a,agressor,2, +field_75603_f,creatureMaterial,2, +field_75604_g,isPeacefulCreature,2, +field_75605_d,creatureClass,2, +field_75606_e,maxNumberOfCreature,2, +field_75611_b,primaryColor,2, +field_75612_c,secondaryColor,2, +field_75613_a,spawnedID,2, +field_75623_d,idToClassMapping,2, +field_75624_e,classToIDMapping,2, +field_75625_b,stringToClassMapping,2, +field_75626_c,classToStringMapping,2, +field_75627_a,entityEggs,2, +field_75643_f,update,2, +field_75644_d,posZ,2, +field_75645_e,speed,2, +field_75646_b,posX,2, +field_75647_c,posY,2, +field_75648_a,entity,2, +field_75653_f,posY,2, +field_75654_g,posZ,2, +field_75655_d,isLooking,2, +field_75656_e,posX,2, +field_75657_b,deltaLookYaw,2, +field_75658_c,deltaLookPitch,2, +field_75659_a,entity,2, +field_75662_b,isJumping,2, +field_75663_a,entity,2, +field_75666_b,rotationTickCounter,2, +field_75667_c,prevRenderYawHead,2, +field_75668_a,theLiving,2, +field_75675_d,watched,2, +field_75676_b,dataValueId,2, +field_75677_c,watchedObject,2, +field_75678_a,objectType,2, +field_75694_d,lock,2, +field_75695_b,watchedObjects,2, +field_75696_c,objectChanged,2, +field_75697_a,dataTypes,2, +field_75699_D,offsetX,2, +field_75700_E,offsetY,2, +field_75702_A,title,2, +field_75703_B,sizeX,2, +field_75704_C,sizeY,2, +field_75731_b,priority,2, +field_75733_a,action,2, +field_75737_d,savedIOCounter,2, +field_75738_e,isThreadWaiting,2, +field_75739_b,threadedIOQueue,2, +field_75740_c,writeQueuedCounter,2, +field_75741_a,threadedIOInstance,2, +field_75748_d,idCounts,2, +field_75749_b,loadedDataMap,2, +field_75750_c,loadedDataList,2, +field_75751_a,saveHandler,2, +field_75767_f,saveDirectoryName,2, +field_75768_d,mapDataDir,2, +field_75769_e,initializationTime,2, +field_75770_b,worldDirectory,2, +field_75771_c,playersDirectory,2, +field_75778_d,tickCount,2, +field_75779_e,tickRate,2, +field_75780_b,executingTaskEntries,2, +field_75781_c,theProfiler,2, +field_75782_a,taskEntries,2, +field_75791_f,theEnumGameType,0, +field_75792_g,hardcore,0, +field_75793_d,sizeOnDisk,0, +field_75794_e,requiresConversion,0, +field_75795_b,displayName,0, +field_75796_c,lastTimePlayed,0, +field_75797_a,fileName,0, +field_75798_h,cheatsEnabled,0, +field_75808_a,savesDirectory,2, +field_75825_d,chunkSaveLocation,2, +field_75826_b,pendingAnvilChunksCoordinates,2, +field_75827_c,syncLockObject,2, +field_75828_a,chunksToRemove,2, +field_75833_f,distanceToNext,2, +field_75834_g,distanceToTarget,2, +field_75835_d,index,2, +field_75836_e,totalPathDistance,2, +field_75837_b,yCoord,2, +field_75838_c,zCoord,2, +field_75839_a,xCoord,2, +field_75840_j,hash,2, +field_75841_h,previous,2, +field_75842_i,visited,2, +field_75851_b,count,2, +field_75852_a,pathPoints,2, +field_75864_d,pathOptions,2, +field_75866_b,path,2, +field_75882_b,currentPathIndex,2, +field_75883_c,pathLength,2, +field_75884_a,points,2, +field_75906_d,baseSeed,2, +field_75907_b,worldGenSeed,2, +field_75908_c,chunkSeed,2, +field_75909_a,parent,2, +field_75910_b,biomePatternGeneratorChain,2, +field_75911_c,riverPatternGeneratorChain,2, +field_75928_D,objectCraftStats,2, +field_75929_E,objectUseStats,2, +field_75930_F,objectBreakStats,2, +field_75932_A,playerKillsStat,2, +field_75933_B,fishCaughtStat,2, +field_75934_C,mineBlockStatArray,2, +field_75938_d,itemStats,2, +field_75939_e,objectMineStats,2, +field_75940_b,allStats,2, +field_75941_c,generalStats,2, +field_75942_a,oneShotStats,2, +field_75943_n,distanceFallenStat,2, +field_75944_o,distanceClimbedStat,2, +field_75945_l,distanceWalkedStat,2, +field_75946_m,distanceSwumStat,2, +field_75947_j,leaveGameStat,2, +field_75948_k,minutesPlayedStat,2, +field_75951_w,damageDealtStat,2, +field_75952_v,dropStat,2, +field_75953_u,jumpStat,2, +field_75954_t,distanceByPigStat,2, +field_75955_s,distanceByBoatStat,2, +field_75956_r,distanceByMinecartStat,2, +field_75957_q,distanceDoveStat,2, +field_75958_p,distanceFlownStat,2, +field_75959_z,mobKillsStat,2, +field_75960_y,deathsStat,2, +field_75961_x,damageTakenStat,2, +field_75972_f,isIndependent,2, +field_75974_d,decimalFormat,2, +field_75975_e,statId,2, +field_75976_b,type,2, +field_75977_c,numberFormat,2, +field_75978_a,statName,2, +field_75979_j,distanceStatType,2, +field_75980_h,simpleStatType,2, +field_75981_i,timeStatType,2, +field_75990_d,theItemStack,2, +field_75991_b,displayRow,2, +field_75992_c,parentAchievement,2, +field_75993_a,displayColumn,2, +field_75994_l,statStringFormatter,0, +field_75995_m,isSpecial,2, +field_75996_k,achievementDescription,2, +field_75998_D,enchantments,2, +field_75999_E,overkill,2, +field_76000_F,bookcase,2, +field_76001_A,potion,2, +field_76002_B,theEnd,2, +field_76003_C,theEnd2,2, +field_76004_f,openInventory,2, +field_76005_g,mineWood,2, +field_76006_d,maxDisplayRow,2, +field_76007_e,achievementList,2, +field_76008_b,minDisplayRow,2, +field_76009_c,maxDisplayColumn,2, +field_76010_a,minDisplayColumn,2, +field_76011_n,bakeCake,2, +field_76012_o,buildBetterPickaxe,2, +field_76013_l,buildHoe,2, +field_76014_m,makeBread,2, +field_76015_j,buildFurnace,2, +field_76016_k,acquireIron,2, +field_76017_h,buildWorkBench,2, +field_76018_i,buildPickaxe,2, +field_76019_w,diamonds,2, +field_76020_v,snipeSkeleton,2, +field_76021_u,flyPig,2, +field_76022_t,killCow,2, +field_76023_s,killEnemy,2, +field_76024_r,buildSword,2, +field_76025_q,onARail,2, +field_76026_p,cookFish,2, +field_76027_z,blazeRod,2, +field_76028_y,ghast,2, +field_76029_x,portal,2, +field_76032_d,slotHash,2, +field_76033_b,valueEntry,2, +field_76034_c,nextEntry,2, +field_76035_a,hashEntry,2, +field_76051_d,growFactor,2, +field_76053_b,count,2, +field_76054_c,threshold,2, +field_76055_a,slots,2, +field_76094_f,worldTime,2, +field_76095_g,lastTimePlayed,2, +field_76096_d,spawnY,2, +field_76097_e,spawnZ,2, +field_76098_b,terrainType,2, +field_76099_c,spawnX,2, +field_76100_a,randomSeed,2, +field_76101_n,rainTime,2, +field_76102_o,thundering,2, +field_76103_l,saveVersion,2, +field_76104_m,raining,2, +field_76105_j,dimension,2, +field_76106_k,levelName,2, +field_76107_h,sizeOnDisk,2, +field_76108_i,playerTag,2, +field_76109_u,initialized,2, +field_76110_t,allowCommands,2, +field_76111_s,hardcore,2, +field_76112_r,mapFeaturesEnabled,2, +field_76113_q,theGameType,2, +field_76114_p,thunderTime,2, +field_76115_a,theWorldInfo,2, +field_76117_a,internalMap,2, +field_76144_a,SIN_TABLE,2, +field_76147_d,hash,2, +field_76148_b,value,2, +field_76149_c,nextEntry,2, +field_76150_a,key,2, +field_76165_d,percentUseable,2, +field_76166_e,modCount,2, +field_76167_b,numHashElements,2, +field_76168_c,capacity,2, +field_76169_a,hashArray,2, +field_76189_a,dirty,2, +field_76190_i,mapName,2, +field_76196_g,playersArrayList,2, +field_76197_d,scale,2, +field_76198_e,colors,2, +field_76199_b,zCenter,2, +field_76200_c,dimension,2, +field_76201_a,xCenter,2, +field_76202_j,playersHashMap,2, +field_76203_h,playersVisibleOnMap,2, +field_76211_a,entityplayerObj,2, +field_76233_E,piston,2, +field_76234_F,materialMapColor,2, +field_76235_G,canBurn,2, +field_76239_H,replaceable,2, +field_76240_I,isTranslucent,2, +field_76241_J,requiresNoTool,2, +field_76242_K,mobilityFlag,2, +field_76281_a,mapColorArray,2, +field_76290_q,colorIndex,2, +field_76291_p,colorValue,2, +field_76292_a,itemWeight,2, +field_76295_d,theMinimumChanceToGenerateItem,2, +field_76296_e,theMaximumChanceToGenerateItem,2, +field_76297_b,theItemId,2, +field_76299_d,maxGroupCount,2, +field_76300_b,entityClass,2, +field_76301_c,minGroupCount,2, +field_76302_b,enchantmentobj,2, +field_76303_c,enchantmentLevel,2, +field_76306_b,octaves,2, +field_76307_a,generatorCollection,2, +field_76312_d,permutations,2, +field_76313_b,yCoord,2, +field_76314_c,zCoord,2, +field_76315_a,xCoord,2, +field_76323_d,profilingSection,2, +field_76324_e,profilingMap,2, +field_76325_b,sectionList,2, +field_76326_c,timestampList,2, +field_76327_a,profilingEnabled,2, +field_76339_a,patternControlCode,2, +field_76366_f,starve,2, +field_76367_g,cactus,2, +field_76368_d,inWall,2, +field_76369_e,drown,2, +field_76370_b,onFire,2, +field_76371_c,lava,2, +field_76372_a,inFire,2, +field_76373_n,damageType,2, +field_76374_o,isUnblockable,2, +field_76376_m,magic,2, +field_76377_j,generic,2, +field_76378_k,explosion,2, +field_76379_h,fall,2, +field_76380_i,outOfWorld,2, +field_76381_t,difficultyScaled,2, +field_76382_s,projectile,2, +field_76383_r,fireDamage,2, +field_76384_q,hungerDamage,2, +field_76385_p,isDamageAllowedInCreativeMode,2, +field_76386_o,damageSourceEntity,2, +field_76387_p,indirectEntity,2, +field_76412_L,effectiveness,2, +field_76413_M,usable,2, +field_76414_N,liquidColor,2, +field_76415_H,id,2, +field_76416_I,name,2, +field_76417_J,statusIconIndex,2, +field_76418_K,isBadEffect,2, +field_76419_f,digSlowdown,2, +field_76420_g,damageBoost,2, +field_76421_d,moveSlowdown,2, +field_76422_e,digSpeed,2, +field_76424_c,moveSpeed,2, +field_76425_a,potionTypes,2, +field_76426_n,fireResistance,2, +field_76427_o,waterBreathing,2, +field_76428_l,regeneration,2, +field_76429_m,resistance,2, +field_76430_j,jump,2, +field_76431_k,confusion,2, +field_76432_h,heal,2, +field_76433_i,harm,2, +field_76436_u,poison,2, +field_76437_t,weakness,2, +field_76438_s,hunger,2, +field_76439_r,nightVision,2, +field_76440_q,blindness,2, +field_76441_p,invisibility,2, +field_76443_y,saturation,2, +field_76444_x,absorption,2, +field_76447_d,freeLargeArrays,2, +field_76448_e,inUseLargeArrays,2, +field_76449_b,freeSmallArrays,2, +field_76450_c,inUseSmallArrays,2, +field_76451_a,intCacheSize,2, +field_76460_b,duration,2, +field_76461_c,amplifier,2, +field_76462_a,potionID,2, +field_76476_f,syncLock,2, +field_76477_g,isRunning,2, +field_76478_d,playerStatsCollector,2, +field_76479_e,threadTrigger,2, +field_76480_b,uniqueID,2, +field_76481_c,serverUrl,2, +field_76483_h,selfCounter,2, +field_76488_a,doBlockNotify,2, +field_76501_f,height,2, +field_76502_g,heightAttenuation,2, +field_76504_e,heightLimit,2, +field_76508_n,leafDistanceLimit,2, +field_76513_k,leafDensity,2, +field_76517_b,numberOfBlocks,2, +field_76520_b,woodMetadata,2, +field_76521_c,leavesMetadata,2, +field_76522_a,baseHeight,2, +field_76523_a,mushroomType,2, +field_76530_d,metaLeaves,2, +field_76531_b,vinesGrow,2, +field_76532_c,metaWood,2, +field_76533_a,minTreeHeight,2, +field_76539_b,radius,2, +field_76541_b,numberOfBlocks,2, +field_76545_b,itemsToGenerateInBonusChest,2, +field_76547_b,nbtTags,2, +field_76548_a,chunkCoordinate,2, +field_76553_a,regionsByFilename,2, +field_76573_f,lightBrightnessTable,2, +field_76574_g,dimensionId,2, +field_76575_d,isHellWorld,2, +field_76576_e,hasNoSky,2, +field_76577_b,terrainType,2, +field_76578_c,worldChunkMgr,2, +field_76579_a,worldObj,2, +field_76580_h,colorsSunriseSunset,2, +field_76585_a,data,2, +field_76634_f,heightMap,2, +field_76635_g,xPosition,2, +field_76636_d,isChunkLoaded,2, +field_76637_e,worldObj,2, +field_76638_b,precipitationHeightMap,2, +field_76639_c,updateSkylightColumns,2, +field_76641_n,lastSaveTime,2, +field_76643_l,isModified,2, +field_76644_m,hasEntities,2, +field_76645_j,entityLists,2, +field_76646_k,isTerrainPopulated,2, +field_76647_h,zPosition,2, +field_76649_t,queuedLightChecks,2, +field_76650_s,isGapLightingUpdated,2, +field_76651_r,blockBiomeArray,2, +field_76652_q,storageArrays,2, +field_76679_g,blocklightArray,2, +field_76682_b,blockRefCount,2, +field_76683_c,tickRefCount,2, +field_76684_a,yBase,2, +field_76685_h,skylightArray,2, +field_76687_b,depthBits,2, +field_76688_c,depthBitsPlusFour,2, +field_76689_a,data,2, +field_76692_f,data,2, +field_76693_g,blocks,2, +field_76694_d,blockLight,2, +field_76695_e,skyLight,2, +field_76696_b,terrainPopulated,2, +field_76697_c,heightmap,2, +field_76698_a,lastUpdated,2, +field_76699_l,z,2, +field_76701_k,x,2, +field_76702_h,entities,2, +field_76714_f,sectorFree,2, +field_76715_g,sizeDelta,2, +field_76716_d,offsets,2, +field_76717_e,chunkTimestamps,2, +field_76718_b,fileName,2, +field_76719_c,dataFile,2, +field_76720_a,emptySector,2, +field_76721_h,lastModified,2, +field_76722_b,chunkX,2, +field_76723_c,chunkZ,2, +field_76748_D,minHeight,2, +field_76749_E,maxHeight,2, +field_76750_F,temperature,2, +field_76751_G,rainfall,2, +field_76752_A,topBlock,2, +field_76753_B,fillerBlock,2, +field_76754_C,fillerBlockMetadata,2, +field_76755_L,spawnableWaterCreatureList,2, +field_76756_M,biomeID,2, +field_76757_N,worldGeneratorTrees,2, +field_76758_O,worldGeneratorBigTree,2, +field_76759_H,waterColorMultiplier,2, +field_76760_I,theBiomeDecorator,2, +field_76761_J,spawnableMonsterList,2, +field_76762_K,spawnableCreatureList,2, +field_76763_Q,worldGeneratorSwamp,2, +field_76765_S,enableRain,2, +field_76766_R,enableSnow,2, +field_76767_f,forest,2, +field_76768_g,taiga,2, +field_76769_d,desert,2, +field_76770_e,extremeHills,2, +field_76771_b,ocean,2, +field_76772_c,plains,2, +field_76773_a,biomeList,2, +field_76774_n,icePlains,2, +field_76775_o,iceMountains,2, +field_76776_l,frozenOcean,2, +field_76777_m,frozenRiver,2, +field_76778_j,hell,2, +field_76779_k,sky,2, +field_76780_h,swampland,2, +field_76781_i,river,2, +field_76782_w,jungle,2, +field_76783_v,extremeHillsEdge,2, +field_76784_u,taigaHills,2, +field_76785_t,forestHills,2, +field_76786_s,desertHills,2, +field_76787_r,beach,2, +field_76788_q,mushroomIslandShore,2, +field_76789_p,mushroomIsland,2, +field_76790_z,color,2, +field_76791_y,biomeName,2, +field_76792_x,jungleHills,2, +field_76798_D,mushroomsPerChunk,2, +field_76799_E,reedsPerChunk,2, +field_76800_F,cactiPerChunk,2, +field_76801_G,sandPerChunk,2, +field_76802_A,flowersPerChunk,2, +field_76803_B,grassPerChunk,2, +field_76804_C,deadBushPerChunk,2, +field_76805_H,sandPerChunk2,2, +field_76806_I,clayPerChunk,2, +field_76807_J,bigMushroomsPerChunk,2, +field_76808_K,generateLakes,2, +field_76809_f,clayGen,2, +field_76810_g,sandGen,2, +field_76813_b,randomGenerator,2, +field_76815_a,currentWorld,2, +field_76818_l,ironGen,2, +field_76819_m,goldGen,2, +field_76820_j,gravelGen,2, +field_76821_k,coalGen,2, +field_76822_h,gravelAsSandGen,2, +field_76823_i,dirtGen,2, +field_76824_w,cactusGen,2, +field_76825_v,reedGen,2, +field_76826_u,bigMushroomGen,2, +field_76827_t,mushroomRedGen,2, +field_76828_s,mushroomBrownGen,2, +field_76831_p,lapisGen,2, +field_76832_z,treesPerChunk,2, +field_76833_y,waterlilyPerChunk,2, +field_76834_x,waterlilyGen,2, +field_76835_L,spikeGen,2, +field_76841_d,cache,2, +field_76842_b,lastCleanupTime,2, +field_76843_c,cacheMap,2, +field_76844_a,chunkManager,2, +field_76886_f,lastAccessTime,2, +field_76888_d,xPosition,2, +field_76889_e,zPosition,2, +field_76890_b,rainfallValues,2, +field_76891_c,biomes,2, +field_76942_f,biomeCache,2, +field_76943_g,biomesToSpawnIn,2, +field_76944_d,genBiomes,2, +field_76945_e,biomeIndexLayer,2, +field_76946_f,rainfall,2, +field_76947_d,biomeGenerator,2, +field_76987_f,shadowOpaque,0, +field_76989_e,shadowSize,0, +field_76990_c,renderManager,0, +field_76995_b,modelEnderCrystal,0, +field_76998_a,modelBoat,0, +field_77002_a,scale,0, +field_77013_a,modelMinecart,0, +field_77023_b,zLevel,0, +field_77045_g,mainModel,0, +field_77071_a,modelBipedMain,0, +field_77073_a,scale,0, +field_77077_b,rnd,0, +field_77078_a,endermanModel,0, +field_77084_b,modelDragon,0, +field_77133_f,worldType,2, +field_77134_g,generatorVersion,2, +field_77135_d,LARGE_BIOMES,2, +field_77136_e,DEFAULT_1_1,2, +field_77137_b,DEFAULT,2, +field_77138_c,FLAT,2, +field_77139_a,worldTypes,2, +field_77140_h,canBeCreated,2, +field_77141_i,isWorldTypeVersioned,2, +field_77151_f,name,2, +field_77154_e,id,2, +field_77168_f,commandsAllowed,2, +field_77169_g,bonusChestEnabled,2, +field_77170_d,hardcoreEnabled,2, +field_77171_e,terrainType,2, +field_77172_b,theGameType,2, +field_77173_c,mapFeaturesEnabled,2, +field_77174_a,seed,2, +field_77177_f,nextTickEntryID,2, +field_77178_g,tickEntryID,2, +field_77180_e,scheduledTime,2, +field_77187_a,random,2, +field_77193_b,eligibleChunksForSpawning,2, +field_77198_c,defaultLightValue,2, +field_77275_b,chunkZPos,2, +field_77276_a,chunkXPos,2, +field_77280_f,explosionSize,2, +field_77281_g,affectedBlockPositions,2, +field_77282_d,explosionZ,2, +field_77283_e,exploder,2, +field_77284_b,explosionX,2, +field_77285_c,explosionY,2, +field_77286_a,isFlaming,2, +field_77287_j,worldObj,2, +field_77290_i,explosionRNG,2, +field_77327_f,blastProtection,2, +field_77329_d,fireProtection,2, +field_77331_b,enchantmentsBookList,2, +field_77333_a,weight,2, +field_77334_n,fireAspect,2, +field_77335_o,looting,2, +field_77341_i,aquaAffinity,2, +field_77342_w,infinity,2, +field_77343_v,flame,2, +field_77344_u,punch,2, +field_77345_t,power,2, +field_77346_s,fortune,2, +field_77347_r,unbreaking,2, +field_77348_q,silkTouch,2, +field_77349_p,efficiency,2, +field_77350_z,name,2, +field_77351_y,type,2, +field_77352_x,effectId,2, +field_77353_D,thresholdEnchantability,2, +field_77354_A,protectionName,2, +field_77355_B,baseEnchantability,2, +field_77356_a,protectionType,2, +field_77357_C,levelEnchantability,2, +field_77358_D,thresholdEnchantability,2, +field_77359_A,protectionName,2, +field_77360_B,baseEnchantability,2, +field_77361_a,damageType,2, +field_77362_C,levelEnchantability,2, +field_77400_d,toolUses,2, +field_77401_b,secondItemToBuy,2, +field_77402_c,itemToSell,2, +field_77403_a,itemToBuy,2, +field_77471_a,foliageBuffer,0, +field_77476_b,lightmapTexUnit,0, +field_77478_a,defaultTexUnit,0, +field_77481_a,grassBuffer,0, +field_77490_b,lanServerIpPort,0, +field_77491_c,timeLastSeen,0, +field_77492_a,lanServerMotd,0, +field_77494_b,entityLiving,2, +field_77495_a,livingModifier,2, +field_77496_b,source,2, +field_77497_a,damageModifier,2, +field_77498_b,broadcastAddress,0, +field_77499_c,socket,0, +field_77500_a,localServerList,0, +field_77520_b,enchantmentModifierDamage,2, +field_77521_c,enchantmentModifierLiving,2, +field_77522_a,enchantmentRand,2, +field_77526_d,isStopping,0, +field_77527_e,address,0, +field_77528_b,motd,0, +field_77529_c,socket,0, +field_77555_b,listOfLanServers,0, +field_77556_a,wasUpdated,0, +field_77574_d,recipeItems,2, +field_77575_e,recipeOutput,2, +field_77576_b,recipeWidth,2, +field_77577_c,recipeHeight,2, +field_77579_b,recipeItems,2, +field_77580_a,recipeOutput,2, +field_77584_b,recipeItems,2, +field_77585_a,recipePatterns,2, +field_77587_b,recipeItems,2, +field_77588_a,recipePatterns,2, +field_77591_a,recipeItems,2, +field_77597_b,recipes,2, +field_77598_a,instance,2, +field_77604_b,smeltingList,2, +field_77605_c,experienceList,2, +field_77606_a,smeltingBase,2, +field_77610_b,recipeItems,2, +field_77611_a,recipePatterns,2, +field_77697_d,itemRand,2, +field_77699_b,maxDamage,2, +field_77700_c,containerItem,2, +field_77701_a,tabToDisplayOn,2, +field_77774_bZ,unlocalizedName,2, +field_77777_bU,maxStackSize,2, +field_77785_bY,potionEffect,2, +field_77787_bX,hasSubtypes,2, +field_77789_bW,bFull3D,2, +field_77835_b,SUB_ITEMS_CACHE,2, +field_77836_a,effectCache,2, +field_77838_b,soilBlockID,2, +field_77841_a,minecartType,2, +field_77843_a,theToolMaterial,2, +field_77850_cb,potionDuration,2, +field_77851_ca,potionId,2, +field_77852_bZ,alwaysEdible,2, +field_77853_b,healAmount,2, +field_77854_c,saturationModifier,2, +field_77855_a,itemUseDuration,2, +field_77856_bY,isWolfsFavoriteMeat,2, +field_77857_cc,potionAmplifier,2, +field_77858_cd,potionEffectProbability,2, +field_77862_b,toolMaterial,2, +field_77864_a,efficiencyOnProperMaterial,2, +field_77865_bY,damageVsEntity,2, +field_77876_a,isFull,2, +field_77878_bZ,material,2, +field_77879_b,damageReduceAmount,2, +field_77880_c,renderIndex,2, +field_77881_a,armorType,2, +field_77882_bY,maxDamageArray,2, +field_77918_f,speckledMelonEffect,2, +field_77919_g,blazePowderEffect,2, +field_77920_d,spiderEyeEffect,2, +field_77921_e,fermentedSpiderEyeEffect,2, +field_77922_b,sugarEffect,2, +field_77923_c,ghastTearEffect,2, +field_77925_n,DATAVALUE_COLORS,2, +field_77926_o,potionPrefixes,2, +field_77929_j,glowstoneEffect,2, +field_77930_k,gunpowderEffect,2, +field_77931_h,magmaCreamEffect,2, +field_77932_i,redstoneEffect,2, +field_77934_f,rarityName,2, +field_77937_e,rarityColor,2, +field_77990_d,stackTagCompound,2, +field_77991_e,itemDamage,2, +field_77992_b,animationsToGo,2, +field_77994_a,stackSize,2, +field_78001_f,harvestLevel,2, +field_78002_g,maxUses,2, +field_78008_j,enchantability,2, +field_78010_h,efficiencyOnProperMaterial,2, +field_78011_i,damageVsEntity,2, +field_78026_f,tabMisc,2, +field_78027_g,tabAllSearch,2, +field_78028_d,tabRedstone,2, +field_78029_e,tabTransport,2, +field_78030_b,tabBlock,2, +field_78031_c,tabDecorations,2, +field_78032_a,creativeTabArray,2, +field_78033_n,tabIndex,2, +field_78034_o,tabLabel,2, +field_78035_l,tabMaterials,2, +field_78036_m,tabInventory,2, +field_78037_j,tabCombat,2, +field_78038_k,tabBrewing,2, +field_78039_h,tabFood,2, +field_78040_i,tabTools,2, +field_78041_r,drawTitle,2, +field_78042_q,hasScrollbar,2, +field_78043_p,theTexture,2, +field_78048_f,maxDamageFactor,2, +field_78049_g,damageReductionAmountArray,2, +field_78055_h,enchantability,2, +field_78089_u,textureHeight,0, +field_78090_t,textureWidth,0, +field_78091_s,isChild,0, +field_78092_r,boxList,0, +field_78093_q,isRiding,0, +field_78094_a,modelTextureMap,0, +field_78095_p,swingProgress,0, +field_78096_f,flippingPageLeft,0, +field_78097_g,bookSpine,0, +field_78098_d,pagesLeft,0, +field_78099_e,flippingPageRight,0, +field_78100_b,coverLeft,0, +field_78101_c,pagesRight,0, +field_78102_a,coverRight,0, +field_78103_a,boatSides,0, +field_78105_b,blazeHead,0, +field_78106_a,blazeSticks,0, +field_78108_b,core,0, +field_78109_a,segments,0, +field_78115_e,bipedBody,0, +field_78116_c,bipedHead,0, +field_78117_n,isSneak,0, +field_78118_o,aimedBow,0, +field_78119_l,heldItemLeft,0, +field_78120_m,heldItemRight,0, +field_78125_b,isAttacking,0, +field_78126_a,isCarrying,0, +field_78127_b,tentacles,0, +field_78128_a,body,0, +field_78129_f,leg3,0, +field_78130_g,leg4,0, +field_78131_d,leg1,0, +field_78132_e,leg2,0, +field_78133_b,creeperArmor,0, +field_78134_c,body,0, +field_78135_a,head,0, +field_78136_f,leftWing,0, +field_78137_g,bill,0, +field_78138_d,leftLeg,0, +field_78139_e,rightWing,0, +field_78140_b,body,0, +field_78141_c,rightLeg,0, +field_78142_a,head,0, +field_78143_h,chin,0, +field_78144_f,leg4,0, +field_78145_g,childYOffset,0, +field_78146_d,leg2,0, +field_78147_e,leg3,0, +field_78148_b,body,0, +field_78149_c,leg1,0, +field_78150_a,head,0, +field_78151_h,childZOffset,0, +field_78152_i,headRotationAngleX,0, +field_78154_a,sideModels,0, +field_78155_f,ocelotTail2,0, +field_78156_g,ocelotHead,0, +field_78157_d,ocelotFrontRightLeg,0, +field_78158_e,ocelotTail,0, +field_78159_b,ocelotBackRightLeg,0, +field_78160_c,ocelotFrontLeftLeg,0, +field_78161_a,ocelotBackLeftLeg,0, +field_78162_h,ocelotBody,0, +field_78165_b,signStick,0, +field_78166_a,signBoard,0, +field_78167_d,silverfishBoxLength,0, +field_78168_e,silverfishTexturePositions,0, +field_78169_b,silverfishWings,0, +field_78171_a,silverfishBodyParts,0, +field_78173_f,ironGolemRightLeg,0, +field_78174_d,ironGolemLeftArm,0, +field_78175_e,ironGolemLeftLeg,0, +field_78176_b,ironGolemBody,0, +field_78177_c,ironGolemRightArm,0, +field_78178_a,ironGolemHead,0, +field_78179_f,wolfLeg4,0, +field_78180_g,wolfTail,0, +field_78181_d,wolfLeg2,0, +field_78182_e,wolfLeg3,0, +field_78183_b,wolfBody,0, +field_78184_c,wolfLeg1,0, +field_78185_a,wolfHeadMain,0, +field_78186_h,wolfMane,0, +field_78187_d,rightVillagerLeg,0, +field_78188_e,leftVillagerLeg,0, +field_78189_b,villagerBody,0, +field_78190_c,villagerArms,0, +field_78191_a,villagerHead,0, +field_78192_d,rightHand,0, +field_78193_e,leftHand,0, +field_78194_b,bottomBody,0, +field_78195_c,head,0, +field_78196_a,body,0, +field_78197_d,slimeMouth,0, +field_78198_b,slimeRightEye,0, +field_78199_c,slimeLeftEye,0, +field_78200_a,slimeBodies,0, +field_78201_b,squidTentacles,0, +field_78202_a,squidBody,0, +field_78203_f,spiderLeg3,0, +field_78204_g,spiderLeg4,0, +field_78205_d,spiderLeg1,0, +field_78206_e,spiderLeg2,0, +field_78207_b,spiderNeck,0, +field_78208_c,spiderBody,0, +field_78209_a,spiderHead,0, +field_78210_j,spiderLeg7,0, +field_78211_k,spiderLeg8,0, +field_78212_h,spiderLeg5,0, +field_78213_i,spiderLeg6,0, +field_78215_f,frontLeg,0, +field_78216_g,rearLegTip,0, +field_78217_d,body,0, +field_78218_e,rearLeg,0, +field_78219_b,spine,0, +field_78220_c,jaw,0, +field_78221_a,head,0, +field_78222_l,wingTip,0, +field_78223_m,partialTicks,0, +field_78224_j,frontFoot,0, +field_78225_k,wing,0, +field_78226_h,frontLegTip,0, +field_78227_i,rearFoot,0, +field_78228_b,glass,0, +field_78229_c,base,0, +field_78230_a,cube,0, +field_78232_b,chestBelow,0, +field_78233_c,chestKnob,0, +field_78234_a,chestLid,0, +field_78237_b,nVertices,0, +field_78238_c,invertNormal,0, +field_78239_a,vertexPositions,0, +field_78241_b,texturePositionX,0, +field_78242_c,texturePositionY,0, +field_78243_a,vector3D,0, +field_78246_f,posZ2,0, +field_78248_d,posX2,0, +field_78249_e,posY2,0, +field_78250_b,posY1,0, +field_78251_c,posZ1,0, +field_78252_a,posX1,0, +field_78253_h,vertexPositions,0, +field_78254_i,quadList,0, +field_78285_g,colorCode,0, +field_78286_d,charWidth,0, +field_78287_e,glyphWidth,0, +field_78288_b,FONT_HEIGHT,0, +field_78289_c,fontRandom,0, +field_78291_n,red,0, +field_78292_o,blue,0, +field_78293_l,unicodeFlag,0, +field_78294_m,bidiFlag,0, +field_78295_j,posX,0, +field_78296_k,posY,0, +field_78298_i,renderEngine,0, +field_78299_w,strikethroughStyle,0, +field_78300_v,underlineStyle,0, +field_78301_u,italicStyle,0, +field_78302_t,boldStyle,0, +field_78303_s,randomStyle,0, +field_78304_r,textColor,0, +field_78305_q,alpha,0, +field_78306_p,green,0, +field_78329_d,scaledHeightD,0, +field_78330_e,scaleFactor,0, +field_78331_b,scaledHeight,0, +field_78332_c,scaledWidthD,0, +field_78333_a,scaledWidth,0, +field_78398_a,instance,0, +field_78436_b,imageWidth,0, +field_78437_c,imageHeight,0, +field_78438_a,imageData,0, +field_78450_g,equippedItemSlot,0, +field_78451_d,prevEquippedProgress,0, +field_78453_b,itemToRender,0, +field_78454_c,equippedProgress,0, +field_78455_a,mc,0, +field_78490_B,thirdPersonDistance,0, +field_78491_C,thirdPersonDistanceTemp,0, +field_78492_L,smoothCamPartialTicks,0, +field_78496_H,smoothCamYaw,0, +field_78497_I,smoothCamPitch,0, +field_78498_J,smoothCamFilterX,0, +field_78499_K,smoothCamFilterY,0, +field_78500_U,cloudFog,0, +field_78502_W,cameraYaw,0, +field_78503_V,cameraZoom,0, +field_78504_Q,lightmapColors,0, +field_78506_S,fovModifierHandPrev,0, +field_78507_R,fovModifierHand,0, +field_78508_Y,prevFrameTime,0, +field_78509_X,cameraPitch,0, +field_78510_Z,renderEndNanoTime,0, +field_78513_d,lightmapTexture,0, +field_78514_e,torchFlickerX,0, +field_78515_b,anaglyphField,0, +field_78516_c,itemRenderer,0, +field_78517_a,anaglyphEnable,0, +field_78521_m,fogColorBuffer,0, +field_78526_w,mouseFilterYAxis,0, +field_78527_v,mouseFilterXAxis,0, +field_78528_u,pointedEntity,0, +field_78529_t,rendererUpdateCount,0, +field_78530_s,farPlaneDistance,0, +field_78531_r,mc,0, +field_78534_ac,rainSoundCounter,0, +field_78535_ad,fogColor2,0, +field_78536_aa,lightmapUpdateNeeded,0, +field_78537_ab,random,0, +field_78539_ae,fogColor1,0, +field_78549_d,zPosition,0, +field_78550_b,xPosition,0, +field_78551_c,yPosition,0, +field_78552_a,clippingHelper,0, +field_78554_d,clippingMatrix,0, +field_78557_a,frustum,0, +field_78561_f,projectionMatrixBuffer,0, +field_78562_g,modelviewMatrixBuffer,0, +field_78563_e,instance,0, +field_78722_g,worldObj,0, +field_78723_d,renderPosZ,0, +field_78724_e,renderEngine,0, +field_78725_b,renderPosX,0, +field_78726_c,renderPosY,0, +field_78728_n,viewerPosZ,0, +field_78729_o,entityRenderMap,0, +field_78730_l,viewerPosX,0, +field_78731_m,viewerPosY,0, +field_78732_j,playerViewX,0, +field_78733_k,options,0, +field_78734_h,livingPlayer,0, +field_78735_i,playerViewY,0, +field_78736_p,textRenderer,0, +field_78741_b,secondaryComponents,2, +field_78742_a,primaryComponents,2, +field_78770_f,curBlockDamageMP,0, +field_78774_b,netClientHandler,0, +field_78776_a,mc,0, +field_78777_l,currentPlayerItem,0, +field_78778_j,isHittingBlock,0, +field_78779_k,currentGameType,0, +field_78780_h,stepSoundTickCounter,0, +field_78781_i,blockHitDelay,0, +field_78782_b,textureOffsetY,0, +field_78783_a,textureOffsetX,0, +field_78795_f,rotateAngleX,0, +field_78796_g,rotateAngleY,0, +field_78797_d,rotationPointY,0, +field_78798_e,rotationPointZ,0, +field_78799_b,textureHeight,0, +field_78800_c,rotationPointX,0, +field_78801_a,textureWidth,0, +field_78802_n,boxName,0, +field_78803_o,textureOffsetX,0, +field_78804_l,cubeList,0, +field_78805_m,childModels,0, +field_78806_j,showModel,0, +field_78807_k,isHidden,0, +field_78808_h,rotateAngleZ,0, +field_78809_i,mirror,0, +field_78810_s,baseModel,0, +field_78811_r,displayList,0, +field_78812_q,compiled,0, +field_78813_p,textureOffsetY,0, +field_78828_a,weightClass,2, +field_78829_b,responseTime,0, +field_78843_d,serverMOTD,0, +field_78844_e,pingToServer,0, +field_78845_b,serverIP,0, +field_78846_c,populationInfo,0, +field_78847_a,serverName,0, +field_78858_b,servers,0, +field_78859_a,mc,0, +field_78865_b,serverPort,0, +field_78866_a,ipAddress,0, +field_78875_d,rand,0, +field_78876_b,fxLayers,0, +field_78877_c,renderer,0, +field_78878_a,worldObj,0, +field_78892_f,maxZ,2, +field_78893_d,maxX,2, +field_78894_e,maxY,2, +field_78895_b,minY,2, +field_78896_c,minZ,2, +field_78897_a,minX,2, +field_78899_d,sneak,0, +field_78900_b,moveForward,0, +field_78901_c,jump,0, +field_78902_a,moveStrafe,0, +field_78903_e,gameSettings,0, +field_78939_q,needsUpdate,0, +field_80001_f,closestPlayer,2, +field_80002_g,xpTargetColor,2, +field_80004_Q,updateEntityTick,2, +field_80005_w,hideServerAddress,0, +field_82151_R,distanceWalkedOnStepModified,2, +field_82152_aq,teleportDirection,2, +field_82153_h,portalCounter,2, +field_82172_bs,canPickUpLoot,2, +field_82174_bp,equipmentDropChances,2, +field_82175_bq,isSwingInProgress,2, +field_82179_bU,persistenceRequired,2, +field_82180_bT,previousEquipment,2, +field_82182_bS,equipment,2, +field_82184_d,aiControlledByPlayer,2, +field_82189_bL,lastBuyingPlayer,2, +field_82190_bM,isLookingForHome,2, +field_82192_a,mobSelector,2, +field_82199_d,witchDrops,2, +field_82200_e,witchAttackTimer,2, +field_82219_bJ,attackEntitySelector,2, +field_82222_j,blockBreakCounter,2, +field_82225_f,fuseTime,2, +field_82226_g,explosionRadius,2, +field_82234_d,conversionTime,2, +field_82237_a,spawnPosition,2, +field_82248_d,spawnForced,2, +field_82249_h,lastXPSound,2, +field_82337_e,itemDropChance,2, +field_82339_as,particleAlpha,0, +field_82387_b,intListPattern,2, +field_82388_c,keyValueListPattern,2, +field_82389_a,tokenPattern,2, +field_82401_a,skeletonHeadModel,0, +field_82432_p,zombieVillagerModel,0, +field_82483_a,itemDispenseBehaviorProvider,2, +field_82575_g,totalTime,2, +field_82576_c,generatorOptions,2, +field_82577_x,theGameRules,2, +field_82578_b,NBT_TYPES,2, +field_82596_a,registryObjects,2, +field_82597_b,defaultObject,2, +field_82609_l,VALUES,2, +field_82627_a,worldObj,2, +field_82628_b,y,2, +field_82629_c,z,2, +field_82630_a,x,2, +field_82635_f,maxSpeedBoostTime,2, +field_82636_d,speedBoosted,2, +field_82637_e,speedBoostTime,2, +field_82638_b,maxSpeed,2, +field_82639_c,currentSpeed,2, +field_82640_a,thisEntity,2, +field_82641_b,rangedAttackEntityHost,2, +field_82642_h,maxAttackDistance,2, +field_82643_g,targetEntitySelector,2, +field_82653_b,worldFeatures,2, +field_82654_c,biomeToUse,2, +field_82655_a,flatLayers,2, +field_82661_d,layerMinimumY,2, +field_82664_a,layerCount,2, +field_82668_f,scatteredFeatureSpawnList,2, +field_82669_g,maxDistanceBetweenScatteredFeatures,2, +field_82670_h,minDistanceBetweenScatteredFeatures,2, +field_82675_b,cropTypeA,2, +field_82676_c,cropTypeB,2, +field_82678_d,cropTypeC,2, +field_82679_b,cropTypeA,2, +field_82680_c,cropTypeB,2, +field_82681_h,cropTypeD,2, +field_82682_h,hasWitch,2, +field_82693_j,playerReputation,2, +field_82694_i,noBreedTicks,2, +field_82696_f,structureGenerators,2, +field_82697_g,hasDecoration,2, +field_82699_e,flatWorldGenInfo,2, +field_82700_c,cachedBlockIDs,2, +field_82701_j,lavaLakeGenerator,2, +field_82702_h,hasDungeons,2, +field_82703_i,waterLakeGenerator,2, +field_82707_i,isAnimal,2, +field_82723_d,isSplashPotion,2, +field_82724_e,isAmbient,2, +field_82727_n,wither,2, +field_82728_o,anvil,2, +field_82729_p,fallingBlock,2, +field_82730_x,magicDamage,2, +field_82731_v,wither,2, +field_82745_f,createdAtCloudUpdateTick,0, +field_82748_f,worldTypeId,2, +field_82751_h,worldName,2, +field_82754_f,priority,2, +field_82755_b,isSmoking,2, +field_82759_d,valueDouble,2, +field_82760_b,valueBoolean,2, +field_82761_c,valueInteger,2, +field_82762_a,valueString,2, +field_82771_a,theGameRules,2, +field_82786_e,maxTradeUses,2, +field_82807_a,skullTypes,2, +field_82809_c,soilId,2, +field_82811_a,hangingEntityClass,2, +field_82818_l,goldenCarrotEffect,2, +field_82821_f,version,0, +field_82822_g,gameVersion,0, +field_82825_d,hasColorModifier,0, +field_82826_b,statusBarTime,0, +field_82827_c,bossName,0, +field_82828_a,healthScale,0, +field_82831_U,bossColorModifier,0, +field_82832_V,bossColorModifierPrev,0, +field_82843_f,itemFrame,2, +field_82852_f,outputSlot,2, +field_82853_g,inputSlots,2, +field_82854_e,maximumCost,2, +field_82855_n,thePlayer,2, +field_82856_l,materialCost,2, +field_82857_m,repairedItemName,2, +field_82860_h,theWorld,2, +field_82862_h,thePlayer,2, +field_82864_f,beaconSlot,2, +field_82866_e,tileBeacon,2, +field_82881_y,pauseOnLostFocus,0, +field_82882_x,advancedItemTooltips,0, +field_82884_b,LIGHT0_POS,0, +field_82885_c,LIGHT1_POS,0, +field_82890_f,batOuterLeftWing,0, +field_82891_d,batLeftWing,0, +field_82892_e,batOuterRightWing,0, +field_82893_b,batBody,0, +field_82894_c,batRightWing,0, +field_82895_a,batHead,0, +field_82896_a,skeletonHead,0, +field_82898_f,villagerNose,0, +field_82902_i,witchHat,0, +field_82906_o,offsetX,0, +field_82907_q,offsetZ,0, +field_82908_p,offsetY,0, +field_82912_p,heightMapMinimum,2, +field_82913_c,generatorSettings,2, +field_82914_M,spawnableCaveCreatureList,2, +field_82915_S,theWorldGenerator,2, +field_83001_bt,invulnerable,2, +field_83002_am,debugCrashKeyPressTime,0, +field_83016_L,theCalendar,2, +field_85037_d,aiArrowAttack,2, +field_85038_e,aiAttackOnCollide,2, +field_85053_h,throwerName,2, +field_85060_g,stacktrace,2, +field_85061_c,theReportCategory,2, +field_85075_d,stackTrace,2, +field_85076_b,name,2, +field_85077_c,children,2, +field_85078_a,crashReport,2, +field_85087_d,lastUpdateTime,2, +field_85091_b,value,2, +field_85092_a,key,2, +field_85095_o,debugBoundingBox,0, +field_85159_M,isAdventureModeExempt,2, +field_85177_Q,worldTeleporter,2, +field_85183_f,currentItemHittingBlock,0, +field_85185_A,touchscreen,0, +field_85190_d,destinationCoordinateKeys,2, +field_85191_c,destinationCoordinateCache,2, +field_85192_a,worldServerInstance,2, +field_90016_e,inventoryCrafting,2, +field_92014_j,explosionStrength,2, +field_92016_l,highlightingItemStack,0, +field_92017_k,remainingHighlightTicks,0, +field_92025_p,openGLWarning1,0, +field_92039_az,fireworkExplosions,0, +field_92040_ay,theEffectRenderer,0, +field_92041_a,twinkle,0, +field_92042_ax,fireworkAge,0, +field_92049_a,baseTextureIndex,0, +field_92050_aA,fadeColourRed,0, +field_92051_aB,fadeColourGreen,0, +field_92052_aC,fadeColourBlue,0, +field_92053_aD,hasFadeColour,0, +field_92055_b,lifetime,2, +field_92056_a,fireworkAge,2, +field_92057_e,explosionPower,2, +field_92086_a,isBlank,2, +field_92091_k,thorns,2, +field_92117_D,heldItemTooltips,0, +field_92118_B,overrideWidth,0, +field_92119_C,overrideHeight,0, +field_94051_e,hasCustomName,2, +field_94054_b,particleTextureIndexX,0, +field_94055_c,particleTextureIndexY,0, +field_94063_bt,_combatTracker,2, +field_94084_b,tntPlacedBy,2, +field_94102_c,entityName,2, +field_94106_a,minecartTNTFuse,2, +field_94109_b,pushZ,2, +field_94110_c,fuel,2, +field_94111_a,pushX,2, +field_94112_b,dropContentsWhenDead,2, +field_94113_a,minecartContainerItems,2, +field_94141_F,destroyBlockIcons,0, +field_94187_f,holder,0, +field_94188_d,height,0, +field_94189_e,subSlots,0, +field_94190_b,originY,0, +field_94191_c,width,0, +field_94192_a,originX,0, +field_94201_d,height,0, +field_94202_e,rotated,0, +field_94204_c,width,0, +field_94205_a,scaleFactor,0, +field_94233_j,width,0, +field_94234_k,height,0, +field_94242_j,angleDelta,0, +field_94244_i,currentAngle,0, +field_94249_f,missingImage,0, +field_94252_e,mapUploadedSprites,0, +field_94254_c,basePath,0, +field_94258_i,listAnimatedSprites,0, +field_94313_f,maxHeight,0, +field_94314_g,forcePowerOf2,0, +field_94315_d,currentHeight,0, +field_94316_e,maxWidth,0, +field_94317_b,stitchSlots,0, +field_94318_c,currentWidth,0, +field_94319_a,setStitchHolders,0, +field_94323_h,maxTileDimension,0, +field_94535_f,dragMode,2, +field_94536_g,dragEvent,2, +field_94537_h,dragSlots,2, +field_94538_a,hopperInventory,2, +field_94554_b,fighter,2, +field_94556_a,combatEntries,2, +field_94557_a,selectAnything,2, +field_94569_a,damageSrc,2, +field_94579_S,pendingTickListEntriesThisTick,2, +field_94601_a,bowPullIconNameArray,2, +field_94603_a,EMPTY_SLOT_NAMES,2, +field_96093_i,entityUniqueID,2, +field_96113_a,isBlocked,2, +field_96245_b,startTime,2, +field_96303_A,fancyStyling,2, +field_96304_B,controlString,2, +field_96329_z,formattingCode,2, +field_96330_y,formattingCodePattern,2, +field_96331_x,nameMapping,2, +field_96442_D,worldScoreboard,2, +field_96465_b,behaviourDefaultDispenseItem,2, +field_96506_b,delayedInitNbt,2, +field_96507_a,theScoreboard,2, +field_96540_f,teamMemberships,2, +field_96541_d,objectiveDisplaySlots,2, +field_96542_e,teams,2, +field_96543_b,scoreObjectiveCriterias,2, +field_96544_c,entitiesScoreObjectives,2, +field_96545_a,scoreObjectives,2, +field_96555_a,scoreboardMCServer,2, +field_96566_b,selectInventories,2, +field_96567_c,armor,2, +field_96602_b,dispenserMinecartBehavior,2, +field_96605_cw,dispenserBehavior,2, +field_96638_f,health,2, +field_96639_d,playerKillCount,2, +field_96640_e,totalKillCount,2, +field_96641_b,DUMMY,2, +field_96642_c,deathCount,2, +field_96643_a,INSTANCES,2, +field_96644_g,dummyName,2, +field_96654_d,scorePlayerName,2, +field_96655_e,scorePoints,2, +field_96656_b,theScoreboard,2, +field_96657_c,theScoreObjective,2, +field_96658_a,scoreComparator,2, +field_96671_f,colorSuffix,2, +field_96672_g,allowFriendlyFire,2, +field_96673_d,teamNameSPT,2, +field_96674_e,namePrefixSPT,2, +field_96675_b,registeredName,2, +field_96676_c,membershipSet,2, +field_96677_a,theScoreboard,2, +field_96683_d,displayName,2, +field_96684_b,name,2, +field_96685_c,objectiveCriteria,2, +field_96686_a,theScoreboard,2, +field_96691_E,chatScale,0, +field_96692_F,chatWidth,0, +field_96693_G,chatHeightUnfocused,0, +field_96694_H,chatHeightFocused,0, +field_98038_p,forceSpawn,2, +field_98040_a,mobSpawnerLogic,2, +field_98044_b,transferTicker,2, +field_98149_a,holder,0, +field_98151_a,theTexture,0, +field_98223_c,entityType,2, +field_98224_g,minecraftStartTimeMilis,2, +field_98282_f,randomEntity,2, +field_98283_g,minSpawnDelay,2, +field_98284_d,prevMobRotation,2, +field_98285_e,minecartToSpawn,2, +field_98286_b,spawnDelay,2, +field_98287_c,mobRotation,2, +field_98288_a,mobID,2, +field_98289_l,activatingRangeFromPlayer,2, +field_98290_m,spawnRange,2, +field_98291_j,cachedEntity,2, +field_98292_k,maxNearbyEntities,2, +field_98293_h,maxSpawnDelay,2, +field_98294_i,spawnCount,2, +field_98301_h,canSeeFriendlyInvisibles,2, +field_98303_au,AMBIENT_OCCLUSIONS,0, diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info new file mode 100644 index 00000000..79f83bec --- /dev/null +++ b/src/main/resources/mcmod.info @@ -0,0 +1,16 @@ +[ +{ + "modid": "replaymod", + "name": "Replay Mod", + "description": "Example placeholder mod.", + "version": "0.0.1", + "mcversion": "${mcversion}", + "url": "", + "updateUrl": "", + "authorList": ["CrushedPixel"], + "credits": "Johni0702 for helping me out!", + "logoFile": "", + "screenshots": [], + "dependencies": [] +} +] diff --git a/src/main/resources/methods.csv b/src/main/resources/methods.csv new file mode 100644 index 00000000..25a033a5 --- /dev/null +++ b/src/main/resources/methods.csv @@ -0,0 +1,6038 @@ +searge,name,side,desc +func_100011_g,getIsPotionDurationMax,0, +func_100012_b,setPotionDurationMax,0, +func_100015_a,isKeyDown,0, +func_104002_bU,isNoDespawnRequired,2, +func_104055_i,setForceGamemode,1, +func_104056_am,getForceGamemode,2, +func_104112_b,saveExtraData,2, +func_104140_m,saveChunkData,2, +func_110121_a,isNullOrEmpty,0, +func_110123_P,onChunkLoad,2, +func_110124_au,getUniqueID,2, +func_110128_b,onBroken,2, +func_110131_b,removeFrameFromMap,2, +func_110133_a,setCustomName,2, +func_110138_aP,getMaxHealth,2, +func_110139_bj,getAbsorptionAmount,2, +func_110140_aT,getAttributeMap,2, +func_110142_aN,getCombatTracker,2, +func_110143_aJ,getHealth,2, +func_110144_aD,getLastAttacker,2, +func_110145_l,dismountEntity,2, +func_110147_ax,applyEntityAttributes,2, +func_110148_a,getEntityAttribute,2, +func_110149_m,setAbsorptionAmount,2, +func_110159_bB,updateLeashedState,2, +func_110160_i,clearLeashed,2, +func_110162_b,setLeashedToEntity,2, +func_110163_bv,enablePersistence,2, +func_110164_bC,allowLeashing,2, +func_110165_bF,recreateLeash,2, +func_110166_bE,getLeashedToEntity,2, +func_110167_bD,getLeashed,2, +func_110173_bK,isWithinHomeDistanceCurrentPosition,2, +func_110174_bM,getMaximumHomeDistance,2, +func_110175_bO,hasHome,2, +func_110177_bN,detachHome,2, +func_110195_a,addGrowth,2, +func_110198_t,increaseTemper,2, +func_110199_f,openGUI,2, +func_110200_cJ,canMate,2, +func_110202_bQ,getHorseVariant,2, +func_110204_cc,isEatingHaystack,2, +func_110206_u,setJumpPower,2, +func_110207_m,setChested,2, +func_110208_b,setHorseWatchableBoolean,2, +func_110209_cd,isRearing,2, +func_110212_cp,getVariantTexturePaths,0, +func_110214_p,setHorseType,2, +func_110215_cj,getHorseJumpStrength,2, +func_110216_r,spawnHorseParticles,0, +func_110217_cl,getAngrySoundName,2, +func_110218_cm,getMaxTemper,2, +func_110219_q,setRearing,2, +func_110220_cK,makeHorseRear,2, +func_110221_n,setHasReproduced,2, +func_110222_cv,isSterile,2, +func_110223_p,getRearingAmount,0, +func_110224_ci,dropChests,2, +func_110227_p,setEatingHaystack,2, +func_110228_bR,isAdultHorse,2, +func_110229_cs,canCarryChest,2, +func_110230_cF,resetTexturePrefix,2, +func_110231_cz,makeHorseRearWithSound,2, +func_110233_w,getHorseWatchableBoolean,2, +func_110234_j,setHorseTamed,2, +func_110235_q,setHorseVariant,2, +func_110238_s,setTemper,2, +func_110240_a,dropItemsInChest,2, +func_110243_cf,getHasReproduced,2, +func_110244_cA,dropChestItems,2, +func_110246_bZ,isHorseJumping,2, +func_110247_cG,setHorseTexturePaths,0, +func_110248_bS,isTame,2, +func_110249_cI,openHorseMouth,2, +func_110250_a,getClosestHorse,2, +func_110251_o,setHorseSaddled,2, +func_110252_cg,getTemper,2, +func_110254_bY,getHorseSize,2, +func_110255_k,setHorseJumping,2, +func_110256_cu,isUndead,2, +func_110257_ck,isHorseSaddled,2, +func_110258_o,getGrassEatingAmount,0, +func_110259_cr,canWearArmor,2, +func_110260_d,getHorseArmorIndex,2, +func_110261_ca,isChested,2, +func_110262_ch,prepareChunkForSpawn,2, +func_110263_g,setTamedBy,2, +func_110264_co,getHorseTexture,0, +func_110265_bP,getHorseType,2, +func_110297_a_,verifySellingItem,2, +func_110298_a,displayGUIHorse,2, +func_110303_q,getLocationCape,0, +func_110304_a,getDownloadImageSkin,0, +func_110306_p,getLocationSkin,0, +func_110311_f,getLocationSkin,0, +func_110317_t,isRidingHorse,0, +func_110318_g,sendHorseJump,0, +func_110319_bJ,getHorseJumpPower,0, +func_110326_a,setRecordPlaying,0, +func_110430_a,setEntityActionState,2, +func_110432_I,getSession,0, +func_110434_K,getTextureManager,0, +func_110436_a,refreshResources,0, +func_110437_J,getProxy,0, +func_110438_M,getResourcePackRepository,0, +func_110441_Q,updateDisplayMode,0, +func_110442_L,getResourceManager,0, +func_110454_ao,getServerProxy,2, +func_110455_j,getOpPermissionLevel,2, +func_110462_b,getPackFormat,0, +func_110468_c,getFrameIndex,0, +func_110469_d,getFrameTime,0, +func_110470_b,frameHasTime,0, +func_110471_a,getFrameHeight,0, +func_110472_a,getFrameTimeSingle,0, +func_110473_c,getFrameCount,0, +func_110474_b,getFrameWidth,0, +func_110479_a,getTextureBlur,0, +func_110480_b,getTextureClamp,0, +func_110483_a,getSectionName,0, +func_110492_a,parseAnimationFrame,0, +func_110495_a,hasNoTime,0, +func_110496_c,getFrameIndex,0, +func_110497_b,getFrameTime,0, +func_110503_a,parseMetadataSection,0, +func_110504_a,registerMetadataSectionType,0, +func_110505_a,getGson,0, +func_110514_c,getResourcePack,0, +func_110515_d,getResourcePackName,0, +func_110516_a,updateResourcePack,0, +func_110517_b,closeResourcePack,0, +func_110518_a,bindTexturePackIcon,0, +func_110519_e,getTexturePackDescription,0, +func_110526_a,getMetadata,0, +func_110527_b,getInputStream,0, +func_110528_c,hasMetadata,0, +func_110536_a,getResource,0, +func_110537_b,getLocationMcmeta,0, +func_110538_a,addResourcePack,0, +func_110541_a,reloadResources,0, +func_110542_a,registerReloadListener,0, +func_110543_a,clearResources,0, +func_110544_b,notifyReloadListeners,0, +func_110545_a,reloadResourcePack,0, +func_110549_a,onResourceManagerReload,0, +func_110550_d,tick,0, +func_110551_a,loadTexture,0, +func_110552_b,getGlTextureId,0, +func_110564_a,updateDynamicTexture,0, +func_110565_c,getTextureData,0, +func_110569_e,initMissingImage,0, +func_110571_b,loadTextureAtlas,0, +func_110572_b,getAtlasSprite,0, +func_110577_a,bindTexture,0, +func_110578_a,getDynamicTextureLocation,0, +func_110579_a,loadTexture,0, +func_110580_a,loadTickableTexture,0, +func_110581_b,getTexture,0, +func_110586_a,getPackImage,0, +func_110587_b,getResourceDomains,0, +func_110589_b,resourceExists,0, +func_110590_a,getInputStream,0, +func_110591_a,getInputStreamByName,0, +func_110592_c,locationToName,0, +func_110593_b,hasResourceName,0, +func_110594_c,logNameNotLowercase,0, +func_110595_a,getRelativeName,0, +func_110596_a,readMetadata,0, +func_110599_c,getResourcePackZipFile,0, +func_110605_c,getResourceStream,0, +func_110609_b,getRepositoryEntriesAll,0, +func_110611_a,updateRepositoryEntriesAll,0, +func_110612_e,getDirResourcepacks,0, +func_110613_c,getRepositoryEntries,0, +func_110614_g,getResourcePackFiles,0, +func_110616_f,fixDirResourcepacks,0, +func_110623_a,getResourcePath,2, +func_110624_b,getResourceDomain,0, +func_110646_a,getTextWithoutFormattingCodes,0, +func_110647_a,getOSType,0, +func_110682_a,setBoxRotation,0, +func_110683_a,updateHorseRotation,0, +func_110738_j,isRidingHorse,0, +func_110775_a,getEntityTexture,0, +func_110776_a,bindTexture,0, +func_110813_b,canRenderName,0, +func_110827_b,renderLeash,0, +func_110828_a,interpolateValue,0, +func_110934_a,addSprite,0, +func_110935_a,getCurrentWidth,0, +func_110936_b,getCurrentHeight,0, +func_110966_b,setIconWidth,0, +func_110967_i,getOriginY,0, +func_110968_a,setFramesTextureData,0, +func_110969_c,setIconHeight,0, +func_110970_k,getFrameCount,0, +func_110971_a,initSprite,0, +func_110985_a,updateAnaglyph,0, +func_110986_a,readImageData,0, +func_110987_a,uploadTextureImage,0, +func_110988_a,uploadTexture,0, +func_110989_a,uploadTextureImageAllocate,0, +func_110990_a,copyToBuffer,0, +func_110991_a,allocateTexture,0, +func_110993_a,uploadTextureImageSubImpl,0, +func_110994_a,copyToBufferPos,0, +func_110995_a,uploadTextureImageSub,0, +func_110996_a,glGenTextures,0, +func_110997_a,setTextureClamped,0, +func_111108_a,getAttributeUnlocalizedName,2, +func_111109_a,clampValue,2, +func_111110_b,getDefaultValue,2, +func_111111_c,getShouldWatch,2, +func_111112_a,setShouldWatch,2, +func_111116_f,getDescription,2, +func_111117_a,setDescription,2, +func_111121_a,applyModifier,2, +func_111123_a,getAttribute,2, +func_111124_b,removeModifier,2, +func_111125_b,getBaseValue,2, +func_111126_e,getAttributeValue,2, +func_111127_a,getModifier,2, +func_111128_a,setBaseValue,2, +func_111129_g,computeValue,2, +func_111130_a,getModifiersByOperation,2, +func_111131_f,flagForUpdate,2, +func_111145_d,getWatchableObjectFloat,2, +func_111146_a,getAllAttributes,2, +func_111147_b,applyAttributeModifiers,2, +func_111148_a,removeAttributeModifiers,2, +func_111150_b,registerAttribute,2, +func_111151_a,getAttributeInstance,2, +func_111152_a,getAttributeInstanceByName,2, +func_111160_c,getWatchedAttributes,2, +func_111161_b,getAttributeInstanceSet,2, +func_111164_d,getAmount,2, +func_111165_e,isSaved,2, +func_111166_b,getName,2, +func_111167_a,getID,2, +func_111168_a,setSaved,2, +func_111169_c,getOperation,2, +func_111175_f,getTargetDistance,2, +func_111183_a,getAttributeModifierAmount,2, +func_111184_a,registerPotionAttributeModifier,2, +func_111185_a,applyAttributesModifiersToEntity,2, +func_111186_k,getAttributeModifierMap,0, +func_111187_a,removeAttributesModifiersFromEntity,2, +func_111190_b,sendMetadataToAllAssociatedPlayers,2, +func_111194_a,processChunk,2, +func_111196_a,increaseInhabitedTime,2, +func_111205_h,getItemAttributeModifiers,2, +func_111206_d,getByNameOrId,2, +func_111207_a,itemInteractionForEntity,2, +func_111225_m,getRelevantEnchantmentTypes,0, +func_111226_a,hasRelevantEnchantmentType,0, +func_111229_a,setRelevantEnchantmentTypes,2, +func_111238_b,canBeHovered,0, +func_111257_a,writeBaseAttributeMapToNBT,2, +func_111258_a,applyModifiersToAttributeInstance,2, +func_111259_a,readAttributeModifierFromNBT,2, +func_111261_a,writeAttributeInstanceToNBT,2, +func_111262_a,writeAttributeModifierToNBT,2, +func_111269_d,getPathSearchRange,2, +func_111270_a,union,2, +func_111271_a,getUnicodePageLocation,0, +func_111272_d,readFontTexture,0, +func_111282_a,interactWithEntity,2, +func_111283_C,getAttributeModifiers,2, +func_111285_a,getUsername,0, +func_111286_b,getSessionID,0, +func_120011_ar,setGuiEnabled,1, +func_120016_a,createServerGui,1, +func_120018_d,getLogComponent,1, +func_120019_b,getStatsComponent,1, +func_120020_c,getPlayerListComponent,1, +func_130001_d,getCurrentMoonPhaseFactor,2, +func_130002_c,interactFirst,2, +func_130010_a,getOriginX,0, +func_130011_c,setLastAttacker,2, +func_130014_f_,getEntityWorld,2, +func_130071_aq,getCurrentTimeMillis,2, +func_130072_d,getAnimationFrame,0, +func_130073_e,getFrameIndexSet,0, +func_130077_b,getPackName,0, +func_130098_m,hasAnimationMetadata,0, +func_130099_d,allocateFrameTextureData,0, +func_130102_n,resetSprite,0, +func_130103_l,clearFramesTextureData,0, +func_130105_g,getMinecraftStartTimeMillis,2, +func_135016_M,getLanguageManager,0, +func_135018_a,getLanguages,0, +func_135021_a,loadLocaleData,0, +func_135022_a,loadLocaleDataFiles,0, +func_135023_a,formatMessage,0, +func_135024_b,checkUnicode,0, +func_135025_a,isUnicode,0, +func_135026_c,translateKeyPrivate,0, +func_135028_a,loadLocaleData,0, +func_135034_a,getLanguageCode,0, +func_135035_b,isBidirectional,0, +func_135040_d,getLanguages,0, +func_135041_c,getCurrentLanguage,0, +func_135042_a,isCurrentLocaleUnicode,0, +func_135043_a,parseLanguageMetadata,0, +func_135044_b,isCurrentLanguageBidirectional,0, +func_135045_a,setCurrentLanguage,0, +func_135051_a,setLocale,0, +func_135052_a,format,0, +func_135055_a,getResourceDomains,0, +func_135056_b,getAllResources,0, +func_135058_a,getPackMetadata,0, +func_135063_a,replaceWith,0, +func_135064_c,tryTranslateKey,2, +func_135074_t,clearCustomName,2, +func_140005_i,switchToRealms,0, +func_142008_O,shouldSetPosAfterLoading,2, +func_142012_a,isOnTeam,2, +func_142013_aG,getLastAttackerTime,2, +func_142014_c,isOnSameTeam,2, +func_142015_aE,getRevengeTimer,2, +func_142021_k,getClientBrand,0, +func_142049_d,removeAllModifiers,0, +func_142053_d,formatString,2, +func_142054_a,isSameTeam,2, +func_143004_u,markPlayerActive,2, +func_143006_e,setPlayerIdleTimeout,2, +func_143007_ar,getMaxPlayerIdleMinutes,2, +func_143011_b,readStructureFromNBT,2, +func_143012_a,writeStructureToNBT,2, +func_143016_a,registerVillagePieces,2, +func_143025_a,getStructureName,2, +func_143031_a,registerStructureComponent,2, +func_143034_b,registerStructure,2, +func_143045_a,registerScatteredFeaturePieces,2, +func_143046_a,registerStrongholdPieces,2, +func_143048_a,registerStructurePieces,2, +func_143049_a,registerNetherFortressPieces,2, +func_145747_a,addChatMessage,2, +func_145748_c_,getDisplayName,2, +func_145749_h,getLastOutput,2, +func_145750_b,setLastOutput,2, +func_145752_a,setCommand,2, +func_145753_i,getCustomName,2, +func_145754_b,setName,2, +func_145755_a,trigger,2, +func_145758_a,writeDataToNBT,2, +func_145759_b,readDataFromNBT,2, +func_145760_g,getSuccessCount,2, +func_145769_d,setEntityId,2, +func_145770_h,isInRangeToRender3d,0, +func_145771_j,pushOutOfBlocks,2, +func_145773_az,doesEntityNotTriggerPressurePlate,2, +func_145775_I,doBlockCollisions,2, +func_145776_H,getSwimSound,2, +func_145777_O,getSplashSound,2, +func_145778_a,dropItemWithOffset,2, +func_145779_a,dropItem,2, +func_145782_y,getEntityId,2, +func_145797_a,setOwner,2, +func_145798_i,getOwner,2, +func_145799_b,setThrower,2, +func_145800_j,getThrower,2, +func_145806_a,setHurtEntities,2, +func_145807_e,getWorldObj,0, +func_145818_k_,hasCustomName,2, +func_145822_e,getCommandBlockLogic,2, +func_145826_a,addMapping,2, +func_145827_c,createAndLoadEntity,2, +func_145828_a,addInfoToCrashReport,2, +func_145829_t,validate,2, +func_145830_o,hasWorldObj,2, +func_145831_w,getWorld,2, +func_145832_p,getBlockMetadata,2, +func_145833_n,getMaxRenderDistanceSquared,0, +func_145834_a,setWorldObj,2, +func_145835_a,getDistanceSq,0, +func_145836_u,updateContainingBlockInfo,2, +func_145837_r,isInvalid,2, +func_145838_q,getBlockType,2, +func_145839_a,readFromNBT,2, +func_145841_b,writeToNBT,2, +func_145842_c,receiveClientEvent,2, +func_145843_s,invalidate,2, +func_145844_m,getDescriptionPacket,2, +func_145856_a,getRecord,2, +func_145857_a,setRecord,2, +func_145866_f,clearPistonTileEntity,2, +func_145867_d,shouldPistonHeadBeRendered,0, +func_145868_b,isExtending,2, +func_145877_a,changePitch,2, +func_145881_a,getSpawnerBaseLogic,2, +func_145886_a,setCustomName,2, +func_145888_j,isOnTransferCooldown,2, +func_145894_a,canCombine,2, +func_145896_c,setTransferCooldown,2, +func_145903_a,setSkullRotation,2, +func_145904_a,getSkullType,2, +func_145906_b,getSkullRotation,0, +func_145911_b,getPlayer,2, +func_145912_a,setPlayer,2, +func_145913_a,setEditable,0, +func_145914_a,getIsEditable,2, +func_145920_a,setCustomName,2, +func_145934_k,canBrew,2, +func_145940_l,brewPotions,2, +func_145948_k,canSmelt,2, +func_145949_j,smeltItem,2, +func_145950_i,isBurning,2, +func_145951_a,setCustomInventoryName,2, +func_145952_a,getItemBurnTime,2, +func_145954_b,isItemFuel,2, +func_145964_a,setFlowerPotData,2, +func_145965_a,getFlowerPotItem,2, +func_145966_b,getFlowerPotData,2, +func_145976_a,setCustomName,2, +func_145979_i,checkForAdjacentChests,2, +func_145980_j,getChestType,2, +func_145993_a,getCommandBlockLogic,2, +func_145995_a,setOutputSignal,2, +func_145996_a,getOutputSignal,2, +func_146002_i,shouldBeamRender,0, +func_146017_i,getDispenseSlot,2, +func_146018_a,setCustomName,2, +func_146019_a,addItemStack,2, +func_146023_a,getStrVsBlock,2, +func_146024_c,getInventorySlotContainItemAndDamage,0, +func_146026_a,consumeInventoryItem,2, +func_146028_b,hasItem,2, +func_146029_c,getInventorySlotContainItem,2, +func_146030_a,setCurrentItem,0, +func_146031_a,setChestTileEntity,2, +func_146033_f,getFishingResult,2, +func_146034_e,handleHookRetraction,2, +func_146035_c,handleHookCasting,2, +func_146065_b,dropItemOrSelf,2, +func_146067_o,getFallSoundString,2, +func_146068_u,getDropItem,2, +func_146069_a,multiplySize,2, +func_146071_k,setChildSize,2, +func_146077_cc,explode,2, +func_146082_f,setInLove,2, +func_146086_d,setHorseArmorStack,2, +func_146094_a,getUUID,2, +func_146095_a,openEditCommandBlock,2, +func_146097_a,dropItem,2, +func_146099_a,canHarvestBlock,2, +func_146103_bH,getGameProfile,2, +func_146105_b,addChatComponentMessage,2, +func_146107_m,getStatFileWriter,0, +func_146110_a,drawModalRectWithCustomSizedTexture,0, +func_146111_b,drawButtonForegroundLayer,0, +func_146112_a,drawButton,0, +func_146113_a,playPressSound,0, +func_146114_a,getHoverState,0, +func_146115_a,isMouseOver,0, +func_146116_c,mousePressed,0, +func_146117_b,getButtonWidth,0, +func_146118_a,mouseReleased,0, +func_146119_b,mouseDragged,0, +func_146136_c,returnEnumOptions,0, +func_146158_b,getChatGUI,0, +func_146159_a,drawLabel,0, +func_146160_b,drawLabelBackground,0, +func_146175_b,deleteFromCursor,0, +func_146176_q,getVisible,0, +func_146177_a,deleteWords,0, +func_146178_a,updateCursorCounter,0, +func_146179_b,getText,0, +func_146180_a,setText,0, +func_146181_i,getEnableBackgroundDrawing,0, +func_146182_d,moveCursorBy,0, +func_146183_a,getNthWordFromPos,0, +func_146184_c,setEnabled,0, +func_146185_a,setEnableBackgroundDrawing,0, +func_146186_n,getSelectionEnd,0, +func_146187_c,getNthWordFromCursor,0, +func_146188_c,drawCursorVertical,0, +func_146189_e,setVisible,0, +func_146190_e,setCursorPosition,0, +func_146191_b,writeText,0, +func_146192_a,mouseClicked,0, +func_146193_g,setTextColor,0, +func_146194_f,drawTextBox,0, +func_146195_b,setFocused,0, +func_146196_d,setCursorPositionZero,0, +func_146198_h,getCursorPosition,0, +func_146199_i,setSelectionPos,0, +func_146200_o,getWidth,0, +func_146201_a,textboxKeyTyped,0, +func_146202_e,setCursorPositionEnd,0, +func_146203_f,setMaxStringLength,0, +func_146204_h,setDisabledTextColour,0, +func_146205_d,setCanLoseFocus,0, +func_146206_l,isFocused,0, +func_146207_c,getSelectedText,0, +func_146208_g,getMaxStringLength,0, +func_146227_a,printChatMessage,0, +func_146228_f,getChatWidth,0, +func_146229_b,scroll,0, +func_146230_a,drawChat,0, +func_146231_a,clearChatMessages,0, +func_146232_i,getLineCount,0, +func_146233_a,calculateChatboxWidth,0, +func_146234_a,printChatMessageWithOptionalDeletion,0, +func_146236_a,getChatComponent,0, +func_146237_a,setChatLine,0, +func_146238_c,getSentMessages,0, +func_146239_a,addToSentMessages,0, +func_146240_d,resetScroll,0, +func_146241_e,getChatOpen,0, +func_146242_c,deleteChatLine,0, +func_146243_b,calculateChatboxHeight,0, +func_146244_h,getChatScale,0, +func_146245_b,refreshChat,0, +func_146246_g,getChatHeight,0, +func_146254_a,updateAchievementWindow,0, +func_146255_b,displayUnformattedAchievement,0, +func_146256_a,displayAchievement,0, +func_146257_b,clearAchievements,0, +func_146258_c,updateAchievementWindowScale,0, +func_146269_k,handleInput,0, +func_146270_b,drawWorldBackground,0, +func_146271_m,isCtrlKeyDown,0, +func_146272_n,isShiftKeyDown,0, +func_146273_a,mouseClickMove,0, +func_146274_d,handleMouseInput,0, +func_146275_d,setClipboardString,0, +func_146276_q_,drawDefaultBackground,0, +func_146277_j,getClipboardString,0, +func_146278_c,drawBackground,0, +func_146279_a,drawCreativeTabHoveringText,0, +func_146280_a,setWorldAndResolution,0, +func_146281_b,onGuiClosed,0, +func_146282_l,handleKeyboardInput,0, +func_146283_a,drawHoveringText,0, +func_146284_a,actionPerformed,0, +func_146285_a,renderToolTip,0, +func_146286_b,mouseReleased,0, +func_146350_a,setButtonDelay,0, +func_146358_g,disableSecurityWarning,0, +func_146359_e,copyLinkToClipboard,0, +func_146367_a,connect,0, +func_146402_a,getSentHistory,0, +func_146404_p_,autocompletePlayerNames,0, +func_146405_a,sendAutocompleteRequest,0, +func_146406_a,onAutocompleteResponse,0, +func_146418_g,wakeFromSleep,0, +func_146456_p,pageGetCurrent,0, +func_146457_a,pageSetCurrent,0, +func_146459_b,pageInsertIntoCurrent,0, +func_146460_c,keyTypedInTitle,0, +func_146461_i,addNewPage,0, +func_146462_a,sendBookToServer,0, +func_146463_b,keyTypedInBook,0, +func_146464_h,updateButtons,0, +func_146504_a,getSoundVolume,0, +func_146509_g,doneLoading,0, +func_146521_a,drawStatsScreen,0, +func_146527_c,drawSprite,0, +func_146531_b,drawButtonBackground,0, +func_146541_h,createButtons,0, +func_146552_b,drawAchievementScreen,0, +func_146553_h,drawTitle,0, +func_146574_g,sendRespawnPacket,0, +func_146575_b,drawWinGameScreen,0, +func_146586_a,setDoneWorking,0, +func_146789_i,getOldServerPinger,0, +func_146790_a,selectServer,0, +func_146791_a,connectToServer,0, +func_146792_q,refreshServerList,0, +func_146794_g,createButtons,0, +func_146795_p,getServerList,0, +func_146796_h,connectToSelected,0, +func_146961_a,hasResourcePackEntry,0, +func_146975_c,getSlotAtPosition,0, +func_146976_a,drawGuiContainerBackgroundLayer,0, +func_146977_a,drawSlot,0, +func_146978_c,isPointInRegion,0, +func_146979_b,drawGuiContainerForegroundLayer,0, +func_146980_g,updateDragSplitting,0, +func_146981_a,isMouseOverSlot,0, +func_146982_a,drawItemStack,0, +func_146983_a,checkHotbarKeys,0, +func_146984_a,handleMouseClick,0, +func_147035_g,getMerchant,0, +func_147044_g,drawActivePotionEffects,0, +func_147046_a,drawEntityOnScreen,0, +func_147050_b,setCurrentCreativeTab,0, +func_147052_b,renderCreativeInventoryHoveringText,0, +func_147053_i,updateCreativeSearch,0, +func_147055_p,needsScrollBars,0, +func_147056_g,getSelectedTabIndex,0, +func_147090_g,renameItem,0, +func_147096_v,getChatVisibility,2, +func_147097_b,sendTileEntityUpdate,2, +func_147098_j,updateBiomesExplored,2, +func_147099_x,getStatFile,2, +func_147100_a,handleClientSettings,2, +func_147104_D,getCurrentServerData,0, +func_147107_h,isFramerateLimitBelowMax,0, +func_147108_a,displayGuiScreen,0, +func_147109_W,getAmbientMusicType,0, +func_147110_a,getFramebuffer,0, +func_147111_S,isJava64bit,0, +func_147112_ai,middleClickMouse,0, +func_147113_T,isGamePaused,0, +func_147114_u,getNetHandler,0, +func_147115_a,sendClickBlockToController,0, +func_147116_af,clickMouse,0, +func_147117_R,getTextureMapBlocks,0, +func_147118_V,getSoundHandler,0, +func_147119_ah,updateFramebufferSize,0, +func_147121_ag,rightClickMouse,0, +func_147122_X,isJvm64bit,0, +func_147130_as,getMinecraftSessionService,2, +func_147132_au,refreshStatusNextTick,2, +func_147133_T,getResourcePackUrl,2, +func_147134_at,getServerStatusResponse,2, +func_147135_j,getDifficulty,2, +func_147136_ar,isAnnouncingPlayerAchievements,2, +func_147137_ag,getNetworkSystem,2, +func_147138_a,addFaviconToStatusResponse,2, +func_147139_a,setDifficultyForAllWorlds,2, +func_147149_a,saveToFile,2, +func_147152_a,getStackTrace,2, +func_147155_a,getCategoryName,0, +func_147156_b,getCategoryId,0, +func_147176_a,getChatComponentFromNthArg,2, +func_147178_a,getChatComponentFromNthArg,2, +func_147179_f,getItemByText,2, +func_147180_g,getBlockByText,2, +func_147183_a,getTeam,2, +func_147185_d,addTeam,2, +func_147186_g,listTeams,2, +func_147187_n,resetPlayers,2, +func_147188_j,emptyTeam,2, +func_147189_a,getObjective,2, +func_147190_h,joinTeam,2, +func_147191_h,removeObjective,2, +func_147192_d,getScoreboard,2, +func_147193_c,addObjective,2, +func_147194_f,removeTeam,2, +func_147195_l,listPlayers,2, +func_147196_d,listObjectives,2, +func_147197_m,setPlayer,2, +func_147198_k,setObjectiveDisplay,2, +func_147199_i,leaveTeam,2, +func_147200_e,setTeamOption,2, +func_147223_a,pingPendingNetworks,0, +func_147224_a,ping,0, +func_147225_b,tryCompatibilityPing,0, +func_147226_b,clearPendingNetworks,0, +func_147231_a,onDisconnect,2, +func_147234_a,handleBlockChange,2, +func_147235_a,handleSpawnObject,2, +func_147236_a,handleEntityStatus,2, +func_147237_a,handleSpawnPlayer,2, +func_147238_a,handleDestroyEntities,2, +func_147239_a,handleConfirmTransaction,2, +func_147240_a,handleCustomPayload,2, +func_147241_a,handleWindowItems,2, +func_147242_a,handleEntityEquipment,2, +func_147243_a,handleEntityAttach,2, +func_147244_a,handleEntityVelocity,2, +func_147245_a,handleWindowProperty,2, +func_147246_a,handleCollectItem,2, +func_147247_a,handleTeams,2, +func_147248_a,handleUpdateSign,2, +func_147249_a,handleUpdateHealth,2, +func_147250_a,handleUpdateScore,2, +func_147251_a,handleChat,2, +func_147252_a,handleChangeGameState,2, +func_147253_a,handleDisconnect,2, +func_147254_a,handleDisplayScoreboard,2, +func_147255_a,handleSoundEffect,2, +func_147256_a,handlePlayerListItem,2, +func_147257_a,handleHeldItemChange,2, +func_147258_a,handlePlayerPosLook,2, +func_147259_a,handleEntityMovement,2, +func_147260_a,handleEntityEffect,2, +func_147261_a,handleBlockAction,2, +func_147262_a,handleRemoveEntityEffect,2, +func_147263_a,handleChunkData,2, +func_147264_a,handleMaps,2, +func_147265_a,handleOpenWindow,2, +func_147266_a,handleSetSlot,2, +func_147267_a,handleEntityHeadLook,2, +func_147268_a,handleSignEditorOpen,2, +func_147269_a,handleMapChunkBulk,2, +func_147270_a,handlePlayerAbilities,2, +func_147271_a,handleSpawnPosition,2, +func_147272_a,handleKeepAlive,2, +func_147273_a,handleUpdateTileEntity,2, +func_147274_a,handleTabComplete,2, +func_147275_a,handleEntityTeleport,2, +func_147276_a,handleCloseWindow,2, +func_147277_a,handleEffect,2, +func_147278_a,handleUseBed,2, +func_147279_a,handleAnimation,2, +func_147280_a,handleRespawn,2, +func_147281_a,handleSpawnMob,2, +func_147282_a,handleJoinGame,2, +func_147283_a,handleExplosion,2, +func_147284_a,handleEntityMetadata,2, +func_147285_a,handleTimeUpdate,2, +func_147286_a,handleSpawnExperienceOrb,2, +func_147287_a,handleMultiBlockChange,2, +func_147288_a,handleSpawnPainting,2, +func_147289_a,handleParticles,2, +func_147290_a,handleEntityProperties,2, +func_147291_a,handleScoreboardObjective,2, +func_147292_a,handleSpawnGlobalEntity,2, +func_147293_a,handleStatistics,2, +func_147294_a,handleBlockBreakAnim,2, +func_147295_a,handleSetExperience,2, +func_147296_c,cleanup,0, +func_147297_a,addToSendQueue,0, +func_147298_b,getNetworkManager,0, +func_147311_a,processPing,2, +func_147312_a,processServerQuery,2, +func_147315_a,processEncryptionResponse,2, +func_147316_a,processLoginStart,2, +func_147317_d,getConnectionInfo,2, +func_147322_a,closeConnection,2, +func_147326_c,tryAcceptPlayer,2, +func_147338_a,processEnchantItem,2, +func_147339_a,processConfirmTransaction,2, +func_147340_a,processUseEntity,2, +func_147341_a,processTabComplete,2, +func_147342_a,processClientStatus,2, +func_147343_a,processUpdateSign,2, +func_147344_a,processCreativeInventoryAction,2, +func_147345_a,processPlayerDigging,2, +func_147346_a,processPlayerBlockPlacement,2, +func_147347_a,processPlayer,2, +func_147348_a,processPlayerAbilities,2, +func_147349_a,processVanilla250Packet,2, +func_147351_a,processClickWindow,2, +func_147352_a,processClientSettings,2, +func_147353_a,processKeepAlive,2, +func_147354_a,processChatMessage,2, +func_147355_a,processHeldItemChange,2, +func_147356_a,processCloseWindow,2, +func_147357_a,processEntityAction,2, +func_147358_a,processInput,2, +func_147359_a,sendPacket,2, +func_147360_c,kickPlayerFromServer,2, +func_147361_d,handleSlashCommand,2, +func_147362_b,getNetworkManager,2, +func_147363_d,currentTimeMillis,2, +func_147364_a,setPlayerLocation,2, +func_147383_a,processHandshake,2, +func_147388_a,handleDisconnect,2, +func_147389_a,handleEncryptionRequest,2, +func_147390_a,handleLoginSuccess,2, +func_147391_c,getSessionService,0, +func_147397_a,handleServerInfo,2, +func_147398_a,handlePong,2, +func_147407_a,setBase64EncodedIconData,0, +func_147409_e,getBase64EncodedIconData,0, +func_147442_i,setThunderStrength,0, +func_147447_a,rayTraceBlocks,2, +func_147448_a,addTileEntities,2, +func_147456_g,updateBlocks,2, +func_147457_a,markTileEntityForRemoval,2, +func_147458_c,markBlockRangeForRenderUpdate,2, +func_147467_a,playMoodSoundAndCheckLight,2, +func_147485_a,fireBlockEvent,2, +func_147488_Z,sendQueuedBlockEvents,2, +func_147497_a,setRendererDispatcher,0, +func_147498_b,getFontRenderer,0, +func_147499_a,bindTexture,0, +func_147517_a,renderMob,0, +func_147543_a,setWorld,0, +func_147545_a,hasSpecialRenderer,0, +func_147546_a,getSpecialRendererByClass,0, +func_147547_b,getSpecialRenderer,0, +func_147548_a,getFontRenderer,0, +func_147549_a,renderTileEntityAt,0, +func_147585_a,markBlockRangeForRenderUpdate,2, +func_147590_a,drawOutlinedBoundingBox,0, +func_147604_a,setFramebufferColor,0, +func_147605_b,createFramebuffer,0, +func_147606_d,unbindFramebufferTexture,0, +func_147607_a,setFramebufferFilter,0, +func_147608_a,deleteFramebuffer,0, +func_147609_e,unbindFramebuffer,0, +func_147610_a,bindFramebuffer,0, +func_147611_b,checkFramebufferComplete,0, +func_147612_c,bindFramebufferTexture,0, +func_147613_a,createBindFramebuffer,0, +func_147614_f,framebufferClear,0, +func_147615_c,framebufferRender,0, +func_147631_c,deleteGlTexture,0, +func_147633_a,setMipmapLevels,0, +func_147634_a,completeResourceLocation,0, +func_147640_e,checkTextureUploaded,0, +func_147641_a,setBufferedImage,0, +func_147645_c,deleteTexture,0, +func_147647_b,bidiReorder,0, +func_147649_g,getXPosF,0, +func_147650_b,getSoundLocation,0, +func_147651_i,getZPosF,0, +func_147652_d,getRepeatDelay,0, +func_147653_e,getVolume,0, +func_147654_h,getYPosF,0, +func_147655_f,getPitch,0, +func_147656_j,getAttenuationType,0, +func_147657_c,canRepeat,0, +func_147667_k,isDonePlaying,0, +func_147673_a,create,0, +func_147674_a,create,0, +func_147675_a,create,0, +func_147680_a,getSound,0, +func_147681_a,playDelayedSound,0, +func_147682_a,playSound,0, +func_147683_b,stopSound,0, +func_147684_a,setSoundLevel,0, +func_147685_d,unloadSounds,0, +func_147686_a,getRandomSoundFromCategories,0, +func_147687_e,resumeSounds,0, +func_147689_b,pauseSounds,0, +func_147690_c,stopSounds,0, +func_147691_a,setListener,0, +func_147692_c,isSoundPlaying,0, +func_147693_a,loadSoundResource,0, +func_147701_i,getMapItemRenderer,0, +func_147702_a,isShaderActive,0, +func_147704_a,updateShaderGroupSize,0, +func_147705_c,activateNextShader,0, +func_147706_e,getShaderGroup,0, +func_147778_a,getAoBrightness,0, +func_147906_a,renderLivingLabel,0, +func_147936_a,renderEntityStatic,0, +func_147937_a,renderEntitySimple,0, +func_147939_a,doRenderEntity,0, +func_147940_a,renderEntityWithPosYaw,0, +func_147942_a,deleteTexture,0, +func_147943_a,blendColors,0, +func_147944_a,blendColorComponent,0, +func_147947_a,uploadTextureSub,0, +func_147949_a,generateMipmapData,0, +func_147951_b,setTextureBlurred,0, +func_147953_a,processPixelValues,0, +func_147954_b,setTextureBlurMipmap,0, +func_147955_a,uploadTextureMipmap,0, +func_147962_a,getFrameTextureData,0, +func_147963_d,generateMipmaps,0, +func_147965_a,getFrameTextureData,0, +func_147969_b,getMipmapDimension,0, +func_147984_b,getShaderUniformOrDefault,0, +func_147985_d,markDirty,0, +func_147986_h,getProgram,0, +func_147987_b,parseUniform,0, +func_147988_a,deleteShader,0, +func_147989_e,getVertexShaderLoader,0, +func_147990_i,setupUniforms,0, +func_147991_a,getShaderUniform,0, +func_147992_a,addSamplerTexture,0, +func_147993_b,endShader,0, +func_147994_f,getFragmentShaderLoader,0, +func_147995_c,useShader,0, +func_147996_a,parseSampler,0, +func_148017_a,getFramebuffer,0, +func_148018_a,loadShaderGroup,0, +func_148020_a,addFramebuffer,0, +func_148021_a,deleteShaderGroup,0, +func_148022_b,getShaderGroupName,0, +func_148023_a,addShader,0, +func_148024_c,resetProjectionMatrix,0, +func_148026_a,createBindFramebuffers,0, +func_148027_a,initTarget,0, +func_148028_c,initUniform,0, +func_148040_d,preLoadShader,0, +func_148041_a,addAuxFramebuffer,0, +func_148042_a,loadShader,0, +func_148043_c,getShaderManager,0, +func_148044_b,deleteShader,0, +func_148045_a,setProjectionMatrix,0, +func_148054_b,deleteShader,0, +func_148055_a,getShaderFilename,0, +func_148056_a,attachShader,0, +func_148057_a,loadShader,0, +func_148062_a,getShaderName,0, +func_148063_b,getShaderExtension,0, +func_148064_d,getLoadedShaders,0, +func_148065_c,getShaderMode,0, +func_148074_b,getStaticShaderLinkHelper,0, +func_148075_b,linkProgram,0, +func_148076_a,setNewStaticShaderLinkHelper,0, +func_148077_a,deleteShader,0, +func_148078_c,createProgram,0, +func_148081_a,set,0, +func_148082_k,uploadFloatMatrix,0, +func_148083_a,set,0, +func_148084_b,setUniformLocation,0, +func_148085_a,parseType,0, +func_148086_a,getShaderName,0, +func_148087_a,set,0, +func_148088_a,set,0, +func_148089_j,uploadFloat,0, +func_148090_a,set,0, +func_148091_i,uploadInt,0, +func_148093_b,upload,0, +func_148094_a,set,0, +func_148095_a,set,0, +func_148096_h,markDirty,0, +func_148097_a,set,0, +func_148120_b,drawSelectionBox,0, +func_148121_k,bindAmountScrolled,0, +func_148122_a,setDimensions,0, +func_148123_a,drawBackground,0, +func_148124_c,getSlotIndexFromScreenCoords,0, +func_148125_i,getEnabled,0, +func_148127_b,getSize,0, +func_148128_a,drawScreen,0, +func_148129_a,drawListHeader,0, +func_148130_a,setShowSelectionBox,0, +func_148131_a,isSelected,0, +func_148133_a,setHasListHeader,0, +func_148134_d,registerScrollButtons,0, +func_148136_c,overlayBackground,0, +func_148137_d,getScrollBarX,0, +func_148138_e,getContentHeight,0, +func_148139_c,getListWidth,0, +func_148140_g,setSlotXBoundsFromLeft,0, +func_148141_e,isMouseYWithinSlotBounds,0, +func_148143_b,setEnabled,0, +func_148144_a,elementClicked,0, +func_148145_f,scrollBy,0, +func_148146_j,getSlotHeight,0, +func_148147_a,actionPerformed,0, +func_148148_g,getAmountScrolled,0, +func_148179_a,mouseClicked,0, +func_148180_b,getListEntry,0, +func_148181_b,mouseReleased,0, +func_148201_l,getList,0, +func_148202_k,getListHeader,0, +func_148249_a,clearLoadedMaps,0, +func_148254_d,getToken,0, +func_148255_b,getPlayerID,0, +func_148256_e,getProfile,0, +func_148259_a,saveScreenshot,0, +func_148260_a,saveScreenshot,0, +func_148262_d,denormalizeValue,0, +func_148263_a,setValueMax,0, +func_148264_f,snapToStep,0, +func_148266_c,normalizeValue,0, +func_148267_f,getValueMax,0, +func_148268_e,snapToStepClamp,0, +func_148277_b,mouseReleased,0, +func_148278_a,mousePressed,0, +func_148289_a,getLanServer,0, +func_148296_a,getServerData,0, +func_148297_b,prepareServerIcon,0, +func_148329_a,scrollTo,0, +func_148334_a,generateNewRandomName,0, +func_148335_a,reseedRandomGenerator,0, +func_148530_e,getResourcePackInstance,0, +func_148535_c,getListMipmaps,0, +func_148537_a,sendPacketToAllPlayersInDimension,2, +func_148539_a,sendChatMsg,2, +func_148540_a,sendPacketToAllPlayers,2, +func_148541_a,sendToAllNear,2, +func_148542_a,allowUserToConnect,2, +func_148543_a,sendToAllNearExcept,2, +func_148544_a,sendChatMsgImpl,2, +func_148545_a,createPlayerForUser,2, +func_148552_f,isStreaming,0, +func_148553_a,setSoundEntryVolume,0, +func_148554_a,setSoundEntryWeight,0, +func_148555_d,getSoundEntryWeight,0, +func_148556_a,getSoundEntryName,0, +func_148557_a,setStreaming,0, +func_148558_b,getSoundEntryVolume,0, +func_148559_b,setSoundEntryPitch,0, +func_148560_c,getSoundEntryPitch,0, +func_148561_a,setSoundEntryName,0, +func_148562_a,setSoundEntryType,0, +func_148563_e,getSoundEntryType,0, +func_148570_a,getSoundList,0, +func_148571_a,setSoundCategory,0, +func_148572_a,setReplaceExisting,0, +func_148573_c,getSoundCategory,0, +func_148574_b,canReplaceExisting,0, +func_148580_a,getType,0, +func_148586_a,getTypeInt,0, +func_148594_a,getNormalizedVolume,0, +func_148595_a,getSoundCategoryVolume,0, +func_148596_a,reloadSoundSystem,0, +func_148597_a,isSoundPlaying,0, +func_148599_a,playDelayedSound,0, +func_148601_a,setSoundCategoryVolume,0, +func_148602_b,stopSound,0, +func_148604_f,resumeAllSounds,0, +func_148605_d,updateAllSounds,0, +func_148606_a,getNormalizedPitch,0, +func_148608_i,loadSoundSystem,0, +func_148610_e,pauseAllSounds,0, +func_148611_c,playSound,0, +func_148612_a,getURLForSoundResource,0, +func_148613_b,unloadSoundSystem,0, +func_148614_c,stopAllSounds,0, +func_148615_a,setListener,0, +func_148633_c,getMaxDelay,0, +func_148634_b,getMinDelay,0, +func_148635_a,getMusicLocation,0, +func_148647_b,setVolume,0, +func_148648_d,isStreamingSound,0, +func_148649_c,getVolume,0, +func_148650_b,getPitch,0, +func_148651_a,setPitch,0, +func_148652_a,getSoundPoolEntryLocation,0, +func_148720_g,cloneEntry,0, +func_148721_a,getWeight,0, +func_148727_a,addSoundToEventPool,0, +func_148728_d,getSoundCategory,0, +func_148729_c,getSoundEventLocation,0, +func_148740_a,createUnderlyingMap,2, +func_148741_d,containsKey,2, +func_148742_b,getKeys,2, +func_148745_a,getByValue,2, +func_148746_a,put,2, +func_148747_b,get,2, +func_148754_a,getObjectById,2, +func_148757_b,getIDForObject,2, +func_148762_a,registerSound,0, +func_148763_c,clearMap,0, +func_148821_a,glBlendFunc,0, +func_148822_b,isFramebufferEnabled,0, +func_148833_a,processPacket,2, +func_148837_a,readPacketData,2, +func_148840_b,writePacketData,2, +func_148853_f,getTileEntityType,0, +func_148857_g,getNbtCompound,0, +func_148864_h,getData2,0, +func_148868_c,getBlockType,0, +func_148869_g,getData1,0, +func_148897_h,getEntityId,0, +func_148898_f,getSlotCount,0, +func_148900_g,hasSlots,0, +func_148901_c,getWindowId,0, +func_148902_e,getGuiId,0, +func_148916_d,isChat,2, +func_149091_a,getPlayer,0, +func_149101_g,getFlySpeed,0, +func_149102_b,setFlying,2, +func_149103_f,isCreativeMode,2, +func_149104_a,setFlySpeed,2, +func_149105_e,isAllowFlying,2, +func_149106_d,isFlying,2, +func_149107_h,getWalkSpeed,0, +func_149108_a,setInvulnerable,2, +func_149109_c,setAllowFlying,2, +func_149110_b,setWalkSpeed,2, +func_149111_d,setCreativeMode,2, +func_149112_c,isInvulnerable,2, +func_149169_c,getChannelName,0, +func_149188_c,getMapId,0, +func_149192_g,getDifficulty,0, +func_149193_h,getMaxPlayers,0, +func_149194_f,getDimension,0, +func_149195_d,isHardcoreMode,0, +func_149196_i,getWorldType,0, +func_149197_c,getEntityId,0, +func_149198_e,getGameType,0, +func_149220_d,getXCoordinate,0, +func_149221_g,getXOffset,0, +func_149222_k,getParticleCount,0, +func_149223_i,getZOffset,0, +func_149224_h,getYOffset,0, +func_149225_f,getZCoordinate,0, +func_149226_e,getYCoordinate,0, +func_149227_j,getParticleSpeed,0, +func_149241_e,getSoundData,0, +func_149242_d,getSoundType,0, +func_149244_c,isSoundServerwide,0, +func_149289_c,getClientTime,2, +func_149294_c,getResponse,0, +func_149299_b,getVerifyToken,2, +func_149300_a,getSecretKey,2, +func_149304_c,getProfile,2, +func_149330_d,getFoodLevel,0, +func_149331_e,getSaturationLevel,0, +func_149332_c,getHealth,0, +func_149419_c,getMessage,2, +func_149435_c,getStatus,2, +func_149439_c,getMessage,2, +func_149460_c,getKey,2, +func_149462_g,getYaw,2, +func_149463_k,getRotating,2, +func_149464_c,getPositionX,2, +func_149465_i,isOnGround,2, +func_149466_j,isMoving,2, +func_149467_d,getPositionY,2, +func_149469_a,setMoving,2, +func_149470_h,getPitch,2, +func_149472_e,getPositionZ,2, +func_149483_b,setFlying,2, +func_149484_f,isCreativeMode,2, +func_149485_a,setFlySpeed,2, +func_149486_e,isAllowFlying,2, +func_149488_d,isFlying,2, +func_149490_a,setInvulnerable,2, +func_149491_c,setAllowFlying,2, +func_149492_b,setWalkSpeed,2, +func_149493_d,setCreativeMode,2, +func_149494_c,isInvulnerable,2, +func_149512_e,getAuxData,2, +func_149520_f,isColorsEnabled,2, +func_149521_d,getModelPartFlags,2, +func_149523_e,getChatVisibility,2, +func_149524_c,getLang,2, +func_149532_c,getWindowId,2, +func_149533_d,getUid,2, +func_149537_d,getButton,2, +func_149539_c,getWindowId,2, +func_149542_h,getMode,2, +func_149543_e,getUsedButton,2, +func_149544_d,getSlotId,2, +func_149546_g,getClickedItem,2, +func_149547_f,getActionNumber,2, +func_149548_c,getWindowId,2, +func_149559_c,getChannelName,2, +func_149564_a,getEntityFromWorld,2, +func_149565_c,getAction,2, +func_149568_f,getPlacedBlockDirection,2, +func_149569_i,getPlacedBlockOffsetY,2, +func_149573_h,getPlacedBlockOffsetX,2, +func_149574_g,getStack,2, +func_149575_j,getPlacedBlockOffsetZ,2, +func_149594_c,getRequestedState,2, +func_149595_d,getProtocolVersion,2, +func_149607_e,getVerifyToken,0, +func_149608_d,getPublicKey,0, +func_149609_c,getServerId,0, +func_149614_c,getSlotId,2, +func_149616_d,getForwardSpeed,2, +func_149617_f,isSneaking,2, +func_149618_e,isJumping,2, +func_149620_c,getStrafeSpeed,2, +func_149625_d,getStack,2, +func_149627_c,getSlotId,2, +func_149634_a,getBlockFromItem,2, +func_149635_D,getBlockColor,0, +func_149637_q,isSolidFullCube,2, +func_149638_a,getExplosionResistance,2, +func_149645_b,getRenderType,2, +func_149647_a,setCreativeTab,2, +func_149648_K,isFlowerPot,0, +func_149649_H,disableStats,2, +func_149652_G,getEnableStats,2, +func_149653_t,getTickRandomly,2, +func_149654_a,isVecInsideYZBounds,2, +func_149656_h,getMobilityFlag,2, +func_149659_a,canDropFromExplosion,2, +func_149661_c,isVecInsideXYBounds,2, +func_149662_c,isOpaqueCube,2, +func_149663_c,setUnlocalizedName,2, +func_149665_z,getBlockBoundsMinY,2, +func_149666_a,getSubBlocks,0, +func_149667_c,isAssociatedBlock,2, +func_149669_A,getBlockBoundsMaxY,2, +func_149671_p,registerBlocks,2, +func_149672_a,setStepSound,2, +func_149675_a,setTickRandomly,2, +func_149676_a,setBlockBounds,2, +func_149679_a,quantityDroppedWithBonus,2, +func_149680_a,isEqualTo,2, +func_149682_b,getIdFromBlock,2, +func_149683_g,setBlockBoundsForItemRender,2, +func_149684_b,getBlockFromName,2, +func_149685_I,getAmbientOcclusionLightValue,0, +func_149686_d,isFullCube,2, +func_149687_b,isVecInsideXZBounds,2, +func_149688_o,getMaterial,2, +func_149693_C,getBlockBoundsMaxZ,2, +func_149698_L,requiresUpdates,2, +func_149700_E,canSilkHarvest,2, +func_149703_v,isCollidable,2, +func_149704_x,getBlockBoundsMinX,2, +func_149706_B,getBlockBoundsMinZ,2, +func_149708_J,getCreativeTabToDisplayOn,0, +func_149710_n,getUseNeighborBrightness,2, +func_149711_c,setHardness,2, +func_149713_g,setLightOpacity,2, +func_149715_a,setLightLevel,2, +func_149716_u,hasTileEntity,2, +func_149717_k,getLightOpacity,2, +func_149721_r,isNormalCube,2, +func_149722_s,setBlockUnbreakable,2, +func_149729_e,getBlockById,2, +func_149730_j,isFullBlock,2, +func_149732_F,getLocalizedName,2, +func_149738_a,tickRate,2, +func_149739_a,getUnlocalizedName,2, +func_149740_M,hasComparatorInputOverride,2, +func_149744_f,canProvidePower,2, +func_149745_a,quantityDropped,2, +func_149750_m,getLightValue,2, +func_149751_l,isTranslucent,0, +func_149752_b,setResistance,2, +func_149753_y,getBlockBoundsMaxX,2, +func_149801_b,getLiquidHeightPercent,2, +func_149829_a,onStartFalling,2, +func_149843_e,init,2, +func_149854_a,canPlaceBlockOn,2, +func_149865_P,getCrop,2, +func_149866_i,getSeed,2, +func_149907_e,isAssociated,2, +func_149908_a,canPowerSide,2, +func_149909_d,isRedstoneRepeaterBlockID,2, +func_149915_a,createNewTileEntity,2, +func_149917_c,isEnabled,2, +func_149928_a,canNotContain,2, +func_149937_b,getFacing,2, +func_149939_a,getDispensePosition,2, +func_149940_a,getBehavior,2, +func_149978_e,setBedBounds,2, +func_150002_b,getUnlocalizedName,2, +func_150003_a,isSlab,0, +func_150011_b,setBoundBasedOnMeta,2, +func_150089_b,setBlockBoundsFromMeta,2, +func_150093_a,canPlaceOn,2, +func_150098_a,canPaneConnectToBlock,2, +func_150119_a,isValidSupportBlock,2, +func_150122_b,setGraphicsLevel,0, +func_150148_a,isBlockStairs,2, +func_150154_b,getBoundsForLayers,2, +func_150206_m,createDeepCopy,2, +func_150209_a,setChatHoverEvent,2, +func_150210_i,getChatHoverEvent,2, +func_150215_a,getColor,2, +func_150217_b,setItalic,2, +func_150218_j,getFormattingCode,0, +func_150221_a,setParentStyle,2, +func_150223_b,getBold,2, +func_150224_n,getParent,2, +func_150225_c,setStrikethrough,2, +func_150227_a,setBold,2, +func_150228_d,setUnderlined,2, +func_150229_g,isEmpty,2, +func_150232_l,createShallowCopy,2, +func_150233_f,getObfuscated,2, +func_150234_e,getUnderlined,2, +func_150235_h,getChatClickEvent,2, +func_150236_d,getStrikethrough,2, +func_150237_e,setObfuscated,2, +func_150238_a,setColor,2, +func_150241_a,setChatClickEvent,2, +func_150242_c,getItalic,2, +func_150253_a,getSiblings,2, +func_150254_d,getFormattedText,0, +func_150255_a,setChatStyle,2, +func_150256_b,getChatStyle,2, +func_150257_a,appendSibling,2, +func_150258_a,appendText,2, +func_150259_f,createCopy,2, +func_150260_c,getUnformattedText,2, +func_150261_e,getUnformattedTextForChat,2, +func_150262_a,createDeepCopyIterator,2, +func_150265_g,getChatComponentText_TextValue,2, +func_150268_i,getKey,2, +func_150269_b,initializeFromFormat,2, +func_150270_g,ensureInitialized,2, +func_150271_j,getFormatArgs,2, +func_150272_a,getFormatArgumentAsComponent,2, +func_150284_a,createNewByType,2, +func_150285_a_,getString,2, +func_150286_g,getDouble,2, +func_150287_d,getInt,2, +func_150288_h,getFloat,2, +func_150289_e,getShort,2, +func_150290_f,getByte,2, +func_150291_c,getLong,2, +func_150292_c,getByteArray,2, +func_150295_c,getTagList,2, +func_150296_c,getKeySet,2, +func_150297_b,hasKey,2, +func_150298_a,writeEntry,2, +func_150299_b,getTagType,2, +func_150302_c,getIntArray,2, +func_150303_d,getTagType,2, +func_150304_a,set,2, +func_150305_b,getCompoundTagAt,2, +func_150306_c,getIntArray,2, +func_150307_f,getStringTagAt,2, +func_150308_e,getFloat,2, +func_150309_d,getDouble,2, +func_150494_d,getFrequency,2, +func_150495_a,getBreakSound,2, +func_150496_b,getPlaceSound,2, +func_150497_c,getVolume,2, +func_150498_e,getStepSound,2, +func_150503_a,decipher,2, +func_150504_a,cipher,2, +func_150510_c,getLastUpdateTimeInMilliseconds,2, +func_150513_a,genDecorations,2, +func_150559_j,isSnowyBiome,2, +func_150561_m,getTempCategory,2, +func_150562_l,getBiomeClass,2, +func_150565_n,getBiomeGenArray,2, +func_150566_k,createMutation,2, +func_150567_a,genBigTreeChance,2, +func_150568_d,getBiome,2, +func_150569_a,isEqualTo,2, +func_150570_a,setHeight,2, +func_150633_b,mutateHills,2, +func_150650_a,countAdjacentRails,2, +func_150663_a,writeTag,2, +func_150668_b,getValue,2, +func_150669_a,getAction,2, +func_150672_a,getValueByCanonicalName,2, +func_150673_b,getCanonicalName,2, +func_150674_a,shouldAllowInChat,2, +func_150684_a,getValueByCanonicalName,2, +func_150685_b,getCanonicalName,2, +func_150686_a,shouldAllowInChat,2, +func_150695_a,serializeChatStyle,2, +func_150696_a,componentToJson,2, +func_150699_a,jsonToComponent,2, +func_150701_a,getAction,2, +func_150702_b,getValue,2, +func_150707_a,setEnchantable,2, +func_150708_a,getItemStack,2, +func_150709_a,setMaxDamagePercent,2, +func_150718_a,closeChannel,2, +func_150719_a,setNetHandler,2, +func_150721_g,disableAutoRead,2, +func_150722_a,provideLocalClient,0, +func_150723_a,setConnectionState,2, +func_150724_d,isChannelOpen,2, +func_150726_a,provideLanClient,0, +func_150727_a,enableEncryption,2, +func_150729_e,getNetHandler,2, +func_150730_f,getExitMessage,2, +func_150731_c,isLocalChannel,2, +func_150732_b,dispatchPacket,2, +func_150733_h,flushOutboundQueue,2, +func_150752_a,getFromPacket,2, +func_150759_c,getId,2, +func_150760_a,getById,2, +func_150775_a,attenuate,2, +func_150786_a,writeNBTTagCompoundToBuffer,2, +func_150787_b,writeVarIntToBuffer,2, +func_150788_a,writeItemStackToBuffer,2, +func_150789_c,readStringFromBuffer,2, +func_150790_a,getVarIntSize,2, +func_150791_c,readItemStackFromBuffer,2, +func_150792_a,readVarIntFromBuffer,2, +func_150793_b,readNBTTagCompoundFromBuffer,2, +func_150802_k,isPopulated,2, +func_150803_c,recheckGaps,2, +func_150808_b,getBlockLightOpacity,2, +func_150810_a,getBlock0,2, +func_150813_a,addTileEntity,2, +func_150819_a,getBlockByExtId,2, +func_150826_b,translateToFallback,2, +func_150827_a,getLastTranslationUpdateTimeInMilliseconds,2, +func_150835_j,getBlockTileEntity,2, +func_150880_a,dumpJson,2, +func_150881_a,parseJson,2, +func_150882_a,readStatFile,2, +func_150883_b,saveStatFile,2, +func_150891_b,getIdFromItem,2, +func_150892_m,isPotionIngredient,2, +func_150893_a,getStrVsBlock,2, +func_150895_a,getSubItems,0, +func_150896_i,getPotionEffect,2, +func_150897_b,canHarvestBlock,2, +func_150898_a,getItemFromBlock,2, +func_150899_d,getItemById,2, +func_150900_l,registerItems,2, +func_150902_a,addExplosionInfo,0, +func_150903_a,getExplosionTag,0, +func_150905_g,getHealAmount,2, +func_150906_h,getSaturationModifier,2, +func_150910_a,fillBucket,2, +func_150911_c,createMapDataPacket,2, +func_150912_a,loadMapData,0, +func_150913_i,getToolMaterial,2, +func_150926_b,getRecord,0, +func_150927_i,getRecordNameLocal,0, +func_150930_a,isNBTValid,2, +func_150931_i,getDamageVsEntity,2, +func_150932_j,getToolMaterialName,2, +func_150943_a,setSubtypeNames,2, +func_150951_e,getStatName,2, +func_150967_d,getUncookedSaturationModifier,2, +func_150970_e,getCookedHealAmount,2, +func_150972_b,getUnlocalizedName,2, +func_150973_i,canCook,2, +func_150974_a,byMetadata,2, +func_150975_c,getUncookedHealAmount,2, +func_150976_a,getMetadata,2, +func_150977_f,getCookedSaturationModifier,2, +func_150978_a,byItemStack,2, +func_150995_f,getRepairItem,2, +func_150996_a,setItem,2, +func_150997_a,getStrVsBlock,2, +func_150998_b,canHarvestBlock,2, +func_151000_E,getChatComponent,2, +func_151001_c,setStackDisplayName,2, +func_151003_a,getSerializableElement,2, +func_151176_b,getStatEntityKilledBy,2, +func_151177_a,getOneShotStat,2, +func_151179_e,initItemDepleteStats,2, +func_151181_c,initMiningStats,2, +func_151182_a,getStatKillEntity,2, +func_151187_b,getJsonSerializableValue,2, +func_151188_a,setIntegerValue,2, +func_151189_a,getIntegerValue,2, +func_151190_a,setJsonSerializableValue,2, +func_151200_h,getJsonObjectStringFieldValue,2, +func_151201_f,jsonObjectFieldTypeIsPrimitive,0, +func_151202_d,jsonObjectFieldTypeIsArray,2, +func_151203_m,getJsonObjectIntegerFieldValue,2, +func_151204_g,jsonObjectHasNamedField,2, +func_151205_a,jsonObjectFieldTypeIsString,0, +func_151206_a,getJsonElementStringValue,2, +func_151207_m,getJsonElementAsJsonArray,2, +func_151208_a,getJsonObjectIntegerFieldValueOrDefault,2, +func_151209_a,getJsonObjectBooleanFieldValueOrDefault,2, +func_151210_l,getElementAsJsonObject,2, +func_151211_a,jsonElementTypeIsString,0, +func_151212_i,getJsonObjectBooleanFieldValue,0, +func_151213_a,getJsonObjectJsonArrayFieldOrDefault,0, +func_151214_t,getJsonObjectJsonArrayField,2, +func_151215_f,getJsonElementIntegerValue,2, +func_151216_b,getJsonElementBooleanValue,2, +func_151217_k,getJsonObjectFloatFieldValue,0, +func_151218_a,getJsonObjectFieldOrDefault,0, +func_151219_a,getJsonObjectStringFieldValueOrDefault,0, +func_151220_d,getJsonElementFloatValue,2, +func_151221_a,getJsonObjectFloatFieldValueOrDefault,2, +func_151222_d,getJsonElementTypeDescription,2, +func_151225_a,post,2, +func_151226_a,postMap,2, +func_151235_d,isPowerOfTwo,2, +func_151236_b,roundUpToPowerOfTwo,2, +func_151237_a,clamp_double,2, +func_151238_b,denormalizeClamp,2, +func_151239_c,calculateLogBaseTwo,2, +func_151240_a,randomFloatClamp,2, +func_151241_e,calculateLogBaseTwoDeBruijn,2, +func_151243_f,getIconItemDamage,0, +func_151244_d,getIconItemStack,0, +func_151246_b,isNullOrEmpty,2, +func_151247_a,sendToAllTrackingEntity,2, +func_151251_a,sendToAllPlayersWatchingChunk,2, +func_151252_a,sendTileToAllPlayersWatchingChunk,2, +func_151253_a,flagChunkForUpdate,2, +func_151255_a,getStringBuffer,2, +func_151256_a,writeAndFlush,2, +func_151265_a,addLanEndpoint,2, +func_151267_d,getServer,2, +func_151268_b,terminateEndpoints,2, +func_151269_c,networkTick,2, +func_151270_a,addLocalEndpoint,0, +func_151303_a,getName,2, +func_151304_b,getProtocol,2, +func_151315_a,setServerDescription,2, +func_151316_d,getFavicon,2, +func_151317_a,getServerDescription,2, +func_151318_b,getPlayerCountData,2, +func_151319_a,setPlayerCountData,2, +func_151320_a,setFavicon,2, +func_151321_a,setProtocolVersionInfo,2, +func_151322_c,getProtocolVersionInfo,2, +func_151330_a,setPlayers,2, +func_151331_c,getPlayers,2, +func_151332_a,getMaxPlayers,2, +func_151333_b,getOnlinePlayerCount,2, +func_151337_f,getBlock,2, +func_151338_e,getEventParameter,2, +func_151339_d,getEventID,2, +func_151351_a,getBlock,2, +func_151353_a,registerDispenserBehaviors,2, +func_151354_b,register,2, +func_151357_h,showWorldInfoNotice,0, +func_151358_j,setNotificationData,2, +func_151367_b,onUserHurt,2, +func_151368_a,onEntityDamaged,2, +func_151386_g,getLuckOfSeaModifier,2, +func_151387_h,getLureModifier,2, +func_151390_b,readFromBuf,0, +func_151391_a,writeToBuf,2, +func_151392_a,addPlayerToTeam,2, +func_151393_a,addSmeltingRecipeForBlock,2, +func_151394_a,addSmeltingRecipe,2, +func_151395_a,getSmeltingResult,2, +func_151396_a,addSmelting,2, +func_151397_a,compareItemStacks,2, +func_151398_b,getSmeltingExperience,2, +func_151426_a,getEnumChatVisibility,2, +func_151428_a,getChatVisibility,2, +func_151429_b,getResourceKey,0, +func_151438_a,getSoundLevel,0, +func_151439_a,setSoundLevel,0, +func_151440_a,setOptionKeyBinding,0, +func_151461_a,getChatComponent,0, +func_151462_b,setKeyCode,0, +func_151463_i,getKeyCode,0, +func_151464_g,getKeyDescription,0, +func_151466_e,getKeyCategory,0, +func_151467_c,getKeybinds,0, +func_151468_f,isPressed,0, +func_151469_h,getKeyCodeDefault,0, +func_151470_d,isKeyDown,0, +func_151498_a,isStairOrSlab,2, +func_151499_f,getEatingGrassTimer,2, +func_151507_a,writeWatchedListToPacketBuffer,2, +func_151508_b,readWatchedListFromPacketBuffer,2, +func_151509_a,writeTo,2, +func_151510_a,writeWatchableObjectToPacketBuffer,2, +func_151517_h,isDamageAbsolute,2, +func_151518_m,setDamageIsAbsolute,2, +func_151519_b,getDeathMessage,2, +func_151521_b,getDeathMessage,2, +func_151523_a,getDifficultyEnum,2, +func_151525_a,getDifficultyId,2, +func_151526_b,getDifficultyResourceKey,2, +func_151555_a,getMetadataWithOffset,2, +func_151565_r,getMaterialMapColor,2, +func_151616_a,biomesEqualOrMesaPlateau,2, +func_151617_b,selectModeOrRandom,2, +func_151618_b,isBiomeOceanic,2, +func_151619_a,selectRandom,2, +func_151624_d,getIntsHeatIce,2, +func_151625_e,getIntsSpecial,2, +func_151626_c,getIntsCoolWarm,2, +func_151634_b,canBiomesBeNeighbors,2, +func_151635_b,replaceBiomeEdge,2, +func_151636_a,replaceBiomeEdgeIfNecessary,2, +func_151685_b,getRepairItem,2, +func_151686_a,addStats,2, +func_152106_a,setPlayerProfile,2, +func_152107_a,setType,2, +func_152108_a,getPlayerProfile,2, +func_152109_d,updatePlayerProfile,2, +func_152113_b,getOwnerId,2, +func_152114_e,isOwner,2, +func_152115_b,setOwnerId,2, +func_152116_bZ,isChickenJockey,2, +func_152117_i,setChickenJockey,2, +func_152122_n,hasPlayerInfo,0, +func_152123_o,hasSkin,0, +func_152125_a,drawScaledCustomSizeModalRect,0, +func_152340_a,readImageToBuffer,0, +func_152342_ad,getSkinManager,0, +func_152343_a,addScheduledTask,0, +func_152344_a,addScheduledTask,2, +func_152345_ab,isCallingFromMinecraftThread,2, +func_152346_Z,getTwitchStream,0, +func_152347_ac,getSessionService,0, +func_152348_aa,dispatchKeypresses,0, +func_152349_b,isUnicode,0, +func_152357_F,getGameProfiles,2, +func_152358_ax,getPlayerProfileCache,2, +func_152359_aw,getGameProfileRepository,2, +func_152361_a,setConfigManager,2, +func_152368_aE,convertFiles,1, +func_152369_aG,sleepFiveSeconds,1, +func_152372_a,notifyOperators,2, +func_152373_a,notifyOperators,2, +func_152374_a,notifyOperators,2, +func_152376_a,calcDamageByCreature,2, +func_152378_a,getPlayerEntityByUUID,2, +func_152379_p,getRenderDistanceChunks,2, +func_152421_a,setSessionType,0, +func_152428_f,getSessionType,0, +func_152430_c,renderStreamIndicator,0, +func_152433_a,loadTextureFromServer,0, +func_152436_a,render,0, +func_152437_a,render,0, +func_152446_a,read,2, +func_152447_a,readType,2, +func_152448_b,readKey,2, +func_152449_a,readNBT,2, +func_152450_a,read,2, +func_152459_a,readGameProfileFromNBT,2, +func_152506_a,getOfflineProfile,2, +func_152583_a,copyFrom,0, +func_152584_a,setResourceMode,0, +func_152586_b,getResourceMode,0, +func_152589_a,getMotd,0, +func_152596_g,canSendCommands,2, +func_152597_c,removePlayerFromWhitelist,2, +func_152598_l,getWhitelistedPlayerNames,2, +func_152599_k,getWhitelistedPlayers,2, +func_152600_g,getAllProfiles,2, +func_152601_d,addWhitelistedPlayer,2, +func_152602_a,getPlayerStatsFile,2, +func_152603_m,getOppedPlayers,2, +func_152604_a,setGameType,0, +func_152605_a,addOp,2, +func_152606_n,getOppedPlayerNames,2, +func_152607_e,canJoin,2, +func_152608_h,getBannedPlayers,2, +func_152610_b,removeOp,2, +func_152611_a,setViewDistance,2, +func_152612_a,getPlayerByUsername,2, +func_152617_w,saveUserBanList,1, +func_152618_v,saveIpBanList,1, +func_152619_x,loadIpBanList,1, +func_152620_y,loadUserBansList,1, +func_152621_a,hasPlayerInstance,2, +func_152622_a,setPlayerViewRadius,2, +func_152634_a,skinAvailable,0, +func_152640_f,getValue,2, +func_152641_a,onSerialization,2, +func_152644_a,getPermissionLevel,2, +func_152655_a,getGameProfileForUsername,2, +func_152678_f,writeChanges,2, +func_152679_g,readSavedFile,1, +func_152680_h,removeExpired,2, +func_152681_a,getObjectKey,2, +func_152682_a,createEntry,2, +func_152683_b,getEntry,2, +func_152684_c,removeEntry,2, +func_152685_a,getKeys,2, +func_152686_a,setLanServer,2, +func_152687_a,addEntry,2, +func_152688_e,getValues,2, +func_152689_b,isLanServer,2, +func_152690_d,hasEntries,1, +func_152691_c,getSaveFile,1, +func_152692_d,hasEntry,2, +func_152700_a,getGameProfileFromName,2, +func_152701_b,getProfileId,2, +func_152702_a,isBanned,2, +func_152703_a,isUsernameBanned,2, +func_152707_c,addressToString,2, +func_152708_a,isBanned,2, +func_152709_b,getBanEntry,2, +func_152710_d,convertWhitelist,1, +func_152711_b,mkdir,1, +func_152712_b,hasUnconvertableFiles,1, +func_152713_b,parseDate,1, +func_152714_a,tryConvert,1, +func_152715_c,hasUnconvertablePlayerFiles,1, +func_152717_a,lookupNames,2, +func_152718_c,convertOplist,1, +func_152721_a,readFile,1, +func_152722_b,convertIpBanlist,1, +func_152723_a,convertSaveFiles,1, +func_152724_a,convertUserBanlist,1, +func_152725_d,getPlayersDirectory,1, +func_152727_c,backupConverted,1, +func_152750_a,deserializeEntry,2, +func_152751_a,serializeEntry,2, +func_152754_s,getJsonObject,0, +func_152755_a,get,0, +func_152764_a,parsePass,0, +func_152765_a,parseGroup,0, +func_152767_b,addStatToSnooper,2, +func_152768_a,addClientStat,2, +func_152780_c,getInputStreamAssets,0, +func_152782_a,getResourceMap,0, +func_152788_a,loadSkinFromCache,0, +func_152789_a,loadSkin,0, +func_152790_a,loadProfileTextures,0, +func_152792_a,loadSkin,0, +func_152805_a,getPackDescription,0, +func_152816_j,getStreamInfo,0, +func_152825_o,isIngestTesting,0, +func_152829_a,setRecordingDeviceVolume,0, +func_152837_b,setPlaybackDeviceVolume,0, +func_152839_p,isBroadcastPaused,0, +func_152843_l,getChannelInfo,0, +func_152850_m,isBroadcasting,0, +func_152852_P,getErrorCode,0, +func_152856_w,isReady,0, +func_152857_n,isReadyToBroadcast,0, +func_152915_s,updateStreamVolume,0, +func_152919_o,isPaused,0, +func_152923_i,shutdownStream,0, +func_152946_b,formatStreamKbps,0, +func_152947_c,formatStreamBps,0, +func_152948_a,formatStreamFps,0, +func_153157_c,glGetShaderi,0, +func_153158_d,glGetShaderInfoLog,0, +func_153159_d,glUniform4,0, +func_153160_c,glUniformMatrix4,0, +func_153161_d,glUseProgram,0, +func_153162_d,glUniform4,0, +func_153163_f,glUniform1i,0, +func_153164_b,glGetAttribLocation,0, +func_153165_e,glGenFramebuffers,0, +func_153166_e,glGetProgramInfoLog,0, +func_153167_i,glCheckFramebufferStatus,0, +func_153168_a,glUniform1,0, +func_153169_a,glShaderSource,0, +func_153170_c,glCompileShader,0, +func_153171_g,glBindFramebuffer,0, +func_153172_c,getLogText,0, +func_153173_a,glUniformMatrix2,0, +func_153174_h,glDeleteFramebuffers,0, +func_153175_a,glGetProgrami,0, +func_153176_h,glBindRenderbuffer,0, +func_153177_b,glUniform2,0, +func_153178_b,glAttachShader,0, +func_153179_f,glLinkProgram,0, +func_153180_a,glDeleteShader,0, +func_153181_a,glUniform1,0, +func_153182_b,glUniform2,0, +func_153183_d,glCreateProgram,0, +func_153184_g,glDeleteRenderbuffers,0, +func_153185_f,glGenRenderbuffers,0, +func_153186_a,glRenderbufferStorage,0, +func_153187_e,glDeleteProgram,0, +func_153188_a,glFramebufferTexture2D,0, +func_153189_b,glUniformMatrix3,0, +func_153190_b,glFramebufferRenderbuffer,0, +func_153191_c,glUniform3,0, +func_153192_c,glUniform3,0, +func_153193_b,areShadersSupported,0, +func_153194_a,glGetUniformLocation,0, +func_153195_b,glCreateShader,0, +func_154311_a,setText,0, +func_154313_b,setEnabled,0, +func_154314_d,getId,0, +func_154315_e,getEnabled,0, +func_154316_f,getPositionY,0, +func_154317_g,getRealmsButton,0, +func_154331_x,getLastActiveTime,2, +func_154333_a,getName,0, +func_154346_a,hasAcceptedEULA,1, +func_154347_a,loadEULAFile,1, +func_154348_b,createEULAFile,1, +func_174791_d,getPositionVector,2, +func_174792_t_,sendCommandFeedback,2, +func_174793_f,getCommandSenderEntity,2, +func_174794_a,setCommandStat,2, +func_174805_g,setAlwaysRenderNameTag,2, +func_174806_f,getVectorForRotation,2, +func_174808_Z,createRunningParticles,2, +func_174809_b,isLiquidPresentInAABB,2, +func_174810_b,setSilent,2, +func_174811_aO,getHorizontalFacing,2, +func_174812_G,onKillCommand,2, +func_174813_aQ,getEntityBoundingBox,2, +func_174814_R,isSilent,2, +func_174818_b,getDistanceSq,2, +func_174820_d,replaceItemInInventory,2, +func_174821_h,setOutsideBorder,2, +func_174822_a,rayTrace,0, +func_174824_e,getPositionEyes,0, +func_174826_a,setEntityBoundingBox,2, +func_174828_a,moveToBlockPosAndAngles,2, +func_174829_m,resetPositionToBB,2, +func_174830_Y,spawnRunningParticles,2, +func_174831_c,getDistanceSqToCenter,2, +func_174832_aS,isOutsideBorder,2, +func_174833_aM,getAlwaysRenderNameTag,2, +func_174862_a,createKnot,2, +func_174863_b,getKnotForPosition,2, +func_174867_a,setPickupDelay,2, +func_174868_q,setNoPickupDelay,2, +func_174869_p,setDefaultPickupDelay,2, +func_174871_r,setInfinitePickupDelay,2, +func_174872_o,getAge,0, +func_174873_u,setNoDespawn,2, +func_174874_s,cannotPickup,2, +func_174875_k,getGuiID,2, +func_174876_a,createContainer,2, +func_174877_v,getPos,2, +func_174878_a,setPos,2, +func_174884_b,updateGameprofile,2, +func_174885_b,setField,2, +func_174886_c,closeInventory,2, +func_174887_a_,getField,2, +func_174888_l,clear,2, +func_174889_b,openInventory,2, +func_174890_g,getFieldCount,2, +func_174891_i,getLockCode,2, +func_174892_a,setLockCode,2, +func_174893_q_,isLocked,2, +func_174897_t,getDisplayTile,2, +func_174903_a,isBurning,0, +func_174914_o,mayTransfer,2, +func_174922_i,getWidth,2, +func_174923_h,getHeight,2, +func_174927_b,getPistonState,2, +func_174930_e,getFacing,2, +func_174935_a,restoreLastBlurMipmap,0, +func_174936_b,setBlurMipmap,0, +func_174937_a,setBlurMipmapDirect,0, +func_174942_a,registerSprite,0, +func_174943_a,loadSprites,0, +func_174944_f,getMissingSprite,0, +func_174951_a,getMissingModel,0, +func_174952_b,getTextureMap,0, +func_174953_a,getModel,0, +func_174954_c,getBlockModelShapes,0, +func_174959_b,notifyLightSet,2, +func_174960_a,markBlockForUpdate,2, +func_174961_a,playRecord,2, +func_174962_a,getViewVector,0, +func_174963_q,generateStars,0, +func_174964_o,generateSky2,0, +func_174965_a,cleanupDamagedBlocks,0, +func_174966_b,makeEntityOutlineShader,0, +func_174967_a,updateChunks,0, +func_174968_a,renderSky,0, +func_174969_t,postRenderDamagedBlocks,0, +func_174970_a,setupTerrain,0, +func_174971_n,updateDestroyBlockIcons,0, +func_174972_a,spawnParticle,0, +func_174973_a,getRenderChunkOffset,0, +func_174974_b,spawnEntityFX,0, +func_174975_c,renderEntityOutlineFramebuffer,0, +func_174976_a,renderSky,0, +func_174977_a,renderBlockLayer,0, +func_174978_c,getVisibleFacings,0, +func_174979_m,setDisplayListEntitiesDirty,0, +func_174980_p,generateSky,0, +func_174981_a,drawBlockDamageTexture,0, +func_174982_a,renderBlockLayer,0, +func_174983_a,isPositionInRenderChunk,0, +func_174984_a,fixTerrainFrustum,0, +func_174985_d,isRenderEntityOutlines,0, +func_174986_e,stopChunkUpdates,0, +func_175016_a,renderBlockBrightness,0, +func_175017_a,getBakedModel,0, +func_175018_a,renderBlock,0, +func_175019_b,getBlockModelRenderer,0, +func_175020_a,renderBlockDamage,0, +func_175021_a,isRenderTypeChest,0, +func_175022_a,getModelFromBlockState,0, +func_175023_a,getBlockModelShapes,0, +func_175029_a,registerBlock,0, +func_175030_a,renderItemOverlays,0, +func_175031_a,registerBlock,0, +func_175032_a,renderQuads,0, +func_175033_a,renderQuad,0, +func_175034_a,applyTransform,0, +func_175035_a,renderModel,0, +func_175036_a,renderModel,0, +func_175037_a,getItemModelMesher,0, +func_175038_a,putQuadNormal,0, +func_175040_a,renderItemModelTransform,0, +func_175041_b,registerItems,0, +func_175042_a,renderItemIntoGUI,0, +func_175043_b,renderItemModel,0, +func_175044_a,drawRect,0, +func_175045_a,renderModel,0, +func_175046_c,preTransform,0, +func_175047_a,registerItem,0, +func_175048_a,registerItem,0, +func_175049_a,renderItemModelForEntity,0, +func_175050_a,shouldRenderItemIn3D,0, +func_175063_a,drawStringWithShadow,0, +func_175064_b,getColorCode,0, +func_175065_a,drawString,0, +func_175066_a,loadEntityShader,0, +func_175067_i,renderWorldDirections,0, +func_175068_a,renderWorldPass,0, +func_175069_a,loadShader,0, +func_175070_n,isDrawBlockOutline,0, +func_175071_c,switchUseShader,0, +func_175072_h,disableLightmap,0, +func_175085_a,getSoundMap,0, +func_175086_a,handleResourcePackStatus,2, +func_175087_a,handleAnimation,2, +func_175088_a,handleSpectate,2, +func_175089_a,setPlayerLocation,2, +func_175093_a,handleWorldBorder,2, +func_175094_a,handleCamera,2, +func_175095_a,handleResourcePack,2, +func_175096_a,handlePlayerListHeaderFooter,2, +func_175097_a,handleEntityNBT,2, +func_175098_a,handleCombatEvent,2, +func_175099_a,handleTitle,2, +func_175100_a,handleSetCompressionLevel,2, +func_175101_a,handleServerDifficulty,2, +func_175102_a,getPlayerInfo,0, +func_175105_e,getGameProfile,0, +func_175108_a,triggerNote,2, +func_175109_g,initializeBannerData,0, +func_175110_d,getColorList,0, +func_175111_b,getBaseColor,2, +func_175112_a,setItemValues,2, +func_175113_c,getPatterns,2, +func_175114_c,getPatternList,0, +func_175115_b,getBaseColor,2, +func_175117_e,removeBannerData,2, +func_175124_c,getCommandResultStats,2, +func_175131_l,getBlock,2, +func_175138_ci,getXPSeed,2, +func_175140_cp,hasReducedDebug,0, +func_175141_a,openEditSign,2, +func_175142_cm,isAllowEdit,2, +func_175143_p,isInBed,2, +func_175144_cb,isUser,0, +func_175146_a,canOpen,2, +func_175147_b,getOfflineUUID,2, +func_175149_v,isSpectator,2, +func_175150_k,setReducedDebug,0, +func_175151_a,canPlayerEdit,2, +func_175154_l,getSkinType,0, +func_175155_b,getPlayerInfo,0, +func_175156_o,getFovModifier,0, +func_175158_f,setClientBrand,0, +func_175160_A,isCurrentViewEntity,0, +func_175161_p,onUpdateWalkingPlayer,0, +func_175162_d,isOpenBlockSpace,0, +func_175163_u,sendHorseInventory,0, +func_175174_a,drawTexturedModalRect,0, +func_175175_a,drawTexturedModalRect,0, +func_175180_a,renderGameOverlay,0, +func_175181_h,getTabList,0, +func_175183_b,showCrosshair,0, +func_175184_a,renderHotbarItem,0, +func_175203_a,setCentered,0, +func_175211_a,setWidth,0, +func_175213_c,buildDisplayString,0, +func_175236_d,isReducedDebug,0, +func_175237_a,renderDebugInfo,0, +func_175238_c,getDebugInfoRight,0, +func_175239_b,renderDebugInfoRight,0, +func_175240_a,bytesToMb,0, +func_175244_b,setHeader,0, +func_175248_a,setFooter,0, +func_175264_a,renderTooltip,0, +func_175274_a,setText,0, +func_175275_f,sendChatMessage,0, +func_175281_b,sendChatMessage,0, +func_175378_g,updateActivePotionEffects,0, +func_175396_E,getTabListDisplayName,2, +func_175397_a,loadResourcePack,2, +func_175398_C,getSpectatingEntity,2, +func_175399_e,setSpectatingEntity,2, +func_175402_q,getShowArms,2, +func_175403_w,getLeftLegRotation,0, +func_175404_u,getLeftArmRotation,0, +func_175405_c,setLeftArmRotation,2, +func_175406_a,damageArmorStand,2, +func_175407_x,getRightLegRotation,0, +func_175408_t,getBodyRotation,2, +func_175409_C,dropContents,2, +func_175410_n,isSmall,2, +func_175411_v,getRightArmRotation,0, +func_175412_z,playParticles,2, +func_175413_k,setShowArms,2, +func_175414_r,hasNoBasePlate,2, +func_175415_a,setHeadRotation,2, +func_175416_h,writePoseToNBT,2, +func_175417_e,setLeftLegRotation,2, +func_175418_s,getHeadRotation,2, +func_175419_y,readPoseFromNBT,2, +func_175420_a,setSmall,2, +func_175421_A,dropBlock,2, +func_175423_p,hasNoGravity,2, +func_175424_b,setBodyRotation,2, +func_175425_j,setNoGravity,2, +func_175426_l,setNoBasePlate,2, +func_175427_f,setRightLegRotation,2, +func_175428_d,setRightArmRotation,2, +func_175446_cd,isAIDisabled,2, +func_175456_n,applyEntityAI,2, +func_175457_ck,isAngry,2, +func_175461_cl,isElder,2, +func_175466_co,getTargetedEntity,2, +func_175495_n,isSpawnedByPlayer,2, +func_175496_a,setSpawnedByPlayer,2, +func_175509_cj,getFleeceColor,2, +func_175512_b,setFleeceColor,2, +func_175529_r,setRabbitType,2, +func_175531_cl,getRabbitType,2, +func_175544_ck,setupTamedAI,2, +func_175546_cu,getCollarColor,2, +func_175547_a,setCollarColor,2, +func_175554_cu,populateBuyingList,2, +func_175570_h,getInstance,1, +func_175571_m,shouldTrackOutput,2, +func_175572_n,getCommandResultStats,2, +func_175573_a,setTrackOutput,2, +func_175576_a,getEntityFromUuid,2, +func_175577_aI,getNetworkCompressionTreshold,2, +func_175579_a,isBlockProtected,2, +func_175580_aG,getMaxWorldSize,2, +func_175581_ab,getResourcePackHash,2, +func_175582_h,createNewCommandManager,2, +func_175583_aK,getServerThread,1, +func_175584_a,setResourcePackFromWorld,2, +func_175585_v,setInstance,0, +func_175586_a,callFromMainThread,2, +func_175587_aJ,getCurrentTime,1, +func_175592_a,setStaticInstance,0, +func_175593_aQ,getMaxTickTime,1, +func_175594_ao,setWindowIcon,0, +func_175595_al,initStream,0, +func_175596_ai,getSessionInfo,0, +func_175597_ag,getItemRenderer,0, +func_175598_ae,getRenderManager,0, +func_175599_af,getRenderItem,0, +func_175600_c,getVersion,0, +func_175601_h,updateDisplay,0, +func_175602_ab,getBlockRendererDispatcher,0, +func_175603_A,scheduleResourcesRefresh,0, +func_175604_i,checkWindowResize,0, +func_175605_an,setInitialDisplayMode,0, +func_175606_aa,getRenderViewEntity,0, +func_175607_a,setRenderViewEntity,0, +func_175608_ak,registerMetadataSerializers,0, +func_175609_am,createDisplay,0, +func_175610_ah,getDebugFPS,0, +func_175623_d,isAirBlock,2, +func_175624_G,getWorldType,2, +func_175625_s,getTileEntity,2, +func_175626_b,getCombinedLight,0, +func_175627_a,getStrongPower,2, +func_175628_b,getLightFor,0, +func_175629_a,getLightForExt,0, +func_175630_e,getPositionIndex,0, +func_175631_c,getBlockStateRaw,0, +func_175637_a,forceBlockUpdateTick,2, +func_175638_a,getRawLight,2, +func_175639_b,isAreaLoaded,2, +func_175640_z,isBlockPowered,2, +func_175641_c,addBlockEvent,2, +func_175642_b,getLightFor,2, +func_175643_b,init,2, +func_175644_a,getEntities,2, +func_175645_m,getHorizon,2, +func_175646_b,markChunkDirty,2, +func_175647_a,getEntitiesWithinAABB,2, +func_175648_a,isAreaLoaded,2, +func_175649_E,getDifficultyForLocation,2, +func_175650_b,loadEntities,2, +func_175651_c,getRedstonePower,2, +func_175652_B,setSpawnPoint,2, +func_175653_a,setLightFor,2, +func_175654_a,updateBlockTick,2, +func_175655_b,destroyBlock,2, +func_175656_a,setBlockState,2, +func_175657_ab,getSkylightSubtracted,2, +func_175658_ac,getLastLightningBolt,0, +func_175659_aa,getDifficulty,2, +func_175660_a,isBlockModifiable,2, +func_175661_b,getPlayers,2, +func_175663_a,isAreaLoaded,2, +func_175664_x,checkLight,2, +func_175666_e,updateComparatorOutputLevel,2, +func_175667_e,isBlockLoaded,2, +func_175668_a,isBlockLoaded,2, +func_175669_a,playBroadcastSound,2, +func_175670_e,canBlockFreeze,2, +func_175671_l,getLightFromNeighbors,2, +func_175672_r,getTopSolidOrLiquidBlock,2, +func_175673_a,isInsideBorder,2, +func_175676_y,getStrongPower,2, +func_175677_d,isBlockNormalCube,2, +func_175678_i,canSeeSky,2, +func_175679_n,notifyLightSet,2, +func_175680_a,isChunkLoaded,2, +func_175681_c,unloadEntities,2, +func_175682_a,spawnParticle,0, +func_175683_a,doesBlockHaveSolidTopSurface,2, +func_175684_a,scheduleUpdate,2, +func_175685_c,notifyNeighborsOfStateChange,2, +func_175686_ad,isFindingSpawnPoint,2, +func_175687_A,isBlockIndirectlyGettingPowered,2, +func_175688_a,spawnParticle,2, +func_175689_h,markBlockForUpdate,2, +func_175690_a,setTileEntity,2, +func_175691_a,isBlockTickPending,2, +func_175692_b,setSkylightSubtracted,2, +func_175693_T,getMapStorage,2, +func_175694_M,getSpawnPoint,2, +func_175695_a,notifyNeighborsOfStateExcept,2, +func_175696_F,isWater,2, +func_175697_a,isAreaLoaded,2, +func_175698_g,setBlockToAir,2, +func_175699_k,getLight,2, +func_175700_a,addTileEntity,2, +func_175701_a,isValid,2, +func_175702_c,setLastLightningBolt,2, +func_175703_c,getGroundAboveSeaLevel,2, +func_175704_b,markBlockRangeForRenderUpdate,2, +func_175705_a,getLightFromNeighborsFor,0, +func_175706_a,isAreaLoaded,2, +func_175707_a,isAreaLoaded,2, +func_175708_f,canSnowAt,2, +func_175709_b,isSidePowered,2, +func_175710_j,canBlockSeeSky,2, +func_175711_a,isAreaLoaded,2, +func_175713_t,removeTileEntity,2, +func_175714_ae,getVillageCollection,2, +func_175715_c,sendBlockBreakProgress,2, +func_175716_a,canBlockBePlaced,2, +func_175717_a,playRecord,2, +func_175718_b,playAuxSFX,2, +func_175719_a,extinguishFire,2, +func_175720_a,spawnParticle,2, +func_175721_c,getLight,2, +func_175722_b,notifyNeighborsRespectDebug,2, +func_175723_af,getWorldBorder,2, +func_175724_o,getLightBrightness,2, +func_175725_q,getPrecipitationHeight,2, +func_175726_f,getChunkFromBlockCoords,2, +func_175727_C,canLightningStrike,2, +func_175731_a,playSoundAtPos,0, +func_175733_a,getEntityFromUuid,2, +func_175737_aj,setDebugWorldSettings,2, +func_175739_a,spawnParticle,2, +func_175746_b,getColorIndex,2, +func_175750_a,addBlockInfo,2, +func_175755_a,parseInt,2, +func_175756_a,parseDouble,2, +func_175758_e,getEntityName,2, +func_175760_a,parseLong,2, +func_175764_a,parseInt,2, +func_175765_c,parseDouble,2, +func_175766_b,parseLong,2, +func_175772_d,getWorldBorder,2, +func_175783_e,getSlotForShortcut,2, +func_175784_d,getUsernames,2, +func_175786_a,tryExecute,2, +func_175914_a,setGeneratedBlock,2, +func_176052_a,getMapPacket,2, +func_176053_a,updateMapData,2, +func_176055_c,checkDoorExistence,2, +func_176056_a,getNearestVillage,2, +func_176057_e,positionInList,2, +func_176058_f,isWoodDoor,2, +func_176059_d,addToNewDoorsList,2, +func_176060_a,addToVillagerPositionList,2, +func_176061_a,countBlocksCanSeeSky,2, +func_176062_a,fileNameForProvider,2, +func_176071_a,glBufferData,0, +func_176072_g,glBindBuffer,0, +func_176073_e,glGenBuffers,0, +func_176074_g,glDeleteBuffers,0, +func_176075_f,useVbo,0, +func_176101_a,getPacket,2, +func_176102_a,update,2, +func_176118_b,setBorderLerpTarget,2, +func_176119_g,setHardcore,2, +func_176120_C,getBorderCenterX,2, +func_176121_c,setAllowCommands,2, +func_176122_j,setBorderWarningDistance,2, +func_176123_z,isDifficultyLocked,2, +func_176124_d,getBorderCenterX,2, +func_176125_f,setBorderDamagePerBlock,2, +func_176126_D,getBorderCenterZ,2, +func_176127_a,populateFromWorldSettings,2, +func_176128_f,setMapFeaturesEnabled,2, +func_176129_e,setBorderSafeZone,2, +func_176130_y,getDifficulty,2, +func_176131_J,getBorderWarningDistance,2, +func_176132_G,getBorderLerpTarget,2, +func_176133_A,getCleanWeatherTime,2, +func_176134_F,getBorderLerpTime,2, +func_176135_e,setBorderLerpTime,2, +func_176136_k,setBorderWarningTime,2, +func_176138_H,getBorderSafeZone,2, +func_176139_K,getBorderWarningTime,2, +func_176140_I,getBorderDamagePerBlock,2, +func_176141_c,getBorderCenterZ,2, +func_176142_i,setCleanWeatherTime,2, +func_176143_a,setSpawn,2, +func_176144_a,setDifficulty,2, +func_176145_a,setBorderSize,2, +func_176193_a,canReplace,2, +func_176194_O,getBlockState,2, +func_176195_g,getBlockHardness,2, +func_176196_c,canPlaceBlockAt,2, +func_176197_a,modifyAcceleration,2, +func_176198_a,canPlaceBlockOnSide,2, +func_176199_a,onEntityCollidedWithBlock,2, +func_176200_f,isReplaceable,2, +func_176201_c,getMetaFromState,2, +func_176202_d,colorMultiplier,0, +func_176203_a,getStateFromMeta,2, +func_176204_a,onNeighborBlockChange,2, +func_176205_b,isPassable,2, +func_176206_d,onBlockDestroyedByPlayer,2, +func_176207_c,getMixedBrightnessForBlock,0, +func_176208_a,onBlockHarvested,2, +func_176209_a,canCollideCheck,2, +func_176210_f,getStateId,2, +func_176211_b,isProvidingStrongPower,2, +func_176212_b,isBlockSolid,2, +func_176213_c,onBlockAdded,2, +func_176214_u,isVisuallyOpaque,2, +func_176215_a,registerBlock,2, +func_176216_a,onLanded,2, +func_176217_b,getStateForEntityRender,0, +func_176218_Q,getOffsetType,0, +func_176219_a,registerBlock,2, +func_176220_d,getStateById,2, +func_176221_a,getActualState,2, +func_176222_j,getDamageValue,2, +func_176223_P,getDefaultState,2, +func_176224_k,fillWithRain,2, +func_176225_a,shouldSideBeRendered,0, +func_176226_b,dropBlockAsItem,2, +func_176232_d,getSaplingDropChance,2, +func_176233_b,getWoodType,2, +func_176234_a,dropApple,2, +func_176235_d,destroy,2, +func_176253_e,canConnectTo,2, +func_176261_e,checkForDrop,2, +func_176267_a,getPropertyFor,2, +func_176268_d,getNumGrownFaces,2, +func_176269_e,recheckGrownSides,2, +func_176270_b,getMetaFlag,2, +func_176281_b,getFacing,2, +func_176282_a,getMetaForFacing,2, +func_176286_e,notifyHook,2, +func_176287_c,isConnectedTo,2, +func_176288_d,updateState,2, +func_176302_a,isSameStair,2, +func_176303_e,setBaseCollisionBounds,2, +func_176311_e,tryAbsorb,2, +func_176312_d,absorb,2, +func_176314_e,checkAndDropBlock,2, +func_176316_e,checkForMove,2, +func_176317_b,getFacing,2, +func_176318_b,shouldBeExtended,2, +func_176319_a,doMove,2, +func_176322_b,getFacing,2, +func_176323_e,applyCoreBounds,2, +func_176324_d,applyHeadBounds,2, +func_176328_e,checkForDrop,2, +func_176329_d,canBlockStay,2, +func_176337_b,colorMultiplier,0, +func_176338_e,updateSurroundingRedstone,2, +func_176340_e,canConnectUpwardsTo,2, +func_176341_c,getAttachPosition,2, +func_176342_a,getMaxCurrentStrength,2, +func_176343_a,canConnectTo,2, +func_176344_d,notifyWireNeighborsOfStateChange,2, +func_176345_a,calculateCurrentChanges,2, +func_176346_d,canConnectUpwardsTo,2, +func_176352_d,activate,2, +func_176353_e,checkForDrop,2, +func_176354_d,canBlockStay,2, +func_176356_e,checkForDrop,2, +func_176357_a,getMetadataForFacing,2, +func_176358_d,canSustainLever,2, +func_176361_a,getFlowingBlock,2, +func_176362_e,getLevel,2, +func_176363_b,getStaticBlock,2, +func_176365_e,checkForMixing,2, +func_176366_f,getEffectiveFlowDecay,2, +func_176368_m,getCanBlockBurn,2, +func_176369_e,isSurroundingBlockFlammable,2, +func_176370_f,updateLiquid,2, +func_176371_a,checkAdjacentBlock,2, +func_176372_g,isBlocked,2, +func_176373_h,canFlowInto,2, +func_176375_a,tryFlowInto,2, +func_176376_e,getPossibleFlowDirections,2, +func_176377_d,canContainSilverfish,2, +func_176381_b,canBlockStay,2, +func_176388_T,getGolemPattern,2, +func_176389_S,getGolemBasePattern,2, +func_176390_d,canDispenserPlace,2, +func_176391_l,getSnowmanPattern,2, +func_176392_j,getSnowmanBasePattern,2, +func_176397_f,calculateInputStrength,2, +func_176398_g,updateState,2, +func_176399_m,getTickDelay,2, +func_176400_h,notifyNeighbors,2, +func_176401_c,getPowerOnSide,2, +func_176402_i,isFacingTowardsRepeater,2, +func_176403_d,getDelay,2, +func_176404_e,shouldBePowered,2, +func_176405_b,isLocked,2, +func_176406_l,isPowered,2, +func_176407_c,getPowerOnSides,2, +func_176408_a,getActiveSignal,2, +func_176409_d,canBlockStay,2, +func_176414_j,getWitherBasePattern,2, +func_176415_b,canDispenserPlace,2, +func_176416_l,getWitherPattern,2, +func_176422_e,getTileEntity,2, +func_176423_a,newTileEntity,2, +func_176424_a,getBoundingBox,2, +func_176427_e,updateState,2, +func_176428_b,getFacing,2, +func_176431_a,insertRecord,2, +func_176433_b,getInstrument,2, +func_176438_e,setDefaultDirection,2, +func_176439_d,dispense,2, +func_176442_d,getTileEntity,2, +func_176445_e,setDefaultFacing,2, +func_176446_a,setState,2, +func_176450_d,updateColorAsync,2, +func_176453_o,isOcelotSittingOnChest,2, +func_176454_e,isDoubleChest,2, +func_176455_e,checkForSurroundingChests,2, +func_176456_n,isBelowSolidBlock,2, +func_176457_m,isBlocked,2, +func_176458_f,correctFacing,2, +func_176460_j,calculateOutput,2, +func_176461_a,findItemFrame,2, +func_176462_k,onStateChange,2, +func_176468_a,getSafeExitLocation,2, +func_176469_d,hasRoomForPlayer,2, +func_176470_e,getPlayerInBed,2, +func_176473_a,canGrow,2, +func_176474_b,grow,2, +func_176475_e,checkAndDropBlock,2, +func_176476_e,generateTree,2, +func_176477_a,isTypeAt,2, +func_176478_d,grow,2, +func_176481_j,getSeedItem,2, +func_176482_g,growStem,2, +func_176485_d,generateBigMushroom,2, +func_176487_g,grow,2, +func_176489_b,onHarvest,2, +func_176490_e,getVariant,2, +func_176491_a,placeAt,2, +func_176494_l,getTypeProperty,2, +func_176495_j,getBlockType,2, +func_176499_e,canBlockStay,2, +func_176500_f,dropBlock,2, +func_176502_a_,onEndFalling,2, +func_176503_e,checkFallable,2, +func_176509_j,getItem,2, +func_176510_b,removeHalfBit,2, +func_176511_f,getFacing,2, +func_176512_a,toggleDoor,2, +func_176513_j,isHingeLeft,2, +func_176514_f,isOpen,2, +func_176515_e,combineMetadata,2, +func_176516_g,isOpen,2, +func_176517_h,getFacing,2, +func_176518_i,isTop,2, +func_176524_e,canConnectTo,2, +func_176529_d,hasCrops,2, +func_176530_e,hasWater,2, +func_176532_c,getFlammability,2, +func_176533_e,canNeighborCatchFire,2, +func_176534_d,getEncouragement,2, +func_176535_e,canCatchFire,2, +func_176536_a,catchOnFire,2, +func_176537_d,canDie,2, +func_176538_m,getNeighborEncouragement,2, +func_176549_a,getMetaForAxis,2, +func_176551_l,getVariantProperty,2, +func_176552_j,isDouble,2, +func_176553_a,getVariant,2, +func_176560_l,getShapeProperty,2, +func_176561_b,onNeighborChangedInternal,2, +func_176562_d,isRailBlock,2, +func_176563_d,isRailBlock,2, +func_176570_e,updatePoweredState,2, +func_176571_a,findMinecarts,2, +func_176572_a,getDectectionBox,2, +func_176575_a,setRedstoneStrength,2, +func_176576_e,getRedstoneStrength,2, +func_176577_m,canBePlacedOn,2, +func_176578_d,updateNeighbors,2, +func_176582_b,notifyNeighbors,2, +func_176583_e,checkForDrop,2, +func_176586_d,canBlockStay,2, +func_176588_d,canBlockStay,2, +func_176590_a,setWaterLevel,2, +func_176592_e,onNeighborChangeInternal,2, +func_176593_f,checkForDrop,2, +func_176594_d,canPlaceOn,2, +func_176595_b,canPlaceAt,2, +func_176597_g,shouldBeOff,2, +func_176598_a,isBurnedOut,2, +func_176601_a,apply,2, +func_176602_a,setLocationNameClock,0, +func_176603_b,setLocationNameCompass,0, +func_176604_a,makeAtlasSprite,0, +func_176610_l,getName,2, +func_176612_a,getMetadata,2, +func_176613_a,byMetadata,2, +func_176614_c,getUnlocalizedName,2, +func_176624_a,getMetadata,2, +func_176625_a,byMetadata,2, +func_176627_c,getUnlocalizedName,2, +func_176642_a,getMetadata,2, +func_176643_a,byMetadata,2, +func_176644_c,getUnlocalizedName,2, +func_176657_a,getMetadata,2, +func_176659_c,getUnlocalizedName,2, +func_176660_a,byMetadata,2, +func_176673_a,byMetadata,2, +func_176675_a,getMetadata,2, +func_176676_c,getUnlocalizedName,2, +func_176685_d,getUnlocalizedName,2, +func_176686_a,byMetadata,2, +func_176687_c,getMapColor,2, +func_176688_a,getMetadata,2, +func_176716_d,getPlane,2, +func_176717_a,byName,0, +func_176718_a,apply,2, +func_176719_a,getName2,2, +func_176720_b,isVertical,2, +func_176722_c,isHorizontal,2, +func_176730_m,getDirectionVec,0, +func_176731_b,getHorizontal,2, +func_176732_a,rotateAround,0, +func_176733_a,fromAngle,2, +func_176734_d,getOpposite,2, +func_176735_f,rotateYCCW,2, +func_176736_b,getHorizontalIndex,2, +func_176737_a,getFacingFromVector,0, +func_176738_p,rotateZ,0, +func_176739_a,byName,0, +func_176740_k,getAxis,2, +func_176741_a,random,2, +func_176742_j,getName2,2, +func_176743_c,getAxisDirection,2, +func_176744_n,rotateX,0, +func_176745_a,getIndex,2, +func_176746_e,rotateY,2, +func_176762_d,getUnlocalizedName,2, +func_176764_b,byMetadata,2, +func_176765_a,getMetadata,2, +func_176766_a,byDyeDamage,2, +func_176767_b,getDyeDamage,2, +func_176768_e,getMapColor,2, +func_176794_a,byMetadata,2, +func_176796_a,getMetadata,2, +func_176807_a,getMetadata,2, +func_176809_c,getUnlocalizedName,2, +func_176810_a,byMetadata,2, +func_176825_a,byMetadata,2, +func_176827_a,getMetadata,2, +func_176828_c,getUnlocalizedName,2, +func_176837_a,byMetadata,2, +func_176839_a,getMetadata,2, +func_176840_c,getUnlocalizedName,2, +func_176852_c,getFacing,2, +func_176853_a,byMetadata,2, +func_176855_a,getMetadata,2, +func_176856_a,forFacings,2, +func_176870_a,fromFacingAxis,2, +func_176878_a,forModelBlock,2, +func_176879_a,byMetadata,2, +func_176881_a,getMetadata,2, +func_176882_c,getUnlocalizedName,2, +func_176883_d,getModelBlock,2, +func_176895_a,byMetadata,2, +func_176896_a,getMetadata,2, +func_176915_a,getMetadata,2, +func_176916_a,byMetadata,2, +func_176918_c,getUnlocalizedName,2, +func_176924_a,byMetadata,2, +func_176925_a,getMetadata,2, +func_176927_c,getUnlocalizedName,2, +func_176936_a,getMeta,2, +func_176938_a,byMetadata,2, +func_176939_c,getUnlocalizedName,2, +func_176963_d,getUnlocalizedName,2, +func_176964_a,getBlockType,2, +func_176966_a,getTypes,0, +func_176967_a,getType,2, +func_176968_b,getMeta,2, +func_177015_a,getMetadata,2, +func_177016_a,byMetadata,2, +func_177018_c,isAscending,2, +func_177044_a,getMeta,2, +func_177045_a,byMetadata,2, +func_177053_a,readBufferedImage,0, +func_177054_c,anaglyphColor,0, +func_177055_a,saveGlTexture,0, +func_177059_a,registerSprites,0, +func_177062_a,apply,2, +func_177064_a,toByteArray,0, +func_177066_a,getFramebufferRaw,0, +func_177067_a,renderName,0, +func_177070_b,canRenderName,0, +func_177071_a,shouldRender,0, +func_177086_a,setRenderOutlines,0, +func_177087_b,getMainModel,0, +func_177089_b,removeLayer,0, +func_177094_a,addLayer,0, +func_177102_a,getArmorStandTexture,0, +func_177104_a,shouldRenderLiving,0, +func_177113_a,shouldRenderGuardian,0, +func_177124_a,doRender,0, +func_177136_g,getPlayerModel,0, +func_177141_a,doRenderLayer,0, +func_177142_b,shouldCombineTextures,0, +func_177155_a,doRenderLayer,0, +func_177159_a,doRenderLayer,0, +func_177162_a,doRenderLayer,0, +func_177166_a,doRenderLayer,0, +func_177169_a,doRenderLayer,0, +func_177178_a,getArmorResource,0, +func_177181_a,getArmorResource,0, +func_177218_a,apply,2, +func_177219_e,isInterpolate,0, +func_177222_d,getMobRotation,0, +func_177223_e,getPrevMobRotation,0, +func_177226_a,withProperty,2, +func_177227_a,getPropertyNames,2, +func_177228_b,getProperties,2, +func_177229_b,getValue,2, +func_177230_c,getBlock,2, +func_177231_a,cycleProperty,2, +func_177232_a,cyclePropertyValue,2, +func_177235_a,buildPropertyValueTable,2, +func_177236_b,setPropertyValue,2, +func_177240_d,getResourcePackName,0, +func_177241_a,getResourceLocation,0, +func_177245_a,getInputStream,0, +func_177252_d,getBlocksToDestroy,2, +func_177253_a,canMove,2, +func_177254_c,getBlocksToMove,2, +func_177267_c,getCraftingLayers,2, +func_177268_a,getPatternByID,0, +func_177269_e,hasCraftingStack,2, +func_177270_d,hasValidCrafting,2, +func_177271_a,getPatternName,0, +func_177272_f,getCraftingStack,2, +func_177273_b,getPatternID,2, +func_177332_b,getSkinType,0, +func_177333_c,isSlimSkin,0, +func_177334_a,getDefaultSkin,0, +func_177335_a,getDefaultSkinLegacy,0, +func_177338_f,getNextOffset,0, +func_177339_a,clear,0, +func_177340_e,getColorOffset,0, +func_177341_i,hasPosition,0, +func_177342_c,getNormalOffset,0, +func_177343_g,getElements,0, +func_177344_b,getElementOffsetById,0, +func_177345_h,getElementCount,0, +func_177346_d,hasColor,0, +func_177347_a,hasElementOffset,0, +func_177348_c,getElement,0, +func_177349_a,setElement,0, +func_177350_b,hasNormal,0, +func_177358_a,drawArrays,0, +func_177359_a,bindBuffer,0, +func_177360_a,bufferData,0, +func_177361_b,unbindBuffer,0, +func_177362_c,deleteGlBuffers,0, +func_177367_b,getType,0, +func_177368_f,getSize,0, +func_177369_e,getIndex,0, +func_177370_d,getElementCount,0, +func_177371_a,setOffset,0, +func_177373_a,getOffset,0, +func_177374_g,isPositionElement,0, +func_177375_c,getUsage,0, +func_177384_a,getDisplayName,0, +func_177395_a,getSize,0, +func_177396_b,getDisplayName,0, +func_177397_c,getGlConstant,0, +func_177409_g,setHasEntities,2, +func_177410_o,isLoaded,2, +func_177411_a,getBiome,2, +func_177412_p,getWorld,2, +func_177413_a,getLightFor,2, +func_177414_a,getEntitiesWithinAABBForEntity,2, +func_177415_c,setInhabitedTime,2, +func_177416_w,getInhabitedTime,2, +func_177417_c,setChunkLoaded,0, +func_177418_c,getBlockMetadata,2, +func_177419_t,isTerrainPopulated,2, +func_177420_a,setHeightMap,2, +func_177421_e,setLightPopulated,2, +func_177422_i,createNewTileEntity,2, +func_177423_u,isLightPopulated,2, +func_177424_a,getTileEntity,2, +func_177425_e,removeTileEntity,2, +func_177426_a,addTileEntity,2, +func_177427_f,setModified,2, +func_177428_a,getBlock,2, +func_177429_s,getEntityLists,2, +func_177430_a,getEntitiesOfTypeWithinAAAB,2, +func_177431_a,setLightFor,2, +func_177432_b,setLastSaveTime,2, +func_177433_f,getHeight,2, +func_177434_r,getTileEntityMap,2, +func_177435_g,getBlockState,2, +func_177436_a,setBlockState,2, +func_177437_b,getBlockLightOpacity,2, +func_177438_a,getBlock,2, +func_177439_a,fillChunk,0, +func_177440_h,getPrecipitationHeight,2, +func_177442_v,getLowestHeight,2, +func_177443_a,setLight,2, +func_177444_d,canSeeSky,2, +func_177445_q,getHeightMap,2, +func_177446_d,setTerrainPopulated,2, +func_177451_a,getPlayerByUUID,2, +func_177459_a,provideChunk,2, +func_177480_a,getFromIndex,2, +func_177481_a,getData,2, +func_177482_a,setIndex,2, +func_177483_b,getCoordinateIndex,2, +func_177484_a,set,2, +func_177485_a,get,2, +func_177486_a,setData,2, +func_177487_g,getData,2, +func_177495_o,getHasNoSky,2, +func_177496_h,getSpawnCoordinate,2, +func_177497_p,getLightBrightnessTable,2, +func_177498_l,getInternalNameSuffix,2, +func_177499_m,getWorldChunkManager,2, +func_177500_n,doesWaterVaporize,2, +func_177501_r,getWorldBorder,2, +func_177502_q,getDimensionId,2, +func_177507_b,getTileEntity,2, +func_177508_d,getPos,2, +func_177509_a,getBlockState,2, +func_177510_a,hasState,2, +func_177517_b,parsePathString,0, +func_177518_c,getVariant,0, +func_177520_a,rotateVertex,0, +func_177521_b,combineXY,0, +func_177523_a,rotateFace,0, +func_177524_a,getModelRotation,0, +func_177525_a,getMatrix4d,0, +func_177548_a,compare,2, +func_177550_a,getGeneralQuads,0, +func_177551_a,getFaceQuads,0, +func_177552_f,getItemCameraTransforms,0, +func_177553_d,isBuiltInRenderer,0, +func_177554_e,getTexture,0, +func_177555_b,isAmbientOcclusion,0, +func_177556_c,isGui3d,0, +func_177564_a,getAlternativeModel,0, +func_177568_a,apply,2, +func_177569_a,registerVariant,0, +func_177570_a,setupModelRegistry,0, +func_177571_k,getItemsTextureLocations,0, +func_177572_j,loadSprites,0, +func_177573_e,getParentPath,0, +func_177574_i,loadModels,0, +func_177575_g,getVariantsTextureLocations,0, +func_177576_f,getParentLocation,0, +func_177577_b,loadVariantItemModels,0, +func_177578_a,bakeModel,0, +func_177580_d,getModelLocation,0, +func_177581_b,hasItemModel,0, +func_177582_d,makeItemModel,0, +func_177583_a,getItemLocation,0, +func_177584_b,getBlockStateLocation,0, +func_177585_a,getTextureLocations,0, +func_177586_a,getModelBlockDefinition,0, +func_177587_c,isCustomRenderer,0, +func_177588_f,bakeBlockModels,0, +func_177589_a,makeBakedQuad,0, +func_177590_d,loadItemModels,0, +func_177591_a,loadVariants,0, +func_177592_e,registerVariantNames,0, +func_177593_l,bakeItemModels,0, +func_177594_c,loadModel,0, +func_177595_c,loadVariantModels,0, +func_177596_a,getVariantNames,0, +func_177597_h,loadModelsCheck,0, +func_177619_a,getValidStates,2, +func_177620_e,getAllowedValues,2, +func_177621_b,getBaseState,2, +func_177622_c,getBlock,2, +func_177623_d,getProperties,2, +func_177630_a,generateChestContents,2, +func_177631_a,generateDispenserContents,2, +func_177634_a,compareToItem,0, +func_177635_a,getCountQuads,0, +func_177637_a,where,2, +func_177638_a,forBlock,2, +func_177639_a,matchesState,2, +func_177642_a,forBlock,2, +func_177643_a,isBlockEqualTo,2, +func_177645_b,makeBakedModel,0, +func_177646_a,setTexture,0, +func_177647_a,addGeneralBreakingFours,0, +func_177648_a,addGeneralQuad,0, +func_177649_a,addFaceBreakingFours,0, +func_177650_a,addFaceQuad,0, +func_177657_d,checkMissingPredicates,2, +func_177658_c,makePredicateArray,2, +func_177659_a,aisle,2, +func_177660_a,start,2, +func_177661_b,build,2, +func_177662_a,where,2, +func_177668_c,getThumb,2, +func_177669_b,getFinger,2, +func_177670_a,translateOffset,2, +func_177675_b,first,0, +func_177676_a,build,0, +func_177677_a,add,0, +func_177679_a,loadState,2, +func_177681_a,match,2, +func_177682_a,checkPatternAt,2, +func_177683_a,translateOffset,2, +func_177684_c,getPalmLength,2, +func_177685_b,getThumbLength,2, +func_177690_b,onWarningDistanceChanged,2, +func_177691_a,onWarningTimeChanged,2, +func_177692_a,onTransitionStarted,2, +func_177693_a,onCenterChanged,2, +func_177694_a,onSizeChanged,2, +func_177695_c,onDamageBufferChanged,2, +func_177696_b,onDamageAmountChanged,2, +func_177699_b,getValueClass,2, +func_177700_c,getAllowedValues,2, +func_177701_a,getName,2, +func_177702_a,getName,2, +func_177705_a,getName,2, +func_177706_a,create,2, +func_177707_a,create,2, +func_177708_a,create,2, +func_177709_a,create,2, +func_177712_a,create,2, +func_177713_a,create,2, +func_177714_a,create,2, +func_177715_a,getName0,2, +func_177716_a,create,2, +func_177718_a,getName0,2, +func_177719_a,create,2, +func_177721_g,getCenterZ,2, +func_177722_l,getSize,2, +func_177723_b,setWarningTime,2, +func_177724_b,setDamageBuffer,2, +func_177725_a,setSize,2, +func_177726_b,minX,2, +func_177727_n,getDamageAmount,2, +func_177728_d,maxX,2, +func_177729_b,getClosestDistance,2, +func_177730_a,contains,2, +func_177731_f,getCenterX,2, +func_177732_i,getTimeUntilTarget,2, +func_177733_e,maxZ,2, +func_177734_a,getStatus,2, +func_177735_k,getListeners,2, +func_177736_c,minZ,2, +func_177737_a,addListener,2, +func_177738_a,setTransition,2, +func_177739_c,setCenter,2, +func_177740_p,getWarningTime,2, +func_177741_h,getDiameter,2, +func_177742_m,getDamageBuffer,2, +func_177743_a,contains,2, +func_177744_c,setDamageAmount,2, +func_177745_a,getClosestDistance,2, +func_177746_a,contains,2, +func_177747_c,setWarningDistance,2, +func_177748_q,getWarningDistance,2, +func_177749_o,getResizeSpeed,0, +func_177750_a,setTransition,2, +func_177751_j,getTargetSize,2, +func_177766_a,getID,0, +func_177774_c,getNameForObject,2, +func_177775_a,register,2, +func_177776_a,validateKey,2, +func_177855_a,setBlockState,2, +func_177856_a,getBlockState,2, +func_177857_a,setBlockState,2, +func_177858_a,getBlockState,2, +func_177951_i,distanceSq,2, +func_177952_p,getZ,2, +func_177953_g,compareTo,2, +func_177954_c,distanceSq,2, +func_177955_d,crossProduct,2, +func_177956_o,getY,2, +func_177957_d,distanceSqToCenter,2, +func_177958_n,getX,2, +func_177963_a,add,2, +func_177964_d,north,2, +func_177965_g,east,2, +func_177966_a,multiply,2, +func_177967_a,offset,2, +func_177968_d,south,2, +func_177969_a,fromLong,2, +func_177970_e,south,2, +func_177971_a,add,2, +func_177972_a,offset,2, +func_177973_b,subtract,0, +func_177974_f,east,2, +func_177975_b,getAllInBoxMutable,2, +func_177976_e,west,2, +func_177977_b,down,2, +func_177978_c,north,2, +func_177979_c,down,2, +func_177980_a,getAllInBox,2, +func_177981_b,up,2, +func_177982_a,add,2, +func_177983_c,crossProductBP,2, +func_177984_a,up,2, +func_177985_f,west,2, +func_177986_g,toLong,2, +func_178001_a,renderChunkLayer,0, +func_178002_a,addRenderChunk,0, +func_178003_a,preRenderChunk,0, +func_178004_a,initialize,0, +func_178010_a,setupArrayPointers,0, +func_178011_a,setSelected,0, +func_178038_a,framebufferRenderExt,0, +func_178039_p,handleMouseInput,0, +func_178080_a,register,0, +func_178081_c,getIndex,0, +func_178082_a,getParticleIcon,0, +func_178083_a,getModelManager,0, +func_178084_b,getMetadata,0, +func_178085_b,rebuildCache,0, +func_178086_a,register,0, +func_178087_a,getParticleIcon,0, +func_178088_b,getItemModel,0, +func_178089_a,getItemModel,0, +func_178099_a,renderItem,0, +func_178113_a,getModelLocation,0, +func_178119_d,registerAllBlocks,0, +func_178120_a,getBlockStateMapper,0, +func_178121_a,registerBlockWithStateMapper,0, +func_178122_a,getTexture,0, +func_178123_a,registerBuiltInBlocks,0, +func_178124_c,reloadModels,0, +func_178125_b,getModelForState,0, +func_178126_b,getModelManager,0, +func_178130_a,putStateModelLocations,0, +func_178131_a,getPropertyString,0, +func_178132_a,getModelResourceLocation,0, +func_178144_a,calcRedstone,2, +func_178147_e,getLapisAmount,0, +func_178158_a,createRenderChunks,0, +func_178159_a,setCountChunksXYZ,0, +func_178160_a,deleteGlResources,0, +func_178161_a,getRenderChunk,0, +func_178162_a,markBlocksForUpdate,0, +func_178163_a,updateChunkPositions,0, +func_178170_b,getItemStackLimit,2, +func_178171_c,getSlotTexture,0, +func_178173_c_,isBucket,2, +func_178175_a,renderChestBrightness,0, +func_178176_a,getInstance,0, +func_178177_a,draw,0, +func_178178_a,setVertexBuffer,0, +func_178180_c,getWorldRenderer,0, +func_178181_a,getInstance,0, +func_178184_a,getVertexTranslations,0, +func_178203_a,getVertexBrightness,0, +func_178204_a,updateVertexBrightness,0, +func_178209_a,getVertexData,0, +func_178210_d,getFace,0, +func_178211_c,getTintIndex,0, +func_178212_b,hasTintIndex,0, +func_178235_a,setDefaultUvs,0, +func_178236_a,getFaceUvs,0, +func_178247_d,parsePositionTo,0, +func_178248_a,parseEnumFacing,0, +func_178249_e,parsePositionFrom,0, +func_178250_a,parseFacesCheck,0, +func_178251_a,parsePosition,0, +func_178252_c,parseAxis,0, +func_178253_b,parseFaces,0, +func_178254_a,parseBlockPart,0, +func_178255_b,parseAngle,0, +func_178256_a,parseRotation,0, +func_178258_b,renderModelStandard,0, +func_178259_a,renderModel,0, +func_178260_a,renderModelStandardQuads,0, +func_178261_a,fillQuadBounds,0, +func_178262_a,renderModelBrightnessColor,0, +func_178263_a,renderModelAmbientOcclusionQuads,0, +func_178264_a,renderModelBrightnessColorQuads,0, +func_178265_a,renderModelAmbientOcclusion,0, +func_178266_a,renderModelBrightness,0, +func_178267_a,renderModel,0, +func_178268_a,initAtlasSprites,0, +func_178269_a,getFluidHeight,0, +func_178270_a,renderFluid,0, +func_178273_a,getNeighbourInfo,0, +func_178291_a,parseRotation,0, +func_178292_b,parseUV,0, +func_178293_a,parseBlockFaceUV,0, +func_178294_a,deserialize,0, +func_178295_k,hasParent,0, +func_178296_g,getThirdPersonTransform,0, +func_178297_j,getInGuiTransform,0, +func_178298_a,getElements,0, +func_178299_a,getParentFromMap,0, +func_178300_b,isTexturePresent,0, +func_178301_i,getHeadTransform,0, +func_178302_a,resolveTextureName,0, +func_178303_d,isResolved,0, +func_178304_d,startsWithHash,0, +func_178305_e,getParentLocation,0, +func_178306_h,getFirstPersonTransform,0, +func_178307_a,deserialize,0, +func_178308_c,resolveTextureName,0, +func_178309_b,isAmbientOcclusion,0, +func_178310_f,getRootModel,0, +func_178311_c,isGui3d,0, +func_178312_b,checkModelHierarchy,0, +func_178325_a,getModelElements,0, +func_178326_c,getParent,0, +func_178327_a,parseModelBlock,0, +func_178328_a,getAmbientOcclusionEnabled,0, +func_178329_b,getTextures,0, +func_178330_b,getVariants,0, +func_178331_a,parseFromReader,0, +func_178334_a,parseVariantsList,0, +func_178335_a,parseVariants,0, +func_178336_a,parseModelBlockDefinition,0, +func_178337_a,parseTintIndex,0, +func_178338_a,parseBlockPartFace,0, +func_178339_c,parseCullFace,0, +func_178340_b,parseTexture,0, +func_178349_a,setUvs,0, +func_178352_a,parseItemCameraTransforms,0, +func_178358_a,parseVector3f,0, +func_178359_a,deserialize0,0, +func_178367_a,getFacing,0, +func_178392_a,makeItemModel,0, +func_178402_a,fillVertexData,0, +func_178403_a,getPositionsDiv16,0, +func_178404_a,storeVertexData,0, +func_178405_a,makeQuadVertexData,0, +func_178406_a,rotateScale,0, +func_178410_a,getFacingFromVertexData,0, +func_178411_a,getMatrixIdentity,0, +func_178412_b,getFaceBrightness,0, +func_178413_a,getFaceShadeColor,0, +func_178414_a,makeBakedQuad,0, +func_178415_a,rotateVertex,0, +func_178416_a,getMatrixRotation,0, +func_178420_b,getVariants,0, +func_178424_b,parseModel,0, +func_178425_a,parseVariant,0, +func_178426_a,makeModelLocation,0, +func_178427_c,parseWeight,0, +func_178428_a,parseRotation,0, +func_178429_d,parseUvLock,0, +func_178430_d,getWeight,0, +func_178431_a,getModelLocation,0, +func_178432_b,getRotation,0, +func_178433_c,isUvLocked,0, +func_178439_a,setBuilderSuffix,0, +func_178440_a,setProperty,0, +func_178441_a,build,0, +func_178442_a,addPropertiesToIgnore,0, +func_178446_a,putAllStateModelLocations,0, +func_178447_a,registerBlockStateMapper,0, +func_178448_a,registerBuiltInBlocks,0, +func_178459_a,getWorld,0, +func_178469_a,renderTileEntityAt,0, +func_178470_a,cacheActiveRenderInfo,0, +func_178473_b,freeRenderBuilder,0, +func_178474_a,processTask,0, +func_178475_b,getRegionRenderCacheBuilder,0, +func_178481_a,onSuccessList,0, +func_178485_b,getTileEntities,0, +func_178486_a,setLayerUsed,0, +func_178487_c,getState,0, +func_178488_a,setVisibility,0, +func_178489_a,isEmpty,0, +func_178490_a,addTileEntity,0, +func_178491_b,isLayerEmpty,0, +func_178492_d,isLayerStarted,0, +func_178493_c,setLayerStarted,0, +func_178494_a,setState,0, +func_178495_a,isVisible,0, +func_178503_a,uploadChunk,0, +func_178504_a,getDebugInfo,0, +func_178505_b,updateChunkNow,0, +func_178506_a,uploadVertexBuffer,0, +func_178507_a,updateChunkLater,0, +func_178509_c,updateTransparencyLater,0, +func_178510_a,uploadDisplayList,0, +func_178511_d,getNextChunkUpdate,0, +func_178512_a,freeRenderBuilder,0, +func_178513_e,clearChunkUpdates,0, +func_178514_b,stopChunkUpdates,0, +func_178515_c,allocateRenderBuilder,0, +func_178516_a,runChunkUploads,0, +func_178535_a,setStatus,0, +func_178536_b,getRenderChunk,0, +func_178537_h,isFinished,0, +func_178538_g,getType,0, +func_178539_a,addFinishRunnable,0, +func_178540_f,getLock,0, +func_178541_a,setRegionRenderCacheBuilder,0, +func_178542_e,finish,0, +func_178543_a,setCompiledChunk,0, +func_178544_c,getCompiledChunk,0, +func_178545_d,getRegionRenderCacheBuilder,0, +func_178546_a,getStatus,0, +func_178565_b,getVertexBufferByLayer,0, +func_178566_a,deleteGlResources,0, +func_178567_n,initModelviewMatrix,0, +func_178568_j,getPosition,0, +func_178569_m,isNeedsUpdate,0, +func_178570_a,resortTransparency,0, +func_178571_g,getCompiledChunk,0, +func_178572_f,multModelviewMatrix,0, +func_178573_a,preRenderBlocks,0, +func_178574_d,makeCompileTaskChunk,0, +func_178575_a,setNeedsUpdate,0, +func_178576_a,setPosition,0, +func_178577_a,setFrameIndex,0, +func_178578_b,finishCompileTask,0, +func_178579_c,getLockCompileTask,0, +func_178580_a,setCompiledChunk,0, +func_178581_b,rebuildChunk,0, +func_178582_e,makeCompileTaskTransparency,0, +func_178583_l,isCompileTaskPending,0, +func_178584_a,postRenderBlocks,0, +func_178585_h,stopCompileTask,0, +func_178600_a,getDisplayList,0, +func_178602_a,makeRenderChunk,0, +func_178607_a,computeVisibility,0, +func_178618_a,setAllVisible,0, +func_178619_a,setVisible,0, +func_178620_a,setManyVisible,0, +func_178621_a,isVisible,0, +func_178624_a,dot,0, +func_178627_a,isRenderShadow,0, +func_178628_a,setRenderPosition,0, +func_178629_b,setDebugBoundingBox,0, +func_178630_b,renderWitherSkull,0, +func_178631_a,setPlayerViewY,0, +func_178632_c,setRenderOutlines,0, +func_178633_a,setRenderShadow,0, +func_178634_b,isDebugBoundingBox,0, +func_178635_a,shouldRender,0, +func_178685_a,copyModelAngles,0, +func_178686_a,setModelAttributes,0, +func_178691_a,setRotationOffset,0, +func_178718_a,postRenderArm,0, +func_178719_a,setInvisible,0, +func_178765_a,draw,0, +func_178766_e,getRenderType,2, +func_178767_a,setRenderType,2, +func_178769_a,addBox,0, +func_178779_a,getThreadedIOInstance,2, +func_178780_a,render,0, +func_178781_a,fromBounds,2, +func_178782_a,getBlockPos,2, +func_178785_b,rotateYaw,2, +func_178786_a,subtract,2, +func_178787_e,add,2, +func_178788_d,subtract,2, +func_178789_a,rotatePitch,2, +func_178790_c,getRenderType,2, +func_178803_d,getRotationZ,0, +func_178804_a,getPosition,0, +func_178805_e,getRotationYZ,0, +func_178806_a,projectViewFromEntity,0, +func_178807_f,getRotationXY,0, +func_178808_b,getRotationX,0, +func_178809_c,getRotationXZ,0, +func_178815_a,setLocked,2, +func_178816_g,isLocked,2, +func_178819_b,entityHasObjective,2, +func_178822_d,removeObjectiveFromEntity,2, +func_178837_g,getLocationSkin,0, +func_178838_a,setResponseTime,0, +func_178839_a,setGameType,0, +func_178841_j,loadPlayerTextures,0, +func_178845_a,getGameProfile,0, +func_178848_b,getGameType,0, +func_178850_i,getPlayerTeam,0, +func_178851_f,getSkinType,0, +func_178853_c,getResponseTime,0, +func_178856_e,hasLocationSkin,0, +func_178861_h,getLocationCape,0, +func_178874_a,deleteDisplayLists,0, +func_178876_d,getModelParts,0, +func_178877_a,switchModelPartEnabled,0, +func_178878_a,setModelPartEnabled,0, +func_178887_k,isSpectatorMode,0, +func_178888_a,onPlayerDestroyBlock,0, +func_178889_l,getCurrentGameType,0, +func_178902_a,getEntityFX,0, +func_178927_a,spawnEffectParticle,0, +func_178956_a,tryParseValidFloat,0, +func_178960_a,setColorRGBA_F,0, +func_178961_b,setColorRGBA,0, +func_178962_a,putBrightness4,0, +func_178963_b,setBrightness,0, +func_178964_a,startDrawing,0, +func_178965_a,reset,0, +func_178966_f,getByteBuffer,0, +func_178967_a,setVertexFormat,0, +func_178968_d,putColor4,0, +func_178969_c,setTranslation,0, +func_178970_b,startDrawingQuads,0, +func_178971_a,getVertexState,0, +func_178972_a,putColorRGBA,0, +func_178973_g,getVertexFormat,0, +func_178974_a,setColorRGBA_I,0, +func_178975_e,putNormal,0, +func_178976_e,getByteIndex,0, +func_178977_d,finishDrawing,0, +func_178978_a,putColorMultiplier,0, +func_178979_i,getDrawMode,0, +func_178980_d,setNormal,0, +func_178981_a,addVertexData,0, +func_178982_a,setColorOpaque_B,0, +func_178983_e,growBuffer,0, +func_178984_b,addVertex,0, +func_178985_a,addVertexWithUV,0, +func_178986_b,setColorOpaque_F,0, +func_178987_a,putPosition,0, +func_178988_b,putColor,0, +func_178989_h,getVertexCount,0, +func_178990_f,putColorRGB_F4,0, +func_178991_c,setColorOpaque_I,0, +func_178992_a,setTextureUV,0, +func_178993_a,setVertexState,0, +func_178994_b,putColorRGB_F,0, +func_179013_a,getRawBuffer,0, +func_179014_c,getVertexCount,0, +func_179015_b,getRawBufferIndex,0, +func_179016_d,getVertexFormat,0, +func_179022_a,renderByItem,0, +func_179027_a,getFacing,0, +func_179038_a,getWorldRendererByLayer,0, +func_179039_a,getWorldRendererByLayerId,0, +func_179082_a,clearColor,0, +func_179083_b,viewport,0, +func_179084_k,disableBlend,0, +func_179085_a,enableLight,0, +func_179086_m,clear,0, +func_179087_a,enableTexGenCoord,0, +func_179088_q,enablePolygonOffset,0, +func_179089_o,enableCull,0, +func_179090_x,disableTexture2D,0, +func_179091_B,enableRescaleNormal,0, +func_179092_a,alphaFunc,0, +func_179093_d,setFog,0, +func_179094_E,pushMatrix,0, +func_179095_a,setFogDensity,0, +func_179096_D,loadIdentity,0, +func_179097_i,disableDepth,0, +func_179098_w,enableTexture2D,0, +func_179099_b,popAttrib,0, +func_179100_b,disableTexGenCoord,0, +func_179101_C,disableRescaleNormal,0, +func_179102_b,setFogStart,0, +func_179103_j,shadeModel,0, +func_179104_a,colorMaterial,0, +func_179106_n,disableFog,0, +func_179107_e,cullFace,0, +func_179108_z,enableNormalize,0, +func_179109_b,translate,0, +func_179110_a,multMatrix,0, +func_179111_a,getFloat,0, +func_179112_b,blendFunc,0, +func_179113_r,disablePolygonOffset,0, +func_179114_b,rotate,0, +func_179115_u,enableColorLogic,0, +func_179116_f,colorLogicOp,0, +func_179117_G,resetColor,0, +func_179118_c,disableAlpha,0, +func_179119_h,disableColorMaterial,0, +func_179120_a,tryBlendFuncSeparate,0, +func_179121_F,popMatrix,0, +func_179122_b,disableLight,0, +func_179123_a,pushAttrib,0, +func_179124_c,color,0, +func_179125_c,texGenCoord,0, +func_179126_j,enableDepth,0, +func_179127_m,enableFog,0, +func_179128_n,matrixMode,0, +func_179129_p,disableCull,0, +func_179130_a,ortho,0, +func_179131_c,color,0, +func_179132_a,depthMask,0, +func_179133_A,disableNormalize,0, +func_179134_v,disableColorLogic,0, +func_179135_a,colorMask,0, +func_179136_a,doPolygonOffset,0, +func_179137_b,translate,0, +func_179138_g,setActiveTexture,0, +func_179139_a,scale,0, +func_179140_f,disableLighting,0, +func_179141_d,enableAlpha,0, +func_179142_g,enableColorMaterial,0, +func_179143_c,depthFunc,0, +func_179144_i,bindTexture,0, +func_179145_e,enableLighting,0, +func_179146_y,generateTexture,0, +func_179147_l,enableBlend,0, +func_179148_o,callList,0, +func_179149_a,texGen,0, +func_179150_h,deleteTexture,0, +func_179151_a,clearDepth,0, +func_179152_a,scale,0, +func_179153_c,setFogEnd,0, +func_179198_a,setDisabled,0, +func_179199_a,setState,0, +func_179200_b,setEnabled,0, +func_179214_a,registerItemBlock,2, +func_179215_a,updateItemStackNBT,2, +func_179216_c,registerItemBlock,2, +func_179217_a,registerItem,2, +func_179218_a,onBlockDestroyed,2, +func_179219_a,registerItem,2, +func_179221_a,applyRandomRotations,2, +func_179222_a,canPlaceBlockOnSide,0, +func_179223_d,getBlock,2, +func_179224_a,setTileEntityNBT,2, +func_179225_h,getBaseColor,2, +func_179229_a,resolveContents,2, +func_179230_h,getGeneration,2, +func_179232_a,useHoe,2, +func_179233_a,createEntity,2, +func_179234_a,applyBonemeal,2, +func_179235_a,placeDoor,2, +func_179237_a,merge,2, +func_179238_g,get,2, +func_179242_c,getName,0, +func_179244_a,getPacket,2, +func_179245_a,registerPacket,2, +func_179246_a,getPacketId,2, +func_179249_a,writeEnumValue,2, +func_179250_a,writeByteArray,2, +func_179251_a,readByteArray,2, +func_179252_a,writeUuid,2, +func_179253_g,readUuid,2, +func_179254_b,writeVarLong,2, +func_179255_a,writeBlockPos,2, +func_179256_a,writeChatComponent,2, +func_179257_a,readEnumValue,2, +func_179258_d,readChatComponent,2, +func_179259_c,readBlockPos,2, +func_179260_f,readVarLong,2, +func_179280_b,load,2, +func_179281_c,getValue,2, +func_179284_a,genericLoad,2, +func_179285_a,genericLoad,2, +func_179286_a,genericLoad,2, +func_179287_a,genericLoad,2, +func_179288_a,sendPacket,2, +func_179289_a,setCompressionTreshold,2, +func_179290_a,sendPacket,2, +func_179291_h,hasNoChannel,2, +func_179292_f,getIsencrypted,0, +func_179293_l,checkDisconnected,2, +func_179298_a,compress,2, +func_179299_a,setCompressionTreshold,2, +func_179303_a,setCompressionTreshold,2, +func_179308_a,computeNext0,2, +func_179313_a,computeNext0,2, +func_179316_e,getBlock,2, +func_179318_a,cartesianProduct,2, +func_179319_b,createArray,2, +func_179321_a,cartesianProduct,2, +func_179322_b,toArray,2, +func_179323_b,arraysAsLists,2, +func_179324_a,apply,2, +func_179327_a,getPartMask,0, +func_179328_b,getPartId,0, +func_179329_c,getPartName,0, +func_179342_a,getParticleFromId,2, +func_179345_d,getArgumentCount,2, +func_179346_b,getParticleName,2, +func_179348_c,getParticleID,2, +func_179399_a,populateMap,2, +func_179400_b,createMap,2, +func_179401_a,modifyMerchantRecipeList,2, +func_179413_d,getZ,2, +func_179414_a,writeToNBT,2, +func_179415_b,getX,2, +func_179416_c,getY,2, +func_179421_a,next0,2, +func_179422_b,endOfData,2, +func_179516_a,facings,2, +func_179518_a,random,2, +func_179519_a,apply,2, +func_179524_a,getOffset,2, +func_179532_b,getRemainingItems,2, +func_179541_a,apply,2, +func_179543_a,getSubCompound,2, +func_179544_c,canDestroy,2, +func_179545_c,areItemsEqual,2, +func_179546_a,onItemUse,2, +func_179547_d,canPlaceOn,2, +func_179548_a,onBlockDestroyed,2, +func_179549_c,getIsItemStackEqual,0, +func_179554_a,getRegisteredItem,2, +func_179573_a,apply,2, +func_179574_a,apply,2, +func_179575_a,apply,2, +func_179576_a,apply,2, +func_179577_a,apply,2, +func_179578_a,apply,2, +func_179579_a,apply,2, +func_179580_a,apply,2, +func_179581_a,apply,2, +func_179582_a,apply,2, +func_179583_a,apply,2, +func_179584_a,apply,2, +func_179585_a,apply,2, +func_179586_a,apply,2, +func_179587_a,apply,2, +func_179588_a,apply,2, +func_179589_a,apply,2, +func_179634_c,getTypeNames,2, +func_179635_a,getTypeByName,2, +func_179636_a,getTypeID,2, +func_179637_b,getTypeName,2, +func_179652_a,matchOneEntity,2, +func_179656_b,matchEntities,2, +func_179709_b,getTargetBlock,2, +func_179712_b,getHitVec,2, +func_179714_b,getFacing,2, +func_179718_a,handle,2, +func_179721_a,handle,2, +func_179722_a,getPosition,2, +func_179724_a,getPosition,2, +func_179727_a,getEntity,2, +func_179728_a,handle,2, +func_179730_a,getProfile,0, +func_179731_a,getCompressionTreshold,0, +func_179732_a,processPacket,2, +func_179744_h,isReducedDebugInfo,0, +func_179748_k,getParticleArgs,0, +func_179782_a,processPacket,2, +func_179802_a,process,2, +func_179840_c,getWindowTitle,0, +func_179846_b,getDistanceToInsideBlockSq,2, +func_179847_f,getInsideOffsetX,2, +func_179848_a,getDistanceToDoorBlockSq,2, +func_179852_d,getDoorBlockPos,2, +func_179854_a,getFaceDirection,2, +func_179855_g,getInsideOffsetZ,2, +func_179856_e,getInsideBlockPos,2, +func_179860_f,isWoodDoor,2, +func_179864_e,getExistedDoor,2, +func_179865_b,getNearestDoor,2, +func_179868_d,redirectOutputToLog,2, +func_179869_a,isRegistered,2, +func_179870_a,printToSYSOUT,0, +func_179882_a,logString,2, +func_179885_a,getLongProperty,1, +func_179969_a,byName,2, +func_179971_a,getNames,2, +func_179986_j,getInsertion,2, +func_179989_a,setInsertion,2, +func_180031_a,checkThreadAndEnqueue,2, +func_180038_a,byNetworkID,2, +func_180039_a,getNetworkID,2, +func_180040_b,getName,2, +func_180100_a,apply,2, +func_180102_a,apply,2, +func_180103_a,apply,2, +func_180115_h,getWatchableObjectRotations,2, +func_180122_a,getIDFromString,0, +func_180123_a,isStringEntityName,2, +func_180124_b,getEntityNameList,2, +func_180125_b,isStringValidEntityName,2, +func_180130_a,apply,2, +func_180131_a,apply,2, +func_180133_a,apply,2, +func_180136_u,isCreativePlayer,2, +func_180138_v,setIsThornsDamage,2, +func_180139_w,getIsThornsDamage,2, +func_180141_c,getPotionMapAsArray,2, +func_180142_b,getPotionFromResourceLocation,2, +func_180154_f,getIsShowParticles,2, +func_180157_a,toNBT,2, +func_180158_b,fromNBT,2, +func_180159_b,getLock,2, +func_180160_a,isEmpty,2, +func_180166_a,getRandomItem,2, +func_180169_a,calculateAdditionalDifficulty,2, +func_180170_c,getClampedAdditionalDifficulty,2, +func_180173_a,spawnItemStack,2, +func_180175_a,dropInventoryItems,2, +func_180179_a,reset,0, +func_180180_a,apply,2, +func_180182_a,getRandomUuid,2, +func_180184_b,normalizeAngle,0, +func_180186_a,getPositionRandom,0, +func_180187_c,getCoordinateRandom,0, +func_180194_a,apply,2, +func_180195_a,apply,2, +func_180199_c,isJsonObjectBooleanField,0, +func_180200_a,apply,2, +func_180202_a,apply,2, +func_180235_c,removeBlock,2, +func_180236_a,activateBlockOrUseItem,2, +func_180237_b,tryHarvestBlock,2, +func_180238_e,cancelDestroyingBlock,2, +func_180242_a,applyLiving,2, +func_180244_a,markBlockForUpdate,2, +func_180246_b,getPosition,0, +func_180254_e,getType,2, +func_180255_c,getInt,2, +func_180262_a,addGameRule,2, +func_180263_c,getInt,2, +func_180264_a,areSameType,2, +func_180266_a,placeInPortal,2, +func_180267_a,canCreatureTypeSpawnAtLocation,2, +func_180276_a,getBiomeFromBiomeList,2, +func_180277_d,createMutatedBiome,2, +func_180283_a,getColorAtPos,0, +func_180286_a,getGrassColorAtPos,0, +func_180287_b,getFoliageColorAtPos,0, +func_180288_c,getWaterColorAtPos,0, +func_180292_a,decorate,2, +func_180302_a,addRecipe,2, +func_180304_c,getLocationNames,2, +func_180305_b,getEnchantmentByLocation,2, +func_180306_c,getEnchantmentById,2, +func_180318_b,getDepthStriderModifier,2, +func_180319_a,getRespiration,2, +func_180320_f,getMaxTradeUses,2, +func_180321_e,getToolUses,2, +func_180322_j,getRewardsExp,2, +func_180328_a,getPosition,2, +func_180330_f,getZEnd,2, +func_180331_a,getBlock,2, +func_180332_e,getXEnd,2, +func_180333_d,getZStart,2, +func_180334_c,getXStart,2, +func_180344_a,apply,2, +func_180346_a,getBlock,2, +func_180350_a,apply,2, +func_180354_a,apply,2, +func_180359_a,hasRailAt,2, +func_180362_b,getBlockState,2, +func_180383_a,getRegisteredBlock,2, +func_180416_a,apply,2, +func_180425_c,getPosition,2, +func_180428_a,getExplosionResistance,2, +func_180429_a,playStepSound,2, +func_180430_e,fall,2, +func_180431_b,isEntityInvulnerable,2, +func_180432_n,copyDataFromOld,2, +func_180436_i,enableLightmap,0, +func_180437_a,renderCloudsCheck,0, +func_180438_a,getNightVisionBrightness,0, +func_180439_a,playAusSFX,2, +func_180440_a,broadcastSound,2, +func_180441_b,sendBlockBreakProgress,2, +func_180442_a,spawnParticle,2, +func_180443_s,preRenderDamagedBlocks,0, +func_180444_a,renderStars,0, +func_180445_c,renderCloudsFancy,0, +func_180446_a,renderEntities,0, +func_180447_b,renderClouds,0, +func_180448_r,renderSkyEnd,0, +func_180449_a,renderWorldBorder,0, +func_180450_b,renderItemAndEffectIntoGUI,0, +func_180451_a,renderEffect,0, +func_180452_a,setupGuiTransform,0, +func_180453_a,renderItemOverlayIntoGUI,0, +func_180454_a,renderItem,0, +func_180455_b,renderString,0, +func_180456_s,getMinecartType,2, +func_180457_u,getDefaultDisplayTile,2, +func_180459_n,moveDerailedMinecart,2, +func_180461_b,canExtractItem,2, +func_180462_a,canInsertItem,2, +func_180463_a,getSlotsForFace,2, +func_180464_a,handleEnableCompression,2, +func_180465_a,moveTowards,2, +func_180467_a,getBedSpawnLocation,2, +func_180468_a,displayGui,2, +func_180469_a,trySleep,2, +func_180470_cg,getBedLocation,2, +func_180471_a,getToolDigEfficiency,2, +func_180472_a,displayVillagerTradeGui,2, +func_180473_a,setSpawnPoint,2, +func_180478_c,renderStreamIndicator,0, +func_180479_a,renderTooltip,0, +func_180492_cm,getOwnerEntity,2, +func_180494_b,getBiomeGenForCoords,2, +func_180495_p,getBlockState,2, +func_180496_d,notifyBlockOfStateChange,2, +func_180498_a,playAuxSFXAtEntity,2, +func_180499_a,getStrongholdPos,2, +func_180500_c,checkLightFor,2, +func_180501_a,setBlockState,2, +func_180502_D,isBlockinHighHumidity,2, +func_180505_a,spawnParticle,2, +func_180506_a,getTabCompletions,2, +func_180507_a_,setResourcePack,2, +func_180509_L,getTwitchDetails,0, +func_180510_a,drawSplashScreen,0, +func_180513_a,getStrongholdGen,2, +func_180514_a,recreateStructures,2, +func_180518_a,setBlocksInChunk,2, +func_180521_a,skinAvailable,0, +func_180522_a,getCoordinateInfo,2, +func_180523_a,addBlockInfo,2, +func_180524_a,getTabCompletionOptions,2, +func_180525_a,addTabCompletionOptions,2, +func_180526_a,parseDouble,2, +func_180527_d,parseBoolean,2, +func_180528_a,parseInt,2, +func_180530_a,join,2, +func_180531_e,getDifficultyFromCommand,2, +func_180532_a,addBlockHitEffects,0, +func_180535_a,renderTileEntityAt,0, +func_180536_a,renderBeacon,0, +func_180539_a,renderMobSpawnerTileEntity,0, +func_180542_a,renderTileEntitySkull,0, +func_180543_a,renderSkull,0, +func_180545_a,renderTileEntityBanner,0, +func_180546_a,renderTileEntity,0, +func_180547_a,normalize,0, +func_180548_c,bindEntityTexture,0, +func_180550_a,getEntityTexture,0, +func_180551_a,doRender,0, +func_180552_a,doRender,0, +func_180553_a,getEntityTexture,0, +func_180554_a,getEnderCrystalTextures,0, +func_180555_a,getTexture,0, +func_180557_a,doRender,0, +func_180566_a,getEntityTexture,0, +func_180567_a,preRenderCallback,0, +func_180574_a,drawRechargeRay,0, +func_180585_a,preRenderCallback,0, +func_180586_a,getEntityTexture,0, +func_180597_a,cacheActiveRenderInfo,0, +func_180598_a,loadSprite,0, +func_180599_n,updateAnimationInterpolated,0, +func_180600_a,allocateTextureImpl,0, +func_180603_b,getIntegratedServerInstance,0, +func_180604_b,getEntry,0, +func_180608_a,getCenter,2, +func_180609_b,addDoorsAround,2, +func_180614_a,onItemUse,2, +func_180615_a,tryPlace,2, +func_180616_a,tryPlaceContainedLiquid,2, +func_180617_a,spawnBonemealParticles,0, +func_180618_a,attachToFence,2, +func_180619_a,getCenterBlock,2, +func_180620_b,placeInExistingPortal,2, +func_180621_a,getRandomChunkPosition,2, +func_180622_a,genTerrainBlocks,2, +func_180623_a,pickRandomFlower,2, +func_180624_a,decorate,2, +func_180625_c,getFoliageColorAtPos,0, +func_180626_a,getFloatTemperature,2, +func_180627_b,getGrassColorAtPos,0, +func_180628_b,generateBiomeTerrain,2, +func_180630_a,findBiomePosition,2, +func_180631_a,getBiomeGenerator,2, +func_180632_j,setDefaultState,2, +func_180633_a,onBlockPlacedBy,2, +func_180634_a,onEntityCollidedWithBlock,2, +func_180635_a,spawnAsEntity,2, +func_180636_a,collisionRayTrace,2, +func_180637_b,dropXpOnBlockBreak,2, +func_180638_a,addCollisionBoxesToList,2, +func_180639_a,onBlockActivated,2, +func_180640_a,getCollisionBoundingBox,2, +func_180641_l,getComparatorInputOverride,2, +func_180642_a,onBlockPlaced,2, +func_180643_i,createStackedBlock,2, +func_180644_h,getRenderColor,0, +func_180645_a,randomTick,2, +func_180646_a,getSelectedBoundingBox,0, +func_180647_a,getPlayerRelativeBlockHardness,2, +func_180648_a,onBlockEventReceived,2, +func_180649_a,onBlockClicked,2, +func_180650_b,updateTick,2, +func_180651_a,damageDropped,2, +func_180652_a,onBlockDestroyedByExplosion,2, +func_180653_a,dropBlockAsItemWithChance,2, +func_180654_a,setBlockBoundsBasedOnState,2, +func_180655_c,randomDisplayTick,0, +func_180656_a,isProvidingWeakPower,2, +func_180657_a,harvestBlock,2, +func_180658_a,onFallenUpon,2, +func_180659_g,getMapColor,2, +func_180660_a,getItemDropped,2, +func_180661_e,createBlockState,2, +func_180662_a,colorMultiplier,0, +func_180663_b,breakBlock,2, +func_180664_k,getBlockLayer,0, +func_180665_b,getItem,0, +func_180666_a,updateState,2, +func_180667_a,getSensitiveAABB,2, +func_180669_e,computeRedstoneStrength,2, +func_180670_a,canUseBonemeal,2, +func_180671_f,canBlockStay,2, +func_180672_a,getGrowthChance,2, +func_180673_e,trySpawnGolem,2, +func_180674_e,getPoweredState,2, +func_180675_k,getUnpoweredState,2, +func_180676_d,getLockableContainer,2, +func_180677_d,updatePower,2, +func_180678_e,dropRecord,2, +func_180679_a,checkWitherSpawn,2, +func_180680_f,checkForArrows,2, +func_180681_d,updateBlockBounds,2, +func_180682_b,eatCake,2, +func_180683_d,checkFall,2, +func_180684_e,teleport,2, +func_180685_d,canFallInto,2, +func_180686_a,setFireInfo,2, +func_180687_h,getFlowVector,2, +func_180688_d,triggerMixEffects,2, +func_180689_a,getFlowDirection,0, +func_180690_f,placeStaticBlock,2, +func_180691_e,spawnParticles,2, +func_180692_a,explode,2, +func_180693_d,setBounds,2, +func_180695_a,getFacingFromEntity,2, +func_180696_a,canPush,2, +func_180697_b,findRailAt,2, +func_180699_d,getBlockPos,2, +func_180706_b,getClosestStrongholdPos,2, +func_180708_a,writeGameProfile,2, +func_180709_b,generate,2, +func_180714_a,writeString,2, +func_180724_a,handle,2, +func_180734_a,process,2, +func_180735_b,getBufferData,0, +func_180740_a,handleParticles,2, +func_180756_a,processPacket,2, +func_180757_a,processPacket,2, +func_180759_a,processPacket,2, +func_180760_b,getBufferData,2, +func_180761_a,processPacket,2, +func_180762_c,getStatus,2, +func_180763_a,processPacket,2, +func_180764_b,getAction,2, +func_180765_a,processPacket,2, +func_180766_a,processPacket,2, +func_180767_a,handle,2, +func_180768_b,getLines,2, +func_180769_a,processPacket,2, +func_180770_a,handle,2, +func_180771_a,processPacket,2, +func_180772_a,processPacket,2, +func_180773_a,processPacket,2, +func_180774_a,processPacket,2, +func_180775_a,processPacket,2, +func_180781_a,initializeAllBiomeGenerators,2, +func_180783_e,setDifficultyLocked,2, +func_180784_a,onBlockClicked,2, +func_180785_a,blockRemoving,2, +func_180786_a,getBlockAtEntityViewpoint,0, +func_180789_a,setIndependent,2, +func_180790_a,drawEntry,0, +func_180791_a,drawSlot,0, +func_180793_a,affectEntity,2, +func_180798_a,renderDebugInfoLeft,0, +func_180799_ab,isInLava,2, +func_70000_a,addServerStatsToSnooper,2, +func_70001_b,addServerTypeToSnooper,2, +func_70002_Q,isSnooperEnabled,2, +func_70003_b,canUseCommand,2, +func_70005_c_,getName,2, +func_70007_b,resetLog,1, +func_70008_c,getLogContents,1, +func_70011_f,getDistance,2, +func_70012_b,setLocationAndAngles,2, +func_70013_c,getBrightness,2, +func_70014_b,writeEntityToNBT,2, +func_70015_d,setFire,2, +func_70016_h,setVelocity,0, +func_70018_K,setBeenAttacked,2, +func_70019_c,setEating,2, +func_70020_e,readFromNBT,2, +func_70021_al,getParts,2, +func_70022_Q,getEntityString,2, +func_70024_g,addVelocity,2, +func_70026_G,isWet,2, +func_70027_ad,isBurning,2, +func_70028_i,isEntityEqual,2, +func_70029_a,setWorld,2, +func_70030_z,onEntityUpdate,2, +func_70031_b,setSprinting,2, +func_70032_d,getDistanceToEntity,2, +func_70033_W,getYOffset,2, +func_70034_d,setRotationYawHead,2, +func_70035_c,getInventory,2, +func_70037_a,readEntityFromNBT,2, +func_70038_c,isOffsetPositionInLiquid,2, +func_70039_c,writeToNBTOptional,2, +func_70040_Z,getLookVec,2, +func_70041_e_,canTriggerWalking,2, +func_70042_X,getMountedYOffset,2, +func_70043_V,updateRiderPosition,2, +func_70044_A,setOnFireFromLava,2, +func_70045_F,isImmuneToFire,2, +func_70046_E,getBoundingBox,2, +func_70047_e,getEyeHeight,2, +func_70049_a,newFloatNBTList,2, +func_70050_g,setAir,2, +func_70051_ag,isSprinting,2, +func_70052_a,setFlag,2, +func_70055_a,isInsideOfMaterial,2, +func_70057_ab,performHurtAnimation,0, +func_70058_J,handleLavaMovement,2, +func_70060_a,moveFlying,2, +func_70062_b,setCurrentItemOrArmor,2, +func_70063_aa,setInPortal,2, +func_70065_x,preparePlayerToSpawn,0, +func_70066_B,extinguish,2, +func_70067_L,canBeCollidedWith,2, +func_70068_e,getDistanceSqToEntity,2, +func_70070_b,getBrightnessForRender,0, +func_70071_h_,onUpdate,2, +func_70072_I,handleWaterMovement,2, +func_70074_a,onKillEntity,2, +func_70075_an,canAttackWithItem,2, +func_70076_C,kill,2, +func_70077_a,onStruckByLightning,2, +func_70078_a,mountEntity,2, +func_70079_am,getRotationYawHead,2, +func_70080_a,setPositionAndRotation,2, +func_70081_e,dealFireDamage,2, +func_70082_c,setAngles,0, +func_70083_f,getFlag,2, +func_70084_c,addToPlayerScore,2, +func_70085_c,interact,2, +func_70086_ai,getAir,2, +func_70087_a,newDoubleNBTList,2, +func_70088_a,entityInit,2, +func_70089_S,isEntityAlive,2, +func_70090_H,isInWater,2, +func_70091_d,moveEntity,2, +func_70092_e,getDistanceSq,2, +func_70093_af,isSneaking,2, +func_70094_T,isEntityInsideOpaqueBlock,2, +func_70095_a,setSneaking,2, +func_70096_w,getDataWatcher,2, +func_70097_a,attackEntityFrom,2, +func_70098_U,updateRidden,2, +func_70099_a,entityDropItem,2, +func_70100_b_,onCollideWithPlayer,2, +func_70101_b,setRotation,2, +func_70103_a,handleHealthUpdate,0, +func_70104_M,canBePushed,2, +func_70105_a,setSize,2, +func_70106_y,setDead,2, +func_70107_b,setPosition,2, +func_70108_f,applyEntityCollision,2, +func_70109_d,writeToNBT,2, +func_70110_aj,setInWeb,2, +func_70111_Y,getCollisionBorderSize,2, +func_70112_a,isInRangeToRenderDist,0, +func_70113_ah,isEating,0, +func_70114_g,getCollisionBox,2, +func_70115_ae,isRiding,2, +func_70182_d,getVelocity,2, +func_70183_g,getInaccuracy,2, +func_70184_a,onImpact,2, +func_70185_h,getGravityVelocity,2, +func_70186_c,setThrowableHeading,2, +func_70196_i,getPotionDamage,2, +func_70227_a,onImpact,2, +func_70239_b,setDamage,2, +func_70240_a,setKnockbackStrength,2, +func_70241_g,getIsCritical,2, +func_70242_d,getDamage,2, +func_70243_d,setIsCritical,2, +func_70265_b,setTimeSinceHit,2, +func_70266_a,setDamageTaken,2, +func_70267_i,getForwardDirection,2, +func_70268_h,getTimeSinceHit,2, +func_70269_c,setForwardDirection,2, +func_70270_d,setIsBoatEmpty,0, +func_70271_g,getDamageTaken,2, +func_70288_d,setAgeToCreativeDespawnTime,2, +func_70289_a,combineItems,2, +func_70296_d,markDirty,2, +func_70297_j_,getInventoryStackLimit,2, +func_70298_a,decrStackSize,2, +func_70299_a,setInventorySlotContents,2, +func_70300_a,isUseableByPlayer,2, +func_70301_a,getStackInSlot,2, +func_70302_i_,getSizeInventory,2, +func_70304_b,getStackInSlotOnClosing,2, +func_70429_k,decrementAnimations,2, +func_70430_l,getTotalArmorValue,2, +func_70431_c,hasItemStack,2, +func_70432_d,storeItemStack,2, +func_70436_m,dropAllItems,2, +func_70437_b,setItemStack,2, +func_70440_f,armorItemInSlot,2, +func_70441_a,addItemStackToInventory,2, +func_70442_a,writeToNBT,2, +func_70443_b,readFromNBT,2, +func_70445_o,getItemStack,2, +func_70447_i,getFirstEmptyStack,2, +func_70448_g,getCurrentItem,2, +func_70449_g,damageArmor,2, +func_70451_h,getHotbarSize,2, +func_70452_e,storePartialItemStack,2, +func_70453_c,changeCurrentItem,0, +func_70455_b,copyInventory,2, +func_70463_b,getStackInRowAndColumn,2, +func_70468_h,getCurrentRecipe,2, +func_70469_d,inventoryResetNeededOnSlotChange,2, +func_70470_g,resetRecipeAndSlots,2, +func_70471_c,setCurrentRecipeIndex,2, +func_70486_a,loadInventoryFromNBT,2, +func_70487_g,saveInventoryToNBT,2, +func_70491_i,getDamage,2, +func_70492_c,setDamage,2, +func_70493_k,getRollingDirection,2, +func_70494_i,setRollingDirection,2, +func_70496_j,getRollingAmplitude,2, +func_70497_h,setRollingAmplitude,2, +func_70515_d,explode,2, +func_70518_d,onValidSurface,2, +func_70526_d,getXpValue,2, +func_70527_a,getXPSplit,2, +func_70528_g,getTextureByXP,0, +func_70534_d,getRedColorF,0, +func_70535_g,getBlueColorF,0, +func_70536_a,setParticleTextureIndex,0, +func_70537_b,getFXLayer,0, +func_70538_b,setRBGColorF,0, +func_70541_f,multipleParticleScaleBy,0, +func_70542_f,getGreenColorF,0, +func_70543_e,multiplyVelocity,0, +func_70589_b,setBaseSpellTextureIndex,0, +func_70599_aP,getSoundVolume,2, +func_70601_bi,getCanSpawnHere,2, +func_70603_bj,getRenderSizeModifier,0, +func_70604_c,setRevengeTarget,2, +func_70605_aq,getMoveHelper,2, +func_70606_j,setHealth,2, +func_70608_bn,isPlayerSleeping,2, +func_70609_aI,onDeathUpdate,2, +func_70610_aX,isMovementBlocked,2, +func_70612_e,moveEntityWithHeading,2, +func_70613_aW,isServerWorld,2, +func_70615_aA,eatGrassBonus,2, +func_70617_f_,isOnLadder,2, +func_70618_n,removePotionEffectClient,0, +func_70619_bc,updateAITasks,2, +func_70621_aR,getHurtSound,2, +func_70623_bb,despawnEntity,2, +func_70624_b,setAttackTarget,2, +func_70625_a,faceEntity,2, +func_70626_be,updateEntityActionState,2, +func_70627_aG,getTalkInterval,2, +func_70628_a,dropFewItems,2, +func_70629_bd,updateAITick,2, +func_70631_g_,isChild,2, +func_70632_aY,isBlocking,2, +func_70634_a,setPositionAndUpdate,2, +func_70635_at,getEntitySenses,2, +func_70636_d,onLivingUpdate,2, +func_70637_d,setJumping,2, +func_70638_az,getAttackTarget,2, +func_70639_aQ,getLivingSound,2, +func_70641_bl,getMaxSpawnedInChunk,2, +func_70642_aH,playLivingSound,2, +func_70643_av,getAITarget,2, +func_70644_a,isPotionActive,2, +func_70645_a,onDeath,2, +func_70646_bf,getVerticalFaceSpeed,2, +func_70647_i,getSoundPitch,2, +func_70648_aU,canBreatheUnderwater,2, +func_70650_aV,isAIEnabled,2, +func_70651_bq,getActivePotionEffects,2, +func_70652_k,attackEntityAsMob,2, +func_70653_a,knockBack,2, +func_70654_ax,getAge,2, +func_70655_b,applyArmorCalculations,2, +func_70656_aK,spawnExplosionParticle,2, +func_70657_f,setMoveForward,2, +func_70658_aO,getTotalArmorValue,2, +func_70659_e,setAIMoveSpeed,2, +func_70660_b,getActivePotionEffect,2, +func_70661_as,getNavigator,2, +func_70662_br,isEntityUndead,2, +func_70663_b,updateRotation,2, +func_70664_aZ,jump,2, +func_70665_d,damageEntity,2, +func_70668_bt,getCreatureAttribute,2, +func_70669_a,renderBrokenItemStack,2, +func_70670_a,onNewPotionEffect,2, +func_70671_ap,getLookHelper,2, +func_70672_c,applyPotionDamageCalculations,2, +func_70673_aS,getDeathSound,2, +func_70674_bp,clearActivePotions,2, +func_70675_k,damageArmor,2, +func_70676_i,getLook,2, +func_70678_g,getSwingProgress,0, +func_70679_bo,updatePotionEffects,2, +func_70681_au,getRNG,2, +func_70682_h,decreaseAirSupply,2, +func_70683_ar,getJumpHelper,2, +func_70684_aJ,isPlayer,2, +func_70685_l,canEntityBeSeen,2, +func_70686_a,canAttackClass,2, +func_70687_e,isPotionApplicable,2, +func_70688_c,onFinishedPotionEffect,2, +func_70689_ay,getAIMoveSpeed,2, +func_70690_d,addPotionEffect,2, +func_70691_i,heal,2, +func_70692_ba,canDespawn,2, +func_70693_a,getExperiencePoints,2, +func_70694_bm,getHeldItem,2, +func_70695_b,onChangedPotionEffect,2, +func_70781_l,hasPath,2, +func_70799_a,setSlimeSize,2, +func_70800_m,canDamagePlayer,2, +func_70802_j,createInstance,2, +func_70803_o,getJumpSound,2, +func_70804_p,makesSoundOnLand,2, +func_70805_n,getAttackStrength,2, +func_70806_k,getJumpDelay,2, +func_70807_r,makesSoundOnJump,2, +func_70808_l,alterSquishAmount,2, +func_70809_q,getSlimeSize,2, +func_70814_o,isValidLightLevel,2, +func_70816_c,teleportToEntity,2, +func_70819_e,setScreaming,2, +func_70820_n,teleportRandomly,2, +func_70821_d,shouldAttackPlayer,2, +func_70823_r,isScreaming,2, +func_70825_j,teleportTo,2, +func_70829_a,setCreeperState,2, +func_70830_n,getPowered,2, +func_70831_j,getCreeperFlashIntensity,0, +func_70832_p,getCreeperState,2, +func_70835_c,becomeAngryAt,2, +func_70839_e,setBesideClimbableBlock,2, +func_70841_p,isBesideClimbableBlock,2, +func_70849_f,setPlayerCreated,2, +func_70850_q,isPlayerCreated,2, +func_70851_e,setHoldingRose,2, +func_70852_n,getVillage,2, +func_70853_p,getHoldRoseTick,2, +func_70854_o,getAttackTimer,0, +func_70873_a,setGrowingAge,2, +func_70874_b,getGrowingAge,2, +func_70875_t,resetInLove,2, +func_70877_b,isBreedingItem,2, +func_70878_b,canMateWith,2, +func_70880_s,isInLove,2, +func_70890_k,getHeadRotationAngleX,0, +func_70892_o,getSheared,2, +func_70893_e,setSheared,2, +func_70894_j,getHeadRotationPointY,0, +func_70900_e,setSaddled,2, +func_70901_n,getSaddled,2, +func_70902_q,getOwner,2, +func_70903_f,setTamed,2, +func_70904_g,setSitting,2, +func_70906_o,isSitting,2, +func_70907_r,getAISit,2, +func_70908_e,playTameEffect,2, +func_70909_n,isTamed,2, +func_70912_b,setTameSkin,2, +func_70913_u,getTameSkin,2, +func_70915_j,getShadingWhileWet,0, +func_70916_h,setAngry,2, +func_70917_k,getInterestedAngle,0, +func_70919_bu,isAngry,2, +func_70920_v,getTailRotation,0, +func_70921_u,isWolfWet,0, +func_70923_f,getShakeAngle,0, +func_70930_a,setRecipes,0, +func_70931_l_,getCustomer,2, +func_70932_a_,setCustomer,2, +func_70933_a,useRecipe,2, +func_70934_b,getRecipes,2, +func_70938_b,setProfession,2, +func_70939_f,setPlaying,2, +func_70940_q,isTrading,2, +func_70941_o,isMating,2, +func_70945_p,isPlaying,2, +func_70946_n,getProfession,2, +func_70947_e,setMating,2, +func_70965_a,attackEntityFromPart,2, +func_70967_k,setNewTarget,2, +func_70969_j,updateDragonEnderCrystal,2, +func_70970_a,collideWithEntities,2, +func_70971_b,attackEntitiesInList,2, +func_70972_a,destroyBlocksInAABB,2, +func_70973_b,simplifyAngle,2, +func_70974_a,getMovementOffsets,2, +func_70996_bM,shouldHeal,2, +func_70998_m,interactWith,2, +func_70999_a,wakeUpPlayer,2, +func_71000_j,addMovementStat,2, +func_71001_a,onItemPickup,2, +func_71004_bE,respawnPlayer,0, +func_71005_bN,getInventoryEnderChest,2, +func_71007_a,displayGUIChest,2, +func_71008_a,setItemInUse,2, +func_71009_b,onCriticalHit,2, +func_71010_c,updateItemUse,2, +func_71011_bu,getItemInUse,0, +func_71012_a,joinEntityItemWithWorld,2, +func_71013_b,removeExperienceLevel,2, +func_71015_k,addMountedMovementStat,2, +func_71016_p,sendPlayerAbilities,2, +func_71019_a,dropPlayerItemWithRandomChoice,2, +func_71020_j,addExhaustion,2, +func_71023_q,addExperience,2, +func_71024_bL,getFoodStats,2, +func_71026_bH,isPlayerFullyAsleep,2, +func_71027_c,travelToDimension,2, +func_71028_bD,destroyCurrentEquippedItem,2, +func_71029_a,triggerAchievement,2, +func_71033_a,setGameType,2, +func_71034_by,stopUsingItem,2, +func_71036_o,onItemUseFinish,2, +func_71037_bA,getScore,2, +func_71038_i,swingItem,2, +func_71039_bw,isUsingItem,2, +func_71040_bB,dropOneItem,2, +func_71041_bz,clearItemInUse,2, +func_71043_e,canEat,2, +func_71044_o,collideWithPlayer,2, +func_71045_bC,getCurrentEquippedItem,2, +func_71047_c,onEnchantmentCritical,2, +func_71048_c,displayGUIBook,2, +func_71049_a,clonePlayer,2, +func_71050_bK,xpBarCap,2, +func_71051_bG,getBedOrientationInDegrees,0, +func_71052_bv,getItemInUseCount,0, +func_71053_j,closeScreen,2, +func_71057_bx,getItemInUseDuration,0, +func_71059_n,attackTargetEntityWithCurrentItem,2, +func_71060_bI,getSleepTimer,0, +func_71061_d_,resetHeight,2, +func_71064_a,addStat,2, +func_71110_a,sendContainerAndContentsToPlayer,2, +func_71111_a,sendSlotContents,2, +func_71112_a,sendProgressBarUpdate,2, +func_71113_k,updateHeldItem,2, +func_71114_r,getPlayerIP,2, +func_71116_b,addSelfToInternalCraftingInventory,2, +func_71117_bO,getNextWindowId,2, +func_71118_n,setPlayerHealthUpdated,2, +func_71120_a,sendContainerToPlayer,2, +func_71121_q,getServerForPlayer,2, +func_71122_b,handleFalling,2, +func_71123_m,mountEntityAndWakeUp,2, +func_71124_b,getEquipmentInSlot,2, +func_71127_g,onUpdateEntity,2, +func_71128_l,closeContainer,2, +func_71150_b,setPlayerSPHealth,0, +func_71152_a,setXPStats,0, +func_71165_d,sendChatMessage,0, +func_71187_D,getCommandManager,2, +func_71188_g,setAllowPvp,2, +func_71189_e,setHostname,1, +func_71190_q,updateTimeLightAndEntities,2, +func_71191_d,setBuildLimit,2, +func_71192_d,setUserMessage,2, +func_71193_K,allowSpawnMonsters,2, +func_71194_c,canCreateBonusChest,2, +func_71195_b_,getUserMessage,0, +func_71197_b,startServer,2, +func_71198_k,logDebug,1, +func_71199_h,isHardcore,2, +func_71200_ad,serverIsInRunLoop,0, +func_71201_j,logSevere,1, +func_71203_ab,getConfigurationManager,2, +func_71204_b,setDemo,2, +func_71205_p,setMOTD,2, +func_71206_a,shareToLAN,2, +func_71207_Z,getBuildLimit,2, +func_71208_b,setServerPort,1, +func_71209_f,getFile,2, +func_71211_k,getServerHostname,1, +func_71213_z,getAllUsernames,2, +func_71214_G,getServerOwner,2, +func_71215_F,getServerPort,1, +func_71216_a_,outputPercentRemaining,2, +func_71217_p,tick,2, +func_71218_a,worldServerForDimension,2, +func_71219_W,isPVPEnabled,2, +func_71220_V,getCanSpawnNPCs,2, +func_71221_J,getWorldName,0, +func_71222_d,initialWorldChunkLoad,2, +func_71223_ag,enableProfiling,2, +func_71224_l,setServerOwner,2, +func_71225_e,canStructuresSpawn,2, +func_71228_a,finalTick,2, +func_71229_d,setOnlineMode,2, +func_71230_b,addServerInfoToCrashReport,2, +func_71231_X,isFlightAllowed,2, +func_71233_x,getCurrentPlayerCount,2, +func_71234_u,getPort,1, +func_71235_a,setGameType,2, +func_71236_h,logWarning,2, +func_71237_c,convertMapIfNeeded,2, +func_71238_n,getDataDirectory,2, +func_71239_B,isDebuggingEnabled,1, +func_71240_o,systemExitNow,2, +func_71241_aa,isServerStopped,1, +func_71242_L,isDemo,2, +func_71243_i,clearCurrentTask,2, +func_71244_g,logInfo,1, +func_71245_h,setAllowFlight,2, +func_71246_n,setWorldName,0, +func_71247_a,loadAllWorlds,2, +func_71249_w,getMinecraftVersion,2, +func_71250_E,getKeyPair,2, +func_71251_e,setCanSpawnAnimals,2, +func_71252_i,handleRConCommand,1, +func_71253_a,setKeyPair,2, +func_71254_M,getActiveAnvilConverter,2, +func_71255_r,getAllowNether,2, +func_71256_s,startServerThread,2, +func_71257_f,setCanSpawnNPCs,2, +func_71258_A,getPlugins,1, +func_71259_af,getTickCounter,2, +func_71260_j,stopServer,2, +func_71261_m,setFolderName,2, +func_71262_S,isDedicatedServer,2, +func_71263_m,initiateShutdown,2, +func_71264_H,isSinglePlayer,2, +func_71265_f,getGameType,2, +func_71266_T,isServerInOnlineMode,2, +func_71267_a,saveAllWorlds,2, +func_71268_U,getCanSpawnAnimals,2, +func_71270_I,getFolderName,2, +func_71272_O,deleteWorldAndStopServer,2, +func_71273_Y,getMOTD,2, +func_71274_v,getMotd,1, +func_71275_y,getMaxPlayers,2, +func_71276_C,getServer,2, +func_71277_t,getHostname,1, +func_71278_l,isServerRunning,2, +func_71279_ae,getGuiEnabled,2, +func_71326_a,saveProperties,1, +func_71327_a,getIntProperty,1, +func_71328_a,setProperty,1, +func_71329_c,getSettingsFilename,1, +func_71330_a,getStringProperty,1, +func_71331_a,addPendingCommand,1, +func_71332_a,getBooleanProperty,1, +func_71333_ah,executePendingCommands,1, +func_71344_c,getPublic,0, +func_71351_a,setServerData,0, +func_71352_k,toggleFullscreen,0, +func_71353_a,loadWorld,0, +func_71354_a,setDimensionAndSpawnPlayer,0, +func_71355_q,isDemo,0, +func_71356_B,isSingleplayer,0, +func_71359_d,getSaveLoader,0, +func_71361_d,checkGLError,0, +func_71363_D,stopIntegratedServer,0, +func_71364_i,setIngameNotInFocus,0, +func_71366_a,displayDebugInfo,0, +func_71369_N,getGLMaximumTextureSize,0, +func_71370_a,resize,0, +func_71371_a,launchIntegratedServer,0, +func_71372_G,isFullScreen,0, +func_71375_t,isFancyGraphicsEnabled,0, +func_71377_b,displayCrashReport,0, +func_71378_E,getPlayerUsageSnooper,0, +func_71379_u,isAmbientOcclusionEnabled,0, +func_71381_h,setIngameFocus,0, +func_71382_s,isGuiEnabled,0, +func_71383_b,updateDebugProfilerName,0, +func_71384_a,startGame,0, +func_71385_j,displayInGameMenu,0, +func_71386_F,getSystemTime,0, +func_71387_A,isIntegratedServerRunning,0, +func_71389_H,startTimerHackThread,0, +func_71392_a,scaledTessellator,0, +func_71396_d,addGraphicsAndWorldToCrashReport,0, +func_71398_f,freeMemory,0, +func_71400_g,shutdown,0, +func_71401_C,getIntegratedServer,0, +func_71403_a,loadWorld,0, +func_71404_a,crashed,0, +func_71405_e,shutdownMinecraftApplet,0, +func_71407_l,runTick,0, +func_71410_x,getMinecraft,0, +func_71411_J,runGameLoop,0, +func_71497_f,getFile,0, +func_71498_d,getCauseStackTraceOrString,2, +func_71499_a,addCrashSectionThrowable,2, +func_71500_a,addCrashSectionCallable,2, +func_71501_a,getDescription,2, +func_71502_e,getCompleteReport,2, +func_71503_h,getWittyComment,2, +func_71504_g,populateEnvironment,2, +func_71505_b,getCrashCause,2, +func_71506_a,getSectionsInStringBuilder,2, +func_71507_a,addCrashSection,2, +func_71514_a,getAliases,2, +func_71515_b,execute,2, +func_71517_b,getName,2, +func_71518_a,getCommandUsage,2, +func_71519_b,canCommandSenderUse,2, +func_71521_c,getCommandSenderAsPlayer,2, +func_71523_a,doesStringStartWith,2, +func_71527_a,joinNiceString,2, +func_71529_a,setAdminCommander,2, +func_71530_a,getListOfStringsMatchingLastWord,2, +func_71534_d,getSortedPossibleCommands,2, +func_71535_c,getCommands,2, +func_71536_c,getPlayers,2, +func_71538_c,getListOfPlayerUsernames,2, +func_71539_b,getGameModeFromCommand,2, +func_71541_a,setGameType,2, +func_71542_c,getAllUsernames,2, +func_71552_a,setTime,2, +func_71553_b,addTime,2, +func_71554_c,toggleDownfall,2, +func_71555_a,getCommands,2, +func_71556_a,executeCommand,2, +func_71557_a,getPossibleCommands,2, +func_71559_a,dropFirstString,2, +func_71560_a,registerCommand,2, +func_71565_a,filterAllowedCharacters,2, +func_71566_a,isAllowedCharacter,2, +func_71575_a,getCrashReport,2, +func_72314_b,expand,2, +func_72315_c,isVecInXZ,2, +func_72316_a,calculateXOffset,2, +func_72317_d,offset,2, +func_72318_a,isVecInside,2, +func_72319_d,isVecInXY,2, +func_72320_b,getAverageEdgeLength,2, +func_72321_a,addCoord,2, +func_72322_c,calculateZOffset,2, +func_72323_b,calculateYOffset,2, +func_72326_a,intersectsWith,2, +func_72327_a,calculateIntercept,2, +func_72331_e,contract,2, +func_72333_b,isVecInYZ,2, +func_72352_l,getMaxPlayers,2, +func_72354_b,updateTimeAndWeatherForPlayer,2, +func_72355_a,initializeConnectionToPlayer,2, +func_72356_a,transferPlayerToDimension,2, +func_72358_d,serverUpdateMountedMovingPlayer,2, +func_72362_j,loadWhiteList,2, +func_72363_f,getBannedIPs,2, +func_72364_a,setPlayerManager,2, +func_72365_p,getServerInstance,2, +func_72367_e,playerLoggedOut,2, +func_72368_a,recreatePlayerEntity,2, +func_72369_d,getAllUsernames,2, +func_72371_a,setWhiteListEnabled,2, +func_72372_a,getEntityViewDistance,2, +func_72373_m,getAvailablePlayerDat,2, +func_72374_b,onTick,2, +func_72377_c,playerLoggedIn,2, +func_72378_q,getHostPlayerData,2, +func_72380_a,readPlayerDataFromFile,2, +func_72382_j,getPlayersMatchingAddress,2, +func_72383_n,isWhiteListEnabled,1, +func_72385_f,syncPlayerInventory,2, +func_72387_b,setCommandsAllowedForAll,0, +func_72389_g,saveAllPlayerData,2, +func_72391_b,writePlayerData,2, +func_72392_r,removeAllPlayers,2, +func_72394_k,getCurrentPlayerCount,2, +func_72395_o,getViewDistance,2, +func_72417_t,loadOpsList,1, +func_72418_v,readWhiteList,1, +func_72419_u,saveOpsList,1, +func_72421_w,saveWhiteList,1, +func_72429_b,getIntermediateWithXValue,2, +func_72430_b,dotProduct,2, +func_72431_c,crossProduct,0, +func_72432_b,normalize,2, +func_72433_c,lengthVector,2, +func_72434_d,getIntermediateWithZValue,2, +func_72435_c,getIntermediateWithYValue,2, +func_72436_e,squareDistanceTo,2, +func_72438_d,distanceTo,2, +func_72441_c,addVector,2, +func_72444_a,subtractReverse,0, +func_72591_c,getRequestId,1, +func_72592_a,getRandomChallenge,1, +func_72593_a,hasExpired,1, +func_72594_b,getChallengeValue,1, +func_72601_a,registerSocket,1, +func_72602_a,startThread,1, +func_72603_d,getNumberOfPlayers,1, +func_72604_a,closeSocket,1, +func_72605_a,closeServerSocket_do,1, +func_72606_c,logWarning,1, +func_72607_a,logDebug,1, +func_72608_b,closeServerSocket,1, +func_72609_b,logInfo,1, +func_72610_d,logSevere,1, +func_72611_e,closeAllSockets,1, +func_72612_a,closeAllSockets_do,1, +func_72613_c,isRunning,1, +func_72620_a,sendResponsePacket,1, +func_72621_a,parseIncomingPacket,1, +func_72622_d,sendAuthChallenge,1, +func_72623_a,stopWithException,1, +func_72624_b,createQueryResponse,1, +func_72625_a,getRequestID,1, +func_72626_g,initQuerySystem,1, +func_72627_c,verifyClientAuth,1, +func_72628_f,cleanQueryClientsMap,1, +func_72645_g,cleanClientThreadsMap,1, +func_72646_f,initClientThreadList,1, +func_72653_g,closeSocket,1, +func_72654_a,sendResponse,1, +func_72655_a,sendMultipacketResponse,1, +func_72656_f,sendLoginFailedResponse,1, +func_72661_a,getBytesAsString,1, +func_72662_b,getRemainingBytesAsLEInt,1, +func_72663_a,getByteAsHexString,1, +func_72664_c,getBytesAsBEint,1, +func_72665_b,getBytesAsLEInt,1, +func_72667_a,writeInt,1, +func_72668_a,writeShort,1, +func_72669_b,reset,1, +func_72670_a,writeByteArray,1, +func_72671_a,writeString,1, +func_72672_a,toByteArray,1, +func_72683_a,addPlayer,2, +func_72684_a,overlaps,2, +func_72685_d,updateMountedMovingPlayer,2, +func_72686_a,getFurthestViewableBlock,2, +func_72688_a,getMinecraftServer,2, +func_72690_a,getPlayerInstance,2, +func_72691_b,filterChunkLoadQueue,2, +func_72693_b,updatePlayerInstances,2, +func_72694_a,isPlayerWatchingChunk,2, +func_72695_c,removePlayer,2, +func_72703_a,onEntityAdded,2, +func_72704_a,playSound,2, +func_72709_b,onEntityRemoved,2, +func_72712_a,loadRenderers,0, +func_72720_a,createBindEntityOutlineFbs,0, +func_72721_a,hasCloudFog,0, +func_72723_d,getDebugInfoEntities,0, +func_72725_b,markBlocksForUpdate,0, +func_72728_f,deleteAllDisplayLists,0, +func_72731_b,drawSelectionBox,0, +func_72732_a,setWorldAndLoadRenderers,0, +func_72734_e,updateClouds,0, +func_72735_c,getDebugInfoRenders,0, +func_72785_a,addEntityToTracker,2, +func_72786_a,trackEntity,2, +func_72787_a,removePlayerFromTrackers,2, +func_72788_a,updateTrackedEntities,2, +func_72790_b,untrackEntity,2, +func_72791_a,trackEntity,2, +func_72800_K,getHeight,2, +func_72806_N,extendedLevelsInChunkCache,0, +func_72819_i,getThunderStrength,2, +func_72820_D,getWorldTime,2, +func_72823_a,setItemData,2, +func_72824_f,getCloudColour,0, +func_72826_c,getCelestialAngle,2, +func_72827_u,getProviderName,0, +func_72829_c,checkBlockCollision,2, +func_72830_b,isAABBInMaterial,2, +func_72833_a,getSkyColor,0, +func_72835_b,tick,2, +func_72838_d,spawnEntityInWorld,2, +func_72839_b,getEntitiesWithinAABBExcludingEntity,2, +func_72841_b,getUniqueDataId,2, +func_72842_a,getBlockDensity,2, +func_72843_D,setRandomSeed,2, +func_72847_b,onEntityRemoved,2, +func_72848_b,removeWorldAccess,0, +func_72853_d,getMoonPhase,0, +func_72854_c,updateAllPlayersSleepingFlag,2, +func_72855_b,checkNoEntityCollision,2, +func_72857_a,findNearestEntityWithinAABB,2, +func_72860_G,getSaveHandler,2, +func_72863_F,getChunkProvider,2, +func_72866_a,updateEntityWithOptionalForce,2, +func_72867_j,getRainStrength,2, +func_72870_g,updateEntity,2, +func_72872_a,getEntitiesWithinAABB,2, +func_72875_a,isMaterialInBB,2, +func_72876_a,createExplosion,2, +func_72877_b,setWorldTime,2, +func_72880_h,getStarBrightness,0, +func_72882_A,sendQuittingDisconnectingPacket,0, +func_72885_a,newExplosion,2, +func_72890_a,getClosestPlayerToEntity,2, +func_72891_a,setAllowedSpawnTypes,2, +func_72894_k,setRainStrength,0, +func_72896_J,isRaining,2, +func_72897_h,joinEntityInSurroundings,0, +func_72900_e,removeEntity,2, +func_72901_a,rayTraceBlocks,2, +func_72903_x,setActivePlayerChunksAndCheckLight,2, +func_72905_C,getSeed,2, +func_72906_B,checkSessionLock,2, +func_72907_a,countEntities,2, +func_72908_a,playSoundEffect,2, +func_72910_y,getLoadedEntityList,0, +func_72911_I,isThundering,2, +func_72912_H,getWorldInfo,2, +func_72914_a,addWorldInfoToCrashReport,2, +func_72916_c,isSpawnChunk,2, +func_72917_a,checkNoEntityCollision,2, +func_72918_a,handleMaterialAcceleration,2, +func_72919_O,getHorizon,0, +func_72920_a,getPendingBlockUpdates,2, +func_72923_a,onEntityAdded,2, +func_72924_a,getPlayerEntityByName,2, +func_72929_e,getCelestialAngleRadians,2, +func_72933_a,rayTraceBlocks,2, +func_72935_r,isDaytime,2, +func_72939_s,updateEntities,2, +func_72940_L,getActualHeight,2, +func_72942_c,addWeatherEffect,2, +func_72943_a,loadItemData,2, +func_72945_a,getCollidingBoundingBoxes,2, +func_72947_a,calculateInitialWeather,2, +func_72948_g,getFogColor,0, +func_72953_d,isAnyLiquid,2, +func_72954_a,addWorldAccess,2, +func_72955_a,tickUpdates,2, +func_72956_a,playSoundAtEntity,2, +func_72959_q,getWorldChunkManager,2, +func_72960_a,setEntityState,2, +func_72963_a,initialize,2, +func_72964_e,getChunkFromChunkCoords,2, +func_72966_v,calculateInitialSkylight,2, +func_72967_a,calculateSkylightSubtracted,2, +func_72970_h,createChunkProvider,2, +func_72971_b,getSunBrightness,0, +func_72973_f,removePlayerEntityDangerously,2, +func_72974_f,setInitialSpawnLocation,0, +func_72975_g,markBlocksDirtyVertical,2, +func_72977_a,getClosestPlayer,2, +func_72979_l,updateWeather,2, +func_72980_b,playSound,2, +func_72981_t,getDebugLoadedEntities,0, +func_73022_a,removeAllEntities,0, +func_73025_a,doPreChunk,0, +func_73027_a,addEntityToWorld,0, +func_73028_b,removeEntityFromWorld,0, +func_73029_E,doVoidFogParticles,0, +func_73031_a,invalidateBlockReceiveRegion,0, +func_73039_n,getEntityTracker,2, +func_73040_p,getPlayerManager,2, +func_73041_k,flush,2, +func_73042_a,saveLevel,2, +func_73044_a,saveAllChunks,2, +func_73045_a,getEntityByID,2, +func_73046_m,getMinecraftServer,2, +func_73047_i,createBonusChest,2, +func_73051_P,resetRainAndThunder,2, +func_73052_b,createSpawnPosition,2, +func_73053_d,wakeAllPlayers,2, +func_73056_e,areAllPlayersAsleep,2, +func_73075_a,updateBlockRemoving,2, +func_73076_a,setGameType,2, +func_73077_b,initializeGameType,2, +func_73080_a,setWorld,2, +func_73081_b,getGameType,2, +func_73083_d,isCreative,2, +func_73085_a,tryUseItem,2, +func_73101_e,sendDemoReminder,2, +func_73106_e,getPartialBlockDamage,0, +func_73107_a,setPartialBlockDamage,0, +func_73117_b,updatePlayerEntity,2, +func_73118_a,removeFromTrackedPlayers,2, +func_73119_a,sendDestroyEntityPacketToTrackedPlayers,2, +func_73121_d,isPlayerWatchingThisChunk,2, +func_73122_a,updatePlayerList,2, +func_73123_c,removeTrackedPlayerSymmetric,2, +func_73125_b,updatePlayerEntities,2, +func_73148_d,makeString,2, +func_73149_a,chunkExists,2, +func_73151_a,saveChunks,2, +func_73152_e,getLoadedChunkCount,2, +func_73153_a,populate,2, +func_73154_d,provideChunk,2, +func_73156_b,unloadQueuedChunks,2, +func_73157_c,canSave,2, +func_73158_c,loadChunk,2, +func_73164_a,initializeNoiseField,2, +func_73187_a,initializeNoiseField,2, +func_73234_b,unloadChunk,0, +func_73239_e,loadChunkFromFile,2, +func_73240_a,unloadAllChunks,2, +func_73241_b,dropChunk,2, +func_73242_b,saveChunkData,2, +func_73243_a,saveChunkExtraData,2, +func_73252_b,removePlayer,2, +func_73254_a,onUpdate,2, +func_73255_a,addPlayer,2, +func_73660_a,update,2, +func_73665_c,getPropertiesFile,1, +func_73666_a,generateNewProperties,1, +func_73667_a,setProperty,1, +func_73668_b,saveProperties,1, +func_73669_a,getIntProperty,1, +func_73670_a,getBooleanProperty,1, +func_73671_a,getStringProperty,1, +func_73680_d,getBanEndDate,2, +func_73682_e,hasBanExpired,2, +func_73686_f,getBanReason,2, +func_73718_a,setLoadingProgress,2, +func_73719_c,displayLoadingString,2, +func_73720_a,displaySavingString,2, +func_73721_b,resetProgressAndMessage,0, +func_73722_d,displayString,0, +func_73728_b,drawVerticalLine,0, +func_73729_b,drawTexturedModalRect,0, +func_73730_a,drawHorizontalLine,0, +func_73731_b,drawString,0, +func_73732_a,drawCenteredString,0, +func_73733_a,drawGradientRect,0, +func_73734_a,drawRect,0, +func_73828_d,renderBossHealth,0, +func_73831_a,updateTick,0, +func_73833_a,setRecordPlayingMessage,0, +func_73834_c,getUpdateCounter,0, +func_73863_a,drawScreen,0, +func_73864_a,mouseClicked,0, +func_73866_w_,initGui,0, +func_73868_f,doesGuiPauseGame,0, +func_73869_a,keyTyped,0, +func_73876_c,updateScreen,0, +func_73878_a,confirmClicked,0, +func_73968_a,rotateAndBlurSkybox,0, +func_73969_a,addSingleplayerMultiplayerButtons,0, +func_73970_b,drawPanorama,0, +func_73971_c,renderSkybox,0, +func_73972_b,addDemoButtons,0, +func_74275_a,updateTimer,0, +func_74290_a,getTimestampedPNGFileForDirectory,0, +func_74296_a,getOptionFloatValue,0, +func_74297_c,getKeyBinding,0, +func_74298_c,getKeyDisplayString,0, +func_74299_a,getTranslation,0, +func_74300_a,loadOptions,0, +func_74303_b,saveOptions,0, +func_74304_a,setOptionFloatValue,0, +func_74305_a,parseFloat,0, +func_74306_a,setOptionValue,0, +func_74308_b,getOptionOrdinalValue,0, +func_74309_c,shouldRenderClouds,0, +func_74372_a,grabMouseCursor,0, +func_74373_b,ungrabMouseCursor,0, +func_74374_c,mouseXYChange,0, +func_74378_d,getEnumString,0, +func_74379_a,getEnumOptions,0, +func_74380_a,getEnumFloat,0, +func_74381_c,returnEnumOrdinal,0, +func_74382_b,getEnumBoolean,0, +func_74428_b,processReceivedPackets,2, +func_74430_c,getRemoteAddress,2, +func_74505_d,unpressKey,0, +func_74506_a,unPressAllKeys,0, +func_74507_a,onTick,0, +func_74508_b,resetKeyBindingArrayAndHash,0, +func_74510_a,setKeyBindState,0, +func_74517_a,setColorBuffer,0, +func_74518_a,disableStandardItemLighting,0, +func_74519_b,enableStandardItemLighting,0, +func_74520_c,enableGUIStandardItemLighting,0, +func_74521_a,setColorBuffer,0, +func_74523_b,deleteDisplayLists,0, +func_74524_c,createDirectByteBuffer,0, +func_74526_a,generateDisplayLists,0, +func_74527_f,createDirectIntBuffer,0, +func_74529_h,createDirectFloatBuffer,0, +func_74535_a,formatString,0, +func_74539_c,getChatLineID,0, +func_74540_b,getUpdatedCounter,0, +func_74583_a,updateRenderInfo,0, +func_74732_a,getId,2, +func_74734_a,write,2, +func_74737_b,copy,2, +func_74742_a,appendTag,2, +func_74744_a,removeTag,2, +func_74745_c,tagCount,2, +func_74757_a,setBoolean,2, +func_74759_k,getIntArray,2, +func_74760_g,getFloat,2, +func_74762_e,getInteger,2, +func_74763_f,getLong,2, +func_74764_b,hasKey,2, +func_74765_d,getShort,2, +func_74767_n,getBoolean,2, +func_74768_a,setInteger,2, +func_74769_h,getDouble,2, +func_74770_j,getByteArray,2, +func_74771_c,getByte,2, +func_74772_a,setLong,2, +func_74773_a,setByteArray,2, +func_74774_a,setByte,2, +func_74775_l,getCompoundTag,2, +func_74776_a,setFloat,2, +func_74777_a,setShort,2, +func_74778_a,setString,2, +func_74779_i,getString,2, +func_74780_a,setDouble,2, +func_74781_a,getTag,2, +func_74782_a,setTag,2, +func_74783_a,setIntArray,2, +func_74793_a,safeWrite,0, +func_74794_a,read,2, +func_74795_b,write,0, +func_74796_a,readCompressed,2, +func_74797_a,read,0, +func_74799_a,writeCompressed,2, +func_74800_a,write,2, +func_74803_a,translateKeyFormat,2, +func_74805_b,translateKey,2, +func_74808_a,getInstance,2, +func_74837_a,translateToLocalFormatted,2, +func_74838_a,translateToLocal,2, +func_74844_a,getErrorObjects,2, +func_74860_a,isLiquidInStructureBoundingBox,2, +func_74861_a,buildComponent,2, +func_74862_a,getYWithOffset,2, +func_74865_a,getXWithOffset,2, +func_74871_b,clearCurrentPositionBlocksUpwards,2, +func_74873_b,getZWithOffset,2, +func_74874_b,getBoundingBox,2, +func_74875_a,addComponentParts,2, +func_74877_c,getComponentType,2, +func_74878_a,fillWithAir,2, +func_74882_a,fillWithRandomizedBlocks,2, +func_74883_a,findIntersecting,2, +func_74889_b,getAverageGroundLevel,2, +func_74891_a,getNextComponentNN,2, +func_74893_a,spawnVillagers,2, +func_74894_b,getNextComponentPP,2, +func_74895_a,canVillageGoDeeper,2, +func_74925_d,getWorldChunkManager,2, +func_74960_a,getTotalWeight,2, +func_74961_b,getNextComponentX,2, +func_74963_a,getNextComponentNormal,2, +func_74964_a,isAboveGround,2, +func_74965_c,getNextComponentZ,2, +func_74986_a,getNextComponentNormal,2, +func_74987_c,getNextComponentZ,2, +func_74988_a,getRandomDoor,2, +func_74989_b,getNextComponentX,2, +func_74990_a,placeDoor,2, +func_74991_a,canStrongholdGoDeeper,2, +func_75047_a,canSpawnStructureAtCoords,2, +func_75049_b,getStructureStart,2, +func_75052_o_,getCoordList,2, +func_75059_a,getSpawnList,2, +func_75062_a,selectBlocks,2, +func_75067_a,markAvailableHeight,2, +func_75068_a,generateStructure,2, +func_75069_d,isSizeableStructure,2, +func_75070_a,setRandomHeight,2, +func_75071_a,getBoundingBox,2, +func_75072_c,updateBoundingBox,2, +func_75073_b,getComponents,2, +func_75084_a,getStructureVillageWeightedPieceList,2, +func_75085_a,canSpawnMoreVillagePiecesOfType,2, +func_75086_a,canSpawnMoreVillagePieces,2, +func_75091_a,writeCapabilitiesToNBT,2, +func_75092_a,setFlySpeed,0, +func_75093_a,getFlySpeed,2, +func_75094_b,getWalkSpeed,2, +func_75095_b,readCapabilitiesFromNBT,2, +func_75112_a,readNBT,2, +func_75113_a,addExhaustion,2, +func_75114_a,setFoodLevel,2, +func_75115_e,getSaturationLevel,2, +func_75116_a,getFoodLevel,2, +func_75117_b,writeNBT,2, +func_75118_a,onUpdate,2, +func_75119_b,setFoodSaturationLevel,0, +func_75120_b,getPrevFoodLevel,0, +func_75121_c,needFood,2, +func_75122_a,addStats,2, +func_75128_a,setPlayerIsPresent,2, +func_75129_b,isPlayerNotUsingContainer,2, +func_75130_a,onCraftMatrixChanged,2, +func_75131_a,putStacksInSlots,0, +func_75132_a,addCraftingToCrafters,2, +func_75133_b,retrySlotClick,2, +func_75134_a,onContainerClosed,2, +func_75135_a,mergeItemStack,2, +func_75136_a,getNextTransactionID,0, +func_75137_b,updateProgressBar,0, +func_75138_a,getInventory,2, +func_75139_a,getSlot,2, +func_75140_a,enchantItem,2, +func_75141_a,putStackInSlot,2, +func_75142_b,detectAndSendChanges,2, +func_75144_a,slotClick,2, +func_75145_c,canInteractWith,2, +func_75146_a,addSlotToContainer,2, +func_75147_a,getSlotFromInventory,2, +func_75174_d,getMerchantInventory,2, +func_75175_c,setCurrentRecipeIndex,2, +func_75189_a,canSpawnMoreStructuresOfType,2, +func_75190_a,canSpawnMoreStructures,2, +func_75198_a,prepareStructurePieces,2, +func_75202_c,canAddStructurePieces,2, +func_75208_c,onCrafting,2, +func_75209_a,decrStackSize,2, +func_75210_a,onCrafting,2, +func_75211_c,getStack,2, +func_75214_a,isItemValid,2, +func_75215_d,putStack,2, +func_75216_d,getHasStack,2, +func_75217_a,isSlotInInventory,2, +func_75218_e,onSlotChanged,2, +func_75219_a,getSlotStackLimit,2, +func_75220_a,onSlotChange,2, +func_75230_a,doTrade,2, +func_75243_a_,canHoldPotion,2, +func_75246_d,updateTask,2, +func_75247_h,getMutexBits,2, +func_75248_a,setMutexBits,2, +func_75249_e,startExecuting,2, +func_75250_a,shouldExecute,2, +func_75251_c,resetTask,2, +func_75252_g,isInterruptible,2, +func_75253_b,continueExecuting,2, +func_75270_a,setSitting,2, +func_75277_f,isRunning,2, +func_75295_a,canEasilyReach,2, +func_75296_a,isSuitableTarget,2, +func_75366_f,findPossibleShelter,2, +func_75382_a,hasPlayerGotBoneInHand,2, +func_75388_i,spawnBaby,2, +func_75389_f,getNearbyMate,2, +func_75446_f,checkSufficientDoorsPresentForNewVillager,2, +func_75447_i,giveBirth,2, +func_75461_b,findRandomTargetBlockAwayFrom,2, +func_75462_c,findRandomTargetBlock,2, +func_75463_a,findRandomTarget,2, +func_75464_a,findRandomTargetBlockTowards,2, +func_75466_d,resetDoorOpeningRestrictionCounter,2, +func_75468_f,getDoorOpeningRestrictionCounter,2, +func_75470_e,incrementDoorOpeningRestrictionCounter,2, +func_75473_b,getInsidePosY,2, +func_75474_b,getDistanceSquared,2, +func_75484_a,setPath,2, +func_75485_k,canNavigate,2, +func_75487_m,removeSunnyPath,2, +func_75488_a,getPathToXYZ,2, +func_75489_a,setSpeed,2, +func_75492_a,tryMoveToXYZ,2, +func_75493_a,isDirectPathBetweenPoints,2, +func_75494_a,getPathToEntityLiving,2, +func_75497_a,tryMoveToEntityLiving,2, +func_75499_g,clearPathEntity,2, +func_75500_f,noPath,2, +func_75501_e,onUpdateNavigation,2, +func_75502_i,getEntityPosition,2, +func_75505_d,getPath,2, +func_75506_l,isInLiquid,2, +func_75508_h,pathFollow,2, +func_75522_a,canSee,2, +func_75523_a,clearSensingCache,2, +func_75528_a,tick,2, +func_75530_c,spawnZombie,2, +func_75540_b,getVillageList,2, +func_75543_d,dropOldestVillagerPosition,2, +func_75544_a,tick,2, +func_75545_e,addNewDoorsToVillageOrCreateVillage,2, +func_75549_c,removeAnnihilatedVillages,2, +func_75557_k,removeDeadAndOutOfRangeDoors,2, +func_75558_f,getVillageDoorInfoList,2, +func_75560_a,tick,2, +func_75561_d,getTicksSinceLastDoorAdding,2, +func_75562_e,getNumVillagers,2, +func_75565_j,removeDeadAndOldAgressors,2, +func_75566_g,isAnnihilated,2, +func_75567_c,getNumVillageDoors,2, +func_75568_b,getVillageRadius,2, +func_75571_b,findNearestVillageAggressor,2, +func_75572_i,updateNumVillagers,2, +func_75573_l,updateVillageRadiusAndCenter,2, +func_75575_a,addOrRenewAgressor,2, +func_75576_a,addVillageDoorInfo,2, +func_75579_h,updateNumIronGolems,2, +func_75598_a,getCreatureClass,2, +func_75599_d,getPeacefulCreature,2, +func_75601_b,getMaxNumberOfCreature,2, +func_75614_a,addMapping,2, +func_75615_a,createEntityFromNBT,2, +func_75616_a,createEntityByID,2, +func_75617_a,getStringFromID,2, +func_75618_a,addMapping,2, +func_75619_a,getEntityID,2, +func_75620_a,createEntityByName,2, +func_75621_b,getEntityString,2, +func_75638_b,getSpeed,2, +func_75639_a,limitAngle,2, +func_75640_a,isUpdating,2, +func_75641_c,onUpdateMoveHelper,2, +func_75642_a,setMoveTo,2, +func_75649_a,onUpdateLook,2, +func_75650_a,setLookPosition,2, +func_75651_a,setLookPositionWithEntity,2, +func_75652_a,updateRotation,2, +func_75660_a,setJumping,2, +func_75661_b,doJump,2, +func_75664_a,updateRenderAngles,2, +func_75665_a,computeAngleWithBound,2, +func_75669_b,getObject,2, +func_75670_d,isWatched,2, +func_75671_a,setWatched,2, +func_75672_a,getDataValueId,2, +func_75673_a,setObject,2, +func_75674_c,getObjectType,2, +func_75679_c,getWatchableObjectInt,2, +func_75681_e,getWatchableObjectString,2, +func_75682_a,addObject,2, +func_75683_a,getWatchableObjectByte,2, +func_75684_a,hasObjectChanged,2, +func_75685_c,getAllWatched,2, +func_75687_a,updateWatchedObjectsFromList,0, +func_75688_b,getChanged,2, +func_75691_i,getWatchedObject,2, +func_75692_b,updateObject,2, +func_75693_b,getWatchableObjectShort,2, +func_75734_a,waitForFinish,2, +func_75735_a,queueIO,2, +func_75736_b,processQueue,2, +func_75742_a,loadData,2, +func_75743_a,getUniqueDataId,2, +func_75744_a,saveAllData,2, +func_75745_a,setData,2, +func_75746_b,loadIdCounts,2, +func_75747_a,saveData,2, +func_75752_b,readPlayerData,2, +func_75753_a,writePlayerData,2, +func_75754_f,getAvailablePlayerDat,2, +func_75755_a,saveWorldInfoWithPlayer,2, +func_75756_e,getPlayerNBTManager,2, +func_75757_d,loadWorldInfo,2, +func_75758_b,getMapFileFromName,2, +func_75759_a,flush,2, +func_75760_g,getWorldDirectoryName,2, +func_75761_a,saveWorldInfo,2, +func_75762_c,checkSessionLock,2, +func_75763_a,getChunkLoader,2, +func_75765_b,getWorldDirectory,2, +func_75766_h,setSessionLock,2, +func_75773_a,canContinue,2, +func_75774_a,onUpdateTasks,2, +func_75775_b,canUse,2, +func_75776_a,addTask,2, +func_75777_a,areTasksCompatible,2, +func_75783_h,getCheatsEnabled,0, +func_75784_e,getLastTimePlayed,0, +func_75785_d,requiresConversion,0, +func_75786_a,getFileName,0, +func_75788_b,getDisplayName,0, +func_75789_g,isHardcoreModeEnabled,0, +func_75790_f,getEnumGameType,0, +func_75799_b,getSaveList,0, +func_75800_d,flushCache,2, +func_75801_b,isOldMapFormat,2, +func_75802_e,deleteWorldDirectory,2, +func_75803_c,getWorldInfo,2, +func_75804_a,getSaveLoader,2, +func_75805_a,convertMapFormat,2, +func_75806_a,renameWorld,0, +func_75807_a,deleteFiles,2, +func_75809_f,createFile,2, +func_75810_a,addRegionFilesToCollection,2, +func_75811_a,convertChunks,2, +func_75812_c,getSaveVersion,2, +func_75813_a,convertFile,2, +func_75814_c,writeNextIO,2, +func_75815_a,loadChunk,2, +func_75816_a,saveChunk,2, +func_75817_a,chunkTick,2, +func_75818_b,saveExtraData,2, +func_75819_b,saveExtraChunkData,2, +func_75820_a,writeChunkToNBT,2, +func_75821_a,writeChunkNBTTags,2, +func_75822_a,checkedReadChunkFromNBT,2, +func_75823_a,readChunkFromNBT,2, +func_75824_a,addChunkToPending,2, +func_75829_a,distanceTo,2, +func_75830_a,makeHash,2, +func_75831_a,isAssigned,2, +func_75832_b,distanceToSquared,2, +func_75843_a,format,0, +func_75844_c,dequeue,2, +func_75845_e,isPathEmpty,2, +func_75846_b,sortForward,2, +func_75847_a,sortBack,2, +func_75848_a,clearPath,2, +func_75849_a,addPoint,2, +func_75850_a,changeDistance,2, +func_75853_a,createEntityPath,2, +func_75870_c,getFinalPathPoint,2, +func_75871_b,setCurrentPathLength,2, +func_75872_c,setCurrentPathIndex,2, +func_75873_e,getCurrentPathIndex,2, +func_75874_d,getCurrentPathLength,2, +func_75875_a,incrementPathIndex,2, +func_75876_a,isSamePath,2, +func_75877_a,getPathPointFromIndex,2, +func_75878_a,getPosition,2, +func_75879_b,isFinished,2, +func_75880_b,isDestinationSame,2, +func_75881_a,getVectorFromIndex,2, +func_75885_a,cipherOperation,2, +func_75886_a,createTheCipherInstance,2, +func_75887_a,decryptSharedKey,2, +func_75889_b,decryptData,2, +func_75890_a,createNewSharedKey,0, +func_75891_b,generateKeyPair,2, +func_75893_a,digestOperation,2, +func_75894_a,encryptData,0, +func_75895_a,getServerIdHash,2, +func_75896_a,decodePublicKey,2, +func_75902_a,nextInt,2, +func_75903_a,initChunkSeed,2, +func_75904_a,getInts,2, +func_75905_a,initWorldGenSeed,2, +func_75915_a,magnify,2, +func_75918_d,initCraftableStats,2, +func_75924_a,replaceAllSimilarBlocks,2, +func_75925_c,initStats,2, +func_75966_h,initIndependentStat,2, +func_75967_d,isAchievement,2, +func_75971_g,registerStat,2, +func_75984_f,getSpecial,2, +func_75987_b,setSpecial,2, +func_75988_a,setStatStringFormatter,0, +func_75989_e,getDescription,0, +func_75997_a,init,2, +func_76030_b,getValue,2, +func_76031_a,getHash,2, +func_76036_e,removeEntry,2, +func_76037_b,containsItem,2, +func_76038_a,addKey,2, +func_76040_a,insert,2, +func_76041_a,lookup,2, +func_76043_a,getSlotIndex,2, +func_76044_g,computeHash,2, +func_76045_c,lookupEntry,2, +func_76046_c,clearMap,2, +func_76047_h,grow,2, +func_76048_a,copyTo,2, +func_76049_d,removeObject,2, +func_76056_b,setSpawnY,0, +func_76057_l,getLastTimePlayed,0, +func_76058_a,setSpawnX,0, +func_76059_o,isRaining,2, +func_76060_a,setGameType,2, +func_76061_m,isThundering,2, +func_76062_a,setWorldName,2, +func_76063_b,getSeed,2, +func_76064_a,updateTagCompound,2, +func_76065_j,getWorldName,2, +func_76066_a,getNBTTagCompound,2, +func_76067_t,getTerrainType,2, +func_76068_b,setWorldTime,2, +func_76069_a,setThundering,2, +func_76070_v,isInitialized,2, +func_76071_n,getThunderTime,2, +func_76072_h,getPlayerNBTTagCompound,2, +func_76073_f,getWorldTime,2, +func_76074_e,getSpawnZ,2, +func_76075_d,getSpawnY,2, +func_76077_q,getGameType,2, +func_76078_e,setSaveVersion,2, +func_76079_c,getSpawnX,2, +func_76080_g,setRainTime,2, +func_76082_a,cloneNBTCompound,2, +func_76083_p,getRainTime,2, +func_76084_b,setRaining,2, +func_76085_a,setTerrainType,2, +func_76086_u,areCommandsAllowed,2, +func_76087_c,setSpawnZ,0, +func_76088_k,getSaveVersion,2, +func_76089_r,isMapFeaturesEnabled,2, +func_76090_f,setThunderTime,2, +func_76091_d,setServerInitialized,2, +func_76092_g,getSizeOnDisk,0, +func_76093_s,isHardcoreModeEnabled,2, +func_76123_f,ceiling_float_int,2, +func_76124_d,floor_double_long,2, +func_76125_a,clamp_int,2, +func_76126_a,sin,2, +func_76127_a,average,2, +func_76128_c,floor_double,2, +func_76129_c,sqrt_float,2, +func_76130_a,abs_int,2, +func_76131_a,clamp_float,2, +func_76132_a,abs_max,2, +func_76133_a,sqrt_double,2, +func_76134_b,cos,2, +func_76135_e,abs,2, +func_76136_a,getRandomIntegerInRange,2, +func_76137_a,bucketInt,0, +func_76138_g,wrapAngleTo180_double,2, +func_76140_b,truncateDoubleToInt,0, +func_76141_d,floor_float,2, +func_76142_g,wrapAngleTo180_float,2, +func_76143_f,ceiling_double_int,2, +func_76145_b,getValue,2, +func_76146_a,getKey,2, +func_76152_e,removeKey,2, +func_76153_b,resizeTable,2, +func_76154_a,copyHashTableTo,2, +func_76155_g,getHashedKey,2, +func_76156_a,createKey,2, +func_76157_a,hash,2, +func_76158_a,getHashIndex,2, +func_76159_d,remove,2, +func_76160_c,getEntry,2, +func_76161_b,containsItem,2, +func_76162_a,getNumHashElements,2, +func_76163_a,add,2, +func_76164_a,getValueByKey,2, +func_76179_a,buildPostString,2, +func_76181_a,getSuitableLanPort,0, +func_76184_a,readFromNBT,2, +func_76185_a,markDirty,2, +func_76186_a,setDirty,2, +func_76187_b,writeToNBT,2, +func_76188_b,isDirty,2, +func_76191_a,updateVisiblePlayers,2, +func_76217_h,getCanBurn,2, +func_76218_k,isOpaque,2, +func_76219_n,setNoPushMobility,2, +func_76220_a,isSolid,2, +func_76221_f,setRequiresTool,2, +func_76222_j,isReplaceable,2, +func_76223_p,setTranslucent,2, +func_76224_d,isLiquid,2, +func_76225_o,setImmovableMobility,2, +func_76226_g,setBurning,2, +func_76227_m,getMaterialMobility,2, +func_76228_b,blocksLight,2, +func_76229_l,isToolNotRequired,2, +func_76230_c,blocksMovement,2, +func_76231_i,setReplaceable,2, +func_76271_a,getRandomItem,2, +func_76272_a,getTotalWeight,2, +func_76273_a,getRandomItem,2, +func_76304_a,generateNoiseOctaves,2, +func_76305_a,generateNoiseOctaves,2, +func_76308_a,populateNoiseArray,2, +func_76310_a,grad,2, +func_76311_b,lerp,2, +func_76316_a,onInventoryChanged,2, +func_76317_a,clearProfiling,2, +func_76318_c,endStartSection,2, +func_76319_b,endSection,2, +func_76320_a,startSection,2, +func_76321_b,getProfilingData,2, +func_76322_c,getNameOfLastSection,2, +func_76333_a,smooth,0, +func_76337_a,ticksToElapsedTime,0, +func_76338_a,stripControlCodes,0, +func_76340_b,getSecond,2, +func_76341_a,getFirst,2, +func_76345_d,getHungerDamage,2, +func_76346_g,getEntity,2, +func_76347_k,isFireDamage,2, +func_76348_h,setDamageBypassesArmor,2, +func_76349_b,setProjectile,2, +func_76350_n,isDifficultyScaled,2, +func_76351_m,setDifficultyScaled,2, +func_76352_a,isProjectile,2, +func_76353_a,causeArrowDamage,2, +func_76354_b,causeIndirectMagicDamage,2, +func_76355_l,getDamageType,2, +func_76356_a,causeThrownDamage,2, +func_76357_e,canHarmInCreative,2, +func_76358_a,causeMobDamage,2, +func_76359_i,setDamageAllowedInCreativeMode,2, +func_76361_j,setFireDamage,2, +func_76362_a,causeFireballDamage,2, +func_76363_c,isUnblockable,2, +func_76364_f,getSourceOfDamage,2, +func_76365_a,causePlayerDamage,2, +func_76388_g,getEffectiveness,2, +func_76389_a,getDurationString,0, +func_76390_b,setPotionName,2, +func_76392_e,getStatusIconIndex,0, +func_76393_a,getName,2, +func_76394_a,performEffect,2, +func_76395_i,isUsable,2, +func_76396_c,getId,2, +func_76397_a,isReady,2, +func_76398_f,isBadEffect,0, +func_76399_b,setIconIndex,2, +func_76400_d,hasStatusIcon,0, +func_76401_j,getLiquidColor,2, +func_76403_b,isInstant,2, +func_76404_a,setEffectiveness,2, +func_76445_a,getIntCache,2, +func_76446_a,resetIntCache,2, +func_76452_a,combine,2, +func_76453_d,getEffectName,2, +func_76454_e,deincrementDuration,2, +func_76455_a,onUpdate,2, +func_76456_a,getPotionID,2, +func_76457_b,performEffect,2, +func_76458_c,getAmplifier,2, +func_76459_b,getDuration,2, +func_76463_a,startSnooper,2, +func_76465_c,getCurrentStats,0, +func_76467_g,addJvmArgsToSnooper,2, +func_76468_d,isSnooperRunning,2, +func_76470_e,stopSnooper,2, +func_76471_b,addMemoryStatsToSnooper,2, +func_76489_a,generateLeafNodeList,2, +func_76490_a,layerSize,2, +func_76493_c,leafNodeNeedsBase,2, +func_76495_b,leafSize,2, +func_76497_e,validTreeLocation,2, +func_76543_b,pickMobSpawner,2, +func_76549_c,getChunkInputStream,2, +func_76550_a,createOrLoadRegionFile,2, +func_76551_a,clearRegionFileReferences,2, +func_76552_d,getChunkOutputStream,2, +func_76555_c,createChunkGenerator,2, +func_76556_a,generateLightBrightnessTable,2, +func_76557_i,getAverageGroundLevel,2, +func_76558_a,registerWorld,2, +func_76559_b,getMoonPhase,2, +func_76560_a,calcSunriseSunsetColors,0, +func_76561_g,isSkyColored,0, +func_76562_b,getFogColor,0, +func_76563_a,calculateCelestialAngle,2, +func_76565_k,getVoidFogYFactor,0, +func_76566_a,canCoordinateBeSpawn,2, +func_76567_e,canRespawnHere,2, +func_76568_b,doesXZShowFog,0, +func_76569_d,isSurfaceWorld,2, +func_76570_a,getProviderForDimension,2, +func_76571_f,getCloudHeight,0, +func_76572_b,registerWorldChunkManager,2, +func_76581_a,set,2, +func_76582_a,get,2, +func_76587_i,getBlockStorageArray,2, +func_76590_a,generateHeightMap,0, +func_76594_o,enqueueRelightChecks,2, +func_76595_e,propagateSkylightOcclusion,2, +func_76599_g,checkSkylightNeighborHeight,2, +func_76600_a,isAtLocation,2, +func_76601_a,needsSaving,2, +func_76602_a,setStorageArrays,2, +func_76603_b,generateSkylightMap,2, +func_76605_m,getBiomeArray,2, +func_76606_c,getAreLevelsEmpty,2, +func_76608_a,removeEntityAtIndex,2, +func_76609_d,updateSkylightNeighborHeight,2, +func_76611_b,getHeight,2, +func_76612_a,addEntity,2, +func_76613_n,resetRelightChecks,2, +func_76615_h,relightBlock,2, +func_76616_a,setBiomeArray,2, +func_76617_a,getRandomWithSeed,2, +func_76621_g,isEmpty,2, +func_76622_b,removeEntity,2, +func_76623_d,onChunkUnload,2, +func_76624_a,populateChunk,2, +func_76625_h,getTopFilledSegment,2, +func_76628_c,getBlockMetadata,2, +func_76630_e,setChunkModified,2, +func_76631_c,onChunkLoad,2, +func_76632_l,getChunkCoordIntPair,2, +func_76657_c,setExtSkylightValue,2, +func_76659_c,setBlocklightArray,2, +func_76661_k,getBlocklightArray,2, +func_76662_d,getYLocation,2, +func_76663_a,isEmpty,2, +func_76665_b,getExtBlockMetadata,2, +func_76666_d,setSkylightArray,2, +func_76670_c,getExtSkylightValue,2, +func_76671_l,getSkylightArray,2, +func_76672_e,removeInvalidBlocks,2, +func_76674_d,getExtBlocklightValue,2, +func_76675_b,getNeedsRandomTick,2, +func_76677_d,setExtBlocklightValue,2, +func_76686_a,get,2, +func_76690_a,convertToAnvilFormat,2, +func_76691_a,load,2, +func_76704_a,getChunkDataInputStream,2, +func_76705_d,outOfBounds,2, +func_76706_a,write,2, +func_76707_e,getOffset,2, +func_76708_c,close,2, +func_76709_c,isChunkSaved,2, +func_76710_b,getChunkDataOutputStream,2, +func_76711_a,setOffset,2, +func_76712_a,write,2, +func_76713_b,setChunkTimestamp,2, +func_76727_i,getFloatRainfall,0, +func_76729_a,createBiomeDecorator,2, +func_76730_b,getRandomWorldGenForGrass,2, +func_76731_a,getSkyColorByTemp,0, +func_76732_a,setTemperatureRainfall,2, +func_76733_a,setFillerBlockMetadata,2, +func_76735_a,setBiomeName,2, +func_76736_e,isHighHumidity,2, +func_76738_d,canSpawnLightningBolt,2, +func_76739_b,setColor,2, +func_76741_f,getSpawningChance,2, +func_76742_b,setEnableSnow,2, +func_76744_g,getIntRainfall,2, +func_76745_m,setDisableRain,2, +func_76746_c,getEnableSnow,2, +func_76747_a,getSpawnableList,2, +func_76793_b,genStandardOre2,2, +func_76795_a,genStandardOre1,2, +func_76797_b,generateOres,2, +func_76838_a,cleanupCache,2, +func_76839_e,getCachedBiomes,2, +func_76840_a,getBiomeCacheBlock,2, +func_76885_a,getBiomeGenAt,2, +func_76931_a,getBiomeGenAt,2, +func_76932_a,getBiomesToSpawnIn,2, +func_76933_b,loadBlockGeneratorData,2, +func_76936_a,getRainfall,2, +func_76937_a,getBiomesForGeneration,2, +func_76938_b,cleanupCache,2, +func_76939_a,getTemperatureAtHeight,0, +func_76940_a,areBiomesViable,2, +func_76975_c,renderShadow,0, +func_76977_a,renderEntityOnFire,0, +func_76978_a,renderOffsetAABB,0, +func_76979_b,doRenderShadowAndFire,0, +func_76982_b,getWorldFromRenderManager,0, +func_76983_a,getFontRendererFromRenderManager,0, +func_76986_a,doRender,0, +func_77030_a,getColorMultiplier,0, +func_77033_b,passSpecialRender,0, +func_77034_a,interpolateRotation,0, +func_77036_a,renderModel,0, +func_77037_a,getDeathMaxRotation,0, +func_77039_a,renderLivingAt,0, +func_77040_d,getSwingProgress,0, +func_77041_b,preRenderCallback,0, +func_77043_a,rotateCorpse,0, +func_77044_a,handleRotationFloat,0, +func_77124_a,setCanBeCreated,2, +func_77125_e,isVersioned,2, +func_77126_d,getCanBeCreated,0, +func_77127_a,getWorldTypeName,2, +func_77128_b,getTranslateName,0, +func_77129_f,setVersioned,2, +func_77130_a,parseWorldType,2, +func_77131_c,getGeneratorVersion,2, +func_77132_a,getWorldTypeForGeneratorVersion,2, +func_77142_a,getByName,0, +func_77144_e,isSurvivalOrAdventure,2, +func_77145_d,isCreative,2, +func_77146_a,getByID,2, +func_77147_a,configurePlayerCapabilities,2, +func_77148_a,getID,2, +func_77149_b,getName,2, +func_77158_f,getHardcoreEnabled,2, +func_77159_a,enableBonusChest,2, +func_77160_d,getSeed,2, +func_77161_a,getGameTypeById,2, +func_77162_e,getGameType,2, +func_77163_i,areCommandsAllowed,2, +func_77164_g,isMapFeaturesEnabled,2, +func_77165_h,getTerrainType,2, +func_77166_b,enableCommands,0, +func_77167_c,isBonusChestEnabled,2, +func_77176_a,setScheduledTime,2, +func_77191_a,performWorldGenSpawning,2, +func_77192_a,findChunksForSpawning,2, +func_77201_a,readRecipiesFromTags,2, +func_77202_a,getRecipiesAsTags,2, +func_77203_a,canRecipeBeUsed,2, +func_77272_a,chunkXZ2Int,2, +func_77273_a,getCenterXPos,2, +func_77274_b,getCenterZPosition,2, +func_77278_a,doExplosionA,2, +func_77279_a,doExplosionB,2, +func_77316_c,getTranslatedName,2, +func_77317_b,getMaxEnchantability,2, +func_77318_a,calcModifierDamage,2, +func_77319_d,getMinLevel,2, +func_77320_a,getName,2, +func_77321_a,getMinEnchantability,2, +func_77322_b,setName,2, +func_77324_c,getWeight,2, +func_77325_b,getMaxLevel,2, +func_77326_a,canApplyTogether,2, +func_77390_a,readFromTags,2, +func_77394_a,getItemToBuy,2, +func_77395_g,writeToTags,2, +func_77396_b,getSecondItemToBuy,2, +func_77397_d,getItemToSell,2, +func_77398_c,hasSecondItemToBuy,2, +func_77399_f,incrementToolUses,2, +func_77442_b,canUnlockAchievement,2, +func_77443_a,hasAchievementUnlocked,2, +func_77444_a,readStat,2, +func_77466_a,getFoliageColorPine,0, +func_77467_a,setFoliageBiomeColorizer,0, +func_77468_c,getFoliageColorBasic,0, +func_77469_b,getFoliageColorBirch,0, +func_77470_a,getFoliageColor,0, +func_77472_b,setClientActiveTexture,0, +func_77473_a,setActiveTexture,0, +func_77474_a,initializeTextures,0, +func_77475_a,setLightmapTextureCoords,0, +func_77479_a,setGrassBiomeColorizer,0, +func_77480_a,getGrassColor,0, +func_77487_a,getServerMotd,0, +func_77488_b,getServerIpPort,0, +func_77489_c,updateLastSeen,0, +func_77493_a,calculateModifier,2, +func_77501_a,getKnockbackModifier,2, +func_77502_d,getSilkTouchModifier,2, +func_77504_a,addRandomEnchantment,2, +func_77505_b,mapEnchantmentData,2, +func_77506_a,getEnchantmentLevel,2, +func_77508_a,getEnchantmentModifierDamage,2, +func_77509_b,getEfficiencyModifier,2, +func_77510_g,getAquaAffinityModifier,2, +func_77511_a,getMaxEnchantmentLevel,2, +func_77513_b,buildEnchantmentList,2, +func_77514_a,calcItemStackEnchantability,2, +func_77516_a,applyEnchantmentModifierArray,2, +func_77517_e,getFortuneModifier,2, +func_77518_a,applyEnchantmentModifier,2, +func_77519_f,getLootingModifier,2, +func_77523_b,getAdFromPingResponse,0, +func_77524_a,getMotdFromPingResponse,0, +func_77525_a,getPingResponse,0, +func_77552_b,setWasNotUpdated,0, +func_77553_a,getWasUpdated,0, +func_77554_c,getLanServers,0, +func_77557_a,canEnchantItem,2, +func_77569_a,matches,2, +func_77570_a,getRecipeSize,2, +func_77571_b,getRecipeOutput,2, +func_77572_b,getCraftingResult,2, +func_77573_a,checkMatch,2, +func_77583_a,addRecipes,2, +func_77586_a,addRecipes,2, +func_77589_a,addRecipes,2, +func_77590_a,addRecipes,2, +func_77592_b,getRecipeList,2, +func_77594_a,getInstance,2, +func_77596_b,addShapelessRecipe,2, +func_77599_b,getSmeltingList,2, +func_77602_a,instance,2, +func_77607_a,addRecipes,2, +func_77608_a,addRecipes,2, +func_77609_a,addRecipes,2, +func_77612_l,getMaxDamage,2, +func_77613_e,getRarity,2, +func_77614_k,getHasSubtypes,2, +func_77615_a,onPlayerStoppedUsing,2, +func_77616_k,isItemTool,2, +func_77619_b,getItemEnchantability,2, +func_77620_a,getColorFromDamage,0, +func_77621_a,getMovingObjectPositionFromPlayer,2, +func_77622_d,onCreated,2, +func_77624_a,addInformation,0, +func_77625_d,setMaxStackSize,2, +func_77626_a,getMaxItemUseDuration,2, +func_77627_a,setHasSubtypes,2, +func_77629_n_,shouldRotateAroundWhenRendering,0, +func_77631_c,setPotionEffect,2, +func_77634_r,hasContainerItem,2, +func_77636_d,hasEffect,0, +func_77637_a,setCreativeTab,2, +func_77639_j,getItemStackLimit,2, +func_77640_w,getCreativeTab,0, +func_77642_a,setContainerItem,2, +func_77643_m_,isMap,2, +func_77644_a,hitEntity,2, +func_77645_m,isDamageable,2, +func_77647_b,getMetadata,2, +func_77651_p,getShareTag,2, +func_77653_i,getItemStackDisplayName,2, +func_77654_b,onItemUseFinish,2, +func_77655_b,setUnlocalizedName,2, +func_77656_e,setMaxDamage,2, +func_77657_g,getUnlocalizedNameInefficiently,2, +func_77658_a,getUnlocalizedName,2, +func_77659_a,onItemRightClick,2, +func_77661_b,getItemUseAction,2, +func_77662_d,isFull3D,0, +func_77663_a,onUpdate,2, +func_77664_n,setFull3D,2, +func_77667_c,getUnlocalizedName,2, +func_77668_q,getContainerItem,2, +func_77828_a,validBookTagContents,2, +func_77831_g,isSplash,2, +func_77832_l,getEffects,2, +func_77833_h,isEffectInstant,0, +func_77834_f,getEffects,2, +func_77840_a,spawnCreature,2, +func_77842_f,getMaterialName,2, +func_77844_a,setPotionEffect,2, +func_77845_h,isWolfsFavoriteMeat,2, +func_77848_i,setAlwaysEdible,2, +func_77849_c,onFoodEaten,2, +func_77861_e,getToolMaterialName,2, +func_77872_a,updateMapData,2, +func_77873_a,getMapData,2, +func_77905_c,getPotionPrefix,2, +func_77906_a,brewBitOperations,2, +func_77907_h,countSetFlags,2, +func_77909_a,getPotionPrefixIndex,2, +func_77910_c,isFlagSet,2, +func_77911_a,calcPotionLiquidColor,2, +func_77912_a,parsePotionEffects,2, +func_77913_a,applyIngredient,2, +func_77914_a,checkFlag,2, +func_77915_a,getLiquidColor,0, +func_77916_d,isFlagUnset,2, +func_77917_b,getPotionEffects,2, +func_77942_o,hasTagCompound,2, +func_77944_b,copyItemStack,2, +func_77945_a,updateAnimation,2, +func_77946_l,copy,2, +func_77948_v,isItemEnchanted,2, +func_77949_a,loadItemStackFromNBT,2, +func_77950_b,onItemUseFinish,2, +func_77951_h,isItemDamaged,2, +func_77952_i,getItemDamage,2, +func_77953_t,getRarity,2, +func_77955_b,writeToNBT,2, +func_77956_u,isItemEnchantable,2, +func_77957_a,useItemRightClick,2, +func_77958_k,getMaxDamage,2, +func_77959_d,isItemStackEqual,2, +func_77960_j,getMetadata,2, +func_77961_a,hitEntity,2, +func_77962_s,hasEffect,0, +func_77963_c,readFromNBT,2, +func_77964_b,setItemDamage,2, +func_77966_a,addEnchantment,2, +func_77969_a,isItemEqual,2, +func_77970_a,areItemStackTagsEqual,2, +func_77972_a,damageItem,2, +func_77973_b,getItem,2, +func_77974_b,onPlayerStoppedUsing,2, +func_77975_n,getItemUseAction,2, +func_77976_d,getMaxStackSize,2, +func_77977_a,getUnlocalizedName,2, +func_77978_p,getTagCompound,2, +func_77979_a,splitStack,2, +func_77980_a,onCrafting,2, +func_77981_g,getHasSubtypes,2, +func_77982_d,setTagCompound,2, +func_77983_a,setTagInfo,2, +func_77984_f,isItemStackDamageable,2, +func_77985_e,isStackable,2, +func_77986_q,getEnchantmentTagList,2, +func_77988_m,getMaxItemUseDuration,2, +func_77989_b,areItemStacksEqual,2, +func_77995_e,getEnchantability,2, +func_77996_d,getHarvestLevel,2, +func_77997_a,getMaxUses,2, +func_77998_b,getEfficiencyOnProperMaterial,2, +func_78000_c,getDamageVsEntity,2, +func_78013_b,getTabLabel,0, +func_78014_h,setNoTitle,2, +func_78015_f,getBackgroundImageName,0, +func_78016_d,getTabIconItem,0, +func_78017_i,shouldHidePlayerInventory,0, +func_78018_a,displayAllReleventItems,0, +func_78019_g,drawInForegroundOfTab,0, +func_78020_k,getTabColumn,0, +func_78021_a,getTabIndex,0, +func_78022_j,setNoScrollbar,2, +func_78023_l,isTabInFirstRow,0, +func_78024_c,getTranslatedTabLabel,0, +func_78025_a,setBackgroundImageName,2, +func_78044_b,getDamageReductionAmount,2, +func_78045_a,getEnchantability,2, +func_78046_a,getDurability,2, +func_78084_a,getTextureOffset,0, +func_78085_a,setTextureOffset,0, +func_78086_a,setLivingAnimations,0, +func_78087_a,setRotationAngles,0, +func_78088_a,render,0, +func_78164_a,renderSign,0, +func_78214_a,updateRotations,0, +func_78231_a,renderAll,0, +func_78235_a,flipFace,0, +func_78240_a,setTexturePosition,0, +func_78255_a,renderStringAtPos,0, +func_78256_a,getStringWidth,0, +func_78257_a,loadGlyphTexture,0, +func_78259_e,sizeStringToWidth,0, +func_78260_a,getBidiFlag,0, +func_78262_a,trimStringToWidth,0, +func_78263_a,getCharWidth,0, +func_78264_a,setUnicodeFlag,0, +func_78265_b,resetStyles,0, +func_78266_a,renderDefaultChar,0, +func_78267_b,splitStringWidth,0, +func_78268_b,renderSplitString,0, +func_78269_a,trimStringToWidth,0, +func_78270_c,isFormatSpecial,0, +func_78271_c,listFormattedStringToWidth,0, +func_78272_b,isFormatColor,0, +func_78273_d,trimStringNewline,0, +func_78274_b,renderStringAligned,0, +func_78275_b,setBidiFlag,0, +func_78276_b,drawString,0, +func_78277_a,renderUnicodeChar,0, +func_78278_a,renderCharAtPos,0, +func_78279_b,drawSplitString,0, +func_78280_d,wrapFormattedStringToWidth,0, +func_78282_e,getFormatFromString,0, +func_78324_d,getScaledHeight_double,0, +func_78325_e,getScaleFactor,0, +func_78326_a,getScaledWidth,0, +func_78327_c,getScaledWidth_double,0, +func_78328_b,getScaledHeight,0, +func_78381_a,draw,0, +func_78432_a,parseUserSkin,0, +func_78433_b,setAreaOpaque,0, +func_78434_a,setAreaTransparent,0, +func_78435_c,hasTransparency,0, +func_78440_a,renderItemInFirstPerson,0, +func_78441_a,updateEquippedItem,0, +func_78442_d,renderFireInFirstPerson,0, +func_78444_b,resetEquippedProgress,0, +func_78445_c,resetEquippedProgress2,0, +func_78447_b,renderOverlays,0, +func_78448_c,renderWaterOverlayTexture,0, +func_78464_a,updateRenderer,0, +func_78466_h,updateFogColor,0, +func_78467_g,orientCamera,0, +func_78468_a,setupFog,0, +func_78469_a,setFogColorBuffer,0, +func_78470_f,updateTorchFlicker,0, +func_78471_a,renderWorld,0, +func_78472_g,updateLightmap,0, +func_78473_a,getMouseOver,0, +func_78474_d,renderRainSnow,0, +func_78475_f,setupViewBobbing,0, +func_78476_b,renderHand,0, +func_78477_e,updateFovModifierHand,0, +func_78478_c,setupOverlayRendering,0, +func_78479_a,setupCameraTransform,0, +func_78480_b,updateCameraAndRender,0, +func_78481_a,getFOVModifier,0, +func_78482_e,hurtCameraEffect,0, +func_78484_h,addRainParticles,0, +func_78546_a,isBoundingBoxInFrustum,0, +func_78547_a,setPosition,0, +func_78548_b,isBoxInFrustum,0, +func_78553_b,isBoxInFrustum,0, +func_78558_a,getInstance,0, +func_78560_b,init,0, +func_78713_a,getEntityRenderObject,0, +func_78714_a,getDistanceToCamera,0, +func_78715_a,getEntityClassRenderObject,0, +func_78716_a,getFontRenderer,0, +func_78717_a,set,0, +func_78745_b,flipPlayer,0, +func_78746_a,setGameType,0, +func_78747_a,isSpectator,0, +func_78748_a,setPlayerCapabilities,0, +func_78749_i,extendedReach,0, +func_78750_j,syncCurrentPlayItem,0, +func_78752_a,sendPacketDropItem,0, +func_78753_a,windowClick,0, +func_78755_b,shouldDrawHUD,0, +func_78756_a,sendEnchantPacket,0, +func_78757_d,getBlockReachDistance,0, +func_78758_h,isInCreativeMode,0, +func_78761_a,sendSlotPacket,0, +func_78762_g,isNotCreative,0, +func_78763_f,gameIsSurvivalOrAdventure,0, +func_78764_a,attackEntity,0, +func_78765_e,updateController,0, +func_78766_c,onStoppedUsingItem,0, +func_78767_c,resetBlockRemoving,0, +func_78768_b,interactWithEntitySendPacket,0, +func_78769_a,sendUseItem,0, +func_78784_a,setTextureOffset,0, +func_78785_a,render,0, +func_78786_a,addBox,0, +func_78787_b,setTextureSize,0, +func_78788_d,compileDisplayList,0, +func_78789_a,addBox,0, +func_78790_a,addBox,0, +func_78791_b,renderWithRotation,0, +func_78792_a,addChild,0, +func_78793_a,setRotationPoint,0, +func_78794_c,postRender,0, +func_78836_a,getNBTCompound,0, +func_78837_a,getServerDataFromNBTCompound,0, +func_78849_a,addServerData,0, +func_78850_a,getServerData,0, +func_78851_b,removeServerData,0, +func_78853_a,loadServerList,0, +func_78855_b,saveServerList,0, +func_78856_c,countServers,0, +func_78857_a,swapServers,0, +func_78861_a,getIP,0, +func_78862_a,parseIntWithDefault,0, +func_78863_b,getServerAddress,0, +func_78864_b,getPort,0, +func_78868_a,updateEffects,0, +func_78869_b,getStatistics,0, +func_78870_a,clearEffects,0, +func_78872_b,renderLitParticles,0, +func_78873_a,addEffect,0, +func_78874_a,renderParticles,0, +func_78880_d,getZSize,2, +func_78882_c,getYSize,2, +func_78883_b,getXSize,2, +func_78884_a,intersectsWith,2, +func_78885_a,intersectsWith,2, +func_78886_a,offset,2, +func_78887_a,getNewBoundingBox,2, +func_78888_b,expandTo,2, +func_78898_a,updatePlayerMoveState,0, +func_78909_a,getColorIndex,0, +func_78913_a,setColorOpaque,0, +func_78914_f,markDirty,0, +func_80003_ah,getPlayerUsageSnooper,0, +func_80006_f,getUniqueID,0, +func_80007_l,getDimensionName,2, +func_82010_a,registerTickable,1, +func_82142_c,setInvisible,2, +func_82143_as,getMaxFallHeight,2, +func_82145_z,getMaxInPortalTime,2, +func_82147_ab,getPortalCooldown,2, +func_82148_at,getTeleportDirection,2, +func_82149_j,copyLocationAndAnglesFrom,2, +func_82150_aj,isInvisible,2, +func_82159_b,getArmorPosition,2, +func_82160_b,dropEquipment,2, +func_82161_a,getArmorItemForSlot,2, +func_82164_bB,addRandomArmor,2, +func_82165_m,isPotionActive,2, +func_82166_i,getArmSwingAnimationEnd,2, +func_82167_n,collideWithEntity,2, +func_82168_bl,updateArmSwingProgress,2, +func_82169_q,getCurrentArmor,2, +func_82170_o,removePotionEffect,2, +func_82171_bF,canBeSteered,2, +func_82183_n,getAIControlledByPlayer,2, +func_82187_q,setLookingForHome,2, +func_82194_d,getWorld,2, +func_82196_d,attackEntityWithRangedAttack,2, +func_82197_f,setAggressive,2, +func_82198_m,getAggressive,2, +func_82201_a,setSkeletonType,2, +func_82202_m,getSkeletonType,2, +func_82203_t,getWatchedTargetId,2, +func_82205_o,isArmored,2, +func_82209_a,launchWitherSkullToCoords,2, +func_82212_n,getInvulTime,2, +func_82215_s,setInvulTime,2, +func_82216_a,launchWitherSkullToEntity,2, +func_82227_f,setChild,2, +func_82228_a,startConversion,2, +func_82229_g,setVillager,2, +func_82230_o,isConverting,2, +func_82231_m,isVillager,2, +func_82232_p,convertToVillager,2, +func_82233_q,getConversionTimeBoost,2, +func_82235_h,getIsBatHanging,2, +func_82236_f,setIsBatHanging,2, +func_82242_a,addExperienceLevel,2, +func_82243_bO,getArmorVisibility,2, +func_82245_bX,isSpawnForced,2, +func_82329_d,getWidthPixels,2, +func_82330_g,getHeightPixels,2, +func_82333_j,getRotation,2, +func_82334_a,setDisplayedItem,2, +func_82335_i,getDisplayedItem,2, +func_82336_g,setItemRotation,2, +func_82338_g,setAlphaF,0, +func_82340_a,setPotionDamage,2, +func_82341_c,getMotionFactor,2, +func_82342_d,isInvulnerable,2, +func_82343_e,setInvulnerable,2, +func_82356_Z,isCommandBlockEnabled,2, +func_82357_ak,getSpawnProtectionSize,2, +func_82358_a,isUsernameIndex,2, +func_82359_c,getPlayer,2, +func_82362_a,getRequiredPermissionLevel,2, +func_82366_d,getGameRules,2, +func_82370_a,getUsernameIndex,2, +func_82377_a,matchesMultiplePlayers,2, +func_82378_b,hasArguments,2, +func_82381_h,getArgumentMap,2, +func_82386_a,matchOnePlayer,2, +func_82402_b,renderItem,0, +func_82448_a,transferEntityToWorld,2, +func_82482_a,dispense,2, +func_82485_a,playDispenseSound,2, +func_82486_a,doDispense,2, +func_82487_b,dispenseStack,2, +func_82489_a,spawnDispenseParticles,2, +func_82499_a,getProjectileEntity,2, +func_82566_a,setWorldsForAll,2, +func_82567_a,updatePlayersVisibleOnMap,2, +func_82568_a,getMapInfo,2, +func_82571_y,getGeneratorOptions,2, +func_82572_b,incrementTotalWorldTime,2, +func_82573_f,getWorldTotalTime,2, +func_82574_x,getGameRulesInstance,2, +func_82580_o,removeTag,2, +func_82581_a,createCrashReport,2, +func_82582_d,hasNoTags,2, +func_82594_a,getObject,2, +func_82595_a,putObject,2, +func_82599_e,getFrontOffsetZ,2, +func_82600_a,getFront,2, +func_82601_c,getFrontOffsetX,2, +func_82615_a,getX,2, +func_82616_c,getZ,2, +func_82617_b,getY,2, +func_82618_k,getWorld,2, +func_82620_h,getBlockMetadata,2, +func_82632_g,boostSpeed,2, +func_82633_h,isControlledByPlayer,2, +func_82634_f,isSpeedBoosted,2, +func_82644_b,getWorldFeatures,2, +func_82647_a,setBiome,2, +func_82648_a,getBiome,2, +func_82649_e,getDefaultFlatGenerator,2, +func_82650_c,getFlatLayers,2, +func_82651_a,createFlatGeneratorFromString,2, +func_82656_d,getMinY,2, +func_82657_a,getLayerCount,2, +func_82658_c,getFillBlockMeta,2, +func_82660_d,setMinY,2, +func_82667_a,getScatteredFeatureSpawnList,2, +func_82683_b,setDefaultPlayerReputation,2, +func_82684_a,getReputationForPlayer,2, +func_82685_c,getNearestTargetPlayer,2, +func_82686_i,isMatingSeason,2, +func_82687_d,isPlayerReputationTooLow,2, +func_82688_a,setReputationForPlayer,2, +func_82689_b,writeVillageDataToNBT,2, +func_82690_a,readVillageDataFromNBT,2, +func_82691_a,setWorld,2, +func_82692_h,endMatingSeason,2, +func_82705_e,getAnimal,2, +func_82708_h,setObjectWatched,2, +func_82709_a,addObjectByDataType,2, +func_82710_f,getWatchableObjectItemStack,2, +func_82712_a,parseDoubleWithDefault,2, +func_82713_a,parseDoubleWithDefaultAndMax,2, +func_82714_a,parseIntWithDefaultAndMax,2, +func_82715_a,parseIntWithDefault,2, +func_82716_a,getRandomDoubleInRange,2, +func_82719_a,writeCustomPotionEffectToNBT,2, +func_82720_e,getIsAmbient,2, +func_82721_a,setSplashPotion,2, +func_82722_b,readCustomPotionEffectFromNBT,2, +func_82725_o,isMagicDamage,2, +func_82726_p,setMagicDamage,2, +func_82734_g,getChunksLowestHorizon,2, +func_82736_K,getGameRules,2, +func_82737_E,getTotalWorldTime,2, +func_82738_a,setTotalWorldTime,0, +func_82742_i,resetUpdateEntityTick,2, +func_82743_f,getCreationCloudUpdateTick,0, +func_82744_b,setCloudUpdateTick,0, +func_82747_f,getWorldTypeID,2, +func_82749_j,getWorldName,2, +func_82750_a,setWorldName,2, +func_82752_c,isAdventure,2, +func_82753_a,setPriority,2, +func_82756_a,getGameRuleStringValue,2, +func_82757_a,setValue,2, +func_82758_b,getGameRuleBooleanValue,2, +func_82763_b,getRules,2, +func_82764_b,setOrCreateGameRule,2, +func_82765_e,hasRule,2, +func_82766_b,getGameRuleBooleanValue,2, +func_82767_a,getGameRuleStringValue,2, +func_82768_a,readGameRulesFromNBT,2, +func_82770_a,writeGameRulesToNBT,2, +func_82781_a,getEnchantments,2, +func_82782_a,setEnchantments,2, +func_82783_a,increaseMaxTradeUses,2, +func_82784_g,isRecipeDisabled,2, +func_82787_a,findMatchingRecipe,2, +func_82788_x,canItemEditBlocks,2, +func_82789_a,getIsRepairable,2, +func_82790_a,getColorFromItemStack,0, +func_82812_d,getArmorMaterial,2, +func_82813_b,setColor,2, +func_82814_b,getColor,2, +func_82815_c,removeColor,2, +func_82816_b_,hasColor,2, +func_82817_b,getAreAmbient,2, +func_82824_a,setBossStatus,0, +func_82833_r,getDisplayName,2, +func_82835_x,canEditBlocks,2, +func_82836_z,getItemFrame,2, +func_82837_s,hasDisplayName,2, +func_82838_A,getRepairCost,2, +func_82839_y,isOnItemFrame,2, +func_82840_a,getTooltip,0, +func_82841_c,setRepairCost,2, +func_82842_a,setItemFrame,2, +func_82846_b,transferStackInSlot,2, +func_82847_b,removeCraftingFromCrafters,0, +func_82848_d,updateRepairOutput,2, +func_82850_a,updateItemName,2, +func_82869_a,canTakeStack,2, +func_82870_a,onPickupFromSlot,2, +func_82877_b,setPlayerWalkSpeed,0, +func_82879_c,sendSettingsToServer,0, +func_82883_a,getUnicodeFlag,0, +func_83015_S,getCurrentDate,2, +func_85029_a,addEntityCrashInfo,2, +func_85030_a,playSound,2, +func_85031_j,hitByEntity,2, +func_85033_bc,collideWithNearbyEntities,2, +func_85034_r,setArrowCountInEntity,2, +func_85035_bI,getArrowCountInEntity,2, +func_85036_m,setCombatTask,2, +func_85039_t,addScore,2, +func_85040_s,setScore,2, +func_85052_h,getThrower,2, +func_85054_d,searchForOtherItemsNearby,2, +func_85055_a,makeCrashReport,2, +func_85056_g,getCategory,2, +func_85057_a,makeCategoryDepth,2, +func_85058_a,makeCategory,2, +func_85069_a,firstTwoElementsOfStackTraceMatch,2, +func_85070_b,trimStackTraceEntriesFromBottom,2, +func_85072_a,appendToStringBuilder,2, +func_85073_a,getPrunedStackTrace,2, +func_85074_a,getCoordinateInfo,2, +func_85089_a,getKey,2, +func_85090_b,getValue,2, +func_85094_b,renderDebugBoundingBox,0, +func_85102_a,playSoundToNearExcept,2, +func_85118_a,addToCrashReport,2, +func_85144_b,getCacheSizes,2, +func_85151_d,getLowerChestInventory,2, +func_85156_a,removeTask,2, +func_85158_p,setAdventureModeExempt,2, +func_85173_a,playSoundToNearExcept,2, +func_85176_s,getDefaultTeleporter,2, +func_85181_a,getRandomModelBox,0, +func_85188_a,makePortal,2, +func_85189_a,removeStalePortalLocations,2, +func_90010_a,isPartOfLargeChest,2, +func_90011_a,createChild,2, +func_90020_K,getLimitFramerate,0, +func_90022_d,getListOfPlayers,2, +func_90033_f,canLoadWorld,0, +func_90035_a,getClassFromID,2, +func_90036_a,getFireAspectModifier,2, +func_90999_ad,canRenderOnFire,0, +func_92034_a,createParticle,0, +func_92035_a,createBall,0, +func_92036_a,createBurst,0, +func_92038_a,createShaped,0, +func_92043_f,setTwinkle,0, +func_92044_a,setColour,0, +func_92045_e,setTrail,0, +func_92046_g,setFadeColour,0, +func_92058_a,setEntityItemStack,2, +func_92059_d,getEntityItem,2, +func_92085_d,getIsBlank,2, +func_92087_a,causeThornsDamage,2, +func_92088_a,makeFireworks,0, +func_92089_a,canApply,2, +func_92093_a,getFireTimeForEntity,2, +func_92097_a,negateDamage,2, +func_92099_a,getEnchantedItem,2, +func_92103_a,addRecipe,2, +func_92110_g,getEnchantments,2, +func_92111_a,getEnchantedItemStack,2, +func_92112_a,getRandom,2, +func_92113_a,getAll,0, +func_92114_b,getRandom,2, +func_92115_a,addEnchantment,2, +func_92116_a,addEnchantmentBooksToList,0, +func_94041_b,isItemValidForSlot,2, +func_94053_h,nextTextureIndexX,0, +func_94059_bO,getAlwaysRenderNameTagForRender,0, +func_94061_f,setNoAI,2, +func_94083_c,getTntPlacedBy,2, +func_94085_r,getDefaultDisplayTileOffset,2, +func_94086_l,setDisplayTileOffset,2, +func_94095_a,killMinecart,2, +func_94096_e,setHasDisplayTile,2, +func_94099_q,getDisplayTileOffset,2, +func_94100_s,hasDisplayTile,2, +func_94101_h,applyDrag,2, +func_94103_c,explodeCart,2, +func_94104_d,getFuseTicks,0, +func_94105_c,ignite,2, +func_94107_f,setMinecartPowered,2, +func_94108_c,isMinecartPowered,2, +func_94182_a,addSlot,0, +func_94183_a,getStitchHolder,0, +func_94184_a,getAllStitchSlots,0, +func_94185_c,getOriginY,0, +func_94186_b,getOriginX,0, +func_94194_d,rotate,0, +func_94195_e,isRotated,0, +func_94196_a,setNewDimension,0, +func_94197_a,getWidth,0, +func_94199_b,getHeight,0, +func_94206_g,getMinV,0, +func_94207_b,getInterpolatedV,0, +func_94209_e,getMinU,0, +func_94210_h,getMaxV,0, +func_94211_a,getIconWidth,0, +func_94212_f,getMaxU,0, +func_94214_a,getInterpolatedU,0, +func_94215_i,getIconName,0, +func_94216_b,getIconHeight,0, +func_94217_a,copyFrom,0, +func_94219_l,updateAnimation,0, +func_94241_a,updateCompass,0, +func_94248_c,updateAnimations,0, +func_94277_a,bindTexture,0, +func_94305_f,doStitch,0, +func_94309_g,getStichSlots,0, +func_94310_b,allocateSlot,0, +func_94311_c,expandAndAllocateSlot,0, +func_94520_b,isKeyTranslated,2, +func_94522_b,canTranslate,2, +func_94525_a,computeStackSize,2, +func_94526_b,calcRedstoneFromInventory,2, +func_94527_a,canAddItemToSlot,2, +func_94529_b,extractDragMode,2, +func_94530_a,canMergeSlot,2, +func_94531_b,canDragIntoSlot,2, +func_94532_c,getDragEvent,2, +func_94533_d,resetDrag,2, +func_94539_a,setExplosionSource,2, +func_94540_d,setExplosion,2, +func_94541_c,isExplosion,2, +func_94560_a,getDamageSrc,2, +func_94613_c,getExplosivePlacedBy,2, +func_95999_t,getCustomNameTag,2, +func_96092_aw,isPushedByWater,2, +func_96094_a,setCustomNameTag,2, +func_96095_a,onActivatorRailPass,2, +func_96096_ay,isIgnited,2, +func_96107_aA,getXPos,2, +func_96108_aC,getZPos,2, +func_96109_aB,getYPos,2, +func_96110_f,setBlocked,2, +func_96111_ay,getBlocked,2, +func_96120_a,setEquipmentDropChance,2, +func_96122_a,canAttackPlayer,2, +func_96123_co,getWorldScoreboard,2, +func_96124_cp,getTeam,2, +func_96296_a,getValidValues,2, +func_96297_d,getFriendlyName,2, +func_96300_b,getValueByName,2, +func_96301_b,isFancyStyling,2, +func_96302_c,isColor,2, +func_96332_d,getPlayerName,2, +func_96333_a,joinNiceStringFromCollection,2, +func_96441_U,getScoreboard,2, +func_96443_a,setWorldScoreboard,0, +func_96449_a,renderOffsetLivingLabel,0, +func_96498_a,readTeams,2, +func_96499_a,setScoreboard,2, +func_96500_c,readScores,2, +func_96501_b,readObjectives,2, +func_96503_e,scoresToNbt,2, +func_96504_c,readDisplayConfig,2, +func_96505_b,objectivesToNbt,2, +func_96508_e,getTeam,2, +func_96509_i,getPlayersTeam,2, +func_96510_d,getObjectivesForEntity,2, +func_96511_d,removeTeam,2, +func_96512_b,removePlayerFromTeam,2, +func_96514_c,getScoreObjectives,2, +func_96517_b,getObjectiveDisplaySlot,2, +func_96518_b,getObjective,2, +func_96520_a,getObjectivesFromCriteria,2, +func_96523_a,broadcastTeamCreated,2, +func_96524_g,removePlayerFromTeams,2, +func_96525_g,getTeams,2, +func_96526_d,getObjectiveNames,2, +func_96527_f,createTeam,2, +func_96528_e,getScores,2, +func_96529_a,getValueFromObjective,2, +func_96530_a,setObjectiveInDisplaySlot,2, +func_96531_f,getTeamNames,2, +func_96534_i,getSortedScores,2, +func_96535_a,addScoreObjective,2, +func_96537_j,getObjectiveDisplaySlotNumber,2, +func_96538_b,sendTeamUpdate,2, +func_96539_a,getObjectiveInDisplaySlot,2, +func_96559_d,getFrontOffsetY,2, +func_96631_a,attemptDamageItem,2, +func_96636_a,getName,2, +func_96637_b,isReadOnly,2, +func_96645_d,getObjective,2, +func_96646_b,decreaseScore,2, +func_96647_c,setScorePoints,2, +func_96649_a,increseScore,2, +func_96650_f,getScoreScoreboard,2, +func_96652_c,getScorePoints,2, +func_96653_e,getPlayerName,2, +func_96660_a,setAllowFriendlyFire,2, +func_96661_b,getRegisteredName,2, +func_96662_c,setNameSuffix,2, +func_96663_f,getColorSuffix,2, +func_96664_a,setTeamName,2, +func_96665_g,getAllowFriendlyFire,2, +func_96666_b,setNamePrefix,2, +func_96667_a,formatPlayerName,2, +func_96668_e,getColorPrefix,2, +func_96670_d,getMembershipCollection,2, +func_96678_d,getDisplayName,2, +func_96679_b,getName,2, +func_96680_c,getCriteria,2, +func_96681_a,setDisplayName,2, +func_96682_a,getScoreboard,0, +func_98034_c,isInvisibleToPlayer,0, +func_98035_c,writeMountToNBT,2, +func_98042_n,setTransferTicker,2, +func_98043_aE,canTransfer,2, +func_98052_bS,canPickUpLoot,2, +func_98053_h,setCanPickUpLoot,2, +func_98054_a,setScaleForAge,2, +func_98055_j,setScale,2, +func_98150_a,getAtlasSprite,0, +func_98152_d,getAllUsernames,2, +func_98268_b,setDelayToMin,2, +func_98269_i,getRandomEntity,2, +func_98270_a,readFromNBT,2, +func_98271_a,getSpawnerWorld,2, +func_98272_a,setEntityName,2, +func_98273_j,resetTimer,2, +func_98276_e,getEntityNameToSpawn,2, +func_98277_a,setRandomEntity,2, +func_98278_g,updateSpawner,2, +func_98279_f,isActivated,2, +func_98280_b,writeToNBT,2, +func_98300_b,setSeeFriendlyInvisiblesEnabled,2, +func_98306_d,readGlyphSizes,0, +func_99999_d,run,0, diff --git a/src/main/resources/params.csv b/src/main/resources/params.csv new file mode 100644 index 00000000..d8e0be8e --- /dev/null +++ b/src/main/resources/params.csv @@ -0,0 +1,5124 @@ +param,name,side +p_100012_1_,maxDuration,0 +p_104055_1_,force,1 +p_110121_0_,str,0 +p_110149_1_,amount,2 +p_110162_1_,entityIn,2 +p_110162_2_,sendAttachNotification,2 +p_110199_1_,playerEntity,2 +p_110298_1_,horse,2 +p_110298_2_,horseInventory,2 +p_110304_0_,resourceLocationIn,0 +p_110304_1_,username,0 +p_110311_0_,username,0 +p_110549_1_,resourceManager,0 +p_110551_1_,resourceManager,0 +p_110571_1_,resourceManager,0 +p_110572_1_,iconName,0 +p_110577_1_,resource,0 +p_110579_1_,textureLocation,0 +p_110580_1_,textureLocation,0 +p_110581_1_,textureLocation,0 +p_110646_0_,text,0 +p_110668_4_,worldIn,2 +p_110669_8_,worldIn,2 +p_110671_2_,worldIn,2 +p_110775_1_,entity,0 +p_110776_1_,location,0 +p_110813_1_,targetEntity,0 +p_110828_1_,start,0 +p_110828_3_,end,0 +p_110828_5_,pct,0 +p_110966_1_,newWidth,0 +p_110968_1_,newFramesTextureData,0 +p_110969_1_,newHeight,0 +p_110986_0_,resourceManager,0 +p_110986_1_,imageLocation,0 +p_110988_0_,textureId,0 +p_110995_0_,textureId,0 +p_111092_1_,worldIn,2 +p_111098_1_,worldIn,2 +p_111145_1_,id,2 +p_111206_0_,id,2 +p_111207_1_,stack,2 +p_111207_2_,playerIn,2 +p_111207_3_,target,2 +p_111226_1_,enchantmentType,0 +p_111229_1_,types,2 +p_111270_1_,other,2 +p_111282_1_,playerIn,2 +p_111282_2_,entityIn,2 +p_120016_0_,serverIn,1 +p_130002_1_,playerIn,2 +p_135064_1_,key,2 +p_142014_1_,otherEntity,2 +p_142053_1_,input,2 +p_142054_1_,other,2 +p_143006_1_,idleTimeout,2 +p_143009_1_,worldIn,2 +p_143020_1_,worldIn,2 +p_143027_1_,worldIn,2 +p_143032_1_,worldIn,2 +p_143035_1_,worldIn,2 +p_145747_1_,message,2 +p_145750_1_,lastOutputMessage,2 +p_145752_1_,command,2 +p_145755_1_,worldIn,2 +p_145758_1_,tagCompound,2 +p_145759_1_,nbt,2 +p_145769_1_,id,2 +p_145770_1_,x,0 +p_145770_3_,y,0 +p_145770_5_,z,0 +p_145771_1_,x,2 +p_145771_3_,y,2 +p_145771_5_,z,2 +p_145778_1_,itemIn,2 +p_145778_2_,size,2 +p_145779_1_,itemIn,2 +p_145779_2_,size,2 +p_145797_1_,owner,2 +p_145799_1_,thrower,2 +p_145826_0_,cl,2 +p_145826_1_,id,2 +p_145827_0_,nbt,2 +p_145828_1_,reportCategory,2 +p_145834_1_,worldIn,2 +p_145835_1_,x,0 +p_145835_3_,y,0 +p_145835_5_,z,0 +p_145839_1_,compound,2 +p_145841_1_,compound,2 +p_145842_1_,id,2 +p_145842_2_,type,2 +p_145857_1_,recordStack,2 +p_145886_1_,customNameIn,2 +p_145893_0_,worldIn,2 +p_145894_0_,stack1,2 +p_145894_1_,stack2,2 +p_145896_1_,ticks,2 +p_145897_0_,worldIn,2 +p_145903_1_,rotation,2 +p_145912_1_,playerIn,2 +p_145913_1_,isEditableIn,0 +p_145920_1_,customNameIn,2 +p_145964_1_,potItem,2 +p_145964_2_,potData,2 +p_145976_1_,name,2 +p_146018_1_,customName,2 +p_146019_1_,stack,2 +p_146029_1_,itemIn,2 +p_146031_1_,chestTileEntity,2 +p_146067_1_,damageValue,2 +p_146069_1_,size,2 +p_146071_1_,isChild,2 +p_146094_0_,profile,2 +p_146095_1_,cmdBlockLogic,2 +p_146097_1_,droppedItem,2 +p_146097_2_,dropAround,2 +p_146097_3_,traceItem,2 +p_146105_1_,chatComponent,2 +p_146110_0_,x,0 +p_146110_1_,y,0 +p_146110_2_,u,0 +p_146110_3_,v,0 +p_146110_4_,width,0 +p_146110_5_,height,0 +p_146110_6_,textureWidth,0 +p_146110_7_,textureHeight,0 +p_146111_1_,mouseX,0 +p_146111_2_,mouseY,0 +p_146112_1_,mc,0 +p_146112_2_,mouseX,0 +p_146112_3_,mouseY,0 +p_146113_1_,soundHandlerIn,0 +p_146114_1_,mouseOver,0 +p_146116_1_,mc,0 +p_146116_2_,mouseX,0 +p_146116_3_,mouseY,0 +p_146118_1_,mouseX,0 +p_146118_2_,mouseY,0 +p_146119_1_,mc,0 +p_146119_2_,mouseX,0 +p_146119_3_,mouseY,0 +p_146159_1_,mc,0 +p_146159_2_,mouseX,0 +p_146159_3_,mouseY,0 +p_146160_1_,mcIn,0 +p_146256_1_,ach,0 +p_146270_1_,tint,0 +p_146273_1_,mouseX,0 +p_146273_2_,mouseY,0 +p_146273_3_,clickedMouseButton,0 +p_146273_4_,timeSinceLastClick,0 +p_146275_0_,copyText,0 +p_146278_1_,tint,0 +p_146279_1_,tabName,0 +p_146279_2_,mouseX,0 +p_146279_3_,mouseY,0 +p_146280_1_,mc,0 +p_146280_2_,width,0 +p_146280_3_,height,0 +p_146283_1_,textLines,0 +p_146283_2_,x,0 +p_146283_3_,y,0 +p_146284_1_,button,0 +p_146285_1_,stack,0 +p_146285_2_,x,0 +p_146285_3_,y,0 +p_146286_1_,mouseX,0 +p_146286_2_,mouseY,0 +p_146286_3_,state,0 +p_146367_1_,ip,0 +p_146367_2_,port,0 +p_146402_1_,msgPos,0 +p_146790_1_,index,0 +p_146791_1_,server,0 +p_146975_1_,x,0 +p_146975_2_,y,0 +p_146976_1_,partialTicks,0 +p_146976_2_,mouseX,0 +p_146976_3_,mouseY,0 +p_146977_1_,slotIn,0 +p_146978_1_,left,0 +p_146978_2_,top,0 +p_146978_3_,right,0 +p_146978_4_,bottom,0 +p_146978_5_,pointX,0 +p_146978_6_,pointY,0 +p_146979_1_,mouseX,0 +p_146979_2_,mouseY,0 +p_146981_1_,slotIn,0 +p_146981_2_,mouseX,0 +p_146981_3_,mouseY,0 +p_146982_1_,stack,0 +p_146982_2_,x,0 +p_146982_3_,y,0 +p_146982_4_,altText,0 +p_146983_1_,keyCode,0 +p_146984_1_,slotIn,0 +p_146984_2_,slotId,0 +p_146984_3_,clickedButton,0 +p_146984_4_,clickType,0 +p_147100_1_,packetIn,2 +p_147108_1_,guiScreenIn,0 +p_147115_1_,leftClick,0 +p_147138_1_,response,2 +p_147139_1_,difficulty,2 +p_147149_1_,toFile,2 +p_147176_0_,sender,2 +p_147176_1_,args,2 +p_147176_2_,index,2 +p_147178_0_,sender,2 +p_147178_1_,args,2 +p_147179_0_,sender,2 +p_147179_1_,id,2 +p_147180_0_,sender,2 +p_147180_1_,id,2 +p_147183_1_,name,2 +p_147185_1_,sender,2 +p_147185_2_,args,2 +p_147185_3_,index,2 +p_147189_1_,name,2 +p_147189_2_,edit,2 +p_147193_1_,sender,2 +p_147193_2_,args,2 +p_147193_3_,index,2 +p_147200_1_,sender,2 +p_147200_2_,args,2 +p_147200_3_,index,2 +p_147224_1_,server,0 +p_147225_1_,server,0 +p_147231_1_,reason,2 +p_147234_1_,packetIn,2 +p_147235_1_,packetIn,2 +p_147236_1_,packetIn,2 +p_147237_1_,packetIn,2 +p_147238_1_,packetIn,2 +p_147239_1_,packetIn,2 +p_147240_1_,packetIn,2 +p_147241_1_,packetIn,2 +p_147242_1_,packetIn,2 +p_147243_1_,packetIn,2 +p_147244_1_,packetIn,2 +p_147245_1_,packetIn,2 +p_147246_1_,packetIn,2 +p_147247_1_,packetIn,2 +p_147248_1_,packetIn,2 +p_147249_1_,packetIn,2 +p_147250_1_,packetIn,2 +p_147251_1_,packetIn,2 +p_147252_1_,packetIn,2 +p_147253_1_,packetIn,2 +p_147254_1_,packetIn,2 +p_147255_1_,packetIn,2 +p_147256_1_,packetIn,2 +p_147257_1_,packetIn,2 +p_147258_1_,packetIn,2 +p_147259_1_,packetIn,2 +p_147260_1_,packetIn,2 +p_147261_1_,packetIn,2 +p_147262_1_,packetIn,2 +p_147263_1_,packetIn,2 +p_147264_1_,packetIn,2 +p_147265_1_,packetIn,2 +p_147266_1_,packetIn,2 +p_147267_1_,packetIn,2 +p_147268_1_,packetIn,2 +p_147269_1_,packetIn,2 +p_147270_1_,packetIn,2 +p_147271_1_,packetIn,2 +p_147272_1_,packetIn,2 +p_147273_1_,packetIn,2 +p_147274_1_,packetIn,2 +p_147275_1_,packetIn,2 +p_147276_1_,packetIn,2 +p_147277_1_,packetIn,2 +p_147278_1_,packetIn,2 +p_147279_1_,packetIn,2 +p_147280_1_,packetIn,2 +p_147281_1_,packetIn,2 +p_147282_1_,packetIn,2 +p_147283_1_,packetIn,2 +p_147284_1_,packetIn,2 +p_147285_1_,packetIn,2 +p_147286_1_,packetIn,2 +p_147287_1_,packetIn,2 +p_147288_1_,packetIn,2 +p_147289_1_,packetIn,2 +p_147290_1_,packetIn,2 +p_147291_1_,packetIn,2 +p_147292_1_,packetIn,2 +p_147293_1_,packetIn,2 +p_147294_1_,packetIn,2 +p_147295_1_,packetIn,2 +p_147311_1_,packetIn,2 +p_147312_1_,packetIn,2 +p_147315_1_,packetIn,2 +p_147316_1_,packetIn,2 +p_147322_1_,reason,2 +p_147338_1_,packetIn,2 +p_147339_1_,packetIn,2 +p_147340_1_,packetIn,2 +p_147341_1_,packetIn,2 +p_147342_1_,packetIn,2 +p_147343_1_,packetIn,2 +p_147344_1_,packetIn,2 +p_147345_1_,packetIn,2 +p_147346_1_,packetIn,2 +p_147347_1_,packetIn,2 +p_147348_1_,packetIn,2 +p_147349_1_,packetIn,2 +p_147351_1_,packetIn,2 +p_147352_1_,packetIn,2 +p_147353_1_,packetIn,2 +p_147354_1_,packetIn,2 +p_147355_1_,packetIn,2 +p_147356_1_,packetIn,2 +p_147357_1_,packetIn,2 +p_147358_1_,packetIn,2 +p_147359_1_,packetIn,2 +p_147360_1_,reason,2 +p_147361_1_,command,2 +p_147364_1_,x,2 +p_147364_3_,y,2 +p_147364_5_,z,2 +p_147364_7_,yaw,2 +p_147364_8_,pitch,2 +p_147383_1_,packetIn,2 +p_147388_1_,packetIn,2 +p_147389_1_,packetIn,2 +p_147390_1_,packetIn,2 +p_147397_1_,packetIn,2 +p_147398_1_,packetIn,2 +p_147407_1_,icon,0 +p_147448_1_,tileEntityCollection,2 +p_147457_1_,tileEntityIn,2 +p_147458_1_,x1,2 +p_147458_2_,y1,2 +p_147458_3_,z1,2 +p_147458_4_,x2,2 +p_147458_5_,y2,2 +p_147458_6_,z2,2 +p_147485_1_,event,2 +p_147517_0_,mobSpawnerLogic,0 +p_147517_1_,posX,0 +p_147517_3_,posY,0 +p_147517_5_,posZ,0 +p_147517_7_,partialTicks,0 +p_147543_1_,worldIn,0 +p_147585_1_,x1,2 +p_147585_2_,y1,2 +p_147585_3_,z1,2 +p_147585_4_,x2,2 +p_147585_5_,y2,2 +p_147585_6_,z2,2 +p_147590_0_,boundingBox,0 +p_147633_1_,mipmapLevelsIn,0 +p_147634_1_,location,0 +p_147645_1_,textureLocation,0 +p_147673_0_,soundResource,0 +p_147674_0_,soundResource,0 +p_147674_1_,pitch,0 +p_147675_0_,soundResource,0 +p_147675_1_,xPosition,0 +p_147675_2_,yPosition,0 +p_147675_3_,zPosition,0 +p_147684_2_,volume,0 +p_147936_1_,entity,0 +p_147936_2_,partialTicks,0 +p_147939_1_,entity,0 +p_147939_2_,x,0 +p_147939_4_,y,0 +p_147939_6_,z,0 +p_147939_9_,partialTicks,0 +p_147942_0_,textureId,0 +p_148018_1_,partialTicks,0 +p_148054_1_,manager,0 +p_148056_1_,manager,0 +p_148057_0_,resourceManager,0 +p_148057_1_,type,0 +p_148057_2_,filename,0 +p_148075_1_,manager,0 +p_148128_1_,mouseXIn,0 +p_148128_2_,mouseYIn,0 +p_148131_1_,slotIndex,0 +p_148144_1_,slotIndex,0 +p_148144_2_,isDoubleClick,0 +p_148144_3_,mouseX,0 +p_148144_4_,mouseY,0 +p_148179_1_,mouseX,0 +p_148179_2_,mouseY,0 +p_148179_3_,mouseEvent,0 +p_148182_1_,mcIn,0 +p_148259_0_,gameDirectory,0 +p_148259_1_,screenshotName,0 +p_148259_2_,width,0 +p_148259_3_,height,0 +p_148259_4_,buffer,0 +p_148260_0_,gameDirectory,0 +p_148260_1_,width,0 +p_148260_2_,height,0 +p_148260_3_,buffer,0 +p_148277_1_,slotIndex,0 +p_148277_2_,x,0 +p_148277_3_,y,0 +p_148277_4_,mouseEvent,0 +p_148277_5_,relativeX,0 +p_148277_6_,relativeY,0 +p_148335_1_,seed,0 +p_148537_1_,packetIn,2 +p_148537_2_,dimension,2 +p_148539_1_,component,2 +p_148540_1_,packetIn,2 +p_148541_1_,x,2 +p_148541_10_,packetIn,2 +p_148541_3_,y,2 +p_148541_5_,z,2 +p_148541_7_,radius,2 +p_148541_9_,dimension,2 +p_148542_1_,address,2 +p_148542_2_,profile,2 +p_148543_10_,dimension,2 +p_148543_2_,x,2 +p_148543_4_,y,2 +p_148543_6_,z,2 +p_148543_8_,radius,2 +p_148544_1_,component,2 +p_148544_2_,isChat,2 +p_148545_1_,profile,2 +p_148553_1_,volumeIn,0 +p_148559_1_,pitchIn,0 +p_148561_1_,nameIn,0 +p_148611_1_,sound,0 +p_148647_1_,volumeIn,0 +p_148651_1_,pitchIn,0 +p_148745_1_,value,2 +p_148746_1_,key,2 +p_148746_2_,value,2 +p_148747_1_,key,2 +p_148833_1_,handler,2 +p_148837_1_,buf,2 +p_148840_1_,buf,2 +p_149065_1_,worldIn,0 +p_149091_1_,worldIn,0 +p_149102_1_,isFlying,2 +p_149104_1_,flySpeedIn,2 +p_149108_1_,isInvulnerable,2 +p_149109_1_,isAllowFlying,2 +p_149110_1_,walkSpeedIn,2 +p_149111_1_,isCreativeMode,2 +p_149161_1_,worldIn,0 +p_149299_1_,key,2 +p_149300_1_,key,2 +p_149381_1_,worldIn,0 +p_149469_1_,isMoving,2 +p_149483_1_,isFlying,2 +p_149485_1_,flySpeedIn,2 +p_149490_1_,isInvulnerable,2 +p_149491_1_,isAllowFlying,2 +p_149492_1_,walkSpeedIn,2 +p_149493_1_,isCreativeMode,2 +p_149564_1_,worldIn,2 +p_149634_0_,itemIn,2 +p_149638_1_,exploder,2 +p_149647_1_,tab,2 +p_149654_1_,point,2 +p_149659_1_,explosionIn,2 +p_149661_1_,point,2 +p_149663_1_,name,2 +p_149666_1_,itemIn,0 +p_149666_2_,tab,0 +p_149666_3_,list,0 +p_149667_1_,other,2 +p_149672_1_,sound,2 +p_149675_1_,shouldTick,2 +p_149676_1_,minX,2 +p_149676_2_,minY,2 +p_149676_3_,minZ,2 +p_149676_4_,maxX,2 +p_149676_5_,maxY,2 +p_149676_6_,maxZ,2 +p_149679_1_,fortune,2 +p_149679_2_,random,2 +p_149680_0_,blockIn,2 +p_149680_1_,other,2 +p_149682_0_,blockIn,2 +p_149684_0_,name,2 +p_149687_1_,point,2 +p_149711_1_,hardness,2 +p_149713_1_,opacity,2 +p_149715_1_,value,2 +p_149729_0_,id,2 +p_149738_1_,worldIn,2 +p_149745_1_,random,2 +p_149752_1_,resistance,2 +p_149801_0_,meta,2 +p_149829_1_,fallingEntity,2 +p_149854_1_,ground,2 +p_149907_1_,other,2 +p_149908_1_,blockIn,2 +p_149909_0_,blockIn,2 +p_149915_1_,worldIn,2 +p_149915_2_,meta,2 +p_149917_0_,meta,2 +p_149928_1_,blockIn,2 +p_149928_2_,meta,2 +p_149937_0_,meta,2 +p_149939_0_,coords,2 +p_149940_1_,stack,2 +p_150002_1_,meta,2 +p_150003_0_,blockIn,0 +p_150011_1_,combinedMeta,2 +p_150089_1_,meta,2 +p_150098_1_,blockIn,2 +p_150119_0_,blockIn,2 +p_150122_1_,fancy,0 +p_150209_1_,event,2 +p_150217_1_,italic,2 +p_150221_1_,parent,2 +p_150225_1_,strikethrough,2 +p_150227_1_,boldIn,2 +p_150228_1_,underlined,2 +p_150237_1_,obfuscated,2 +p_150238_1_,color,2 +p_150241_1_,event,2 +p_150255_1_,style,2 +p_150257_1_,component,2 +p_150258_1_,text,2 +p_150262_0_,components,2 +p_150269_1_,format,2 +p_150272_1_,index,2 +p_150284_0_,id,2 +p_150295_1_,key,2 +p_150295_2_,type,2 +p_150297_1_,key,2 +p_150297_2_,type,2 +p_150298_0_,name,2 +p_150298_1_,data,2 +p_150298_2_,output,2 +p_150299_1_,key,2 +p_150304_1_,idx,2 +p_150304_2_,nbt,2 +p_150305_1_,i,2 +p_150306_1_,i,2 +p_150307_1_,i,2 +p_150308_1_,i,2 +p_150309_1_,i,2 +p_150503_1_,ctx,2 +p_150503_2_,buffer,2 +p_150526_1_,worldIn,2 +p_150541_1_,worldIn,2 +p_150695_1_,style,2 +p_150695_2_,object,2 +p_150695_3_,ctx,2 +p_150696_0_,component,2 +p_150699_0_,json,2 +p_150708_1_,random,2 +p_150709_1_,maxDamagePercentIn,2 +p_150718_1_,message,2 +p_150719_1_,handler,2 +p_150722_0_,address,0 +p_150723_1_,newState,2 +p_150726_0_,address,0 +p_150726_1_,port,0 +p_150727_1_,key,2 +p_150732_1_,inPacket,2 +p_150732_2_,futureListeners,2 +p_150752_0_,packetIn,2 +p_150760_0_,stateId,2 +p_150786_1_,nbt,2 +p_150787_1_,input,2 +p_150788_1_,stack,2 +p_150789_1_,maxLength,2 +p_150790_0_,input,2 +p_150808_1_,x,2 +p_150808_2_,y,2 +p_150808_3_,z,2 +p_150810_1_,x,2 +p_150810_2_,y,2 +p_150810_3_,z,2 +p_150811_1_,x,2 +p_150811_2_,z,2 +p_150813_1_,tileEntityIn,2 +p_150819_1_,x,2 +p_150819_2_,y,2 +p_150819_3_,z,2 +p_150826_0_,key,2 +p_150891_0_,itemIn,2 +p_150892_1_,stack,2 +p_150893_1_,stack,2 +p_150893_2_,block,2 +p_150895_1_,itemIn,0 +p_150895_2_,tab,0 +p_150895_3_,subItems,0 +p_150896_1_,stack,2 +p_150897_1_,blockIn,2 +p_150898_0_,blockIn,2 +p_150899_0_,id,2 +p_150902_0_,nbt,0 +p_150902_1_,tooltip,0 +p_150903_0_,stack,0 +p_150903_1_,key,0 +p_150905_1_,stack,2 +p_150906_1_,stack,2 +p_150910_1_,emptyBuckets,2 +p_150910_2_,player,2 +p_150910_3_,fullBucket,2 +p_150911_1_,stack,2 +p_150911_2_,worldIn,2 +p_150911_3_,player,2 +p_150912_0_,mapId,0 +p_150912_1_,worldIn,0 +p_150926_0_,name,0 +p_150930_0_,nbt,2 +p_150943_1_,names,2 +p_150974_0_,meta,2 +p_150978_0_,stack,2 +p_150996_1_,newItem,2 +p_150998_1_,blockIn,2 +p_151001_1_,displayName,2 +p_151188_1_,integerValueIn,2 +p_151190_1_,jsonSerializableValueIn,2 +p_151225_0_,url,2 +p_151225_1_,content,2 +p_151225_2_,skipLoggingErrors,2 +p_151226_0_,url,2 +p_151226_1_,data,2 +p_151226_2_,skipLoggingErrors,2 +p_151246_0_,string,2 +p_151255_1_,string,2 +p_151256_1_,ctx,2 +p_151256_2_,data,2 +p_151265_1_,address,2 +p_151265_2_,port,2 +p_151315_1_,motd,2 +p_151319_1_,countData,2 +p_151320_1_,faviconBlob,2 +p_151321_1_,protocolVersionData,2 +p_151330_1_,playersIn,2 +p_151367_1_,user,2 +p_151367_2_,attacker,2 +p_151367_3_,level,2 +p_151368_1_,user,2 +p_151368_2_,target,2 +p_151368_3_,level,2 +p_151386_0_,player,2 +p_151387_0_,player,2 +p_151392_1_,player,2 +p_151392_2_,newTeam,2 +p_151393_1_,input,2 +p_151393_2_,stack,2 +p_151393_3_,experience,2 +p_151394_1_,input,2 +p_151394_2_,stack,2 +p_151394_3_,experience,2 +p_151395_1_,stack,2 +p_151396_1_,input,2 +p_151396_2_,stack,2 +p_151396_3_,experience,2 +p_151397_1_,stack1,2 +p_151397_2_,stack2,2 +p_151398_1_,stack,2 +p_151426_0_,id,2 +p_151462_1_,keyCode,0 +p_151507_0_,objectsList,2 +p_151507_1_,buffer,2 +p_151508_0_,buffer,2 +p_151509_1_,buffer,2 +p_151510_0_,buffer,2 +p_151510_1_,object,2 +p_151616_0_,biomeIDA,2 +p_151616_1_,biomeIDB,2 +p_152106_1_,playerProfile,2 +p_152107_1_,type,2 +p_152114_1_,entityIn,2 +p_152115_1_,ownerUuid,2 +p_152117_1_,jockey,2 +p_152125_0_,x,0 +p_152125_1_,y,0 +p_152125_2_,u,0 +p_152125_3_,v,0 +p_152125_4_,uWidth,0 +p_152125_5_,vHeight,0 +p_152125_6_,width,0 +p_152125_7_,height,0 +p_152125_8_,tileWidth,0 +p_152125_9_,tileHeight,0 +p_152340_1_,imageStream,0 +p_152343_1_,callableToSchedule,0 +p_152344_1_,runnableToSchedule,2 +p_152361_1_,configManager,2 +p_152372_1_,sender,2 +p_152372_2_,command,2 +p_152372_4_,msgFormat,2 +p_152372_5_,msgParams,2 +p_152373_0_,sender,2 +p_152373_1_,command,2 +p_152373_2_,msgFormat,2 +p_152373_3_,msgParams,2 +p_152374_0_,sender,2 +p_152374_1_,command,2 +p_152374_3_,msgFormat,2 +p_152374_4_,msgParams,2 +p_152376_1_,level,2 +p_152376_2_,creatureType,2 +p_152378_1_,uuid,2 +p_152421_0_,sessionTypeIn,0 +p_152446_1_,input,2 +p_152446_2_,depth,2 +p_152446_3_,sizeTracker,2 +p_152447_0_,input,2 +p_152447_1_,sizeTracker,2 +p_152448_0_,input,2 +p_152448_1_,sizeTracker,2 +p_152449_0_,id,2 +p_152449_1_,key,2 +p_152449_2_,input,2 +p_152449_3_,depth,2 +p_152449_4_,sizeTracker,2 +p_152450_1_,bits,2 +p_152459_0_,compound,2 +p_152506_1_,original,2 +p_152583_1_,serverDataIn,0 +p_152584_1_,mode,0 +p_152596_1_,profile,2 +p_152597_1_,profile,2 +p_152601_1_,profile,2 +p_152602_1_,playerIn,2 +p_152605_1_,profile,2 +p_152607_1_,profile,2 +p_152610_1_,profile,2 +p_152611_1_,distance,2 +p_152612_1_,username,2 +p_152641_1_,data,2 +p_152650_0_,server,2 +p_152681_1_,obj,2 +p_152682_1_,entryData,2 +p_152683_1_,obj,2 +p_152686_1_,state,2 +p_152687_1_,entry,2 +p_152692_1_,entry,2 +p_152701_1_,profile,2 +p_152702_1_,profile,2 +p_152703_1_,username,2 +p_152707_1_,address,2 +p_152708_1_,address,2 +p_152709_1_,address,2 +p_152710_0_,server,1 +p_152711_0_,dir,1 +p_152712_0_,properties,1 +p_152713_0_,input,1 +p_152713_1_,defaultValue,1 +p_152714_0_,properties,1 +p_152715_0_,properties,1 +p_152717_0_,server,2 +p_152717_1_,names,2 +p_152717_2_,callback,2 +p_152718_0_,server,1 +p_152721_0_,inFile,1 +p_152721_1_,read,1 +p_152722_0_,server,1 +p_152723_0_,server,1 +p_152724_0_,server,1 +p_152725_0_,properties,1 +p_152727_0_,convertedFile,1 +p_152754_0_,base,0 +p_152754_1_,key,0 +p_152755_0_,url,0 +p_154334_1_,saveName,0 +p_154347_1_,inFile,1 +p_174794_1_,type,2 +p_174794_2_,amount,2 +p_174806_1_,pitch,2 +p_174806_2_,yaw,2 +p_174810_1_,isSilent,2 +p_174816_2_,worldIn,2 +p_174862_0_,worldIn,2 +p_174862_1_,fence,2 +p_174863_0_,worldIn,2 +p_174863_1_,pos,2 +p_174867_1_,ticks,2 +p_174876_1_,playerInventory,2 +p_174876_2_,playerIn,2 +p_174878_1_,posIn,2 +p_174882_1_,playerIn,2 +p_174884_0_,input,2 +p_174885_1_,id,2 +p_174885_2_,value,2 +p_174886_1_,player,2 +p_174887_1_,id,2 +p_174889_1_,player,2 +p_174892_1_,code,2 +p_174942_1_,location,0 +p_174943_1_,resourceManager,0 +p_174953_1_,modelLocation,0 +p_174959_1_,pos,2 +p_174960_1_,pos,2 +p_174961_1_,recordName,2 +p_174961_2_,blockPosIn,2 +p_174962_1_,entityIn,0 +p_174962_2_,partialTicks,0 +p_174968_1_,worldRendererIn,0 +p_174970_1_,viewEntity,0 +p_174970_2_,partialTicks,0 +p_174970_4_,camera,0 +p_174970_5_,frameCount,0 +p_174970_6_,playerSpectator,0 +p_174972_1_,particleIn,0 +p_174976_1_,partialTicks,0 +p_174976_2_,pass,0 +p_174977_1_,blockLayerIn,0 +p_174977_2_,partialTicks,0 +p_174977_4_,pass,0 +p_174977_5_,entityIn,0 +p_174982_1_,blockLayerIn,0 +p_175029_1_,blk,0 +p_175029_2_,subType,0 +p_175029_3_,identifier,0 +p_175030_1_,fr,0 +p_175030_2_,stack,0 +p_175030_3_,xPosition,0 +p_175030_4_,yPosition,0 +p_175031_1_,blk,0 +p_175031_2_,identifier,0 +p_175032_1_,renderer,0 +p_175032_2_,quads,0 +p_175032_3_,color,0 +p_175032_4_,stack,0 +p_175033_1_,renderer,0 +p_175033_2_,quad,0 +p_175033_3_,color,0 +p_175034_1_,transform,0 +p_175035_1_,model,0 +p_175035_2_,color,0 +p_175036_1_,model,0 +p_175036_2_,stack,0 +p_175038_1_,renderer,0 +p_175038_2_,quad,0 +p_175040_1_,stack,0 +p_175040_2_,model,0 +p_175040_3_,cameraTransformType,0 +p_175042_1_,stack,0 +p_175042_2_,x,0 +p_175042_3_,y,0 +p_175043_1_,stack,0 +p_175044_1_,renderer,0 +p_175044_2_,x,0 +p_175044_3_,y,0 +p_175044_4_,width,0 +p_175044_5_,height,0 +p_175044_6_,color,0 +p_175045_1_,model,0 +p_175045_2_,color,0 +p_175045_3_,stack,0 +p_175046_1_,stack,0 +p_175047_1_,itm,0 +p_175047_2_,identifier,0 +p_175048_1_,itm,0 +p_175048_2_,subType,0 +p_175048_3_,identifier,0 +p_175049_1_,stack,0 +p_175049_2_,entityToRenderFor,0 +p_175049_3_,cameraTransformType,0 +p_175050_1_,stack,0 +p_175068_1_,pass,0 +p_175068_2_,partialTicks,0 +p_175068_3_,finishTimeNano,0 +p_175086_1_,packetIn,2 +p_175087_1_,packetIn,2 +p_175088_1_,packetIn,2 +p_175089_1_,x,2 +p_175089_3_,y,2 +p_175089_5_,z,2 +p_175089_7_,yaw,2 +p_175089_8_,pitch,2 +p_175089_9_,relativeSet,2 +p_175093_1_,packetIn,2 +p_175094_1_,packetIn,2 +p_175095_1_,packetIn,2 +p_175096_1_,packetIn,2 +p_175097_1_,packetIn,2 +p_175098_1_,packetIn,2 +p_175099_1_,packetIn,2 +p_175100_1_,packetIn,2 +p_175101_1_,packetIn,2 +p_175108_1_,worldIn,2 +p_175111_0_,stack,2 +p_175112_1_,stack,2 +p_175113_0_,stack,2 +p_175117_0_,stack,2 +p_175141_1_,signTile,2 +p_175146_1_,code,2 +p_175147_0_,username,2 +p_175150_1_,reducedDebug,0 +p_175158_1_,brand,0 +p_175162_1_,pos,0 +p_175174_1_,xCoord,0 +p_175174_2_,yCoord,0 +p_175174_3_,minU,0 +p_175174_4_,minV,0 +p_175174_5_,maxU,0 +p_175174_6_,maxV,0 +p_175175_1_,xCoord,0 +p_175175_2_,yCoord,0 +p_175175_3_,textureSprite,0 +p_175180_1_,partialTicks,0 +p_175184_1_,index,0 +p_175184_2_,xPos,0 +p_175184_3_,yPos,0 +p_175184_4_,partialTicks,0 +p_175211_1_,width,0 +p_175237_1_,scaledResolutionIn,0 +p_175273_1_,mcIn,0 +p_175274_1_,newChatText,0 +p_175274_2_,shouldOverwrite,0 +p_175275_1_,msg,0 +p_175281_1_,msg,0 +p_175281_2_,addToChat,0 +p_175397_1_,url,2 +p_175397_2_,hash,2 +p_175416_1_,tagCompound,2 +p_175447_1_,worldIn,2 +p_175496_1_,spawnedByPlayer,2 +p_175512_1_,color,2 +p_175529_1_,rabbitTypeId,2 +p_175547_1_,collarcolor,2 +p_175573_1_,shouldTrackOutput,2 +p_175576_1_,uuid,2 +p_175579_1_,worldIn,2 +p_175579_2_,pos,2 +p_175579_3_,playerIn,2 +p_175584_1_,worldNameIn,2 +p_175584_2_,saveHandlerIn,2 +p_175586_1_,callable,2 +p_175607_1_,viewingEntity,0 +p_175623_1_,pos,2 +p_175625_1_,pos,2 +p_175626_1_,pos,0 +p_175627_1_,pos,2 +p_175627_2_,direction,2 +p_175628_2_,pos,0 +p_175629_2_,pos,0 +p_175631_1_,pos,0 +p_175637_1_,blockType,2 +p_175637_2_,pos,2 +p_175637_3_,random,2 +p_175638_1_,pos,2 +p_175638_2_,lightType,2 +p_175639_1_,box,2 +p_175639_2_,allowEmpty,2 +p_175640_1_,pos,2 +p_175641_1_,pos,2 +p_175641_2_,blockIn,2 +p_175641_3_,eventID,2 +p_175641_4_,eventParam,2 +p_175642_1_,type,2 +p_175642_2_,pos,2 +p_175644_1_,entityType,2 +p_175644_2_,filter,2 +p_175645_1_,pos,2 +p_175646_1_,pos,2 +p_175646_2_,unusedTileEntity,2 +p_175647_1_,clazz,2 +p_175647_2_,aabb,2 +p_175647_3_,filter,2 +p_175648_1_,center,2 +p_175648_2_,radius,2 +p_175648_3_,allowEmpty,2 +p_175649_1_,pos,2 +p_175650_1_,entityCollection,2 +p_175651_1_,pos,2 +p_175651_2_,facing,2 +p_175652_1_,pos,2 +p_175653_1_,type,2 +p_175653_2_,pos,2 +p_175653_3_,lightValue,2 +p_175655_1_,pos,2 +p_175655_2_,dropBlock,2 +p_175656_1_,pos,2 +p_175656_2_,state,2 +p_175660_1_,player,2 +p_175660_2_,pos,2 +p_175661_1_,playerType,2 +p_175661_2_,filter,2 +p_175663_1_,xStart,2 +p_175663_2_,yStart,2 +p_175663_3_,zStart,2 +p_175663_4_,xEnd,2 +p_175663_5_,yEnd,2 +p_175663_6_,zEnd,2 +p_175663_7_,allowEmpty,2 +p_175664_1_,pos,2 +p_175666_1_,pos,2 +p_175666_2_,blockIn,2 +p_175667_1_,pos,2 +p_175668_1_,pos,2 +p_175668_2_,allowEmpty,2 +p_175670_1_,pos,2 +p_175670_2_,noWaterAdj,2 +p_175671_1_,pos,2 +p_175672_1_,pos,2 +p_175674_1_,entityIn,2 +p_175676_1_,pos,2 +p_175678_1_,pos,2 +p_175679_1_,pos,2 +p_175680_1_,x,2 +p_175680_2_,z,2 +p_175680_3_,allowEmpty,2 +p_175681_1_,entityCollection,2 +p_175682_1_,particleType,0 +p_175684_1_,pos,2 +p_175684_2_,blockIn,2 +p_175684_3_,delay,2 +p_175685_1_,pos,2 +p_175685_2_,blockType,2 +p_175687_1_,pos,2 +p_175688_1_,particleType,2 +p_175688_10_,yOffset,2 +p_175688_12_,zOffset,2 +p_175688_2_,xCoord,2 +p_175688_4_,yCoord,2 +p_175688_6_,zCoord,2 +p_175688_8_,xOffset,2 +p_175689_1_,pos,2 +p_175690_1_,pos,2 +p_175690_2_,tileEntityIn,2 +p_175691_1_,pos,2 +p_175691_2_,blockType,2 +p_175692_1_,newSkylightSubtracted,2 +p_175695_1_,pos,2 +p_175695_2_,blockType,2 +p_175695_3_,skipSide,2 +p_175696_1_,pos,2 +p_175697_1_,center,2 +p_175697_2_,radius,2 +p_175698_1_,pos,2 +p_175699_1_,pos,2 +p_175700_1_,tile,2 +p_175701_1_,pos,2 +p_175702_1_,lastLightningBoltIn,2 +p_175703_1_,pos,2 +p_175704_1_,rangeMin,2 +p_175704_2_,rangeMax,2 +p_175705_1_,type,0 +p_175706_1_,from,2 +p_175706_2_,to,2 +p_175706_3_,allowEmpty,2 +p_175707_1_,from,2 +p_175707_2_,to,2 +p_175708_1_,pos,2 +p_175708_2_,checkLight,2 +p_175709_1_,pos,2 +p_175709_2_,side,2 +p_175710_1_,pos,2 +p_175711_1_,box,2 +p_175713_1_,pos,2 +p_175715_1_,breakerId,2 +p_175715_2_,pos,2 +p_175715_3_,progress,2 +p_175719_1_,player,2 +p_175719_2_,pos,2 +p_175719_3_,side,2 +p_175720_11_,yOffset,2 +p_175720_13_,zOffset,2 +p_175720_3_,xCood,2 +p_175720_5_,yCoord,2 +p_175720_7_,zCoord,2 +p_175720_9_,xOffset,2 +p_175721_1_,pos,2 +p_175721_2_,checkNeighbors,2 +p_175722_1_,pos,2 +p_175722_2_,blockType,2 +p_175724_1_,pos,2 +p_175726_1_,pos,2 +p_175727_1_,strikePosition,2 +p_175733_1_,uuid,2 +p_175736_1_,pos,2 +p_175739_1_,particleType,2 +p_175739_2_,xCoord,2 +p_175739_4_,yCoord,2 +p_175739_6_,zCoord,2 +p_175739_8_,numberOfParticles,2 +p_175750_0_,category,2 +p_175750_1_,pos,2 +p_175750_2_,state,2 +p_175755_0_,input,2 +p_175756_0_,input,2 +p_175756_1_,min,2 +p_175756_3_,max,2 +p_175757_0_,sender,2 +p_175757_1_,args,2 +p_175760_0_,input,2 +p_175760_1_,min,2 +p_175760_3_,max,2 +p_175764_0_,input,2 +p_175764_1_,min,2 +p_175764_2_,max,2 +p_175765_0_,input,2 +p_175766_0_,input,2 +p_175769_0_,base,2 +p_175769_2_,input,2 +p_175769_3_,min,2 +p_175769_4_,max,2 +p_175769_5_,centerBlock,2 +p_175783_1_,shortcut,2 +p_175786_1_,sender,2 +p_175786_2_,args,2 +p_175786_3_,command,2 +p_175786_4_,input,2 +p_175789_1_,worldIn,2 +p_175792_2_,worldIn,2 +p_175794_1_,worldIn,2 +p_175796_1_,worldIn,2 +p_175804_1_,worldIn,2 +p_175805_1_,worldIn,2 +p_175806_1_,worldIn,2 +p_175807_1_,worldIn,2 +p_175808_1_,worldIn,2 +p_175809_1_,worldIn,2 +p_175810_1_,worldIn,2 +p_175811_1_,worldIn,2 +p_175817_1_,worldIn,2 +p_175819_1_,worldIn,2 +p_175821_1_,worldIn,2 +p_175835_1_,worldIn,2 +p_175837_1_,worldIn,2 +p_175838_1_,worldIn,2 +p_175839_1_,worldIn,2 +p_175840_3_,worldIn,2 +p_175841_1_,worldIn,2 +p_175842_1_,worldIn,2 +p_175903_1_,worldIn,2 +p_175905_1_,worldIn,2 +p_175906_1_,worldIn,2 +p_175921_1_,worldIn,2 +p_175922_1_,worldIn,2 +p_175923_1_,worldIn,2 +p_175924_1_,worldIn,2 +p_175925_1_,worldIn,2 +p_175926_1_,worldIn,2 +p_175927_2_,worldIn,2 +p_175928_1_,worldIn,2 +p_175929_1_,worldIn,2 +p_175930_1_,worldIn,2 +p_175932_1_,worldIn,2 +p_175933_1_,worldIn,2 +p_175934_1_,worldIn,2 +p_176052_1_,mapStack,2 +p_176052_2_,worldIn,2 +p_176052_3_,player,2 +p_176055_1_,doorBlock,2 +p_176056_1_,doorBlock,2 +p_176056_2_,radius,2 +p_176057_1_,pos,2 +p_176058_1_,doorPos,2 +p_176059_1_,doorBlock,2 +p_176060_1_,pos,2 +p_176061_1_,centerPos,2 +p_176061_2_,direction,2 +p_176061_3_,limitation,2 +p_176062_0_,provider,2 +p_176118_1_,lerpSize,2 +p_176119_1_,hardcoreIn,2 +p_176121_1_,allow,2 +p_176122_1_,amountOfBlocks,2 +p_176124_1_,posX,2 +p_176125_1_,damage,2 +p_176127_1_,settings,2 +p_176128_1_,enabled,2 +p_176129_1_,amount,2 +p_176135_1_,time,2 +p_176136_1_,ticks,2 +p_176141_1_,posZ,2 +p_176142_1_,cleanWeatherTimeIn,2 +p_176143_1_,spawnPoint,2 +p_176144_1_,newDifficulty,2 +p_176145_1_,size,2 +p_176193_1_,worldIn,2 +p_176193_2_,pos,2 +p_176193_3_,side,2 +p_176193_4_,stack,2 +p_176195_1_,worldIn,2 +p_176195_2_,pos,2 +p_176196_1_,worldIn,2 +p_176196_2_,pos,2 +p_176197_1_,worldIn,2 +p_176197_2_,pos,2 +p_176197_3_,entityIn,2 +p_176197_4_,motion,2 +p_176198_1_,worldIn,2 +p_176198_2_,pos,2 +p_176198_3_,side,2 +p_176199_1_,worldIn,2 +p_176199_2_,pos,2 +p_176199_3_,entityIn,2 +p_176200_1_,worldIn,2 +p_176200_2_,pos,2 +p_176201_1_,state,2 +p_176202_1_,worldIn,0 +p_176202_2_,pos,0 +p_176203_1_,meta,2 +p_176204_1_,worldIn,2 +p_176204_2_,pos,2 +p_176204_3_,state,2 +p_176204_4_,neighborBlock,2 +p_176205_1_,worldIn,2 +p_176205_2_,pos,2 +p_176206_1_,worldIn,2 +p_176206_2_,pos,2 +p_176206_3_,state,2 +p_176207_1_,worldIn,0 +p_176207_2_,pos,0 +p_176208_1_,worldIn,2 +p_176208_2_,pos,2 +p_176208_3_,state,2 +p_176208_4_,player,2 +p_176209_1_,state,2 +p_176209_2_,hitIfLiquid,2 +p_176210_0_,state,2 +p_176211_1_,worldIn,2 +p_176211_2_,pos,2 +p_176211_3_,state,2 +p_176211_4_,side,2 +p_176212_1_,worldIn,2 +p_176212_2_,pos,2 +p_176212_3_,side,2 +p_176213_1_,worldIn,2 +p_176213_2_,pos,2 +p_176213_3_,state,2 +p_176215_0_,id,2 +p_176215_1_,textualID,2 +p_176215_2_,block_,2 +p_176216_1_,worldIn,2 +p_176216_2_,entityIn,2 +p_176217_1_,state,0 +p_176219_0_,id,2 +p_176219_1_,textualID,2 +p_176219_2_,block_,2 +p_176220_0_,id,2 +p_176221_1_,state,2 +p_176221_2_,worldIn,2 +p_176221_3_,pos,2 +p_176222_1_,worldIn,2 +p_176222_2_,pos,2 +p_176224_1_,worldIn,2 +p_176224_2_,pos,2 +p_176225_1_,worldIn,0 +p_176225_2_,pos,0 +p_176225_3_,side,0 +p_176226_1_,worldIn,2 +p_176226_2_,pos,2 +p_176226_3_,state,2 +p_176226_4_,forture,2 +p_176232_1_,state,2 +p_176233_1_,meta,2 +p_176234_1_,worldIn,2 +p_176234_2_,pos,2 +p_176234_3_,state,2 +p_176234_4_,chance,2 +p_176235_1_,worldIn,2 +p_176235_2_,pos,2 +p_176253_1_,worldIn,2 +p_176253_2_,pos,2 +p_176260_1_,worldIn,2 +p_176260_2_,pos,2 +p_176260_3_,hookState,2 +p_176261_1_,worldIn,2 +p_176261_2_,pos,2 +p_176261_3_,state,2 +p_176262_1_,worldIn,2 +p_176267_0_,side,2 +p_176268_0_,state,2 +p_176269_1_,worldIn,2 +p_176269_2_,pos,2 +p_176269_3_,state,2 +p_176270_0_,face,2 +p_176281_0_,meta,2 +p_176282_0_,facing,2 +p_176286_1_,worldIn,2 +p_176286_2_,pos,2 +p_176286_3_,state,2 +p_176287_0_,worldIn,2 +p_176287_1_,pos,2 +p_176287_2_,state,2 +p_176287_3_,direction,2 +p_176288_1_,worldIn,2 +p_176288_2_,pos,2 +p_176302_0_,worldIn,2 +p_176302_1_,pos,2 +p_176302_2_,state,2 +p_176303_1_,worldIn,2 +p_176303_2_,pos,2 +p_176311_1_,worldIn,2 +p_176311_2_,pos,2 +p_176311_3_,state,2 +p_176312_1_,worldIn,2 +p_176312_2_,pos,2 +p_176314_1_,worldIn,2 +p_176316_1_,worldIn,2 +p_176316_2_,pos,2 +p_176316_3_,state,2 +p_176317_0_,meta,2 +p_176318_1_,worldIn,2 +p_176318_2_,pos,2 +p_176318_3_,facing,2 +p_176319_1_,worldIn,2 +p_176319_2_,pos,2 +p_176319_3_,direction,2 +p_176319_4_,extending,2 +p_176322_0_,meta,2 +p_176323_1_,state,2 +p_176324_1_,state,2 +p_176328_1_,worldIn,2 +p_176328_2_,pos,2 +p_176328_3_,state,2 +p_176329_1_,worldIn,2 +p_176329_2_,pos,2 +p_176337_1_,powerLevel,0 +p_176338_1_,worldIn,2 +p_176338_2_,pos,2 +p_176338_3_,state,2 +p_176339_1_,worldIn,2 +p_176339_2_,pos,2 +p_176339_3_,side,2 +p_176340_0_,worldIn,2 +p_176340_1_,pos,2 +p_176341_1_,worldIn,2 +p_176341_2_,pos,2 +p_176341_3_,direction,2 +p_176342_1_,worldIn,2 +p_176342_2_,pos,2 +p_176342_3_,strength,2 +p_176343_0_,blockState,2 +p_176343_1_,side,2 +p_176344_1_,worldIn,2 +p_176344_2_,pos,2 +p_176345_1_,worldIn,2 +p_176345_2_,pos1,2 +p_176345_3_,pos2,2 +p_176345_4_,state,2 +p_176346_0_,state,2 +p_176352_1_,worldIn,2 +p_176352_2_,pos,2 +p_176353_1_,worldIn,2 +p_176353_3_,state,2 +p_176354_1_,worldIn,2 +p_176354_2_,pos,2 +p_176356_1_,worldIn,2 +p_176356_2_,pos,2 +p_176357_0_,facing,2 +p_176358_1_,worldIn,2 +p_176358_2_,pos,2 +p_176361_0_,materialIn,2 +p_176362_1_,worldIn,2 +p_176362_2_,pos,2 +p_176363_0_,materialIn,2 +p_176365_1_,worldIn,2 +p_176365_2_,pos,2 +p_176365_3_,state,2 +p_176366_1_,worldIn,2 +p_176366_2_,pos,2 +p_176368_1_,worldIn,2 +p_176369_1_,worldIn,2 +p_176369_2_,pos,2 +p_176370_1_,worldIn,2 +p_176371_1_,worldIn,2 +p_176371_2_,pos,2 +p_176371_3_,currentMinLevel,2 +p_176372_1_,worldIn,2 +p_176372_2_,pos,2 +p_176372_3_,state,2 +p_176373_1_,worldIn,2 +p_176373_2_,pos,2 +p_176373_3_,state,2 +p_176374_1_,worldIn,2 +p_176374_2_,pos,2 +p_176374_3_,distance,2 +p_176374_4_,calculateFlowCost,2 +p_176375_1_,worldIn,2 +p_176375_2_,pos,2 +p_176375_3_,state,2 +p_176375_4_,level,2 +p_176376_1_,worldIn,2 +p_176376_2_,pos,2 +p_176377_0_,blockState,2 +p_176381_1_,worldIn,2 +p_176381_2_,pos,2 +p_176381_3_,facing,2 +p_176390_1_,worldIn,2 +p_176390_2_,pos,2 +p_176397_1_,worldIn,2 +p_176397_2_,pos,2 +p_176397_3_,state,2 +p_176398_1_,worldIn,2 +p_176398_2_,pos,2 +p_176398_3_,state,2 +p_176399_1_,state,2 +p_176400_1_,worldIn,2 +p_176400_2_,pos,2 +p_176400_3_,state,2 +p_176401_1_,worldIn,2 +p_176401_2_,pos,2 +p_176401_3_,side,2 +p_176402_1_,worldIn,2 +p_176402_2_,pos,2 +p_176402_3_,state,2 +p_176403_1_,state,2 +p_176404_1_,worldIn,2 +p_176404_2_,pos,2 +p_176404_3_,state,2 +p_176405_1_,worldIn,2 +p_176405_2_,pos,2 +p_176405_3_,state,2 +p_176406_1_,state,2 +p_176407_1_,worldIn,2 +p_176407_2_,pos,2 +p_176407_3_,state,2 +p_176408_1_,worldIn,2 +p_176408_2_,pos,2 +p_176408_3_,state,2 +p_176409_1_,worldIn,2 +p_176409_2_,pos,2 +p_176415_1_,worldIn,2 +p_176415_2_,pos,2 +p_176415_3_,stack,2 +p_176422_1_,worldIn,2 +p_176422_2_,pos,2 +p_176423_0_,state,2 +p_176423_1_,facing,2 +p_176423_2_,extending,2 +p_176423_3_,renderHead,2 +p_176424_1_,worldIn,2 +p_176424_2_,pos,2 +p_176424_3_,extendingBlock,2 +p_176424_4_,progress,2 +p_176424_5_,direction,2 +p_176427_1_,worldIn,2 +p_176427_2_,pos,2 +p_176427_3_,state,2 +p_176428_0_,meta,2 +p_176431_1_,worldIn,2 +p_176431_2_,pos,2 +p_176431_3_,state,2 +p_176431_4_,recordStack,2 +p_176433_1_,id,2 +p_176438_1_,worldIn,2 +p_176438_2_,pos,2 +p_176438_3_,state,2 +p_176439_1_,worldIn,2 +p_176439_2_,pos,2 +p_176442_1_,worldIn,2 +p_176442_2_,pos,2 +p_176445_1_,worldIn,2 +p_176445_2_,pos,2 +p_176445_3_,state,2 +p_176446_0_,active,2 +p_176446_1_,worldIn,2 +p_176446_2_,pos,2 +p_176450_0_,worldIn,2 +p_176450_1_,glassPos,2 +p_176453_1_,worldIn,2 +p_176453_2_,pos,2 +p_176454_1_,worldIn,2 +p_176454_2_,pos,2 +p_176455_1_,worldIn,2 +p_176455_2_,pos,2 +p_176455_3_,state,2 +p_176456_1_,worldIn,2 +p_176456_2_,pos,2 +p_176457_1_,worldIn,2 +p_176457_2_,pos,2 +p_176458_1_,worldIn,2 +p_176458_2_,pos,2 +p_176458_3_,state,2 +p_176460_1_,worldIn,2 +p_176460_2_,pos,2 +p_176460_3_,state,2 +p_176461_1_,worldIn,2 +p_176461_2_,facing,2 +p_176461_3_,pos,2 +p_176462_1_,worldIn,2 +p_176462_2_,pos,2 +p_176462_3_,state,2 +p_176468_0_,worldIn,2 +p_176468_1_,pos,2 +p_176468_2_,tries,2 +p_176469_0_,worldIn,2 +p_176469_1_,pos,2 +p_176470_1_,worldIn,2 +p_176470_2_,pos,2 +p_176473_1_,worldIn,2 +p_176473_2_,pos,2 +p_176473_3_,state,2 +p_176473_4_,isClient,2 +p_176474_1_,worldIn,2 +p_176474_2_,rand,2 +p_176474_3_,pos,2 +p_176474_4_,state,2 +p_176475_1_,worldIn,2 +p_176475_2_,pos,2 +p_176475_3_,state,2 +p_176476_1_,worldIn,2 +p_176476_2_,pos,2 +p_176476_3_,state,2 +p_176476_4_,rand,2 +p_176477_1_,worldIn,2 +p_176477_2_,pos,2 +p_176477_3_,type,2 +p_176478_1_,worldIn,2 +p_176478_2_,pos,2 +p_176478_3_,state,2 +p_176478_4_,rand,2 +p_176482_1_,worldIn,2 +p_176482_2_,pos,2 +p_176482_3_,state,2 +p_176485_1_,worldIn,2 +p_176485_2_,pos,2 +p_176485_3_,state,2 +p_176485_4_,rand,2 +p_176487_1_,worldIn,2 +p_176487_2_,pos,2 +p_176487_3_,state,2 +p_176489_1_,worldIn,2 +p_176489_2_,pos,2 +p_176489_3_,state,2 +p_176489_4_,player,2 +p_176490_1_,worldIn,2 +p_176490_2_,pos,2 +p_176491_1_,worldIn,2 +p_176491_2_,lowerPos,2 +p_176491_3_,variant,2 +p_176491_4_,flags,2 +p_176499_1_,worldIn,2 +p_176499_2_,pos,2 +p_176499_3_,state,2 +p_176500_1_,worldIn,2 +p_176500_2_,pos,2 +p_176500_3_,state,2 +p_176502_1_,worldIn,2 +p_176502_2_,pos,2 +p_176503_1_,worldIn,2 +p_176503_2_,pos,2 +p_176510_0_,meta,2 +p_176511_0_,combinedMeta,2 +p_176512_1_,worldIn,2 +p_176512_2_,pos,2 +p_176512_3_,open,2 +p_176513_0_,combinedMeta,2 +p_176514_0_,worldIn,2 +p_176514_1_,pos,2 +p_176515_0_,worldIn,2 +p_176515_1_,pos,2 +p_176516_0_,combinedMeta,2 +p_176517_0_,worldIn,2 +p_176517_1_,pos,2 +p_176518_0_,meta,2 +p_176524_1_,worldIn,2 +p_176524_2_,pos,2 +p_176529_1_,worldIn,2 +p_176529_2_,pos,2 +p_176530_1_,worldIn,2 +p_176530_2_,pos,2 +p_176532_1_,blockIn,2 +p_176533_1_,worldIn,2 +p_176533_2_,pos,2 +p_176534_1_,blockIn,2 +p_176535_1_,worldIn,2 +p_176535_2_,pos,2 +p_176536_1_,worldIn,2 +p_176536_2_,pos,2 +p_176536_3_,chance,2 +p_176536_4_,random,2 +p_176536_5_,age,2 +p_176537_1_,worldIn,2 +p_176537_2_,pos,2 +p_176538_1_,worldIn,2 +p_176538_2_,pos,2 +p_176548_1_,worldIn,2 +p_176549_0_,axis,2 +p_176553_1_,stack,2 +p_176561_1_,worldIn,2 +p_176561_2_,pos,2 +p_176561_3_,state,2 +p_176561_4_,neighborBlock,2 +p_176562_0_,worldIn,2 +p_176562_1_,pos,2 +p_176563_0_,state,2 +p_176564_1_,worldIn,2 +p_176566_1_,worldIn,2 +p_176566_2_,pos,2 +p_176566_3_,state,2 +p_176567_1_,worldIn,2 +p_176567_4_,distance,2 +p_176570_1_,worldIn,2 +p_176570_2_,pos,2 +p_176570_3_,state,2 +p_176571_1_,worldIn,2 +p_176571_2_,pos,2 +p_176571_3_,clazz,2 +p_176571_4_,filter,2 +p_176572_1_,pos,2 +p_176577_1_,worldIn,2 +p_176577_2_,pos,2 +p_176578_1_,worldIn,2 +p_176578_2_,pos,2 +p_176582_1_,worldIn,2 +p_176582_2_,pos,2 +p_176582_3_,facing,2 +p_176583_1_,worldIn,2 +p_176583_2_,pos,2 +p_176583_3_,state,2 +p_176586_1_,worldIn,2 +p_176586_2_,pos,2 +p_176588_1_,worldIn,2 +p_176588_2_,pos,2 +p_176590_1_,worldIn,2 +p_176590_2_,pos,2 +p_176590_3_,state,2 +p_176590_4_,level,2 +p_176592_1_,worldIn,2 +p_176592_2_,pos,2 +p_176592_3_,state,2 +p_176593_1_,worldIn,2 +p_176593_2_,pos,2 +p_176593_3_,state,2 +p_176594_1_,worldIn,2 +p_176594_2_,pos,2 +p_176595_1_,worldIn,2 +p_176595_2_,pos,2 +p_176595_3_,facing,2 +p_176597_1_,worldIn,2 +p_176597_2_,pos,2 +p_176597_3_,state,2 +p_176598_1_,worldIn,2 +p_176598_2_,pos,2 +p_176598_3_,turnOff,2 +p_176601_1_,facing,2 +p_176604_0_,spriteResourceLocation,0 +p_176613_0_,meta,2 +p_176625_0_,meta,2 +p_176643_0_,meta,2 +p_176660_0_,meta,2 +p_176673_0_,meta,2 +p_176686_0_,meta,2 +p_176717_0_,name,0 +p_176718_1_,facing,2 +p_176732_1_,axis,0 +p_176733_0_,angle,2 +p_176739_0_,name,0 +p_176741_0_,rand,2 +p_176764_0_,meta,2 +p_176766_0_,damage,2 +p_176794_0_,meta,2 +p_176810_0_,meta,2 +p_176825_0_,meta,2 +p_176837_0_,meta,2 +p_176853_0_,meta,2 +p_176856_0_,clickedSide,2 +p_176856_1_,entityFacing,2 +p_176870_0_,axis,2 +p_176878_0_,model,2 +p_176879_0_,meta,2 +p_176895_0_,meta,2 +p_176916_0_,meta,2 +p_176924_0_,metadata,2 +p_176938_0_,meta,2 +p_176967_0_,blockType,2 +p_176967_1_,meta,2 +p_177016_0_,meta,2 +p_177045_0_,meta,2 +p_177053_0_,imageStream,0 +p_177055_0_,name,0 +p_177055_1_,textureId,0 +p_177055_2_,mipmapLevels,0 +p_177055_3_,width,0 +p_177055_4_,height,0 +p_177059_1_,iconRegistry,0 +p_177062_1_,state,2 +p_177067_1_,entity,0 +p_177067_2_,x,0 +p_177067_4_,y,0 +p_177067_6_,z,0 +p_177070_1_,entity,0 +p_177071_1_,entity,0 +p_177071_2_,camera,0 +p_177071_3_,camX,0 +p_177071_5_,camY,0 +p_177071_7_,camZ,0 +p_177102_1_,entityObj,0 +p_177218_1_,facing,2 +p_177226_1_,property,2 +p_177226_2_,value,2 +p_177229_1_,property,2 +p_177231_1_,property,2 +p_177232_0_,values,2 +p_177232_1_,currentValue,2 +p_177235_1_,map,2 +p_177236_1_,property,2 +p_177236_2_,value,2 +p_177251_1_,origin,2 +p_177268_0_,id,0 +p_177332_0_,playerUUID,0 +p_177333_0_,playerUUID,0 +p_177334_0_,playerUUID,0 +p_177344_1_,id,0 +p_177347_1_,id,0 +p_177409_1_,hasEntitiesIn,2 +p_177411_1_,pos,2 +p_177411_2_,chunkManager,2 +p_177413_2_,pos,2 +p_177414_1_,entityIn,2 +p_177414_2_,aabb,2 +p_177414_3_,listToFill,2 +p_177415_1_,newInhabitedTime,2 +p_177417_1_,loaded,0 +p_177418_1_,pos,2 +p_177420_1_,newHeightMap,2 +p_177421_1_,lightPopulated,2 +p_177422_1_,pos,2 +p_177424_1_,pos,2 +p_177425_1_,pos,2 +p_177426_1_,pos,2 +p_177426_2_,tileEntityIn,2 +p_177427_1_,modified,2 +p_177428_1_,pos,2 +p_177430_1_,entityClass,2 +p_177430_2_,aabb,2 +p_177430_3_,listToFill,2 +p_177431_2_,pos,2 +p_177431_3_,value,2 +p_177432_1_,saveTime,2 +p_177433_1_,pos,2 +p_177435_1_,pos,2 +p_177436_1_,pos,2 +p_177436_2_,state,2 +p_177437_1_,pos,2 +p_177438_1_,x,2 +p_177438_2_,y,2 +p_177438_3_,z,2 +p_177440_1_,pos,2 +p_177443_1_,pos,2 +p_177444_1_,pos,2 +p_177446_1_,terrainPopulated,2 +p_177451_1_,playerUUID,2 +p_177452_1_,player,2 +p_177453_1_,player,2 +p_177459_1_,blockPosIn,2 +p_177480_1_,index,2 +p_177482_1_,index,2 +p_177482_2_,value,2 +p_177483_1_,x,2 +p_177483_2_,y,2 +p_177483_3_,z,2 +p_177484_1_,x,2 +p_177484_2_,y,2 +p_177484_3_,z,2 +p_177484_4_,state,2 +p_177485_1_,x,2 +p_177485_2_,y,2 +p_177485_3_,z,2 +p_177486_1_,dataArray,2 +p_177520_1_,facing,0 +p_177520_2_,vertexIndex,0 +p_177548_1_,left,2 +p_177548_2_,right,2 +p_177568_1_,property,2 +p_177578_1_,modelBlockIn,0 +p_177578_2_,modelRotationIn,0 +p_177578_3_,uvLocked,0 +p_177630_0_,random,2 +p_177631_0_,random,2 +p_177631_2_,dispenser,2 +p_177637_1_,property,2 +p_177637_2_,is,2 +p_177638_0_,blockIn,2 +p_177639_1_,testState,2 +p_177642_0_,blockType,2 +p_177643_1_,state,2 +p_177659_1_,aisle,2 +p_177662_1_,symbol,2 +p_177662_2_,blockMatcher,2 +p_177670_1_,palmOffset,2 +p_177670_2_,thumbOffset,2 +p_177670_3_,fingerOffset,2 +p_177679_1_,pos,2 +p_177681_1_,worldIn,2 +p_177681_2_,pos,2 +p_177682_1_,pos,2 +p_177682_2_,finger,2 +p_177682_3_,thumb,2 +p_177682_4_,lcache,2 +p_177683_0_,pos,2 +p_177683_1_,finger,2 +p_177683_2_,thumb,2 +p_177683_3_,palmOffset,2 +p_177683_4_,thumbOffset,2 +p_177683_5_,fingerOffset,2 +p_177690_1_,border,2 +p_177690_2_,newDistance,2 +p_177691_1_,border,2 +p_177691_2_,newTime,2 +p_177692_1_,border,2 +p_177692_2_,oldSize,2 +p_177692_4_,newSize,2 +p_177692_6_,time,2 +p_177693_1_,border,2 +p_177693_2_,x,2 +p_177693_4_,z,2 +p_177694_1_,border,2 +p_177694_2_,newSize,2 +p_177695_1_,border,2 +p_177695_2_,newSize,2 +p_177696_1_,border,2 +p_177696_2_,newAmount,2 +p_177702_1_,value,2 +p_177705_1_,value,2 +p_177706_0_,name,2 +p_177706_1_,clazz,2 +p_177706_2_,values,2 +p_177707_0_,name,2 +p_177707_1_,clazz,2 +p_177707_2_,values,2 +p_177708_0_,name,2 +p_177708_1_,clazz,2 +p_177708_2_,filter,2 +p_177709_0_,name,2 +p_177709_1_,clazz,2 +p_177712_0_,name,2 +p_177712_1_,filter,2 +p_177713_0_,name,2 +p_177713_1_,values,2 +p_177714_0_,name,2 +p_177715_1_,value,2 +p_177716_0_,name,2 +p_177718_1_,value,2 +p_177719_0_,name,2 +p_177719_1_,min,2 +p_177719_2_,max,2 +p_177723_1_,warningTime,2 +p_177724_1_,bufferSize,2 +p_177725_1_,size,2 +p_177729_1_,x,2 +p_177729_3_,z,2 +p_177730_1_,range,2 +p_177737_1_,listener,2 +p_177738_1_,oldSize,2 +p_177738_3_,newSize,2 +p_177738_5_,time,2 +p_177739_1_,x,2 +p_177739_3_,z,2 +p_177743_1_,bb,2 +p_177744_1_,newAmount,2 +p_177745_1_,entityIn,2 +p_177746_1_,pos,2 +p_177747_1_,warningDistance,2 +p_177750_1_,newSize,2 +p_177855_1_,x,2 +p_177855_2_,y,2 +p_177855_3_,z,2 +p_177855_4_,state,2 +p_177856_1_,x,2 +p_177856_2_,y,2 +p_177856_3_,z,2 +p_177857_1_,index,2 +p_177857_2_,state,2 +p_177858_1_,index,2 +p_177951_1_,to,2 +p_177953_1_,vec,2 +p_177954_1_,toX,2 +p_177954_3_,toY,2 +p_177954_5_,toZ,2 +p_177955_1_,vec,2 +p_177957_1_,xIn,2 +p_177957_3_,yIn,2 +p_177957_5_,zIn,2 +p_177963_1_,x,2 +p_177963_3_,y,2 +p_177963_5_,z,2 +p_177964_1_,n,2 +p_177965_1_,n,2 +p_177966_1_,factor,2 +p_177967_1_,facing,2 +p_177967_2_,n,2 +p_177969_0_,serialized,2 +p_177970_1_,n,2 +p_177971_1_,vec,2 +p_177972_1_,facing,2 +p_177973_1_,vec,0 +p_177975_0_,from,2 +p_177975_1_,to,2 +p_177979_1_,n,2 +p_177980_0_,from,2 +p_177980_1_,to,2 +p_177981_1_,n,2 +p_177982_1_,x,2 +p_177982_2_,y,2 +p_177982_3_,z,2 +p_177983_1_,vec,2 +p_177985_1_,n,2 +p_178080_1_,item,0 +p_178080_2_,definition,0 +p_178081_1_,item,0 +p_178081_2_,meta,0 +p_178082_1_,item,0 +p_178084_1_,stack,0 +p_178086_1_,item,0 +p_178086_2_,meta,0 +p_178086_3_,location,0 +p_178087_1_,item,0 +p_178087_2_,meta,0 +p_178088_1_,item,0 +p_178088_2_,meta,0 +p_178089_1_,stack,0 +p_178099_1_,entityIn,0 +p_178099_2_,heldStack,0 +p_178113_1_,stack,0 +p_178121_1_,assoc,0 +p_178121_2_,stateMapper,0 +p_178122_1_,state,0 +p_178123_1_,builtIns,0 +p_178125_1_,state,0 +p_178144_0_,te,2 +p_178159_1_,renderDistanceChunks,0 +p_178163_1_,viewEntityX,0 +p_178163_3_,viewEntityZ,0 +p_178170_1_,stack,2 +p_178173_0_,stack,2 +p_178204_1_,blockAccessIn,0 +p_178204_2_,blockIn,0 +p_178204_3_,blockPosIn,0 +p_178204_4_,facingIn,0 +p_178204_5_,quadBounds,0 +p_178204_6_,boundsFlags,0 +p_178258_1_,blockAccessIn,0 +p_178258_2_,modelIn,0 +p_178258_3_,blockIn,0 +p_178258_4_,blockPosIn,0 +p_178258_5_,worldRendererIn,0 +p_178258_6_,checkSides,0 +p_178259_1_,blockAccessIn,0 +p_178259_2_,modelIn,0 +p_178259_3_,blockStateIn,0 +p_178259_4_,blockPosIn,0 +p_178259_5_,worldRendererIn,0 +p_178260_1_,blockAccessIn,0 +p_178260_2_,blockIn,0 +p_178260_3_,blockPosIn,0 +p_178260_4_,faceIn,0 +p_178260_5_,brightnessIn,0 +p_178260_6_,ownBrightness,0 +p_178260_7_,worldRendererIn,0 +p_178260_8_,listQuadsIn,0 +p_178260_9_,boundsFlags,0 +p_178261_1_,blockIn,0 +p_178261_2_,vertexData,0 +p_178261_3_,facingIn,0 +p_178261_4_,quadBounds,0 +p_178261_5_,boundsFlags,0 +p_178263_1_,blockAccessIn,0 +p_178263_2_,blockIn,0 +p_178263_3_,blockPosIn,0 +p_178263_4_,worldRendererIn,0 +p_178263_5_,listQuadsIn,0 +p_178263_6_,quadBounds,0 +p_178263_7_,boundsFlags,0 +p_178263_8_,aoFaceIn,0 +p_178265_1_,blockAccessIn,0 +p_178265_2_,modelIn,0 +p_178265_3_,blockIn,0 +p_178265_4_,blockPosIn,0 +p_178265_5_,worldRendererIn,0 +p_178265_6_,checkSides,0 +p_178267_1_,blockAccessIn,0 +p_178267_2_,modelIn,0 +p_178267_3_,blockStateIn,0 +p_178267_4_,blockPosIn,0 +p_178267_5_,worldRendererIn,0 +p_178267_6_,checkSides,0 +p_178269_1_,blockAccess,0 +p_178269_2_,blockPosIn,0 +p_178269_3_,blockMaterial,0 +p_178270_1_,blockAccess,0 +p_178270_2_,blockStateIn,0 +p_178270_3_,blockPosIn,0 +p_178270_4_,worldRendererIn,0 +p_178358_1_,jsonObject,0 +p_178358_2_,key,0 +p_178358_3_,defaultValue,0 +p_178359_1_,element,0 +p_178359_2_,type,0 +p_178359_3_,context,0 +p_178392_1_,textureMapIn,0 +p_178392_2_,blockModel,0 +p_178402_1_,faceData,0 +p_178402_10_,shade,0 +p_178402_2_,vertexIndex,0 +p_178402_3_,facing,0 +p_178402_4_,partFace,0 +p_178402_6_,sprite,0 +p_178402_7_,modelRotationIn,0 +p_178402_8_,partRotation,0 +p_178402_9_,uvLocked,0 +p_178403_1_,pos1,0 +p_178403_2_,pos2,0 +p_178404_1_,faceData,0 +p_178404_2_,storeIndex,0 +p_178404_3_,vertexIndex,0 +p_178404_4_,position,0 +p_178404_5_,shadeColor,0 +p_178404_6_,sprite,0 +p_178404_7_,faceUV,0 +p_178405_8_,shade,0 +p_178406_1_,position,0 +p_178406_2_,rotationOrigin,0 +p_178406_3_,rotationMatrix,0 +p_178406_4_,scale,0 +p_178414_1_,posFrom,0 +p_178414_2_,posTo,0 +p_178414_3_,face,0 +p_178414_4_,sprite,0 +p_178414_5_,facing,0 +p_178414_6_,modelRotationIn,0 +p_178414_7_,partRotation,0 +p_178414_8_,uvLocked,0 +p_178414_9_,shade,0 +p_178415_1_,position,0 +p_178415_2_,facing,0 +p_178415_3_,vertexIndex,0 +p_178415_4_,modelRotationIn,0 +p_178415_5_,uvLocked,0 +p_178470_1_,worldIn,0 +p_178573_2_,pos,0 +p_178577_1_,frameIndexIn,0 +p_178602_1_,worldIn,0 +p_178602_3_,pos,0 +p_178606_1_,pos,0 +p_178608_0_,pos,0 +p_178609_1_,pos,0 +p_178685_0_,source,0 +p_178685_1_,dest,0 +p_178719_1_,invisible,0 +p_178765_1_,renderer,0 +p_178765_2_,scale,0 +p_178767_1_,type,2 +p_178781_0_,x1,2 +p_178781_10_,z2,2 +p_178781_2_,y1,2 +p_178781_4_,z1,2 +p_178781_6_,x2,2 +p_178781_8_,y2,2 +p_178785_1_,yaw,2 +p_178786_1_,x,2 +p_178786_3_,y,2 +p_178786_5_,z,2 +p_178787_1_,vec,2 +p_178788_1_,vec,2 +p_178789_1_,pitch,2 +p_178815_1_,locked,2 +p_178819_1_,name,2 +p_178822_1_,name,2 +p_178822_2_,objective,2 +p_178888_1_,pos,0 +p_178888_2_,side,0 +p_178891_0_,mcIn,0 +p_178892_1_,worldIn,0 +p_178902_2_,worldIn,0 +p_178927_1_,particleId,0 +p_179214_0_,blockIn,2 +p_179214_1_,itemIn,2 +p_179215_1_,nbt,2 +p_179216_0_,blockIn,2 +p_179217_0_,id,2 +p_179217_1_,textualID,2 +p_179217_2_,itemIn,2 +p_179218_1_,stack,2 +p_179218_2_,worldIn,2 +p_179218_3_,blockIn,2 +p_179218_4_,pos,2 +p_179218_5_,playerIn,2 +p_179219_0_,id,2 +p_179219_1_,textualID,2 +p_179219_2_,itemIn,2 +p_179221_1_,armorStand,2 +p_179221_2_,rand,2 +p_179222_1_,worldIn,0 +p_179222_2_,pos,0 +p_179222_3_,side,0 +p_179222_4_,player,0 +p_179222_5_,stack,0 +p_179224_0_,worldIn,2 +p_179224_1_,pos,2 +p_179224_2_,stack,2 +p_179225_1_,stack,2 +p_179229_1_,stack,2 +p_179229_2_,player,2 +p_179230_0_,book,2 +p_179232_1_,stack,2 +p_179232_2_,player,2 +p_179232_3_,worldIn,2 +p_179232_4_,target,2 +p_179232_5_,newState,2 +p_179233_1_,worldIn,2 +p_179233_2_,pos,2 +p_179233_3_,clickedSide,2 +p_179234_0_,stack,2 +p_179234_1_,worldIn,2 +p_179234_2_,target,2 +p_179235_0_,worldIn,2 +p_179235_1_,pos,2 +p_179235_2_,facing,2 +p_179235_3_,door,2 +p_179237_1_,other,2 +p_179238_1_,idx,2 +p_179244_1_,direction,2 +p_179244_2_,packetId,2 +p_179245_1_,direction,2 +p_179245_2_,packetClass,2 +p_179246_1_,direction,2 +p_179246_2_,packetIn,2 +p_179249_1_,value,2 +p_179250_1_,array,2 +p_179252_1_,uuid,2 +p_179254_1_,value,2 +p_179255_1_,pos,2 +p_179256_1_,component,2 +p_179257_1_,enumClass,2 +p_179288_1_,packetIn,2 +p_179288_2_,listener,2 +p_179288_3_,listeners,2 +p_179289_1_,treshold,2 +p_179290_1_,packetIn,2 +p_179298_1_,ctx,2 +p_179298_2_,input,2 +p_179298_3_,output,2 +p_179299_1_,treshold,2 +p_179303_1_,treshold,2 +p_179318_0_,clazz,2 +p_179318_1_,sets,2 +p_179321_0_,sets,2 +p_179322_0_,clazz,2 +p_179322_1_,it,2 +p_179323_0_,arrays,2 +p_179324_1_,array,2 +p_179342_0_,particleId,2 +p_179399_0_,keys,2 +p_179399_1_,values,2 +p_179399_2_,map,2 +p_179400_0_,keys,2 +p_179400_1_,values,2 +p_179401_1_,recipeList,2 +p_179401_2_,random,2 +p_179474_1_,worldIn,2 +p_179488_1_,worldIn,2 +p_179518_1_,rand,2 +p_179519_1_,facing,2 +p_179541_1_,stack,2 +p_179543_1_,key,2 +p_179543_2_,create,2 +p_179544_1_,blockIn,2 +p_179545_0_,stackA,2 +p_179545_1_,stackB,2 +p_179546_1_,playerIn,2 +p_179546_2_,worldIn,2 +p_179546_3_,pos,2 +p_179546_4_,side,2 +p_179546_5_,hitX,2 +p_179546_6_,hitY,2 +p_179546_7_,hitZ,2 +p_179547_1_,blockIn,2 +p_179548_1_,worldIn,2 +p_179548_2_,blockIn,2 +p_179548_3_,pos,2 +p_179548_4_,playerIn,2 +p_179573_1_,stack,2 +p_179574_1_,stack,2 +p_179575_1_,stack,2 +p_179576_1_,stack,2 +p_179577_1_,stack,2 +p_179578_1_,stack,2 +p_179579_1_,stack,2 +p_179580_1_,stack,2 +p_179581_1_,stack,2 +p_179582_1_,stack,2 +p_179583_1_,stack,2 +p_179584_1_,stack,2 +p_179585_1_,stack,2 +p_179586_1_,stack,2 +p_179587_1_,stack,2 +p_179588_1_,stack,2 +p_179589_1_,stack,2 +p_179635_0_,name,2 +p_179660_4_,worldIn,2 +p_179667_0_,stats,2 +p_179667_1_,resultType,2 +p_179672_1_,sender,2 +p_179718_1_,handler,2 +p_179721_1_,handler,2 +p_179727_1_,worldIn,2 +p_179728_1_,handler,2 +p_179732_1_,handler,2 +p_179764_1_,worldIn,0 +p_179780_1_,worldIn,0 +p_179782_1_,handler,2 +p_179802_1_,handler,2 +p_179854_0_,deltaX,2 +p_179854_1_,deltaZ,2 +p_179864_1_,doorBlock,2 +p_179882_1_,string,2 +p_179885_1_,key,1 +p_179885_2_,defaultValue,1 +p_179969_0_,name,2 +p_179985_0_,commandSender,2 +p_179985_1_,component,2 +p_179989_1_,insertion,2 +p_180038_0_,id,2 +p_180102_1_,entityIn,2 +p_180103_1_,entityIn,2 +p_180115_1_,id,2 +p_180130_1_,entityIn,2 +p_180131_1_,entityIn,2 +p_180133_1_,direction,2 +p_180157_1_,nbt,2 +p_180158_0_,nbt,2 +p_180166_0_,collection,2 +p_180169_1_,difficulty,2 +p_180169_2_,worldTime,2 +p_180169_4_,chunkInhabitedTime,2 +p_180169_6_,moonPhaseFactor,2 +p_180173_0_,worldIn,2 +p_180174_0_,worldIn,2 +p_180175_0_,worldIn,2 +p_180176_0_,worldIn,2 +p_180180_1_,facing,2 +p_180186_0_,pos,0 +p_180187_0_,x,0 +p_180187_1_,y,0 +p_180187_2_,z,0 +p_180194_1_,type,2 +p_180195_1_,type,2 +p_180200_1_,type,2 +p_180202_1_,type,2 +p_180235_1_,pos,2 +p_180236_1_,player,2 +p_180236_2_,worldIn,2 +p_180236_3_,stack,2 +p_180236_4_,pos,2 +p_180236_5_,side,2 +p_180237_1_,pos,2 +p_180242_1_,living,2 +p_180262_1_,key,2 +p_180262_2_,value,2 +p_180262_3_,type,2 +p_180263_1_,name,2 +p_180264_1_,key,2 +p_180264_2_,otherValue,2 +p_180266_1_,entityIn,2 +p_180266_2_,rotationYaw,2 +p_180267_1_,worldIn,2 +p_180267_2_,pos,2 +p_180283_2_,blockPosition,0 +p_180284_1_,x,2 +p_180284_2_,z,2 +p_180292_1_,worldIn,2 +p_180302_1_,recipe,2 +p_180303_2_,worldIn,2 +p_180305_0_,location,2 +p_180306_0_,enchID,2 +p_180318_0_,player,2 +p_180319_0_,player,2 +p_180331_1_,x,2 +p_180331_2_,y,2 +p_180331_3_,z,2 +p_180344_1_,direction,2 +p_180350_1_,type,2 +p_180354_1_,type,2 +p_180359_1_,pos,2 +p_180416_1_,entityIn,2 +p_180428_2_,worldIn,2 +p_180430_1_,distance,2 +p_180430_2_,damageMultiplier,2 +p_180437_2_,partialTicks,0 +p_180437_3_,pass,0 +p_180438_2_,partialTicks,0 +p_180439_3_,blockPosIn,2 +p_180441_1_,breakerId,2 +p_180441_2_,pos,2 +p_180441_3_,progress,2 +p_180444_1_,worldRendererIn,0 +p_180446_3_,partialTicks,0 +p_180450_1_,stack,0 +p_180450_2_,xPosition,0 +p_180450_3_,yPosition,0 +p_180451_1_,model,0 +p_180452_1_,xPosition,0 +p_180452_2_,yPosition,0 +p_180452_3_,isGui3d,0 +p_180453_1_,fr,0 +p_180453_2_,stack,0 +p_180453_3_,xPosition,0 +p_180453_4_,yPosition,0 +p_180453_5_,text,0 +p_180454_1_,stack,0 +p_180454_2_,model,0 +p_180458_0_,worldIn,2 +p_180461_1_,index,2 +p_180461_2_,stack,2 +p_180461_3_,direction,2 +p_180462_1_,index,2 +p_180462_2_,itemStackIn,2 +p_180462_3_,direction,2 +p_180463_1_,side,2 +p_180464_1_,packetIn,2 +p_180467_0_,worldIn,2 +p_180467_1_,bedLocation,2 +p_180467_2_,forceSpawn,2 +p_180468_1_,guiOwner,2 +p_180469_1_,bedLocation,2 +p_180472_1_,villager,2 +p_180473_1_,pos,2 +p_180473_2_,forced,2 +p_180479_1_,sr,0 +p_180479_2_,partialTicks,0 +p_180494_1_,pos,2 +p_180495_1_,pos,2 +p_180496_1_,pos,2 +p_180496_2_,blockIn,2 +p_180497_1_,pos,2 +p_180500_1_,lightType,2 +p_180500_2_,pos,2 +p_180501_1_,pos,2 +p_180501_2_,newState,2 +p_180501_3_,flags,2 +p_180502_1_,pos,2 +p_180505_1_,particleType,2 +p_180505_10_,xOffset,2 +p_180505_12_,yOffset,2 +p_180505_14_,zOffset,2 +p_180505_3_,xCoord,2 +p_180505_5_,yCoord,2 +p_180505_7_,zCoord,2 +p_180505_9_,numberOfParticles,2 +p_180506_1_,sender,2 +p_180506_2_,input,2 +p_180506_3_,pos,2 +p_180507_1_,url,2 +p_180507_2_,hash,2 +p_180510_1_,textureManagerInstance,0 +p_180513_1_,worldIn,2 +p_180522_0_,pos,2 +p_180523_0_,category,2 +p_180523_1_,pos,2 +p_180523_2_,blockIn,2 +p_180523_3_,blockData,2 +p_180524_1_,sender,2 +p_180524_2_,input,2 +p_180524_3_,pos,2 +p_180525_1_,sender,2 +p_180525_2_,args,2 +p_180525_3_,pos,2 +p_180526_0_,input,2 +p_180526_1_,min,2 +p_180527_0_,input,2 +p_180528_0_,input,2 +p_180528_1_,min,2 +p_180530_0_,components,2 +p_180532_1_,pos,0 +p_180532_2_,side,0 +p_180535_2_,posX,0 +p_180535_4_,posZ,0 +p_180539_1_,mobSpawnerTileEntity,0 +p_180539_2_,posX,0 +p_180539_4_,posY,0 +p_180539_6_,posZ,0 +p_180539_8_,partialTicks,0 +p_180545_1_,entityBanner,0 +p_180545_2_,x,0 +p_180545_4_,y,0 +p_180545_6_,z,0 +p_180548_1_,entity,0 +p_180597_1_,worldIn,0 +p_180609_1_,central,2 +p_180612_1_,worldIn,0 +p_180614_1_,stack,2 +p_180614_2_,playerIn,2 +p_180614_3_,worldIn,2 +p_180614_4_,pos,2 +p_180614_5_,side,2 +p_180614_6_,hitX,2 +p_180614_7_,hitY,2 +p_180614_8_,hitZ,2 +p_180615_1_,stack,2 +p_180615_2_,worldIn,2 +p_180615_3_,pos,2 +p_180615_4_,variantInStack,2 +p_180616_1_,worldIn,2 +p_180616_2_,pos,2 +p_180617_0_,worldIn,0 +p_180617_1_,pos,0 +p_180617_2_,amount,0 +p_180618_0_,player,2 +p_180618_1_,worldIn,2 +p_180618_2_,fence,2 +p_180619_1_,y,2 +p_180620_1_,entityIn,2 +p_180621_0_,worldIn,2 +p_180621_1_,x,2 +p_180621_2_,z,2 +p_180622_1_,worldIn,2 +p_180624_1_,worldIn,2 +p_180626_1_,pos,2 +p_180628_1_,worldIn,2 +p_180630_1_,x,2 +p_180630_2_,z,2 +p_180630_3_,range,2 +p_180630_4_,biomes,2 +p_180630_5_,random,2 +p_180632_1_,state,2 +p_180633_1_,worldIn,2 +p_180633_2_,pos,2 +p_180633_3_,state,2 +p_180633_4_,placer,2 +p_180633_5_,stack,2 +p_180634_1_,worldIn,2 +p_180634_2_,pos,2 +p_180634_3_,state,2 +p_180634_4_,entityIn,2 +p_180635_0_,worldIn,2 +p_180635_1_,pos,2 +p_180635_2_,stack,2 +p_180636_1_,worldIn,2 +p_180636_2_,pos,2 +p_180636_3_,start,2 +p_180636_4_,end,2 +p_180637_1_,worldIn,2 +p_180637_2_,pos,2 +p_180637_3_,amount,2 +p_180638_1_,worldIn,2 +p_180638_2_,pos,2 +p_180638_3_,state,2 +p_180638_4_,mask,2 +p_180638_5_,list,2 +p_180638_6_,collidingEntity,2 +p_180639_1_,worldIn,2 +p_180639_2_,pos,2 +p_180639_3_,state,2 +p_180639_4_,playerIn,2 +p_180639_5_,side,2 +p_180639_6_,hitX,2 +p_180639_7_,hitY,2 +p_180639_8_,hitZ,2 +p_180640_1_,worldIn,2 +p_180640_2_,pos,2 +p_180640_3_,state,2 +p_180641_1_,worldIn,2 +p_180641_2_,pos,2 +p_180642_1_,worldIn,2 +p_180642_2_,pos,2 +p_180642_3_,facing,2 +p_180642_4_,hitX,2 +p_180642_5_,hitY,2 +p_180642_6_,hitZ,2 +p_180642_7_,meta,2 +p_180642_8_,placer,2 +p_180643_1_,state,2 +p_180644_1_,state,0 +p_180645_1_,worldIn,2 +p_180645_2_,pos,2 +p_180645_3_,state,2 +p_180645_4_,random,2 +p_180646_1_,worldIn,0 +p_180646_2_,pos,0 +p_180647_1_,playerIn,2 +p_180647_2_,worldIn,2 +p_180647_3_,pos,2 +p_180648_1_,worldIn,2 +p_180648_2_,pos,2 +p_180648_3_,state,2 +p_180648_4_,eventID,2 +p_180648_5_,eventParam,2 +p_180649_1_,worldIn,2 +p_180649_2_,pos,2 +p_180649_3_,playerIn,2 +p_180650_1_,worldIn,2 +p_180650_2_,pos,2 +p_180650_3_,state,2 +p_180650_4_,rand,2 +p_180651_1_,state,2 +p_180652_1_,worldIn,2 +p_180652_2_,pos,2 +p_180652_3_,explosionIn,2 +p_180653_1_,worldIn,2 +p_180653_2_,pos,2 +p_180653_3_,state,2 +p_180653_4_,chance,2 +p_180653_5_,fortune,2 +p_180654_1_,worldIn,2 +p_180654_2_,pos,2 +p_180655_1_,worldIn,0 +p_180655_2_,pos,0 +p_180655_3_,state,0 +p_180655_4_,rand,0 +p_180656_1_,worldIn,2 +p_180656_2_,pos,2 +p_180656_3_,state,2 +p_180656_4_,side,2 +p_180657_1_,worldIn,2 +p_180657_2_,player,2 +p_180657_3_,pos,2 +p_180657_4_,state,2 +p_180657_5_,te,2 +p_180658_1_,worldIn,2 +p_180658_2_,pos,2 +p_180658_3_,entityIn,2 +p_180658_4_,fallDistance,2 +p_180659_1_,state,2 +p_180660_1_,state,2 +p_180660_2_,rand,2 +p_180660_3_,fortune,2 +p_180662_1_,worldIn,0 +p_180662_2_,pos,0 +p_180662_3_,renderPass,0 +p_180663_1_,worldIn,2 +p_180663_2_,pos,2 +p_180663_3_,state,2 +p_180665_1_,worldIn,0 +p_180665_2_,pos,0 +p_180666_1_,worldIn,2 +p_180666_2_,pos,2 +p_180666_3_,state,2 +p_180666_4_,oldRedstoneStrength,2 +p_180667_1_,pos,2 +p_180669_1_,worldIn,2 +p_180669_2_,pos,2 +p_180670_1_,worldIn,2 +p_180670_2_,rand,2 +p_180670_3_,pos,2 +p_180670_4_,state,2 +p_180671_1_,worldIn,2 +p_180671_2_,pos,2 +p_180671_3_,state,2 +p_180672_0_,blockIn,2 +p_180672_1_,worldIn,2 +p_180672_2_,pos,2 +p_180673_1_,worldIn,2 +p_180673_2_,pos,2 +p_180674_1_,unpoweredState,2 +p_180675_1_,poweredState,2 +p_180676_1_,worldIn,2 +p_180676_2_,pos,2 +p_180677_1_,worldIn,2 +p_180677_2_,pos,2 +p_180678_1_,worldIn,2 +p_180678_2_,pos,2 +p_180678_3_,state,2 +p_180679_1_,worldIn,2 +p_180679_2_,pos,2 +p_180679_3_,te,2 +p_180680_1_,worldIn,2 +p_180680_2_,pos,2 +p_180680_3_,state,2 +p_180681_1_,state,2 +p_180682_1_,worldIn,2 +p_180682_2_,pos,2 +p_180682_3_,state,2 +p_180682_4_,player,2 +p_180683_1_,worldIn,2 +p_180683_2_,pos,2 +p_180684_1_,worldIn,2 +p_180684_2_,pos,2 +p_180685_0_,worldIn,2 +p_180685_1_,pos,2 +p_180686_1_,blockIn,2 +p_180686_2_,encouragement,2 +p_180686_3_,flammability,2 +p_180687_1_,worldIn,2 +p_180687_2_,pos,2 +p_180688_1_,worldIn,2 +p_180688_2_,pos,2 +p_180689_0_,worldIn,0 +p_180689_1_,pos,0 +p_180689_2_,materialIn,0 +p_180690_1_,worldIn,2 +p_180690_2_,pos,2 +p_180690_3_,currentState,2 +p_180691_1_,worldIn,2 +p_180691_2_,pos,2 +p_180692_1_,worldIn,2 +p_180692_2_,pos,2 +p_180692_3_,state,2 +p_180692_4_,igniter,2 +p_180693_1_,state,2 +p_180694_1_,worldIn,2 +p_180695_0_,worldIn,2 +p_180695_1_,clickedBlock,2 +p_180695_2_,entityIn,2 +p_180696_0_,blockIn,2 +p_180696_1_,worldIn,2 +p_180696_2_,pos,2 +p_180696_3_,direction,2 +p_180696_4_,allowDestroy,2 +p_180697_1_,pos,2 +p_180701_1_,worldIn,2 +p_180706_1_,worldIn,2 +p_180708_0_,tagCompound,2 +p_180708_1_,profile,2 +p_180709_1_,worldIn,2 +p_180711_1_,worldIn,2 +p_180714_1_,string,2 +p_180724_1_,handler,2 +p_180740_1_,netHandler,2 +p_180756_1_,handler,2 +p_180757_1_,handler,2 +p_180759_1_,handler,2 +p_180761_1_,handler,2 +p_180763_1_,handler,2 +p_180765_1_,handler,2 +p_180766_1_,handler,2 +p_180767_1_,handler,2 +p_180770_1_,handler,2 +p_180771_1_,handler,2 +p_180773_1_,handler,2 +p_180774_1_,handler,2 +p_180775_1_,handler,2 +p_180777_1_,worldIn,2 +p_180778_1_,worldIn,2 +p_180783_1_,locked,2 +p_180784_1_,pos,2 +p_180784_2_,side,2 +p_180785_1_,pos,2 +p_180786_0_,worldIn,0 +p_180790_1_,slotIndex,0 +p_180790_2_,x,0 +p_180790_3_,y,0 +p_180790_4_,listWidth,0 +p_180790_5_,slotHeight,0 +p_180790_6_,mouseX,0 +p_180790_7_,mouseY,0 +p_180790_8_,isSelected,0 +p_180791_1_,entryID,0 +p_70000_1_,playerSnooper,2 +p_70001_1_,playerSnooper,2 +p_70003_1_,permLevel,2 +p_70003_2_,commandName,2 +p_70011_1_,x,2 +p_70011_3_,y,2 +p_70011_5_,z,2 +p_70012_1_,x,2 +p_70012_3_,y,2 +p_70012_5_,z,2 +p_70012_7_,yaw,2 +p_70012_8_,pitch,2 +p_70014_1_,tagCompound,2 +p_70015_1_,seconds,2 +p_70016_1_,x,0 +p_70016_3_,y,0 +p_70016_5_,z,0 +p_70019_1_,eating,2 +p_70020_1_,tagCompund,2 +p_70024_1_,x,2 +p_70024_3_,y,2 +p_70024_5_,z,2 +p_70028_1_,entityIn,2 +p_70029_1_,worldIn,2 +p_70031_1_,sprinting,2 +p_70032_1_,entityIn,2 +p_70034_1_,rotation,2 +p_70037_1_,tagCompund,2 +p_70038_1_,x,2 +p_70038_3_,y,2 +p_70038_5_,z,2 +p_70039_1_,tagCompund,2 +p_70049_1_,numbers,2 +p_70050_1_,air,2 +p_70052_1_,flag,2 +p_70052_2_,set,2 +p_70055_1_,materialIn,2 +p_70060_1_,strafe,2 +p_70060_2_,forward,2 +p_70060_3_,friction,2 +p_70062_1_,slotIn,2 +p_70062_2_,stack,2 +p_70068_1_,entityIn,2 +p_70074_1_,entityLivingIn,2 +p_70077_1_,lightningBolt,2 +p_70078_1_,entityIn,2 +p_70080_1_,x,2 +p_70080_3_,y,2 +p_70080_5_,z,2 +p_70080_7_,yaw,2 +p_70080_8_,pitch,2 +p_70081_1_,amount,2 +p_70082_1_,yaw,0 +p_70082_2_,pitch,0 +p_70083_1_,flag,2 +p_70084_1_,entityIn,2 +p_70084_2_,amount,2 +p_70085_1_,player,2 +p_70087_1_,numbers,2 +p_70091_1_,x,2 +p_70091_3_,y,2 +p_70091_5_,z,2 +p_70092_1_,x,2 +p_70092_3_,y,2 +p_70092_5_,z,2 +p_70095_1_,sneaking,2 +p_70097_1_,source,2 +p_70097_2_,amount,2 +p_70099_1_,itemStackIn,2 +p_70099_2_,offsetY,2 +p_70100_1_,entityIn,2 +p_70101_1_,yaw,2 +p_70101_2_,pitch,2 +p_70105_1_,width,2 +p_70105_2_,height,2 +p_70107_1_,x,2 +p_70107_3_,y,2 +p_70107_5_,z,2 +p_70108_1_,entityIn,2 +p_70109_1_,tagCompund,2 +p_70112_1_,distance,0 +p_70114_1_,entityIn,2 +p_70186_1_,x,2 +p_70186_3_,y,2 +p_70186_5_,z,2 +p_70186_7_,velocity,2 +p_70186_8_,inaccuracy,2 +p_70227_1_,movingObject,2 +p_70289_1_,other,2 +p_70298_1_,index,2 +p_70298_2_,count,2 +p_70299_1_,index,2 +p_70299_2_,stack,2 +p_70300_1_,player,2 +p_70301_1_,index,2 +p_70304_1_,index,2 +p_70463_1_,row,2 +p_70463_2_,column,2 +p_70527_0_,expValue,2 +p_70604_1_,livingBase,2 +p_70634_1_,x,2 +p_70634_3_,y,2 +p_70634_5_,z,2 +p_70645_1_,cause,2 +p_70665_1_,damageSrc,2 +p_70665_2_,damageAmount,2 +p_70691_1_,healAmount,2 +p_70693_1_,player,2 +p_70877_1_,stack,2 +p_70878_1_,otherAnimal,2 +p_70903_1_,tamed,2 +p_70912_1_,skinId,2 +p_70916_1_,angry,2 +p_70938_1_,professionId,2 +p_70939_1_,playing,2 +p_70947_1_,mating,2 +p_70999_2_,updateWorldFlag,2 +p_70999_3_,setSpawn,2 +p_71007_1_,chestInventory,2 +p_71008_1_,stack,2 +p_71008_2_,duration,2 +p_71009_1_,entityHit,2 +p_71010_1_,itemStackIn,2 +p_71013_1_,levels,2 +p_71019_1_,itemStackIn,2 +p_71019_2_,unused,2 +p_71023_1_,amount,2 +p_71027_1_,dimensionId,2 +p_71029_1_,achievementIn,2 +p_71033_1_,gameType,2 +p_71043_1_,ignoreHunger,2 +p_71047_1_,entityHit,2 +p_71048_1_,bookStack,2 +p_71049_1_,oldPlayer,2 +p_71049_2_,respawnFromEnd,2 +p_71059_1_,targetEntity,2 +p_71064_1_,stat,2 +p_71064_2_,amount,2 +p_71110_1_,containerToSend,2 +p_71110_2_,itemsList,2 +p_71111_1_,containerToSend,2 +p_71111_2_,slotInd,2 +p_71111_3_,stack,2 +p_71112_1_,containerIn,2 +p_71112_2_,varToUpdate,2 +p_71112_3_,newValue,2 +p_71124_1_,slotIn,2 +p_71152_1_,currentXP,0 +p_71152_2_,maxXP,0 +p_71152_3_,level,0 +p_71188_1_,allowPvp,2 +p_71189_1_,host,1 +p_71191_1_,maxBuildHeight,2 +p_71192_1_,message,2 +p_71194_1_,enable,2 +p_71198_1_,msg,1 +p_71201_1_,msg,1 +p_71204_1_,demo,2 +p_71205_1_,motdIn,2 +p_71206_1_,type,2 +p_71206_2_,allowCheats,2 +p_71208_1_,port,1 +p_71209_1_,fileName,2 +p_71216_1_,message,2 +p_71216_2_,percent,2 +p_71218_1_,dimension,2 +p_71224_1_,owner,2 +p_71228_1_,report,2 +p_71229_1_,online,2 +p_71230_1_,report,2 +p_71235_1_,gameMode,2 +p_71236_1_,msg,2 +p_71237_1_,worldNameIn,2 +p_71244_1_,msg,1 +p_71245_1_,allow,2 +p_71247_3_,seed,2 +p_71247_5_,type,2 +p_71251_1_,spawnAnimals,2 +p_71252_1_,command,1 +p_71253_1_,keyPair,2 +p_71257_1_,spawnNpcs,2 +p_71261_1_,name,2 +p_71267_1_,dontLog,2 +p_71327_1_,key,1 +p_71327_2_,defaultValue,1 +p_71328_1_,key,1 +p_71328_2_,value,1 +p_71330_1_,key,1 +p_71330_2_,defaultValue,1 +p_71331_1_,input,1 +p_71331_2_,sender,1 +p_71332_1_,key,1 +p_71332_2_,defaultValue,1 +p_71351_1_,serverDataIn,0 +p_71353_1_,worldClientIn,0 +p_71353_2_,loadingMessage,0 +p_71354_1_,dimension,0 +p_71361_1_,message,0 +p_71366_1_,elapsedTicksTime,0 +p_71370_1_,width,0 +p_71370_2_,height,0 +p_71371_1_,folderName,0 +p_71371_2_,worldName,0 +p_71371_3_,worldSettingsIn,0 +p_71377_1_,crashReportIn,0 +p_71383_1_,keyCount,0 +p_71392_1_,width,0 +p_71392_2_,height,0 +p_71392_3_,width2,0 +p_71392_4_,height2,0 +p_71392_5_,stdTextureWidth,0 +p_71392_6_,stdTextureHeight,0 +p_71396_1_,theCrash,0 +p_71403_1_,worldClientIn,0 +p_71404_1_,crash,0 +p_71499_1_,sectionName,2 +p_71499_2_,throwable,2 +p_71500_1_,sectionName,2 +p_71500_2_,callable,2 +p_71506_1_,builder,2 +p_71507_1_,sectionName,2 +p_71507_2_,value,2 +p_71515_1_,sender,2 +p_71515_2_,args,2 +p_71518_1_,sender,2 +p_71519_1_,sender,2 +p_71521_0_,sender,2 +p_71523_0_,original,2 +p_71523_1_,region,2 +p_71527_0_,elements,2 +p_71529_0_,command,2 +p_71530_0_,args,2 +p_71530_1_,possibilities,2 +p_71556_1_,sender,2 +p_71556_2_,rawCommand,2 +p_71557_1_,sender,2 +p_71559_0_,input,2 +p_71560_1_,command,2 +p_71565_0_,input,2 +p_71566_0_,character,2 +p_72314_1_,x,2 +p_72314_3_,y,2 +p_72314_5_,z,2 +p_72315_1_,vec,2 +p_72316_1_,other,2 +p_72317_1_,x,2 +p_72317_3_,y,2 +p_72317_5_,z,2 +p_72318_1_,vec,2 +p_72319_1_,vec,2 +p_72321_1_,x,2 +p_72321_3_,y,2 +p_72321_5_,z,2 +p_72322_1_,other,2 +p_72323_1_,other,2 +p_72326_1_,other,2 +p_72331_1_,x,2 +p_72331_3_,y,2 +p_72331_5_,z,2 +p_72333_1_,vec,2 +p_72354_1_,playerIn,2 +p_72354_2_,worldIn,2 +p_72355_1_,netManager,2 +p_72355_2_,playerIn,2 +p_72356_1_,playerIn,2 +p_72356_2_,dimension,2 +p_72358_1_,playerIn,2 +p_72367_1_,playerIn,2 +p_72368_1_,playerIn,2 +p_72368_2_,dimension,2 +p_72368_3_,conqueredEnd,2 +p_72371_1_,whitelistEnabled,2 +p_72375_1_,playerIn,2 +p_72375_2_,worldIn,2 +p_72377_1_,playerIn,2 +p_72380_1_,playerIn,2 +p_72381_3_,worldIn,2 +p_72382_1_,address,2 +p_72385_1_,playerIn,2 +p_72391_1_,playerIn,2 +p_72429_1_,vec,2 +p_72429_2_,x,2 +p_72430_1_,vec,2 +p_72431_1_,vec,0 +p_72434_1_,vec,2 +p_72434_2_,z,2 +p_72435_1_,vec,2 +p_72435_2_,y,2 +p_72436_1_,vec,2 +p_72438_1_,vec,2 +p_72441_1_,x,2 +p_72441_3_,y,2 +p_72441_5_,z,2 +p_72444_1_,vec,0 +p_72593_1_,currentTime,1 +p_72601_1_,socket,1 +p_72604_1_,socket,1 +p_72604_2_,removeFromList,1 +p_72605_1_,socket,1 +p_72605_2_,removeFromList,1 +p_72606_1_,msg,1 +p_72607_1_,msg,1 +p_72608_1_,socket,1 +p_72609_1_,msg,1 +p_72610_1_,msg,1 +p_72612_1_,logWarning,1 +p_72620_1_,data,1 +p_72620_2_,requestPacket,1 +p_72621_1_,requestPacket,1 +p_72622_1_,requestPacket,1 +p_72623_1_,exception,1 +p_72624_1_,requestPacket,1 +p_72625_1_,address,1 +p_72627_1_,requestPacket,1 +p_72654_3_,message,1 +p_72663_0_,input,1 +p_72667_1_,data,1 +p_72668_1_,data,1 +p_72670_1_,data,1 +p_72671_1_,data,1 +p_72703_1_,entityIn,2 +p_72704_1_,soundName,2 +p_72704_2_,x,2 +p_72704_4_,y,2 +p_72704_6_,z,2 +p_72704_8_,volume,2 +p_72704_9_,pitch,2 +p_72709_1_,entityIn,2 +p_72732_1_,worldClientIn,0 +p_72819_1_,delta,2 +p_72839_1_,entityIn,2 +p_72841_1_,key,2 +p_72857_1_,entityType,2 +p_72857_2_,aabb,2 +p_72857_3_,closestTo,2 +p_72867_1_,delta,2 +p_72870_1_,ent,2 +p_72877_1_,time,2 +p_72890_1_,entityIn,2 +p_72890_2_,distance,2 +p_72891_1_,hostile,2 +p_72891_2_,peaceful,2 +p_72894_1_,strength,0 +p_72897_1_,entityIn,0 +p_72907_1_,entityType,2 +p_72908_1_,x,2 +p_72908_3_,y,2 +p_72908_5_,z,2 +p_72908_7_,soundName,2 +p_72908_8_,volume,2 +p_72908_9_,pitch,2 +p_72914_1_,report,2 +p_72916_1_,x,2 +p_72916_2_,z,2 +p_72924_1_,name,2 +p_72960_1_,entityIn,2 +p_72960_2_,state,2 +p_72963_1_,settings,2 +p_72964_1_,chunkX,2 +p_72964_2_,chunkZ,2 +p_72975_1_,x1,2 +p_72975_2_,z1,2 +p_72975_3_,x2,2 +p_72975_4_,z2,2 +p_72977_1_,x,2 +p_72977_3_,y,2 +p_72977_5_,z,2 +p_72977_7_,distance,2 +p_72980_1_,x,2 +p_72980_10_,distanceDelay,2 +p_72980_3_,y,2 +p_72980_5_,z,2 +p_72980_7_,soundName,2 +p_72980_8_,volume,2 +p_72980_9_,pitch,2 +p_73045_1_,id,2 +p_73076_1_,type,2 +p_73077_1_,type,2 +p_73080_1_,serverWorld,2 +p_73085_1_,player,2 +p_73085_2_,worldIn,2 +p_73085_3_,stack,2 +p_73107_1_,damage,0 +p_73149_1_,x,2 +p_73149_2_,z,2 +p_73154_1_,x,2 +p_73154_2_,z,2 +p_73667_1_,key,1 +p_73667_2_,value,1 +p_73669_1_,key,1 +p_73669_2_,defaultValue,1 +p_73670_1_,key,1 +p_73670_2_,defaultValue,1 +p_73671_1_,key,1 +p_73671_2_,defaultValue,1 +p_73718_1_,progress,2 +p_73719_1_,message,2 +p_73720_1_,message,2 +p_73728_1_,x,0 +p_73728_2_,startY,0 +p_73728_3_,endY,0 +p_73728_4_,color,0 +p_73729_1_,x,0 +p_73729_2_,y,0 +p_73729_3_,textureX,0 +p_73729_4_,textureY,0 +p_73729_5_,width,0 +p_73729_6_,height,0 +p_73730_1_,startX,0 +p_73730_2_,endX,0 +p_73730_3_,y,0 +p_73730_4_,color,0 +p_73731_1_,fontRendererIn,0 +p_73731_2_,text,0 +p_73731_3_,x,0 +p_73731_4_,y,0 +p_73731_5_,color,0 +p_73732_1_,fontRendererIn,0 +p_73732_2_,text,0 +p_73732_3_,x,0 +p_73732_4_,y,0 +p_73732_5_,color,0 +p_73733_1_,left,0 +p_73733_2_,top,0 +p_73733_3_,right,0 +p_73733_4_,bottom,0 +p_73733_5_,startColor,0 +p_73733_6_,endColor,0 +p_73734_0_,left,0 +p_73734_1_,top,0 +p_73734_2_,right,0 +p_73734_3_,bottom,0 +p_73734_4_,color,0 +p_73863_1_,mouseX,0 +p_73863_2_,mouseY,0 +p_73863_3_,partialTicks,0 +p_73864_1_,mouseX,0 +p_73864_2_,mouseY,0 +p_73864_3_,mouseButton,0 +p_73869_1_,typedChar,0 +p_73869_2_,keyCode,0 +p_73878_1_,result,0 +p_73878_2_,id,0 +p_74290_0_,gameDirectory,0 +p_74507_0_,keyCode,0 +p_74510_0_,keyCode,0 +p_74510_1_,pressed,0 +p_74734_1_,output,2 +p_74742_1_,nbt,2 +p_74744_1_,i,2 +p_74757_1_,key,2 +p_74757_2_,value,2 +p_74759_1_,key,2 +p_74760_1_,key,2 +p_74762_1_,key,2 +p_74763_1_,key,2 +p_74764_1_,key,2 +p_74765_1_,key,2 +p_74767_1_,key,2 +p_74768_1_,key,2 +p_74768_2_,value,2 +p_74769_1_,key,2 +p_74770_1_,key,2 +p_74771_1_,key,2 +p_74772_1_,key,2 +p_74772_2_,value,2 +p_74773_1_,key,2 +p_74773_2_,value,2 +p_74774_1_,key,2 +p_74774_2_,value,2 +p_74775_1_,key,2 +p_74776_1_,key,2 +p_74776_2_,value,2 +p_74777_1_,key,2 +p_74777_2_,value,2 +p_74778_1_,key,2 +p_74778_2_,value,2 +p_74779_1_,key,2 +p_74780_1_,key,2 +p_74780_2_,value,2 +p_74781_1_,key,2 +p_74782_1_,key,2 +p_74782_2_,value,2 +p_74783_1_,key,2 +p_74783_2_,value,2 +p_74794_0_,inputStream,2 +p_74796_0_,is,2 +p_74799_1_,outputStream,2 +p_74803_1_,key,2 +p_74803_2_,format,2 +p_74805_1_,key,2 +p_74837_0_,key,2 +p_74837_1_,format,2 +p_74838_0_,key,2 +p_74860_1_,worldIn,2 +p_74871_1_,worldIn,2 +p_74875_1_,worldIn,2 +p_74878_1_,worldIn,2 +p_74882_1_,worldIn,2 +p_74889_1_,worldIn,2 +p_74893_1_,worldIn,2 +p_74935_1_,worldIn,2 +p_74990_1_,worldIn,2 +p_75067_1_,worldIn,2 +p_75068_1_,worldIn,2 +p_75070_1_,worldIn,2 +p_75092_1_,speed,0 +p_75114_1_,foodLevelIn,2 +p_75118_1_,player,2 +p_75119_1_,foodSaturationLevelIn,0 +p_75122_1_,foodLevelIn,2 +p_75122_2_,foodSaturationModifier,2 +p_75130_1_,inventoryIn,2 +p_75132_1_,listener,2 +p_75134_1_,playerIn,2 +p_75135_1_,stack,2 +p_75135_2_,startIndex,2 +p_75135_3_,endIndex,2 +p_75135_4_,useEndIndex,2 +p_75137_1_,id,0 +p_75137_2_,data,0 +p_75139_1_,slotId,2 +p_75140_1_,playerIn,2 +p_75140_2_,id,2 +p_75144_1_,slotId,2 +p_75144_2_,clickedButton,2 +p_75144_3_,mode,2 +p_75144_4_,playerIn,2 +p_75145_1_,playerIn,2 +p_75146_1_,slotIn,2 +p_75147_1_,inv,2 +p_75147_2_,slotIn,2 +p_75208_1_,stack,2 +p_75209_1_,amount,2 +p_75210_1_,stack,2 +p_75210_2_,amount,2 +p_75214_1_,stack,2 +p_75215_1_,stack,2 +p_75217_1_,inv,2 +p_75217_2_,slotIn,2 +p_75230_1_,trade,2 +p_75230_2_,firstItem,2 +p_75230_3_,secondItem,2 +p_75270_1_,sitting,2 +p_75615_1_,worldIn,2 +p_75616_1_,worldIn,2 +p_75620_1_,worldIn,2 +p_75671_1_,watched,2 +p_75673_1_,object,2 +p_75679_1_,id,2 +p_75681_1_,id,2 +p_75682_1_,id,2 +p_75682_2_,object,2 +p_75683_1_,id,2 +p_75691_1_,id,2 +p_75692_1_,id,2 +p_75692_2_,newData,2 +p_75693_1_,id,2 +p_75743_1_,key,2 +p_75755_1_,worldInformation,2 +p_75755_2_,tagCompound,2 +p_75758_1_,mapName,2 +p_75761_1_,worldInformation,2 +p_75763_1_,provider,2 +p_75801_1_,saveName,2 +p_75803_1_,saveName,2 +p_75805_1_,filename,2 +p_75806_1_,dirName,0 +p_75806_2_,newName,0 +p_75809_1_,filename,2 +p_75815_1_,worldIn,2 +p_75815_2_,x,2 +p_75815_3_,z,2 +p_75816_1_,worldIn,2 +p_75816_2_,chunkIn,2 +p_75819_1_,worldIn,2 +p_75819_2_,chunkIn,2 +p_75820_1_,chunkIn,2 +p_75820_2_,worldIn,2 +p_75822_1_,worldIn,2 +p_75822_2_,x,2 +p_75822_3_,z,2 +p_75823_1_,worldIn,2 +p_75830_0_,x,2 +p_75830_1_,y,2 +p_75830_2_,z,2 +p_75849_1_,point,2 +p_75895_1_,publicKey,2 +p_75895_2_,secretKey,2 +p_75904_1_,areaX,2 +p_75904_2_,areaY,2 +p_75904_3_,areaWidth,2 +p_75904_4_,areaHeight,2 +p_76043_0_,hash,2 +p_76043_1_,slotCount,2 +p_76044_0_,integer,2 +p_76056_1_,y,0 +p_76058_1_,x,0 +p_76060_1_,type,2 +p_76062_1_,worldName,2 +p_76064_1_,nbt,2 +p_76064_2_,playerNbt,2 +p_76068_1_,time,2 +p_76069_1_,thunderingIn,2 +p_76078_1_,version,2 +p_76080_1_,time,2 +p_76082_1_,nbt,2 +p_76084_1_,isRaining,2 +p_76085_1_,type,2 +p_76087_1_,z,0 +p_76090_1_,time,2 +p_76091_1_,initializedIn,2 +p_76155_0_,originalKey,2 +p_76157_0_,integer,2 +p_76179_0_,data,2 +p_76184_1_,nbt,2 +p_76186_1_,isDirty,2 +p_76187_1_,nbt,2 +p_76191_1_,player,2 +p_76191_2_,mapStack,2 +p_76271_0_,random,2 +p_76271_1_,collection,2 +p_76272_0_,collection,2 +p_76273_0_,random,2 +p_76273_1_,collection,2 +p_76318_1_,name,2 +p_76320_1_,name,2 +p_76337_0_,ticks,0 +p_76353_0_,arrow,2 +p_76358_0_,mob,2 +p_76362_0_,fireball,2 +p_76365_0_,player,2 +p_76452_1_,other,2 +p_76455_1_,entityIn,2 +p_76457_1_,entityIn,2 +p_76549_0_,worldDir,2 +p_76549_1_,chunkX,2 +p_76549_2_,chunkZ,2 +p_76550_0_,worldDir,2 +p_76550_1_,chunkX,2 +p_76550_2_,chunkZ,2 +p_76552_0_,worldDir,2 +p_76552_1_,chunkX,2 +p_76552_2_,chunkZ,2 +p_76558_1_,worldIn,2 +p_76560_1_,celestialAngle,0 +p_76560_2_,partialTicks,0 +p_76566_1_,x,2 +p_76566_2_,z,2 +p_76568_1_,x,0 +p_76568_2_,z,0 +p_76570_0_,dimension,2 +p_76581_1_,x,2 +p_76581_2_,y,2 +p_76581_3_,z,2 +p_76581_4_,value,2 +p_76582_1_,x,2 +p_76582_2_,y,2 +p_76582_3_,z,2 +p_76595_1_,x,2 +p_76595_2_,z,2 +p_76599_1_,x,2 +p_76599_3_,z,2 +p_76600_1_,x,2 +p_76600_2_,z,2 +p_76602_1_,newStorageArrays,2 +p_76606_1_,startY,2 +p_76606_2_,endY,2 +p_76609_1_,x,2 +p_76609_2_,z,2 +p_76609_3_,startY,2 +p_76609_4_,endY,2 +p_76611_1_,x,2 +p_76611_2_,z,2 +p_76612_1_,entityIn,2 +p_76615_1_,x,2 +p_76615_2_,y,2 +p_76615_3_,z,2 +p_76616_1_,biomeArray,2 +p_76617_1_,seed,2 +p_76628_1_,x,2 +p_76628_2_,y,2 +p_76628_3_,z,2 +p_76657_1_,x,2 +p_76657_2_,y,2 +p_76657_3_,z,2 +p_76657_4_,value,2 +p_76659_1_,newBlocklightArray,2 +p_76665_1_,x,2 +p_76665_2_,y,2 +p_76665_3_,z,2 +p_76666_1_,newSkylightArray,2 +p_76670_1_,x,2 +p_76670_2_,y,2 +p_76670_3_,z,2 +p_76674_1_,x,2 +p_76674_2_,y,2 +p_76674_3_,z,2 +p_76677_1_,x,2 +p_76677_2_,y,2 +p_76677_3_,z,2 +p_76677_4_,value,2 +p_76691_0_,nbt,2 +p_76704_1_,x,2 +p_76704_2_,z,2 +p_76705_1_,x,2 +p_76705_2_,z,2 +p_76706_1_,x,2 +p_76706_2_,z,2 +p_76706_3_,data,2 +p_76706_4_,length,2 +p_76707_1_,x,2 +p_76707_2_,z,2 +p_76709_1_,x,2 +p_76709_2_,z,2 +p_76710_1_,x,2 +p_76710_2_,z,2 +p_76711_1_,x,2 +p_76711_2_,z,2 +p_76711_3_,offset,2 +p_76712_1_,sectorNumber,2 +p_76712_2_,data,2 +p_76712_3_,length,2 +p_76713_1_,x,2 +p_76713_2_,z,2 +p_76713_3_,timestamp,2 +p_76839_1_,x,2 +p_76839_2_,z,2 +p_76840_1_,x,2 +p_76840_2_,z,2 +p_76885_1_,x,2 +p_76885_2_,z,2 +p_76931_1_,listToReuse,2 +p_76931_2_,x,2 +p_76931_3_,z,2 +p_76931_4_,width,2 +p_76931_5_,length,2 +p_76931_6_,cacheFlag,2 +p_76933_1_,oldBiomeList,2 +p_76933_2_,x,2 +p_76933_3_,z,2 +p_76933_4_,width,2 +p_76933_5_,depth,2 +p_76936_1_,listToReuse,2 +p_76936_2_,x,2 +p_76936_3_,z,2 +p_76936_4_,width,2 +p_76936_5_,length,2 +p_76977_1_,entity,0 +p_76977_2_,x,0 +p_76977_4_,y,0 +p_76977_6_,z,0 +p_76977_8_,partialTicks,0 +p_76986_1_,entity,0 +p_76986_2_,x,0 +p_76986_4_,y,0 +p_76986_6_,z,0 +p_76986_9_,partialTicks,0 +p_77124_1_,enable,2 +p_77130_0_,type,2 +p_77132_1_,version,2 +p_77146_0_,idIn,2 +p_77147_1_,capabilities,2 +p_77161_0_,id,2 +p_77191_0_,worldIn,2 +p_77272_0_,x,2 +p_77272_1_,z,2 +p_77316_1_,level,2 +p_77317_1_,enchantmentLevel,2 +p_77318_1_,level,2 +p_77318_2_,source,2 +p_77321_1_,enchantmentLevel,2 +p_77322_1_,enchName,2 +p_77326_1_,ench,2 +p_77444_1_,stat,2 +p_77501_0_,player,2 +p_77502_0_,player,2 +p_77506_0_,enchID,2 +p_77506_1_,stack,2 +p_77508_0_,stacks,2 +p_77508_1_,source,2 +p_77509_0_,player,2 +p_77510_0_,player,2 +p_77511_0_,enchID,2 +p_77511_1_,stacks,2 +p_77516_0_,modifier,2 +p_77516_1_,stacks,2 +p_77517_0_,player,2 +p_77518_0_,modifier,2 +p_77518_1_,stack,2 +p_77519_0_,player,2 +p_77569_2_,worldIn,2 +p_77596_1_,stack,2 +p_77596_2_,recipeComponents,2 +p_77609_1_,craftManager,2 +p_77613_1_,stack,2 +p_77615_1_,stack,2 +p_77615_2_,worldIn,2 +p_77615_3_,playerIn,2 +p_77615_4_,timeLeft,2 +p_77616_1_,stack,2 +p_77620_1_,meta,0 +p_77621_1_,worldIn,2 +p_77621_2_,playerIn,2 +p_77621_3_,useLiquids,2 +p_77622_1_,stack,2 +p_77622_2_,worldIn,2 +p_77622_3_,playerIn,2 +p_77624_1_,stack,0 +p_77624_2_,playerIn,0 +p_77624_3_,tooltip,0 +p_77624_4_,advanced,0 +p_77625_1_,maxStackSize,2 +p_77626_1_,stack,2 +p_77627_1_,hasSubtypes,2 +p_77631_1_,potionEffect,2 +p_77636_1_,stack,0 +p_77637_1_,tab,2 +p_77642_1_,containerItem,2 +p_77644_1_,stack,2 +p_77644_2_,target,2 +p_77644_3_,attacker,2 +p_77647_1_,damage,2 +p_77653_1_,stack,2 +p_77654_1_,stack,2 +p_77654_2_,worldIn,2 +p_77654_3_,playerIn,2 +p_77655_1_,unlocalizedName,2 +p_77656_1_,maxDamageIn,2 +p_77657_1_,stack,2 +p_77659_1_,itemStackIn,2 +p_77659_2_,worldIn,2 +p_77659_3_,playerIn,2 +p_77661_1_,stack,2 +p_77663_1_,stack,2 +p_77663_2_,worldIn,2 +p_77663_3_,entityIn,2 +p_77663_4_,itemSlot,2 +p_77663_5_,isSelected,2 +p_77667_1_,stack,2 +p_77828_0_,nbt,2 +p_77831_0_,meta,2 +p_77832_1_,stack,2 +p_77833_1_,meta,0 +p_77834_1_,meta,2 +p_77840_0_,worldIn,2 +p_77840_1_,entityID,2 +p_77840_2_,x,2 +p_77840_4_,y,2 +p_77840_6_,z,2 +p_77844_1_,id,2 +p_77844_2_,duration,2 +p_77844_3_,amplifier,2 +p_77844_4_,probability,2 +p_77849_1_,stack,2 +p_77849_2_,worldIn,2 +p_77849_3_,player,2 +p_77872_1_,worldIn,2 +p_77872_2_,viewer,2 +p_77872_3_,data,2 +p_77873_1_,stack,2 +p_77873_2_,worldIn,2 +p_77915_0_,dataValue,0 +p_77915_1_,bypassCache,0 +p_77944_0_,stack,2 +p_77945_1_,worldIn,2 +p_77945_2_,entityIn,2 +p_77945_3_,inventorySlot,2 +p_77945_4_,isCurrentItem,2 +p_77949_0_,nbt,2 +p_77950_1_,worldIn,2 +p_77950_2_,playerIn,2 +p_77955_1_,nbt,2 +p_77957_1_,worldIn,2 +p_77957_2_,playerIn,2 +p_77959_1_,other,2 +p_77961_1_,entityIn,2 +p_77961_2_,playerIn,2 +p_77963_1_,nbt,2 +p_77964_1_,meta,2 +p_77966_1_,ench,2 +p_77966_2_,level,2 +p_77969_1_,other,2 +p_77970_0_,stackA,2 +p_77970_1_,stackB,2 +p_77972_1_,amount,2 +p_77972_2_,entityIn,2 +p_77974_1_,worldIn,2 +p_77974_2_,playerIn,2 +p_77974_3_,timeLeft,2 +p_77979_1_,amount,2 +p_77980_1_,worldIn,2 +p_77980_2_,playerIn,2 +p_77980_3_,amount,2 +p_77982_1_,nbt,2 +p_77983_1_,key,2 +p_77983_2_,value,2 +p_77989_0_,stackA,2 +p_77989_1_,stackB,2 +p_78025_1_,texture,2 +p_78044_1_,armorType,2 +p_78046_1_,armorType,2 +p_78259_1_,str,0 +p_78259_2_,wrapWidth,0 +p_78268_1_,str,0 +p_78268_2_,x,0 +p_78268_3_,y,0 +p_78268_4_,wrapWidth,0 +p_78268_5_,addShadow,0 +p_78270_0_,formatChar,0 +p_78271_1_,str,0 +p_78271_2_,wrapWidth,0 +p_78272_0_,colorChar,0 +p_78276_1_,text,0 +p_78276_2_,x,0 +p_78276_3_,y,0 +p_78276_4_,color,0 +p_78279_1_,str,0 +p_78279_2_,x,0 +p_78279_3_,y,0 +p_78279_4_,wrapWidth,0 +p_78279_5_,textColor,0 +p_78280_1_,str,0 +p_78280_2_,wrapWidth,0 +p_78466_1_,partialTicks,0 +p_78468_2_,partialTicks,0 +p_78471_1_,partialTicks,0 +p_78471_2_,finishTimeNano,0 +p_78472_1_,partialTicks,0 +p_78474_1_,partialTicks,0 +p_78479_1_,partialTicks,0 +p_78479_2_,pass,0 +p_78480_1_,partialTicks,0 +p_78481_1_,partialTicks,0 +p_78717_1_,worldIn,0 +p_78745_1_,playerIn,0 +p_78752_1_,itemStackIn,0 +p_78753_1_,windowId,0 +p_78753_2_,slotId,0 +p_78753_3_,mouseButtonClicked,0 +p_78753_5_,playerIn,0 +p_78761_1_,itemStackIn,0 +p_78761_2_,slotId,0 +p_78764_1_,playerIn,0 +p_78764_2_,targetEntity,0 +p_78766_1_,playerIn,0 +p_78768_1_,playerIn,0 +p_78768_2_,targetEntity,0 +p_78769_1_,playerIn,0 +p_78769_2_,worldIn,0 +p_78769_3_,itemStackIn,0 +p_78837_0_,nbtCompound,0 +p_78870_1_,worldIn,0 +p_78874_2_,partialTicks,0 +p_82010_1_,tickable,1 +p_82142_1_,invisible,2 +p_82149_1_,entityIn,2 +p_82161_0_,armorSlot,2 +p_82161_1_,itemTier,2 +p_82169_1_,slotIn,2 +p_82227_1_,childZombie,2 +p_82229_1_,villager,2 +p_82242_1_,levels,2 +p_82340_1_,potionId,2 +p_82358_1_,args,2 +p_82358_2_,index,2 +p_82359_0_,sender,2 +p_82359_1_,username,2 +p_82370_1_,command,2 +p_82370_2_,args,2 +p_82448_1_,entityIn,2 +p_82482_1_,source,2 +p_82482_2_,stack,2 +p_82485_1_,source,2 +p_82486_0_,worldIn,2 +p_82486_1_,stack,2 +p_82486_2_,speed,2 +p_82486_3_,facing,2 +p_82486_4_,position,2 +p_82487_1_,source,2 +p_82487_2_,stack,2 +p_82488_1_,facingIn,2 +p_82489_1_,source,2 +p_82489_2_,facingIn,2 +p_82499_1_,worldIn,2 +p_82499_2_,position,2 +p_82566_1_,worldIn,2 +p_82567_2_,worldIn,2 +p_82572_1_,time,2 +p_82580_1_,key,2 +p_82581_1_,key,2 +p_82581_2_,expectedType,2 +p_82581_3_,ex,2 +p_82600_0_,index,2 +p_82685_1_,villageDefender,2 +p_82691_1_,worldIn,2 +p_82708_1_,id,2 +p_82709_1_,id,2 +p_82709_2_,type,2 +p_82710_1_,id,2 +p_82719_1_,nbt,2 +p_82721_1_,splashPotion,2 +p_82722_0_,nbt,2 +p_82734_1_,x,2 +p_82734_2_,z,2 +p_82750_1_,name,2 +p_82757_1_,value,2 +p_82764_1_,key,2 +p_82764_2_,ruleValue,2 +p_82765_1_,name,2 +p_82766_1_,name,2 +p_82767_1_,name,2 +p_82768_1_,nbt,2 +p_82781_0_,stack,2 +p_82782_0_,enchMap,2 +p_82782_1_,stack,2 +p_82787_2_,worldIn,2 +p_82789_1_,toRepair,2 +p_82789_2_,repair,2 +p_82790_1_,stack,0 +p_82790_2_,renderPass,0 +p_82813_1_,stack,2 +p_82813_2_,color,2 +p_82814_1_,stack,2 +p_82815_1_,stack,2 +p_82816_1_,stack,2 +p_82817_0_,potionEffects,2 +p_82840_1_,playerIn,0 +p_82840_2_,advanced,0 +p_82841_1_,cost,2 +p_82842_1_,frame,2 +p_82846_1_,playerIn,2 +p_82846_2_,index,2 +p_82847_1_,listeners,0 +p_82850_1_,newName,2 +p_82869_1_,playerIn,2 +p_82870_1_,playerIn,2 +p_82870_2_,stack,2 +p_82877_1_,speed,0 +p_85029_1_,category,2 +p_85030_1_,name,2 +p_85030_2_,volume,2 +p_85030_3_,pitch,2 +p_85031_1_,entityIn,2 +p_85055_0_,causeIn,2 +p_85055_1_,descriptionIn,2 +p_85057_1_,categoryName,2 +p_85057_2_,stacktraceLength,2 +p_85058_1_,name,2 +p_85069_1_,s1,2 +p_85069_2_,s2,2 +p_85070_1_,amount,2 +p_85072_1_,builder,2 +p_85073_1_,size,2 +p_85074_0_,x,2 +p_85074_2_,y,2 +p_85074_4_,z,2 +p_85102_1_,except,2 +p_85102_10_,pitch,2 +p_85102_2_,soundName,2 +p_85102_3_,x,2 +p_85102_5_,y,2 +p_85102_7_,z,2 +p_85102_9_,volume,2 +p_85118_1_,category,2 +p_90010_1_,inventoryIn,2 +p_90011_1_,ageable,2 +p_90036_0_,player,2 +p_92058_1_,stack,2 +p_92088_1_,x,0 +p_92088_11_,motionZ,0 +p_92088_13_,compund,0 +p_92088_3_,y,0 +p_92088_5_,z,0 +p_92088_7_,motionX,0 +p_92088_9_,motionY,0 +p_92089_1_,stack,2 +p_92103_1_,stack,2 +p_92103_2_,recipeComponents,2 +p_92110_1_,stack,2 +p_92111_1_,data,2 +p_92112_1_,rand,2 +p_92112_2_,minChance,2 +p_92112_3_,maxChance,2 +p_92112_4_,weight,2 +p_92113_1_,enchantment,0 +p_92113_2_,list,0 +p_92114_1_,rand,2 +p_92115_1_,stack,2 +p_92115_2_,enchantment,2 +p_92116_1_,itemList,0 +p_92116_2_,enchantmentType,0 +p_94041_1_,index,2 +p_94041_2_,stack,2 +p_94182_1_,holderIn,0 +p_94241_1_,worldIn,0 +p_94520_1_,key,2 +p_94522_0_,key,2 +p_94526_0_,inv,2 +p_94527_0_,slotIn,2 +p_94527_1_,stack,2 +p_94527_2_,stackSizeMatters,2 +p_94539_0_,explosionIn,2 +p_96122_1_,other,2 +p_96300_0_,friendlyName,2 +p_96332_0_,sender,2 +p_96332_1_,query,2 +p_96333_0_,strings,2 +p_96456_1_,scoreboardIn,2 +p_96456_2_,playerIn,2 +p_96499_1_,scoreboardIn,2 +p_96500_1_,nbt,2 +p_96501_1_,nbt,2 +p_96510_1_,name,2 +p_96513_1_,playerTeam,2 +p_96518_1_,name,2 +p_96520_1_,criteria,2 +p_96523_1_,playerTeam,2 +p_96529_1_,name,2 +p_96529_2_,objective,2 +p_96534_1_,objective,2 +p_96535_1_,name,2 +p_96535_2_,criteria,2 +p_96538_1_,playerTeam,2 +p_96631_1_,amount,2 +p_96631_2_,rand,2 +p_96660_1_,friendlyFire,2 +p_96662_1_,suffix,2 +p_96664_1_,name,2 +p_96666_1_,prefix,2 +p_98034_1_,player,0 +p_98035_1_,tagCompund,2 +p_98300_1_,friendlyInvisibles,2 +p_i1003_1_,mcIn,0 +p_i1004_1_,mcIn,0 +p_i1005_1_,mcIn,0 +p_i1007_1_,mcIn,0 +p_i1008_1_,mcIn,0 +p_i1009_1_,mcIn,0 +p_i1010_1_,mcIn,0 +p_i1011_1_,mcIn,0 +p_i1012_1_,mcIn,0 +p_i1013_1_,mcIn,0 +p_i1017_1_,mcIn,0 +p_i1020_1_,buttonId,0 +p_i1020_2_,x,0 +p_i1020_3_,y,0 +p_i1020_4_,buttonText,0 +p_i1021_1_,stateName,0 +p_i1021_2_,id,0 +p_i1022_1_,mcIn,0 +p_i1024_1_,defaultText,0 +p_i1027_1_,screen,0 +p_i1027_2_,settings,0 +p_i1040_1_,parentScreen,0 +p_i1041_1_,buttonID,0 +p_i1041_2_,xPos,0 +p_i1041_3_,yPos,0 +p_i1043_1_,screen,0 +p_i1043_2_,gameSettingsObj,0 +p_i1043_3_,manager,0 +p_i1044_1_,textureManagerInstance,0 +p_i1044_2_,skinCacheDirectory,0 +p_i1044_3_,sessionService,0 +p_i1052_1_,mcIn,0 +p_i1052_2_,width,0 +p_i1052_3_,height,0 +p_i1052_4_,topIn,0 +p_i1052_5_,bottomIn,0 +p_i1052_6_,slotHeightIn,0 +p_i1063_1_,mc,0 +p_i1085_1_,selectionListIn,0 +p_i1092_1_,playerInv,0 +p_i1092_2_,hopperInv,0 +p_i1093_1_,playerInv,0 +p_i1093_2_,horseInv,0 +p_i1093_3_,horse,0 +p_i1095_1_,buttonID,0 +p_i1095_2_,x,0 +p_i1095_3_,y,0 +p_i1096_3_,sessionTypeIn,0 +p_i1097_1_,teSign,0 +p_i1098_1_,usernameIn,0 +p_i1098_2_,playerIDIn,0 +p_i1098_3_,tokenIn,0 +p_i1098_4_,sessionTypeIn,0 +p_i1099_1_,mcIn,0 +p_i1101_1_,mcIn,0 +p_i1108_1_,x,2 +p_i1108_3_,y,2 +p_i1108_5_,z,2 +p_i1129_1_,profile,2 +p_i1134_1_,profile,2 +p_i1135_1_,profile,2 +p_i1135_2_,startDate,2 +p_i1135_3_,banner,2 +p_i1135_4_,endDate,2 +p_i1135_5_,banReason,2 +p_i1138_1_,bansFile,2 +p_i1144_1_,saveFile,2 +p_i1153_1_,vertices,0 +p_i1153_2_,texcoordU1,0 +p_i1153_3_,texcoordV1,0 +p_i1153_4_,texcoordU2,0 +p_i1153_5_,texcoordV2,0 +p_i1153_6_,textureWidth,0 +p_i1153_7_,textureHeight,0 +p_i1159_2_,startDate,2 +p_i1159_3_,banner,2 +p_i1159_4_,endDate,2 +p_i1171_1_,server,2 +p_i1171_2_,cacheFile,2 +p_i1176_1_,serverWorld,2 +p_i1181_2_,mcIn,0 +p_i1182_2_,mcIn,0 +p_i1182_3_,hostName,0 +p_i1182_4_,port,0 +p_i1184_1_,worldIn,0 +p_i1194_1_,mcIn,0 +p_i1195_1_,worldIn,0 +p_i1196_1_,worldIn,0 +p_i1197_1_,worldIn,0 +p_i1198_1_,worldIn,0 +p_i1201_1_,worldIn,0 +p_i1203_1_,worldIn,0 +p_i1204_1_,worldIn,0 +p_i1205_1_,worldIn,0 +p_i1206_1_,message,1 +p_i1206_2_,cause,1 +p_i1207_1_,message,1 +p_i1209_1_,worldIn,0 +p_i1210_2_,worldIn,0 +p_i1211_1_,worldIn,0 +p_i1213_2_,worldIn,0 +p_i1214_1_,worldIn,0 +p_i1215_1_,worldIn,0 +p_i1217_1_,worldIn,0 +p_i1219_1_,worldIn,0 +p_i1219_10_,ySpeedIn,0 +p_i1219_12_,zSpeedIn,0 +p_i1219_2_,xCoordIn,0 +p_i1219_4_,yCoordIn,0 +p_i1219_6_,zCoordIn,0 +p_i1219_8_,xSpeedIn,0 +p_i1220_1_,worldIn,0 +p_i1221_1_,worldIn,0 +p_i1227_1_,worldIn,0 +p_i1228_1_,worldIn,0 +p_i1229_1_,worldIn,0 +p_i1230_1_,worldIn,0 +p_i1231_1_,worldIn,0 +p_i1232_1_,worldIn,0 +p_i1232_10_,ySpeedIn,0 +p_i1232_12_,speedIn,0 +p_i1232_2_,xCoordIn,0 +p_i1232_4_,yCoordIn,0 +p_i1232_6_,zCoordIn,0 +p_i1232_8_,xSpeedIn,0 +p_i1233_1_,worldIn,0 +p_i1235_1_,worldIn,0 +p_i1237_1_,gameSettingsIn,0 +p_i1247_1_,mcIn,0 +p_i1249_1_,mcIn,0 +p_i1250_1_,bufferSize,0 +p_i1270_1_,bufferedImage,0 +p_i1271_1_,textureWidth,0 +p_i1271_2_,textureHeight,0 +p_i1274_1_,textureNames,0 +p_i1275_1_,textureResourceLocation,0 +p_i1277_3_,widthIn,0 +p_i1277_4_,heightIn,0 +p_i1282_1_,spriteName,0 +p_i1285_1_,iconName,0 +p_i1286_1_,iconName,0 +p_i1317_1_,mcIn,0 +p_i1317_2_,folderName,0 +p_i1317_3_,worldName,0 +p_i1317_4_,settings,0 +p_i1319_1_,motd,0 +p_i1319_2_,address,0 +p_i1348_1_,descriptionIn,2 +p_i1348_2_,causeThrowable,2 +p_i1352_1_,key,2 +p_i1352_2_,value,2 +p_i1353_1_,report,2 +p_i1353_2_,name,2 +p_i1356_1_,report,2 +p_i1359_1_,message,2 +p_i1359_2_,objects,2 +p_i1360_1_,message,2 +p_i1360_2_,replacements,2 +p_i1361_1_,message,2 +p_i1361_2_,replacements,2 +p_i1362_1_,message,2 +p_i1362_2_,replacements,2 +p_i1364_1_,message,2 +p_i1364_2_,replacements,2 +p_i1366_1_,defaultObjectIn,2 +p_i1368_1_,xCoord,2 +p_i1368_3_,yCoord,2 +p_i1368_5_,zCoord,2 +p_i1389_1_,data,2 +p_i1490_1_,bansFile,2 +p_i1491_1_,input,1 +p_i1491_2_,sender,1 +p_i1500_1_,server,2 +p_i1501_1_,mcServer,2 +p_i1503_1_,server,1 +p_i1508_1_,workDir,1 +p_i1513_1_,worldIn,2 +p_i1524_1_,worldIn,2 +p_i1530_1_,server,2 +p_i1530_2_,networkManagerIn,2 +p_i1530_3_,playerIn,2 +p_i1533_1_,size,1 +p_i1535_2_,requestPacket,1 +p_i1537_2_,socket,1 +p_i1556_1_,itemWeightIn,2 +p_i1558_1_,stack,2 +p_i1558_2_,minimumChance,2 +p_i1558_3_,maximumChance,2 +p_i1558_4_,itemWeightIn,2 +p_i1561_1_,title,2 +p_i1561_2_,customName,2 +p_i1561_3_,slotCount,2 +p_i1563_2_,playerStatCollector,2 +p_i1563_3_,startTime,2 +p_i1564_1_,damageSrcIn,2 +p_i1565_1_,fighterIn,2 +p_i1566_1_,damageTypeIn,2 +p_i1567_2_,damageSourceEntityIn,2 +p_i1568_3_,indirectEntityIn,2 +p_i1574_1_,id,2 +p_i1574_2_,effectDuration,2 +p_i1575_1_,id,2 +p_i1575_2_,effectDuration,2 +p_i1575_3_,effectAmplifier,2 +p_i1577_1_,other,2 +p_i1578_1_,worldIn,2 +p_i1582_1_,worldIn,2 +p_i1584_1_,armor,2 +p_i1585_1_,worldIn,2 +p_i1585_2_,x,2 +p_i1585_4_,y,2 +p_i1585_6_,z,2 +p_i1585_8_,expValue,2 +p_i1586_1_,worldIn,2 +p_i1587_1_,worldIn,2 +p_i1588_1_,worldIn,2 +p_i1590_1_,worldIn,2 +p_i1592_1_,worldIn,2 +p_i1594_1_,worldIn,2 +p_i1595_1_,worldIn,2 +p_i1599_1_,worldIn,2 +p_i1602_1_,worldIn,2 +p_i1603_1_,type,2 +p_i1603_2_,id,2 +p_i1603_3_,object,2 +p_i1604_1_,worldIn,2 +p_i1618_1_,entityIn,2 +p_i1621_1_,entityIn,2 +p_i1630_1_,leapingEntity,2 +p_i1646_2_,speedIn,2 +p_i1654_1_,entityIn,2 +p_i1671_2_,worldIn,2 +p_i1675_1_,worldIn,2 +p_i1676_1_,worldIn,2 +p_i1677_1_,name,2 +p_i1678_1_,worldIn,2 +p_i1679_1_,worldIn,2 +p_i1680_1_,worldIn,2 +p_i1681_1_,worldIn,2 +p_i1682_1_,worldIn,2 +p_i1683_1_,worldIn,2 +p_i1685_1_,worldIn,2 +p_i1686_1_,worldIn,2 +p_i1687_1_,worldIn,2 +p_i1688_1_,worldIn,2 +p_i1689_1_,worldIn,2 +p_i1691_1_,worldIn,2 +p_i1692_1_,worldIn,2 +p_i1693_1_,worldIn,2 +p_i1694_1_,worldIn,2 +p_i1695_1_,worldIn,2 +p_i1696_1_,worldIn,2 +p_i1697_1_,parent,2 +p_i1697_2_,partName,2 +p_i1697_3_,base,2 +p_i1697_4_,sizeHeight,2 +p_i1698_1_,worldIn,2 +p_i1699_1_,worldIn,0 +p_i1700_1_,worldIn,2 +p_i1701_1_,worldIn,2 +p_i1702_1_,worldIn,2 +p_i1703_1_,worldIn,2 +p_i1703_2_,posX,2 +p_i1703_4_,posY,2 +p_i1703_6_,posZ,2 +p_i1704_1_,worldIn,2 +p_i1705_1_,worldIn,2 +p_i1706_1_,worldIn,2 +p_i1709_1_,worldIn,2 +p_i1709_2_,x,2 +p_i1709_4_,y,2 +p_i1709_6_,z,2 +p_i1710_1_,worldIn,2 +p_i1710_2_,x,2 +p_i1710_4_,y,2 +p_i1710_6_,z,2 +p_i1710_8_,stack,2 +p_i1711_1_,worldIn,2 +p_i1712_1_,worldIn,2 +p_i1713_1_,worldIn,2 +p_i1714_1_,worldIn,2 +p_i1715_1_,worldIn,2 +p_i1716_1_,worldIn,2 +p_i1717_1_,worldIn,2 +p_i1718_1_,worldIn,2 +p_i1719_1_,worldIn,2 +p_i1720_1_,worldIn,2 +p_i1721_1_,worldIn,2 +p_i1722_1_,worldIn,2 +p_i1723_1_,worldIn,2 +p_i1725_1_,worldIn,2 +p_i1726_1_,worldIn,2 +p_i1727_1_,worldIn,2 +p_i1728_1_,worldIn,2 +p_i1729_1_,worldIn,2 +p_i1730_1_,worldIn,2 +p_i1731_1_,worldIn,2 +p_i1732_1_,worldIn,2 +p_i1733_1_,worldIn,2 +p_i1734_1_,worldIn,2 +p_i1735_1_,worldIn,2 +p_i1736_1_,worldIn,2 +p_i1737_1_,worldIn,2 +p_i1738_1_,worldIn,2 +p_i1739_1_,worldIn,2 +p_i1740_1_,worldIn,2 +p_i1741_1_,worldIn,2 +p_i1742_1_,worldIn,2 +p_i1743_1_,worldIn,2 +p_i1744_1_,worldIn,2 +p_i1745_1_,worldIn,2 +p_i1747_1_,worldIn,2 +p_i1748_1_,worldIn,2 +p_i1748_2_,professionId,2 +p_i1750_1_,playerIn,2 +p_i1753_1_,worldIn,2 +p_i1754_1_,worldIn,2 +p_i1754_2_,x,2 +p_i1754_4_,y,2 +p_i1754_6_,z,2 +p_i1755_1_,worldIn,2 +p_i1755_2_,shooter,2 +p_i1756_1_,worldIn,2 +p_i1756_2_,shooter,2 +p_i1757_1_,worldIn,2 +p_i1758_1_,worldIn,2 +p_i1759_1_,worldIn,2 +p_i1760_1_,worldIn,2 +p_i1760_10_,accelY,2 +p_i1760_12_,accelZ,2 +p_i1760_2_,x,2 +p_i1760_4_,y,2 +p_i1760_6_,z,2 +p_i1760_8_,accelX,2 +p_i1761_1_,worldIn,2 +p_i1761_2_,shooter,2 +p_i1761_3_,accelX,2 +p_i1761_5_,accelY,2 +p_i1761_7_,accelZ,2 +p_i1762_1_,worldIn,2 +p_i1763_1_,worldIn,2 +p_i1763_2_,x,2 +p_i1763_4_,y,2 +p_i1763_6_,z,2 +p_i1763_8_,givenItem,2 +p_i1764_1_,worldIn,2 +p_i1765_1_,worldIn,0 +p_i1766_1_,worldIn,2 +p_i1766_2_,fishingPlayer,2 +p_i1767_1_,worldIn,2 +p_i1768_1_,worldIn,0 +p_i1769_1_,worldIn,2 +p_i1770_1_,worldIn,2 +p_i1771_1_,worldIn,2 +p_i1772_1_,worldIn,2 +p_i1773_1_,worldIn,2 +p_i1774_1_,worldIn,2 +p_i1775_1_,worldIn,2 +p_i1775_2_,x,2 +p_i1775_4_,y,2 +p_i1775_6_,z,2 +p_i1776_1_,worldIn,2 +p_i1777_1_,worldIn,2 +p_i1777_2_,throwerIn,2 +p_i1778_1_,worldIn,2 +p_i1778_2_,x,2 +p_i1778_4_,y,2 +p_i1779_1_,worldIn,2 +p_i1780_1_,worldIn,2 +p_i1781_1_,worldIn,2 +p_i1783_1_,worldIn,2 +p_i1784_1_,worldIn,0 +p_i1785_1_,worldIn,2 +p_i1786_1_,worldIn,2 +p_i1787_1_,worldIn,2 +p_i1788_1_,worldIn,2 +p_i1789_1_,worldIn,2 +p_i1790_1_,worldIn,2 +p_i1791_1_,worldIn,0 +p_i1792_1_,worldIn,2 +p_i1793_1_,worldIn,2 +p_i1794_1_,worldIn,2 +p_i1795_1_,worldIn,0 +p_i1796_1_,inventoryName,2 +p_i1796_2_,slotCount,2 +p_i1807_2_,width,2 +p_i1807_3_,height,2 +p_i1819_1_,playerInventory,2 +p_i1819_2_,localWorld,2 +p_i1819_3_,player,2 +p_i1821_1_,playerInventory,2 +p_i1821_2_,merchant,2 +p_i1821_3_,worldIn,2 +p_i1822_1_,player,2 +p_i1822_2_,merchant,2 +p_i1822_3_,merchantInventory,2 +p_i1822_4_,slotIndex,2 +p_i1822_5_,xPosition,2 +p_i1822_6_,yPosition,2 +p_i1824_1_,inventoryIn,2 +p_i1824_2_,index,2 +p_i1824_3_,xPosition,2 +p_i1824_4_,yPosition,2 +p_i1826_1_,block,2 +p_i1853_1_,index,2 +p_i1853_2_,label,2 +p_i1874_3_,harvestLevel,2 +p_i1874_4_,maxUses,2 +p_i1874_5_,efficiency,2 +p_i1874_6_,damageVsEntity,2 +p_i1874_7_,enchantability,2 +p_i1876_1_,blockIn,2 +p_i1877_1_,blockIn,2 +p_i1877_2_,amount,2 +p_i1878_1_,blockIn,2 +p_i1878_2_,amount,2 +p_i1878_3_,meta,2 +p_i1879_1_,itemIn,2 +p_i1880_1_,itemIn,2 +p_i1880_2_,amount,2 +p_i1881_1_,itemIn,2 +p_i1881_2_,amount,2 +p_i1881_3_,meta,2 +p_i1917_1_,width,2 +p_i1917_2_,height,2 +p_i1917_4_,output,2 +p_i1918_1_,output,2 +p_i1918_2_,inputList,2 +p_i1930_1_,enchantmentObj,2 +p_i1930_2_,enchLevel,2 +p_i1947_1_,x,2 +p_i1947_2_,z,2 +p_i1952_1_,worldIn,2 +p_i1955_1_,msg,2 +p_i1956_3_,typeId,2 +p_i1956_4_,nameIn,2 +p_i1957_1_,seedIn,2 +p_i1957_3_,gameType,2 +p_i1957_4_,enableMapFeatures,2 +p_i1957_5_,hardcoreMode,2 +p_i1957_6_,worldTypeIn,2 +p_i1958_1_,info,2 +p_i1959_1_,id,2 +p_i1959_2_,name,2 +p_i1960_1_,id,2 +p_i1960_2_,name,2 +p_i1960_3_,version,2 +p_i1963_1_,worldIn,2 +p_i1972_2_,x,2 +p_i1972_3_,z,2 +p_i1973_1_,chunkManagerIn,2 +p_i1976_1_,worldIn,2 +p_i1994_1_,worldIn,2 +p_i1994_2_,x,2 +p_i1994_3_,z,2 +p_i1995_1_,worldIn,2 +p_i1995_2_,x,2 +p_i1995_3_,z,2 +p_i1997_1_,y,2 +p_i1997_2_,storeSkylight,2 +p_i1998_1_,dataIn,2 +p_i1998_2_,depthBitsIn,2 +p_i2000_2_,x,2 +p_i2000_3_,z,2 +p_i2001_1_,fileNameIn,2 +p_i2003_1_,chunkSaveLocationIn,2 +p_i2004_1_,worldIn,2 +p_i2007_1_,worldIn,2 +p_i2039_1_,worldIn,2 +p_i2040_1_,worldIn,2 +p_i2060_1_,worldIn,2 +p_i2067_1_,worldIn,2 +p_i2092_1_,worldIn,2 +p_i2112_1_,color,2 +p_i2113_1_,color,2 +p_i2114_1_,color,2 +p_i2116_1_,color,2 +p_i2117_1_,index,2 +p_i2117_2_,color,2 +p_i2118_1_,color,2 +p_i2135_1_,x,2 +p_i2135_2_,y,2 +p_i2135_3_,z,2 +p_i2141_1_,name,2 +p_i2142_1_,savesDirectory,2 +p_i2146_1_,savesDirectory,2 +p_i2157_1_,nbt,2 +p_i2158_1_,settings,2 +p_i2158_2_,name,2 +p_i2159_1_,worldInformation,2 +p_i2160_1_,exceptionMessage,0 +p_i2300_1_,x1,2 +p_i2300_11_,z2,2 +p_i2300_3_,y1,2 +p_i2300_5_,z1,2 +p_i2300_7_,x2,2 +p_i2300_9_,y2,2 +p_i2302_1_,objectType,2 +p_i2302_2_,objectID,2 +p_i2308_2_,name,2 +p_i2310_1_,name,2 +p_i2311_1_,name,2 +p_i2312_1_,name,2 +p_i2341_1_,mcIn,0 +p_i2350_1_,chestType,0 +p_i2362_1_,serverIn,1 +p_i2366_1_,server,1 +p_i45001_1_,description,0 +p_i45001_2_,keyCode,0 +p_i45001_3_,category,0 +p_i45002_1_,mcIn,0 +p_i45010_1_,mcIn,0 +p_i45015_1_,mcIn,0 +p_i45020_1_,screen,0 +p_i45020_2_,reasonLocalizationKey,0 +p_i45020_3_,chatComp,0 +p_i45023_1_,netHandler,0 +p_i45031_1_,controls,0 +p_i45031_2_,mcIn,0 +p_i45049_2_,mcIn,0 +p_i45054_1_,mcIn,0 +p_i45055_1_,mcIn,0 +p_i45056_1_,mcIn,0 +p_i45059_2_,mcIn,0 +p_i45062_1_,mcIn,0 +p_i45073_1_,worldIn,0 +p_i45074_1_,worldIn,0 +p_i45074_2_,playerProfile,0 +p_i45075_1_,worldIn,0 +p_i45076_1_,mcIn,0 +p_i45087_1_,resourceManager,0 +p_i45087_2_,programName,0 +p_i45091_1_,type,0 +p_i45091_2_,shaderId,0 +p_i45091_3_,filename,0 +p_i45092_1_,name,0 +p_i45092_2_,type,0 +p_i45092_3_,count,0 +p_i45092_4_,manager,0 +p_i45095_1_,maxTextureWidth,0 +p_i45095_2_,maxTextureHeight,0 +p_i45095_5_,mipmapLevel,0 +p_i45103_1_,soundResource,0 +p_i45104_1_,location,0 +p_i45106_2_,minecart,0 +p_i45107_1_,soundResource,0 +p_i45107_2_,volume,0 +p_i45107_3_,pitch,0 +p_i45107_4_,xPosition,0 +p_i45107_5_,yPosition,0 +p_i45107_6_,zPosition,0 +p_i45108_1_,soundResource,0 +p_i45108_2_,volume,0 +p_i45108_3_,pitch,0 +p_i45108_4_,repeat,0 +p_i45108_5_,repeatDelay,0 +p_i45108_6_,attenuationType,0 +p_i45108_7_,xPosition,0 +p_i45108_8_,yPosition,0 +p_i45108_9_,zPosition,0 +p_i45111_3_,location,0 +p_i45112_1_,mcIn,0 +p_i45113_1_,locationIn,0 +p_i45113_2_,pitchIn,0 +p_i45113_4_,volumeIn,0 +p_i45113_6_,streamingSoundIn,0 +p_i45114_1_,locationIn,0 +p_i45120_1_,soundLocation,0 +p_i45120_2_,pitch,0 +p_i45120_4_,volume,0 +p_i45120_6_,category,0 +p_i45122_1_,manager,0 +p_i45123_1_,entry,0 +p_i45123_2_,weight,0 +p_i45128_1_,data,2 +p_i45129_1_,data,2 +p_i45130_1_,data,2 +p_i45131_1_,data,2 +p_i45133_1_,data,2 +p_i45134_1_,data,2 +p_i45135_1_,data,2 +p_i45140_1_,cipherIn,2 +p_i45141_1_,cipher,2 +p_i45142_1_,cipher,2 +p_i45146_1_,inPacket,2 +p_i45146_2_,inFutureListeners,2 +p_i45152_3_,protocolId,2 +p_i45154_1_,wrapped,2 +p_i45156_1_,theAction,2 +p_i45156_2_,theValue,2 +p_i45159_1_,msg,2 +p_i45160_1_,translationKey,2 +p_i45160_2_,args,2 +p_i45161_1_,component,2 +p_i45161_2_,message,2 +p_i45162_1_,component,2 +p_i45162_2_,index,2 +p_i45163_1_,component,2 +p_i45163_2_,cause,2 +p_i45172_1_,ent,2 +p_i45172_2_,animationType,2 +p_i45179_1_,component,2 +p_i45194_1_,stateIn,2 +p_i45197_1_,chunks,2 +p_i45208_1_,capabilities,2 +p_i45223_1_,healthIn,2 +p_i45223_2_,foodLevelIn,2 +p_i45223_3_,saturationIn,2 +p_i45228_1_,nameIn,2 +p_i45239_1_,msg,2 +p_i45240_1_,messageIn,2 +p_i45242_1_,statusIn,2 +p_i45244_1_,windowId,0 +p_i45244_2_,uid,0 +p_i45244_3_,accepted,0 +p_i45245_1_,windowId,0 +p_i45245_2_,button,0 +p_i45246_1_,windowId,0 +p_i45246_2_,slotId,0 +p_i45246_3_,usedButton,0 +p_i45246_4_,mode,0 +p_i45246_5_,clickedItem,0 +p_i45246_6_,actionNumber,0 +p_i45247_1_,windowId,0 +p_i45251_1_,entity,0 +p_i45251_2_,action,0 +p_i45252_1_,key,0 +p_i45256_1_,isOnGround,0 +p_i45257_1_,capabilities,2 +p_i45261_1_,strafeSpeed,0 +p_i45261_2_,forwardSpeed,0 +p_i45261_3_,jumping,0 +p_i45261_4_,sneaking,0 +p_i45262_1_,slotId,0 +p_i45266_1_,version,0 +p_i45266_2_,ip,0 +p_i45266_3_,port,0 +p_i45266_4_,requestedState,0 +p_i45267_1_,profileIn,2 +p_i45268_1_,serverId,2 +p_i45268_2_,key,2 +p_i45268_3_,verifyToken,2 +p_i45269_1_,reasonIn,2 +p_i45270_1_,profileIn,2 +p_i45271_1_,secretKey,0 +p_i45271_2_,publicKey,0 +p_i45271_3_,verifyToken,0 +p_i45272_1_,time,2 +p_i45273_1_,responseIn,2 +p_i45274_1_,maxOnlinePlayers,2 +p_i45274_2_,onlinePlayers,2 +p_i45275_1_,nameIn,2 +p_i45275_2_,protocolIn,2 +p_i45276_1_,ping,0 +p_i45281_1_,workDir,1 +p_i45281_2_,proxy,1 +p_i45285_1_,server,2 +p_i45285_2_,worldIn,2 +p_i45285_3_,profile,2 +p_i45285_4_,interactionManager,2 +p_i45286_1_,networkSystemIn,2 +p_i45292_1_,server,2 +p_i45295_1_,serverIn,2 +p_i45295_2_,netManager,2 +p_i45299_1_,serverIn,2 +p_i45299_2_,netManager,2 +p_i45300_2_,threadName,1 +p_i45301_3_,column,2 +p_i45301_4_,row,2 +p_i45302_3_,column,2 +p_i45302_4_,row,2 +p_i45302_6_,parent,2 +p_i45306_1_,serverIn,2 +p_i45306_2_,statsFileIn,2 +p_i45311_3_,minimumChance,2 +p_i45311_4_,maximumChance,2 +p_i45311_5_,itemWeightIn,2 +p_i45313_1_,owner,2 +p_i45316_2_,speedIn,2 +p_i45317_1_,returnStackIn,2 +p_i45317_2_,itemWeightIn,2 +p_i45321_1_,worldIn,2 +p_i45322_1_,worldIn,2 +p_i45323_3_,id,2 +p_i45323_4_,resourceKey,2 +p_i45324_1_,worldIn,2 +p_i45325_1_,material,2 +p_i45325_2_,renderIndex,2 +p_i45325_3_,armorType,2 +p_i45327_1_,material,2 +p_i45328_1_,block,2 +p_i45329_1_,block,2 +p_i45330_1_,healAmount,2 +p_i45331_1_,containedBlock,2 +p_i45332_1_,block,2 +p_i45332_2_,hasSubtypes,2 +p_i45333_1_,attackDamage,2 +p_i45333_2_,material,2 +p_i45333_3_,effectiveBlocks,2 +p_i45336_3_,meta,2 +p_i45336_4_,unlocalizedName,2 +p_i45336_5_,uncookedHeal,2 +p_i45336_6_,uncookedSaturation,2 +p_i45336_7_,cookedHeal,2 +p_i45336_8_,cookedSaturation,2 +p_i45337_3_,meta,2 +p_i45337_4_,unlocalizedName,2 +p_i45337_5_,uncookedHeal,2 +p_i45337_6_,uncookedSaturation,2 +p_i45338_1_,cooked,2 +p_i45339_1_,amount,2 +p_i45339_2_,saturation,2 +p_i45339_3_,isWolfFood,2 +p_i45340_1_,amount,2 +p_i45340_2_,isWolfFood,2 +p_i45341_1_,amount,2 +p_i45341_2_,saturation,2 +p_i45341_3_,isWolfFood,2 +p_i45342_1_,entityClass,2 +p_i45343_1_,material,2 +p_i45344_1_,block,2 +p_i45346_1_,block,2 +p_i45346_2_,block2,2 +p_i45346_3_,namesByMeta,2 +p_i45347_1_,material,2 +p_i45348_1_,block,2 +p_i45349_3_,color,2 +p_i45349_4_,name,2 +p_i45350_1_,name,2 +p_i45351_1_,healAmount,2 +p_i45351_2_,saturation,2 +p_i45351_3_,crops,2 +p_i45351_4_,soil,2 +p_i45352_1_,crops,2 +p_i45352_2_,soil,2 +p_i45353_1_,material,2 +p_i45356_1_,material,2 +p_i45357_1_,block,2 +p_i45358_1_,block,2 +p_i45366_1_,worldIn,2 +p_i45367_1_,worldIn,2 +p_i45386_1_,materialIn,2 +p_i45389_1_,isPowered,2 +p_i45393_1_,name,2 +p_i45393_2_,volume,2 +p_i45393_3_,frequency,2 +p_i45394_1_,materialIn,2 +p_i45395_1_,materialIn,2 +p_i45396_1_,wooden,2 +p_i45397_1_,type,2 +p_i45398_1_,materialIn,2 +p_i45399_1_,powered,2 +p_i45400_1_,powered,2 +p_i45401_1_,materialIn,2 +p_i45402_1_,materialIn,2 +p_i45403_1_,materialIn,2 +p_i45404_1_,materialIn,2 +p_i45405_1_,materialIn,2 +p_i45407_1_,isBurning,2 +p_i45409_1_,materialIn,2 +p_i45413_1_,materialIn,2 +p_i45414_1_,mapColorIn,2 +p_i45420_1_,isOn,2 +p_i45421_1_,isOn,2 +p_i45423_1_,isOn,2 +p_i45424_1_,powered,2 +p_i45425_1_,materialIn,2 +p_i45429_1_,materialIn,2 +p_i45430_1_,crop,2 +p_i45433_1_,materialIn,2 +p_i45433_2_,fancyGraphics,2 +p_i45434_1_,materialIn,2 +p_i45435_1_,modelBlock,2 +p_i45442_1_,potItem,2 +p_i45442_2_,potData,2 +p_i45443_1_,isSticky,2 +p_i45499_2_,mcIn,0 +p_i45500_3_,worldIn,0 +p_i45501_1_,playerInv,0 +p_i45501_2_,furnaceInv,0 +p_i45502_1_,inventory,0 +p_i45502_2_,worldIn,0 +p_i45503_1_,playerInv,0 +p_i45503_2_,dispenserInv,0 +p_i45504_1_,playerInv,0 +p_i45504_2_,worldIn,0 +p_i45505_1_,playerInv,0 +p_i45505_2_,worldIn,0 +p_i45505_3_,blockPosition,0 +p_i45506_1_,playerInv,0 +p_i45508_2_,worldIn,0 +p_i45509_2_,mcIn,0 +p_i45510_2_,mcIn,0 +p_i45511_2_,mcIn,0 +p_i45512_2_,mcIn,0 +p_i45513_2_,mcIn,0 +p_i45517_2_,mcIn,0 +p_i45519_2_,mcIn,0 +p_i45526_1_,selectionList,0 +p_i45527_1_,mcIn,0 +p_i45529_1_,mcIn,0 +p_i45536_1_,mcIn,0 +p_i45539_1_,responder,0 +p_i45540_1_,fontRendererObj,0 +p_i45543_1_,mc,0 +p_i45545_1_,mcIn,0 +p_i45546_1_,mcIn,0 +p_i45547_1_,gameConfig,0 +p_i45554_1_,pos1,2 +p_i45554_2_,pos2,2 +p_i45607_1_,worldIn,2 +p_i45636_1_,worldIn,2 +p_i45637_1_,worldIn,2 +p_i45638_1_,worldIn,2 +p_i45639_1_,settingsFactory,2 +p_i45645_1_,worldIn,2 +p_i45645_2_,primer,2 +p_i45645_3_,x,2 +p_i45645_4_,z,2 +p_i45646_1_,storageArray,2 +p_i45647_3_,id,2 +p_i45648_1_,name,2 +p_i45648_2_,min,2 +p_i45648_3_,max,2 +p_i45649_1_,name,2 +p_i45649_2_,valueClass,2 +p_i45649_3_,allowedValues,2 +p_i45650_1_,name,2 +p_i45650_2_,values,2 +p_i45651_1_,name,2 +p_i45652_1_,name,2 +p_i45652_2_,valueClass,2 +p_i45653_1_,blockStateIn,2 +p_i45654_1_,blockType,2 +p_i45655_1_,pos,2 +p_i45655_2_,fingerIn,2 +p_i45655_3_,thumbIn,2 +p_i45655_4_,loadingCache,2 +p_i45656_1_,worldIn,2 +p_i45657_1_,predicatesIn,2 +p_i45659_1_,worldIn,2 +p_i45659_2_,posIn,2 +p_i45660_1_,blockIn,2 +p_i45660_2_,propertiesIn,2 +p_i45663_1_,blockIn,2 +p_i45663_2_,properties,2 +p_i45664_1_,worldIn,2 +p_i45664_2_,posIn,2 +p_i45664_3_,pistonFacing,2 +p_i45664_4_,extending,2 +p_i45665_1_,pistonStateIn,2 +p_i45665_2_,pistonFacingIn,2 +p_i45665_3_,extendingIn,2 +p_i45665_4_,shouldHeadBeRenderedIn,2 +p_i45666_3_,name,2 +p_i45670_3_,name,2 +p_i45670_4_,id,2 +p_i45671_3_,name,2 +p_i45671_4_,id,2 +p_i45671_5_,craftingItem,2 +p_i45672_3_,name,2 +p_i45672_4_,id,2 +p_i45672_5_,craftingTop,2 +p_i45672_6_,craftingMid,2 +p_i45672_7_,craftingBot,2 +p_i45673_3_,meta,2 +p_i45673_4_,name,2 +p_i45673_5_,unlocalizedName,2 +p_i45674_3_,name,2 +p_i45675_1_,materialIn,2 +p_i45675_2_,canDrop,2 +p_i45676_3_,meta,2 +p_i45676_4_,name,2 +p_i45677_3_,meta,2 +p_i45677_4_,name,2 +p_i45678_3_,meta,2 +p_i45678_4_,name,2 +p_i45678_5_,unlocalizedName,2 +p_i45679_3_,meta,2 +p_i45679_4_,name,2 +p_i45679_5_,unlocalizedName,2 +p_i45680_3_,meta,2 +p_i45680_4_,name,2 +p_i45681_3_,meta,2 +p_i45681_4_,name,2 +p_i45681_5_,unlocalizedName,2 +p_i45682_3_,name,2 +p_i45683_3_,name,2 +p_i45684_1_,modelState,2 +p_i45685_1_,materialIn,2 +p_i45686_1_,enumName,2 +p_i45686_2_,unused,2 +p_i45686_3_,meta,2 +p_i45686_4_,name,2 +p_i45686_5_,unlocalizedName,2 +p_i45687_3_,meta,2 +p_i45687_4_,name,2 +p_i45687_5_,unlocalizedName,2 +p_i45687_6_,mapColor,2 +p_i45688_1_,pos,2 +p_i45688_2_,time,2 +p_i45689_3_,name,2 +p_i45690_3_,meta,2 +p_i45690_4_,name,2 +p_i45690_5_,unlocalizedName,2 +p_i45691_3_,meta,2 +p_i45691_4_,name,2 +p_i45691_5_,unlocalizedName,2 +p_i45692_3_,meta,2 +p_i45692_4_,name,2 +p_i45692_5_,unlocalizedName,2 +p_i45694_1_,worldIn,2 +p_i45695_3_,meta,2 +p_i45695_4_,name,2 +p_i45696_3_,meta,2 +p_i45696_4_,name,2 +p_i45696_5_,unlocalizedName,2 +p_i45697_3_,meta,2 +p_i45697_4_,name,2 +p_i45704_3_,meta,2 +p_i45704_4_,name,2 +p_i45705_3_,meta,2 +p_i45705_4_,name,2 +p_i45705_5_,unlocalizedName,2 +p_i45706_3_,meta,2 +p_i45706_4_,name,2 +p_i45706_5_,dummy,2 +p_i45707_3_,meta,2 +p_i45707_4_,name,2 +p_i45707_5_,unlocalizedName,2 +p_i45707_6_,dummy,2 +p_i45708_3_,name,2 +p_i45709_3_,meta,2 +p_i45709_4_,name,2 +p_i45709_5_,facing,2 +p_i45710_3_,meta,2 +p_i45710_4_,name,2 +p_i45711_1_,materialIn,2 +p_i45711_2_,smallBlock,2 +p_i45712_1_,materialIn,2 +p_i45712_2_,ignoreSimilarityIn,2 +p_i45713_3_,name,2 +p_i45714_1_,materialIn,2 +p_i45715_3_,name,2 +p_i45718_3_,blockType,2 +p_i45718_4_,meta,2 +p_i45718_5_,name,2 +p_i45719_3_,blockType,2 +p_i45719_4_,meta,2 +p_i45719_5_,name,2 +p_i45719_6_,unlocalizedName,2 +p_i45721_1_,materialIn,2 +p_i45722_3_,meta,2 +p_i45722_4_,name,2 +p_i45723_3_,meta,2 +p_i45723_4_,name,2 +p_i45723_5_,unlocalizedName,2 +p_i45724_1_,name,2 +p_i45727_3_,metadata,2 +p_i45727_4_,name,2 +p_i45728_3_,metadata,2 +p_i45728_4_,name,2 +p_i45728_5_,unlocalizedName,2 +p_i45729_1_,inverted,2 +p_i45730_1_,worldIn,2 +p_i45730_2_,pos,2 +p_i45731_3_,name,2 +p_i45735_3_,name,2 +p_i45737_1_,worldIn,2 +p_i45738_3_,meta,2 +p_i45738_4_,name,2 +p_i45739_2_,worldIn,2 +p_i45739_3_,pos,2 +p_i45739_4_,state,2 +p_i45740_1_,materialIn,2 +p_i45741_1_,worldIn,2 +p_i45741_2_,pos,2 +p_i45746_1_,worldIn,2 +p_i45746_2_,posFromIn,2 +p_i45746_3_,posToIn,2 +p_i45746_4_,subIn,2 +p_i45747_2_,pos,2 +p_i45748_1_,worldIn,2 +p_i45749_1_,saveHandlerIn,2 +p_i45749_2_,info,2 +p_i45749_3_,providerIn,2 +p_i45749_4_,profilerIn,2 +p_i45749_5_,client,2 +p_i45751_1_,value,2 +p_i45751_2_,type,2 +p_i45752_1_,worldIn,0 +p_i45753_1_,worldIn,0 +p_i45754_1_,worldIn,2 +p_i45755_3_,layerNameIn,0 +p_i45756_1_,pos,2 +p_i45756_2_,blockType,2 +p_i45756_3_,eventId,2 +p_i45766_1_,enchID,2 +p_i45769_1_,enchID,2 +p_i45769_2_,enchName,2 +p_i45769_3_,enchWeight,2 +p_i45769_4_,enchType,2 +p_i45770_1_,enchID,2 +p_i45770_2_,enchName,2 +p_i45770_3_,enchWeight,2 +p_i45771_1_,enchID,2 +p_i45771_2_,enchName,2 +p_i45771_3_,enchWeight,2 +p_i45771_4_,enchType,2 +p_i45772_1_,enchID,2 +p_i45772_2_,enchName,2 +p_i45772_3_,enchWeight,2 +p_i45773_1_,enchID,2 +p_i45773_2_,enchName,2 +p_i45773_3_,enchWeight,2 +p_i45774_1_,enchID,2 +p_i45774_2_,enchName,2 +p_i45774_3_,enchWeight,2 +p_i45774_4_,classification,2 +p_i45775_1_,enchID,2 +p_i45775_2_,enchName,2 +p_i45775_3_,enchWeight,2 +p_i45776_1_,enchID,2 +p_i45776_2_,enchName,2 +p_i45776_3_,enchWeight,2 +p_i45777_1_,enchID,2 +p_i45777_2_,enchName,2 +p_i45777_3_,enchWeight,2 +p_i45778_1_,enchID,2 +p_i45778_2_,enchName,2 +p_i45778_3_,enchWeight,2 +p_i45781_1_,block,2 +p_i45782_1_,block,2 +p_i45782_2_,singleSlab,2 +p_i45782_3_,doubleSlab,2 +p_i45784_1_,block,2 +p_i45784_2_,block2,2 +p_i45784_3_,nameFunction,2 +p_i45785_1_,type,2 +p_i45786_3_,meta,2 +p_i45786_4_,dyeDamage,2 +p_i45786_5_,name,2 +p_i45786_6_,unlocalizedName,2 +p_i45786_7_,mapColorIn,2 +p_i45786_8_,chatColor,2 +p_i45787_1_,block,2 +p_i45787_2_,block2,2 +p_i45787_3_,nameFunction,2 +p_i45788_1_,block,2 +p_i45789_3_,name,2 +p_i45789_5_,reductionAmounts,2 +p_i45789_6_,enchantability,2 +p_i45790_1_,player,2 +p_i45790_2_,craftingInventory,2 +p_i45790_4_,slotIndex,2 +p_i45790_5_,xPosition,2 +p_i45790_6_,yPosition,2 +p_i45791_1_,playerInventory,2 +p_i45791_2_,horseInventoryIn,2 +p_i45791_3_,horse,2 +p_i45791_4_,player,2 +p_i45792_1_,playerInventory,2 +p_i45792_2_,hopperInventoryIn,2 +p_i45792_3_,player,2 +p_i45793_1_,player,2 +p_i45793_3_,slotIndex,2 +p_i45793_4_,xPosition,2 +p_i45793_5_,yPosition,2 +p_i45794_2_,furnaceInventory,2 +p_i45795_1_,inventoryIn,2 +p_i45795_2_,slotIndex,2 +p_i45795_3_,xPosition,2 +p_i45795_4_,yPosition,2 +p_i45797_1_,playerInv,0 +p_i45797_2_,worldIn,0 +p_i45798_1_,playerInv,2 +p_i45798_2_,worldIn,2 +p_i45798_3_,pos,2 +p_i45799_1_,playerInventory,2 +p_i45799_2_,dispenserInventoryIn,2 +p_i45800_1_,playerInventory,2 +p_i45800_2_,worldIn,2 +p_i45801_1_,playerInventory,2 +p_i45801_2_,chestInventory,2 +p_i45801_3_,player,2 +p_i45802_1_,playerInventory,2 +p_i45805_6_,worldIn,2 +p_i45806_1_,playerInventory,0 +p_i45806_2_,worldIn,0 +p_i45806_3_,player,0 +p_i45807_1_,playerInventory,2 +p_i45807_2_,worldIn,2 +p_i45807_3_,blockPosIn,2 +p_i45807_4_,player,2 +p_i45808_1_,invTitle,0 +p_i45808_2_,slotCount,0 +p_i45835_1_,worldIn,2 +p_i45840_1_,worldIn,2 +p_i45847_3_,networkID,2 +p_i45847_4_,name,2 +p_i45848_1_,worldIn,2 +p_i45848_2_,x,2 +p_i45848_4_,y,2 +p_i45848_6_,z,2 +p_i45848_8_,fallingBlockState,2 +p_i45849_1_,worldIn,2 +p_i45850_1_,worldIn,0 +p_i45851_1_,worldIn,2 +p_i45852_1_,worldIn,2 +p_i45853_1_,worldIn,2 +p_i45854_1_,worldIn,2 +p_i45855_1_,worldIn,2 +p_i45855_2_,posX,2 +p_i45855_4_,posY,2 +p_i45855_6_,posZ,2 +p_i45865_2_,avoidPredicate,2 +p_i45869_1_,worldIn,2 +p_i45873_2_,worldIn,2 +p_i45874_2_,worldIn,2 +p_i45875_2_,worldIn,2 +p_i45896_1_,id,2 +p_i45896_2_,effectDuration,2 +p_i45896_3_,effectAmplifier,2 +p_i45896_4_,ambient,2 +p_i45896_5_,showParticles,2 +p_i45897_1_,potionID,2 +p_i45897_2_,location,2 +p_i45897_3_,badEffect,2 +p_i45897_4_,potionColor,2 +p_i45902_1_,title,0 +p_i45902_2_,slotCount,0 +p_i45904_1_,worldDifficulty,2 +p_i45904_2_,worldTime,2 +p_i45904_4_,chunkInhabitedTime,2 +p_i45904_6_,moonPhaseFactor,2 +p_i45921_1_,server,2 +p_i45921_2_,saveHandlerIn,2 +p_i45921_3_,info,2 +p_i45921_4_,dimensionId,2 +p_i45921_5_,profilerIn,2 +p_i45923_1_,server,2 +p_i45923_2_,saveHandlerIn,2 +p_i45923_3_,dimensionId,2 +p_i45923_4_,delegate,2 +p_i45923_5_,profilerIn,2 +p_i45924_1_,server,2 +p_i45924_2_,saveHandlerIn,2 +p_i45924_3_,worldInfoIn,2 +p_i45924_4_,dimensionId,2 +p_i45924_5_,profilerIn,2 +p_i45927_1_,domainIn,2 +p_i45927_2_,outStream,2 +p_i45928_2_,resourcePathIn,2 +p_i45929_1_,compressionTresholdIn,2 +p_i45932_1_,id,2 +p_i45933_1_,pos,0 +p_i45933_2_,lines,0 +p_i45937_1_,entity,0 +p_i45937_2_,action,0 +p_i45938_1_,entity,0 +p_i45938_2_,action,0 +p_i45938_3_,auxData,0 +p_i45940_1_,statusIn,0 +p_i45940_2_,posIn,0 +p_i45940_3_,facingIn,0 +p_i45944_1_,entity,0 +p_i45944_2_,hitVec,0 +p_i45948_1_,msg,2 +p_i45948_2_,target,2 +p_i45951_1_,worldIn,2 +p_i45953_1_,type,2 +p_i45953_2_,message,2 +p_i45954_1_,fadeInTime,2 +p_i45954_2_,displayTime,2 +p_i45954_3_,fadeOutTime,2 +p_i45955_1_,type,2 +p_i45955_2_,message,2 +p_i45955_3_,fadeInTime,2 +p_i45955_4_,displayTime,2 +p_i45955_5_,fadeOutTime,2 +p_i45958_1_,scoreIn,2 +p_i45959_1_,nameIn,2 +p_i45959_2_,objectiveIn,2 +p_i45963_1_,url,2 +p_i45963_2_,hash,2 +p_i45977_7_,yOffset,2 +p_i45977_8_,zOffset,2 +p_i45977_9_,particleSpeedIn,2 +p_i45980_1_,channelName,2 +p_i45980_2_,dataIn,2 +p_i45981_1_,incomingWindowId,2 +p_i45981_2_,incomingWindowTitle,2 +p_i45981_3_,windowTitleIn,2 +p_i45982_1_,windowIdIn,2 +p_i45982_2_,guiId,2 +p_i45982_3_,windowTitleIn,2 +p_i45982_4_,slotCountIn,2 +p_i45983_1_,windowIdIn,2 +p_i45983_2_,guiId,2 +p_i45983_3_,windowTitleIn,2 +p_i45983_4_,slotCountIn,2 +p_i45983_5_,incomingEntityId,2 +p_i45988_1_,worldIn,2 +p_i45991_1_,breakerId,2 +p_i45991_2_,pos,2 +p_i45991_3_,progress,2 +p_i45998_1_,direction,2 +p_i45999_1_,direction,2 +p_i46004_1_,packetDirection,2 +p_i46005_1_,treshold,2 +p_i46006_1_,treshold,2 +p_i46007_1_,xIn,2 +p_i46007_2_,yIn,2 +p_i46007_3_,zIn,2 +p_i46008_1_,xIn,2 +p_i46008_3_,yIn,2 +p_i46008_5_,zIn,2 +p_i46009_1_,x,2 +p_i46009_2_,y,2 +p_i46009_3_,z,2 +p_i46010_1_,nbt,2 +p_i46011_3_,particleNameIn,2 +p_i46011_4_,particleIDIn,2 +p_i46012_3_,particleNameIn,2 +p_i46012_4_,particleIDIn,2 +p_i46014_3_,offset,2 +p_i46014_4_,description,2 +p_i46015_3_,name,2 +p_i46015_4_,plane,2 +p_i46016_3_,indexIn,2 +p_i46016_4_,oppositeIn,2 +p_i46016_5_,horizontalIndexIn,2 +p_i46016_6_,nameIn,2 +p_i46016_7_,axisDirectionIn,2 +p_i46016_8_,axisIn,2 +p_i46016_9_,directionVecIn,2 +p_i46018_1_,clazz,2 +p_i46018_2_,iterables,2 +p_i46020_1_,clazz,2 +p_i46020_2_,iterables,2 +p_i46023_1_,worldIn,2 +p_i46024_1_,x_,2 +p_i46024_2_,y_,2 +p_i46024_3_,z_,2 +p_i46030_1_,x,2 +p_i46030_2_,y,2 +p_i46030_3_,z,2 +p_i46031_1_,x,2 +p_i46031_3_,y,2 +p_i46031_5_,z,2 +p_i46032_1_,source,2 +p_i46033_1_,source,2 +p_i46034_1_,source,2 +p_i46050_3_,id,2 +p_i46050_4_,name,2 +p_i46053_1_,proxy,0 +p_i46053_2_,workDir,0 +p_i46054_1_,workDir,2 +p_i46054_2_,proxy,2 +p_i46054_3_,profileCacheDir,2 +p_i46057_1_,mcIn,0 +p_i46070_1_,mcIn,0 +p_i46071_1_,guardian,0 +p_i46082_1_,textures,0 +p_i46092_2_,mcIn,0 +p_i46100_2_,iconCreatorIn,0 +p_i46101_1_,textureLocationIn,0 +p_i46102_1_,renderManager,0 +p_i46103_1_,renderManager,0 +p_i46103_2_,useSmallArms,0 +p_i46165_1_,textureManager,0 +p_i46165_2_,modelManager,0 +p_i46179_1_,renderManager,0 +p_i46197_1_,worldIn,0 +p_i46197_2_,renderGlobalIn,0 +p_i46197_3_,blockPosIn,0 +p_i46197_4_,indexIn,0 +p_i46198_1_,worldIn,0 +p_i46198_3_,pos,0 +p_i46214_1_,rotation,0 +p_i46214_2_,translation,0 +p_i46214_3_,scale,0 +p_i46215_3_,facing,0 +p_i46245_1_,manager,0 +p_i46246_1_,worldIn,0 +p_i46246_2_,renderDistanceChunks,0 +p_i46250_1_,modelManager,0 +p_i46273_1_,worldIn,0 +p_i46273_2_,posFromIn,0 +p_i46273_3_,posToIn,0 +p_i46273_4_,subIn,0 +p_i46275_1_,bufferSizeIn,0 +p_i46276_1_,id,0 +p_i46276_2_,title,0 +p_i46276_3_,slotCount,0 +p_i46278_1_,mcIn,0 +p_i46278_2_,worldIn,0 +p_i46279_1_,worldIn,0 +p_i46280_1_,worldIn,0 +p_i46281_1_,worldIn,0 +p_i46283_1_,worldIn,0 +p_i46284_1_,worldIn,0 +p_i46285_1_,worldIn,0 +p_i46286_1_,worldIn,0 +p_i46291_3_,formattingName,2 +p_i46291_4_,formattingCodeIn,2 +p_i46291_5_,colorIndex,2 +p_i46292_3_,formattingName,2 +p_i46292_4_,formattingCodeIn,2 +p_i46292_5_,fancyStylingIn,2 +p_i46293_3_,formattingName,2 +p_i46293_4_,formattingCodeIn,2 +p_i46293_5_,fancyStylingIn,2 +p_i46293_6_,colorIndex,2 +p_i46300_1_,mcIn,0 +p_i46310_1_,server,1 +p_i46314_1_,mc,0 +p_i46315_1_,upperInv,0 +p_i46315_2_,lowerInv,0 +p_i46322_1_,mcIn,0 +p_i46323_1_,buttonId,0 +p_i46323_2_,x,0 +p_i46323_3_,y,0 +p_i46323_4_,widthIn,0 +p_i46323_5_,heightIn,0 +p_i46323_6_,buttonText,0 +p_i46324_1_,mcIn,0 +p_i46325_1_,mcIn,0 +p_i46326_1_,mcIn,0 +p_i46327_3_,column,2 +p_i46327_4_,row,2 +p_i46328_1_,profile,2 +p_i46334_2_,startDate,2 +p_i46334_3_,banner,2 +p_i46334_4_,endDate,2 +p_i46334_5_,banReason,2 +p_i46336_1_,reasonIn,2 +p_i46342_1_,max,2 +p_i46347_1_,worldIn,0 +p_i46348_1_,worldIn,0 +p_i46349_1_,worldIn,0 +p_i46350_1_,worldIn,0 +p_i46351_1_,worldIn,0 +p_i46352_1_,worldIn,0 +p_i46353_1_,worldIn,0 +p_i46354_1_,worldIn,0 +p_i46355_1_,worldIn,0 +p_i46356_1_,worldIn,0 +p_i46357_1_,worldIn,0 +p_i46364_1_,vertices,0 +p_i46372_1_,propertiesFile,1 +p_i46373_1_,eulaFile,1