Fix Vsync, start on chat

This commit is contained in:
catfoolyou 2025-03-08 15:31:47 -05:00
parent 9073a745f2
commit e23f9bc9f0
13 changed files with 34 additions and 95 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" /> <bytecodeTargetLevel target="18" />
</component> </component>
</project> </project>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="corretto-18" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="corretto-18" project-jdk-type="JavaSDK" />
</project> </project>

View File

@ -10,7 +10,7 @@ sourceSets {
java { java {
srcDirs( srcDirs(
"src/main/java", "src/main/java",
"src/teavm/java", "src/lwjgl/java",
"sp-server/src/ipc/java" "sp-server/src/ipc/java"
) )
} }
@ -26,10 +26,10 @@ tasks.withType(JavaCompile) {
options.compilerArgs << "-Xmaxerrs" << "1000" options.compilerArgs << "-Xmaxerrs" << "1000"
} }
//sourceSets.main.resources.srcDirs += 'src/lwjgl/java/javazoom/jl/decoder' sourceSets.main.resources.srcDirs += 'src/lwjgl/java/javazoom/jl/decoder'
dependencies { dependencies {
//implementation fileTree(dir: './lwjgl-rundir/', include: '*.jar') implementation fileTree(dir: './lwjgl-rundir/', include: '*.jar')
teavm(teavm.libs.jso) teavm(teavm.libs.jso)
teavm(teavm.libs.jsoApis) teavm(teavm.libs.jsoApis)

Binary file not shown.

View File

@ -73,23 +73,23 @@ public class CombatTracker
ItemStack var8 = var9 instanceof EntityLiving ? ((EntityLiving) var9).getHeldItem() : null; ItemStack var8 = var9 instanceof EntityLiving ? ((EntityLiving) var9).getHeldItem() : null;
if (var8 != null && var8.hasDisplayName()) { if (var8 != null && var8.hasDisplayName()) {
var3 = StatCollector.translateToLocalFormatted("death.fell.assist.item", new Object[] { this.fighter.getTranslatedEntityName(), var4, var8.getDisplayName() }); var3 = StatCollector.translateToLocalFormatted("death.fell.assist.item", this.fighter.getTranslatedEntityName(), var4, var8.getDisplayName());
} else { } else {
var3 = StatCollector.translateToLocalFormatted("death.fell.assist", new Object[] { this.fighter.getTranslatedEntityName(), var6 }); var3 = StatCollector.translateToLocalFormatted("death.fell.assist", this.fighter.getTranslatedEntityName(), var6);
} }
} else if (var4 != null) { } else if (var4 != null) {
ItemStack var7 = var5 instanceof EntityLiving ? ((EntityLiving) var5).getHeldItem() : null; ItemStack var7 = var5 instanceof EntityLiving ? ((EntityLiving) var5).getHeldItem() : null;
if (var7 != null && var7.hasDisplayName()) { if (var7 != null && var7.hasDisplayName()) {
var3 = StatCollector.translateToLocalFormatted("death.fell.finish.item", new Object[] { this.fighter.getTranslatedEntityName(), var4, var7.getDisplayName() }); var3 = StatCollector.translateToLocalFormatted("death.fell.finish.item", this.fighter.getTranslatedEntityName(), var4, var7.getDisplayName());
} else { } else {
var3 = StatCollector.translateToLocalFormatted("death.fell.finish", new Object[] { this.fighter.getTranslatedEntityName(), var4 }); var3 = StatCollector.translateToLocalFormatted("death.fell.finish", this.fighter.getTranslatedEntityName(), var4);
} }
} else { } else {
var3 = StatCollector.translateToLocalFormatted("death.fell.killer", new Object[] { this.fighter.getTranslatedEntityName() }); var3 = StatCollector.translateToLocalFormatted("death.fell.killer", this.fighter.getTranslatedEntityName());
} }
} else { } else {
var3 = StatCollector.translateToLocalFormatted("death.fell.accident." + this.func_94548_b(var1), new Object[] { this.fighter.getTranslatedEntityName() }); var3 = StatCollector.translateToLocalFormatted("death.fell.accident." + this.func_94548_b(var1), this.fighter.getTranslatedEntityName());
} }
} else { } else {
var3 = var2.getDamageSrc().getDeathMessage(this.fighter); var3 = var2.getDamageSrc().getDeathMessage(this.fighter);

View File

@ -302,7 +302,8 @@ public class EntityPlayerMP extends EntityPlayer implements ICrafting
*/ */
public void onDeath(DamageSource par1DamageSource) public void onDeath(DamageSource par1DamageSource)
{ {
this.mcServer.getConfigurationManager().sendChatMsg(this.func_110142_aN().func_94546_b()); //this.mcServer.getConfigurationManager().sendChatMsg(this.func_110142_aN().func_94546_b());
this.addChatMessage(this.func_110142_aN().func_94546_b());
if (!this.worldObj.getGameRules().getGameRuleBooleanValue("keepInventory")) if (!this.worldObj.getGameRules().getGameRuleBooleanValue("keepInventory"))
{ {
@ -800,7 +801,9 @@ public class EntityPlayerMP extends EntityPlayer implements ICrafting
*/ */
public void addChatMessage(String par1Str) public void addChatMessage(String par1Str)
{ {
this.playerNetServerHandler.sendPacketToPlayer(new Packet3Chat(StatCollector.translateToLocal(par1Str))); StringTranslate var2 = StringTranslate.getInstance();
String var3 = var2.translateKey(par1Str);
this.playerNetServerHandler.sendPacketToPlayer(new Packet3Chat(var3));
} }
/** /**

View File

@ -6,8 +6,8 @@ public enum EnumOptions {
/*ADVANCED_OPENGL("options.advancedOpengl", false, true),*/ FRAMERATE_LIMIT("options.framerateLimit", false, false), DIFFICULTY("options.difficulty", false, false), GRAPHICS("options.graphics", false, false), /*ADVANCED_OPENGL("options.advancedOpengl", false, true),*/ FRAMERATE_LIMIT("options.framerateLimit", false, false), DIFFICULTY("options.difficulty", false, false), GRAPHICS("options.graphics", false, false),
AMBIENT_OCCLUSION("options.ao", false, false), GUI_SCALE("options.guiScale", false, false), RENDER_CLOUDS("options.renderClouds", false, true), PARTICLES("options.particles", false, false), AMBIENT_OCCLUSION("options.ao", false, false), GUI_SCALE("options.guiScale", false, false), RENDER_CLOUDS("options.renderClouds", false, true), PARTICLES("options.particles", false, false),
CHAT_VISIBILITY("options.chat.visibility", false, false), CHAT_COLOR("options.chat.color", false, true), CHAT_LINKS("options.chat.links", false, true), CHAT_OPACITY("options.chat.opacity", true, false), CHAT_VISIBILITY("options.chat.visibility", false, false), CHAT_COLOR("options.chat.color", false, true), CHAT_LINKS("options.chat.links", false, true), CHAT_OPACITY("options.chat.opacity", true, false),
CHAT_LINKS_PROMPT("options.chat.links.prompt", false, true), USE_SERVER_TEXTURES("options.serverTextures", false, true), SNOOPER_ENABLED("options.snooper", false, true), USE_FULLSCREEN("options.fullscreen", false, true), CHAT_LINKS_PROMPT("options.chat.links.prompt", false, true), USE_SERVER_TEXTURES("options.serverTextures", false, true), SNOOPER_ENABLED("options.snooper", false, true), ENABLE_FOG("options.fog", false, true),
ENABLE_FOG("options.fog", false, true), SHOW_CAPE("options.showCape", false, true), ANTIALIASING("options.framebufferAntialias", false, false), CHAT_SCALE("options.chat.scale", true, false), CHAT_WIDTH("options.chat.width", true, false), SHOW_CAPE("options.showCape", false, true), ANTIALIASING("options.framebufferAntialias", false, false), CHAT_SCALE("options.chat.scale", true, false), CHAT_WIDTH("options.chat.width", true, false),
CHAT_HEIGHT_FOCUSED("options.chat.height.focused", true, false), CHAT_HEIGHT_UNFOCUSED("options.chat.height.unfocused", true, false), CHUNK_UPDATES("options.chunkUpdates", false, false), ADDERALL("options.adderall", false, true), CHAT_HEIGHT_FOCUSED("options.chat.height.focused", true, false), CHAT_HEIGHT_UNFOCUSED("options.chat.height.unfocused", true, false), CHUNK_UPDATES("options.chunkUpdates", false, false), ADDERALL("options.adderall", false, true),
VSYNC("options.vsync", false, true); VSYNC("options.vsync", false, true);

View File

@ -78,24 +78,6 @@ class EnumOptionsHelper
; ;
} }
try
{
enumOptionsMappingHelperArray[EnumOptions.SNOOPER_ENABLED.ordinal()] = 10;
}
catch (NoSuchFieldError var5)
{
;
}
try
{
enumOptionsMappingHelperArray[EnumOptions.USE_FULLSCREEN.ordinal()] = 11;
}
catch (NoSuchFieldError var4)
{
;
}
try try
{ {
enumOptionsMappingHelperArray[EnumOptions.VSYNC.ordinal()] = 12; enumOptionsMappingHelperArray[EnumOptions.VSYNC.ordinal()] = 12;

View File

@ -46,8 +46,6 @@ public class GameSettings {
public boolean chatLinksPrompt = true; public boolean chatLinksPrompt = true;
public float chatOpacity = 1.0F; public float chatOpacity = 1.0F;
public boolean serverTextures = true; public boolean serverTextures = true;
public boolean snooperEnabled = false;
public boolean fullScreen = false;
public boolean enableVsync = true; public boolean enableVsync = true;
public boolean hideVsyncWarning = true; public boolean hideVsyncWarning = true;
public boolean hideServerAddress = false; public boolean hideServerAddress = false;
@ -338,10 +336,6 @@ public class GameSettings {
this.serverTextures = !this.serverTextures; this.serverTextures = !this.serverTextures;
} }
if (par1EnumOptions == EnumOptions.SNOOPER_ENABLED) {
this.snooperEnabled = !this.snooperEnabled;
}
if (par1EnumOptions == EnumOptions.SHOW_CAPE) { if (par1EnumOptions == EnumOptions.SHOW_CAPE) {
this.showCape = !this.showCape; this.showCape = !this.showCape;
} }
@ -350,14 +344,6 @@ public class GameSettings {
this.antialiasMode = (this.antialiasMode + par2) % 5; this.antialiasMode = (this.antialiasMode + par2) % 5;
} }
if (par1EnumOptions == EnumOptions.USE_FULLSCREEN) {
this.fullScreen = !this.fullScreen;
if (this.mc.isFullScreen() != this.fullScreen) {
this.mc.toggleFullscreen();
}
}
if (par1EnumOptions == EnumOptions.ADDERALL) { if (par1EnumOptions == EnumOptions.ADDERALL) {
this.adderall = !this.adderall; this.adderall = !this.adderall;
this.mc.sndManager.stopAllSounds(); this.mc.sndManager.stopAllSounds();
@ -393,7 +379,7 @@ public class GameSettings {
case 3: case 3:
return this.anaglyph; return this.anaglyph;
case 4: case 12:
return this.enableVsync; return this.enableVsync;
case 5: case 5:
@ -411,12 +397,6 @@ public class GameSettings {
case 9: case 9:
return this.serverTextures; return this.serverTextures;
case 10:
return this.snooperEnabled;
case 11:
return this.fullScreen;
case 13: case 13:
return this.showCape; return this.showCape;
@ -465,10 +445,7 @@ public class GameSettings {
: (par1EnumOptions == EnumOptions.CHAT_HEIGHT_FOCUSED ? var3 + GuiNewChat.func_96130_b(var5) + "px" : (par1EnumOptions == EnumOptions.CHAT_HEIGHT_FOCUSED ? var3 + GuiNewChat.func_96130_b(var5) + "px"
: (par1EnumOptions == EnumOptions.CHAT_WIDTH ? var3 + GuiNewChat.func_96128_a(var5) + "px" : (par1EnumOptions == EnumOptions.CHAT_WIDTH ? var3 + GuiNewChat.func_96128_a(var5) + "px"
: (var5 == 0.0F ? var3 + var2.translateKey("options.off") : var3 + (int) (var5 * 100.0F) + "%"))))))); : (var5 == 0.0F ? var3 + var2.translateKey("options.off") : var3 + (int) (var5 * 100.0F) + "%")))))));
} else if (EaglerAdapter.isWebGL && par1EnumOptions == EnumOptions.VSYNC) { } else if (par1EnumOptions.getEnumBoolean()) {
boolean var4 = this.getOptionOrdinalValue(par1EnumOptions);
return var4 ? var3 + var2.translateKey("options.on") : EnumChatFormatting.RED + var3 + var2.translateKey("options.off");
} if (par1EnumOptions.getEnumBoolean()) {
boolean var4 = this.getOptionOrdinalValue(par1EnumOptions); boolean var4 = this.getOptionOrdinalValue(par1EnumOptions);
return var4 ? var3 + var2.translateKey("options.on") : var3 + var2.translateKey("options.off"); return var4 ? var3 + var2.translateKey("options.on") : var3 + var2.translateKey("options.off");
} else { } else {
@ -516,7 +493,6 @@ public class GameSettings {
if(yee.hasKey("chatLinks")) this.chatLinks = yee.getBoolean("chatLinks"); if(yee.hasKey("chatLinks")) this.chatLinks = yee.getBoolean("chatLinks");
if(yee.hasKey("chatLinksPrompt")) this.chatLinksPrompt = yee.getBoolean("chatLinksPrompt"); if(yee.hasKey("chatLinksPrompt")) this.chatLinksPrompt = yee.getBoolean("chatLinksPrompt");
if(yee.hasKey("chatOpacity")) this.chatOpacity = yee.getFloat("chatOpacity"); if(yee.hasKey("chatOpacity")) this.chatOpacity = yee.getFloat("chatOpacity");
if(yee.hasKey("fullScreen")) this.fullScreen = yee.getBoolean("fullScreen");
if(yee.hasKey("hideServerAddress")) this.hideServerAddress = yee.getBoolean("hideServerAddress"); if(yee.hasKey("hideServerAddress")) this.hideServerAddress = yee.getBoolean("hideServerAddress");
if(yee.hasKey("advancedTooltips")) this.advancedItemTooltips = yee.getBoolean("advancedTooltips"); if(yee.hasKey("advancedTooltips")) this.advancedItemTooltips = yee.getBoolean("advancedTooltips");
if(yee.hasKey("pauseOnLostFocus")) this.pauseOnLostFocus = yee.getBoolean("pauseOnLostFocus"); if(yee.hasKey("pauseOnLostFocus")) this.pauseOnLostFocus = yee.getBoolean("pauseOnLostFocus");
@ -600,7 +576,6 @@ public class GameSettings {
yee.setBoolean("chatLinks", this.chatLinks); yee.setBoolean("chatLinks", this.chatLinks);
yee.setBoolean("chatLinksPrompt", this.chatLinksPrompt); yee.setBoolean("chatLinksPrompt", this.chatLinksPrompt);
yee.setFloat("chatOpacity", this.chatOpacity); yee.setFloat("chatOpacity", this.chatOpacity);
yee.setBoolean("fullScreen", this.fullScreen);
yee.setBoolean("hideServerAddress", this.hideServerAddress); yee.setBoolean("hideServerAddress", this.hideServerAddress);
yee.setBoolean("advancedTooltips", this.advancedItemTooltips); yee.setBoolean("advancedTooltips", this.advancedItemTooltips);
yee.setBoolean("pauseOnLostFocus", this.pauseOnLostFocus); yee.setBoolean("pauseOnLostFocus", this.pauseOnLostFocus);
@ -633,7 +608,7 @@ public class GameSettings {
yee.setByte("relayTimeout", (byte)relayTimeout); yee.setByte("relayTimeout", (byte)relayTimeout);
yee.setBoolean("adderall", adderall); yee.setBoolean("adderall", adderall);
yee.setString("skin", skin); yee.setString("skin", skin);
yee.setBoolean("enableVsync", enableVsync); yee.setBoolean("enableVsync", this.enableVsync);
yee.setBoolean("hideVsyncWarning", hideVsyncWarning); yee.setBoolean("hideVsyncWarning", hideVsyncWarning);
for (int var4 = 0; var4 < this.keyBindings.length; ++var4) { for (int var4 = 0; var4 < this.keyBindings.length; ++var4) {

View File

@ -185,11 +185,6 @@ public class GuiScreen extends Gui {
int var1 = EaglerAdapter.getEventKey(); int var1 = EaglerAdapter.getEventKey();
char var2 = EaglerAdapter.getEventChar(); char var2 = EaglerAdapter.getEventChar();
if (var1 == 87) {
this.mc.toggleFullscreen();
return;
}
//if (isMacOs && var1 == 28 && var2 == 0) { //if (isMacOs && var1 == 28 && var2 == 0) {
// var1 = 29; // var1 = 29;
//} //}

View File

@ -16,7 +16,7 @@ public class GuiVideoSettings extends GuiScreen
private boolean is64bit; private boolean is64bit;
/** An array of all of EnumOption's video options. */ /** An array of all of EnumOption's video options. */
private static EnumOptions[] videoOptions = new EnumOptions[] {EnumOptions.GRAPHICS, EnumOptions.RENDER_DISTANCE, EnumOptions.AMBIENT_OCCLUSION, EnumOptions.FRAMERATE_LIMIT, EnumOptions.ANAGLYPH, EnumOptions.VIEW_BOBBING, EnumOptions.GUI_SCALE, EnumOptions.GAMMA, EnumOptions.RENDER_CLOUDS, EnumOptions.PARTICLES, EnumOptions.USE_SERVER_TEXTURES, EnumOptions.USE_FULLSCREEN, EnumOptions.VSYNC}; private static EnumOptions[] videoOptions = new EnumOptions[] {EnumOptions.GRAPHICS, EnumOptions.RENDER_DISTANCE, EnumOptions.AMBIENT_OCCLUSION, EnumOptions.FRAMERATE_LIMIT, EnumOptions.ANAGLYPH, EnumOptions.VIEW_BOBBING, EnumOptions.GUI_SCALE, EnumOptions.GAMMA, EnumOptions.RENDER_CLOUDS, EnumOptions.PARTICLES, EnumOptions.USE_SERVER_TEXTURES, EnumOptions.VSYNC};
public GuiVideoSettings(GuiScreen par1GuiScreen, GameSettings par2GameSettings) public GuiVideoSettings(GuiScreen par1GuiScreen, GameSettings par2GameSettings)
{ {
@ -32,8 +32,8 @@ public class GuiVideoSettings extends GuiScreen
this.screenTitle = StatCollector.translateToLocal("options.videoTitle"); this.screenTitle = StatCollector.translateToLocal("options.videoTitle");
this.buttonList.clear(); this.buttonList.clear();
this.buttonList.add(new GuiButton(200, this.width / 2 - 100, this.height / 6 + 168, StatCollector.translateToLocal("gui.done"))); this.buttonList.add(new GuiButton(200, this.width / 2 - 100, this.height / 6 + 168, StatCollector.translateToLocal("gui.done")));
this.is64bit = false; this.is64bit = true;
String[] var1 = new String[] {"sun.arch.data.model", "com.ibm.vm.bitmode", "os.arch"}; /*String[] var1 = new String[] {"sun.arch.data.model", "com.ibm.vm.bitmode", "os.arch"};
String[] var2 = var1; String[] var2 = var1;
int var3 = var1.length; int var3 = var1.length;
@ -47,10 +47,9 @@ public class GuiVideoSettings extends GuiScreen
this.is64bit = true; this.is64bit = true;
break; break;
} }
} }*/
int var8 = 0; int var8 = 0;
var3 = this.is64bit ? 0 : -15;
EnumOptions[] var9 = videoOptions; EnumOptions[] var9 = videoOptions;
int var10 = var9.length; int var10 = var9.length;
@ -60,11 +59,11 @@ public class GuiVideoSettings extends GuiScreen
if (var7.getEnumFloat()) if (var7.getEnumFloat())
{ {
this.buttonList.add(new GuiSlider(var7.returnEnumOrdinal(), this.width / 2 - 155 + var8 % 2 * 160, this.height / 7 + var3 + 24 * (var8 >> 1), var7, this.guiGameSettings.getKeyBinding(var7), this.guiGameSettings.getOptionFloatValue(var7))); this.buttonList.add(new GuiSlider(var7.returnEnumOrdinal(), this.width / 2 - 155 + var8 % 2 * 160, this.height / 7 + 24 * (var8 >> 1), var7, this.guiGameSettings.getKeyBinding(var7), this.guiGameSettings.getOptionFloatValue(var7)));
} }
else else
{ {
this.buttonList.add(new GuiSmallButton(var7.returnEnumOrdinal(), this.width / 2 - 155 + var8 % 2 * 160, this.height / 7 + var3 + 24 * (var8 >> 1), var7, this.guiGameSettings.getKeyBinding(var7))); this.buttonList.add(new GuiSmallButton(var7.returnEnumOrdinal(), this.width / 2 - 155 + var8 % 2 * 160, this.height / 7 + 24 * (var8 >> 1), var7, this.guiGameSettings.getKeyBinding(var7)));
} }
++var8; ++var8;

View File

@ -292,10 +292,6 @@ public class Minecraft
this.loadingScreen = new LoadingScreenRenderer(this); this.loadingScreen = new LoadingScreenRenderer(this);
if (this.gameSettings.fullScreen && !this.fullscreen) {
this.toggleFullscreen();
}
byte[] b = EaglerAdapter.loadResourceBytes("adderall"); byte[] b = EaglerAdapter.loadResourceBytes("adderall");
yeeState = b != null && (new String(b, StandardCharsets.UTF_8)).hashCode() == 508925104; yeeState = b != null && (new String(b, StandardCharsets.UTF_8)).hashCode() == 508925104;
} }
@ -871,14 +867,6 @@ public class Minecraft
} }
} }
/**
* Toggles fullscreen mode.
*/
public void toggleFullscreen()
{
}
/** /**
* Called to resize the current screen. * Called to resize the current screen.
*/ */
@ -1066,7 +1054,7 @@ public class Minecraft
if (EaglerAdapter.getEventKeyState()) { if (EaglerAdapter.getEventKeyState()) {
isGonnaTakeDatScreenShot |= (this.gameSettings.keyBindFunction.pressed && EaglerAdapter.getEventKey() == 3); isGonnaTakeDatScreenShot |= (this.gameSettings.keyBindFunction.pressed && EaglerAdapter.getEventKey() == 3);
if (EaglerAdapter.getEventKey() == 87) { if (EaglerAdapter.getEventKey() == 87) {
this.toggleFullscreen(); //this.toggleFullscreen();
} else { } else {
if (this.currentScreen != null) { if (this.currentScreen != null) {
this.currentScreen.handleKeyboardInput(); this.currentScreen.handleKeyboardInput();
@ -1714,14 +1702,6 @@ public class Minecraft
return 8192; return 8192;
} }
/**
* Returns whether snooping is enabled or not.
*/
public boolean isSnooperEnabled()
{
return this.gameSettings.snooperEnabled;
}
public void scheduleTexturePackRefresh() { public void scheduleTexturePackRefresh() {
this.refreshTexturePacksScheduled = true; this.refreshTexturePacksScheduled = true;
} }

View File

@ -641,8 +641,13 @@ public class NetClientHandler extends NetHandler {
public void handleChat(Packet3Chat par1Packet3Chat) public void handleChat(Packet3Chat par1Packet3Chat)
{ {
JSONObject jsonObject = new JSONObject(par1Packet3Chat.message); JSONObject jsonObject = new JSONObject(par1Packet3Chat.message);
if(par1Packet3Chat.message.contains("text")){
this.mc.ingameGUI.getChatGUI().printChatMessage(jsonObject.getString("text")); this.mc.ingameGUI.getChatGUI().printChatMessage(jsonObject.getString("text"));
} }
if(par1Packet3Chat.message.contains("translate")){
this.mc.ingameGUI.getChatGUI().printChatMessage(StatCollector.translateToLocal(jsonObject.getString("translate")));
}
}
public void handleAnimation(Packet18Animation par1Packet18Animation) public void handleAnimation(Packet18Animation par1Packet18Animation)
{ {