Compare commits

...
37 Commits
Author SHA1 Message Date
Christian 2140cd8cb6 Temporary hosting 2013-01-12 00:38:42 -05:00
Christian 4a6245a215 Another packaging update. I think we're done now. 2013-01-12 00:33:32 -05:00
Christian 48544db690 Fix modlist to use the new texture binding functions, i think 2013-01-12 00:27:11 -05:00
Christian 2c89b3def3 A couple of packaging tweaks, clean up more junk. It may come back but for now it's gone 2013-01-12 00:17:35 -05:00
Christian 5689182088 Delete old patches not needed anymore 2013-01-11 23:53:14 -05:00
Christian 4a1f4b90fd Initial patch update for snapshot 2013-01-11 23:47:05 -05:00
Christian f2d42d1134 Initial setup for snapshot- the client compiles, but patches fail to apply. 2013-01-11 22:49:09 -05:00
LexManos 51e7606e74 Updated patches for new JAD style names. 2013-01-11 13:16:40 -08:00
LexManos 723c2d98eb FML will now rename local variables to have JAD-style names instead of FernFlower var## names. New script to do this, to allow for modders to run it over there own code: python rename_vars.py -mcp [folders to rename]... 2013-01-11 13:16:23 -08:00
Christian 7dee072e1a Fix incorrect end length calculation. Closes #161 Thanks BStramke! 2013-01-11 09:41:47 -05:00
Christian 3e18c4160f Fix LanguageRegistry loading files in UTF-8 format. loadLocalization should work for non-xml in
all languages now (assumes UTF-8)
2013-01-08 08:46:50 -05:00
cpw 513ad19187 Merge pull request #158 from CovertJaguar/patch-2
Added an accessor for villagers
2013-01-08 05:36:45 -08:00
CovertJaguar eabede2203 Added an accessor for villagers 2013-01-07 14:55:17 -08:00
LexManos b22dbc12a2 New python script to update java files for new package names. Usage: paython update_packages.py --mcp-dir <mcp folder> [Folders To Repackage] 2013-01-06 22:10:19 -08:00
LexManos 708e86adfb New python script for signing partial jar files. See comments inside for details. 2013-01-06 22:09:12 -08:00
Christian 6f1b762c9d Move server stopped *after* the server has actually stopped. *sigh* 2012-12-31 01:20:35 -05:00
Christian d9bfb29d6c Add in a "server stopped" event 2012-12-30 23:52:38 -05:00
Christian 6fc7bc4941 Add in some classloader debugging information: use fml.debugClassLoading=true as a system property
to track down problems with classes not being found or loading erratically.
2012-12-30 21:32:37 -05:00
Christian fb701cdc5e Revert MCP name change for canConnectRedstone - it conflicts with a forge method of the same name and breaks 1.4.6 to 1.4.7 compatibility 2012-12-29 00:00:24 -05:00
Christian f7cc50b521 Update for MC 1.4.7 2012-12-28 10:07:53 -05:00
Christian 1a232cf766 Fix multiple GUI containers for ML containers. Sorry ultimatechest that
this fix took so long, a bug report at github.com/cpw/FML would help,
next time ;)
2012-12-27 23:00:52 -05:00
Christian 853f54bcc2 Log if there's a problem reading the class bytes 2012-12-27 23:00:37 -05:00
LexManos 127be2237d Fix NPE in fingerprint loading, and pass expectged fingerprint to FMLFingerprintViolationEvent 2012-12-25 15:59:30 -08:00
Christian 7e6456d7cd Fix a message delivery issue in IMC 2012-12-24 09:41:22 -05:00
Christian 664ebda599 Some tweaks for signing and ID matching 2012-12-23 22:27:26 -05:00
LexManos 9b4a225ad2 Remove unneeded file 2012-12-20 14:30:59 -08:00
LexManos 6c59fa2d2c Fixed placement of onConnectionClosed callback. 2012-12-20 14:30:41 -08:00
LexManos 5736d850f0 MCP will reobf classes with reserved names in windows to a legal file name. And FML will try to read these classes over the default ones. 2012-12-19 19:10:00 -08:00
LexManos 127d6ee8ac Output obfed files with reserved windows names to _NAME.class 2012-12-19 18:12:11 -08:00
LexManos 2055543042 Add quotes around javac command. 2012-12-19 02:58:09 -08:00
Christian 40e57a26a9 Update MCP to newer version
Fix fingerprint fire
2012-12-18 16:43:48 -05:00
Christian d604e44195 InterModComms now supports a runtime polling based model for inter-mod comms at
runtime.
Deprecate method that shouldn't be used. COPY it's content to your mod. Don't CALL it.
2012-12-18 13:58:57 -05:00
Christian 8b7778ccb6 Don't be as alarming about item overwrites. 2012-12-18 08:33:46 -05:00
Christian 7e30814ecb Added configuration file which allows modids to ignore ID validation checking. IT WILL CRASH YOUR GAME in 99.999% of cases.
Immibis is a whingy ass. And TinyTimRob too. Now STFU and GTFO. closes #510 for ever.
2012-12-18 08:15:46 -05:00
LexManos e5b1dfb74c Dixed ev eclipse worksapce, now references BC. 2012-12-18 05:10:32 -08:00
LexManos 27bc77363e Added client src folder to classpath for startclient/startserver. 2012-12-18 05:06:20 -08:00
LexManos 506b73d0a0 Removed hardcoded additions 2012-12-18 05:05:25 -08:00
97 changed files with 16945 additions and 16152 deletions

No files matched your search

@@ -140,7 +140,7 @@ public class FMLClientHandler implements IFMLSidedHandler
loading = true;
client = minecraft;
ObfuscationReflectionHelper.detectObfuscation(World.class);
TextureFXManager.instance().setClient(client);
// TextureFXManager.instance().setClient(client);
FMLCommonHandler.instance().beginLoading(this);
new ModLoaderClientHelper(client);
try
@@ -244,7 +244,7 @@ public class FMLClientHandler implements IFMLSidedHandler
}
else
{
TextureFXManager.instance().loadTextures(client.field_71418_C.func_77292_e());
// TextureFXManager.instance().loadTextures(client.field_71418_C.func_77292_e());
}
}
/**
@@ -1,70 +0,0 @@
/*
* The FML Forge Mod Loader suite.
* Copyright (C) 2012 cpw
*
* This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package cpw.mods.fml.client;
import java.awt.Dimension;
import java.util.List;
import java.util.logging.Logger;
import net.minecraft.client.renderer.RenderEngine;
import net.minecraft.client.renderer.texturefx.TextureFX;
import net.minecraft.client.texturepacks.ITexturePack;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.FMLLog;
public class FMLTextureFX extends TextureFX implements ITextureFX
{
public int tileSizeBase = 16;
public int tileSizeSquare = 256;
public int tileSizeMask = 15;
public int tileSizeSquareMask = 255;
public boolean errored = false;
protected Logger log = FMLLog.getLogger();
public FMLTextureFX(int icon)
{
super(icon);
}
@Override public void setErrored(boolean err){ errored = err; }
@Override public boolean getErrored(){ return errored; }
@Override
public void onTexturePackChanged(RenderEngine engine, ITexturePack texturepack, Dimension dimensions)
{
onTextureDimensionsUpdate(dimensions.width, dimensions.height);
}
@Override
public void onTextureDimensionsUpdate(int width, int height)
{
tileSizeBase = width >> 4;
tileSizeSquare = tileSizeBase * tileSizeBase;
tileSizeMask = tileSizeBase - 1;
tileSizeSquareMask = tileSizeSquare - 1;
setErrored(false);
setup();
}
protected void setup()
{
field_76852_a = new byte[tileSizeSquare << 2];
}
public boolean unregister(RenderEngine engine, List<TextureFX> effects)
{
effects.remove(this);
return true;
}
}
+10 -8
View File
@@ -16,6 +16,7 @@ package cpw.mods.fml.client;
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
@@ -23,6 +24,8 @@ import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiSmallButton;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.Texture;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.util.StringTranslate;
import org.lwjgl.opengl.GL11;
@@ -118,17 +121,16 @@ public class GuiModList extends GuiScreen
int shifty = 35;
if (!selectedMod.getMetadata().logoFile.isEmpty())
{
int texture = this.field_73882_e.field_71446_o.func_78341_b(selectedMod.getMetadata().logoFile);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.field_73882_e.field_71446_o.func_78342_b(texture);
Dimension dim = TextureFXManager.instance().getTextureDimensions(texture);
List<Texture> texList = TextureManager.func_94267_b().func_94266_e(selectedMod.getMetadata().logoFile);
Texture texture = texList.get(0);
texture.func_94277_a(0);
int top = 32;
Tessellator tess = Tessellator.field_78398_a;
tess.func_78382_b();
tess.func_78374_a(offset, top + dim.height, field_73735_i, 0, 1);
tess.func_78374_a(offset + dim.width, top + dim.height, field_73735_i, 1, 1);
tess.func_78374_a(offset + dim.width, top, field_73735_i, 1, 0);
tess.func_78374_a(offset, top, field_73735_i, 0, 0);
tess.func_78374_a(offset, top + texture.func_94284_b(), field_73735_i, 0, 1);
tess.func_78374_a(offset + texture.func_94282_c(), top + texture.func_94284_b(), field_73735_i, 1, 1);
tess.func_78374_a(offset + texture.func_94282_c(), top, field_73735_i, 1, 0);
tess.func_78374_a(offset, top, field_73735_i, 0, 0);
tess.func_78381_a();
shifty += 65;
@@ -1,44 +0,0 @@
/*
* The FML Forge Mod Loader suite.
* Copyright (C) 2012 cpw
*
* This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package cpw.mods.fml.client;
import net.minecraft.client.renderer.texturefx.TextureFX;
class OverrideInfo
{
public String texture;
public String override;
public int index;
public int imageIndex;
public TextureFX textureFX;
public boolean added;
@Override
public boolean equals(Object obj)
{
try {
OverrideInfo inf=(OverrideInfo) obj;
return index==inf.index && imageIndex==inf.imageIndex;
} catch (Exception e) {
return false;
}
}
@Override
public int hashCode()
{
return index+imageIndex;
}
}
@@ -1,302 +1,24 @@
package cpw.mods.fml.client;
import static org.lwjgl.opengl.GL11.GL_TEXTURE_2D;
import static org.lwjgl.opengl.GL11.GL_TEXTURE_BINDING_2D;
import java.awt.Dimension;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import javax.imageio.ImageIO;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderEngine;
import net.minecraft.client.renderer.texturefx.TextureFX;
import net.minecraft.client.texturepacks.ITexturePack;
import net.minecraft.src.ModTextureStatic;
import org.lwjgl.opengl.GL11;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.ModContainer;
public class TextureFXManager
{
private static final TextureFXManager INSTANCE = new TextureFXManager();
private class TextureProperties
{
private int textureId;
private Dimension dim;
}
private Map<Integer,TextureProperties> textureProperties = Maps.newHashMap();
private Multimap<String, OverrideInfo> overrideInfo = ArrayListMultimap.create();
private HashSet<OverrideInfo> animationSet = new HashSet<OverrideInfo>();
private List<TextureFX> addedTextureFX = new ArrayList<TextureFX>();
private Minecraft client;
void setClient(Minecraft client)
{
this.client = client;
}
public boolean onUpdateTextureEffect(TextureFX effect)
{
ITextureFX ifx = (effect instanceof ITextureFX ? ((ITextureFX)effect) : null);
if (ifx != null && ifx.getErrored())
{
return false;
}
String name = effect.getClass().getSimpleName();
client.field_71424_I.func_76320_a(name);
try
{
if (!FMLClientHandler.instance().hasOptifine())
{
effect.func_76846_a();
}
}
catch (Exception e)
{
FMLLog.warning("Texture FX %s has failed to animate. Likely caused by a texture pack change that they did not respond correctly to", name);
if (ifx != null)
{
ifx.setErrored(true);
}
client.field_71424_I.func_76319_b();
return false;
}
client.field_71424_I.func_76319_b();
if (ifx != null)
{
Dimension dim = getTextureDimensions(effect);
int target = ((dim.width >> 4) * (dim.height >> 4)) << 2;
if (effect.field_76852_a.length != target)
{
FMLLog.warning("Detected a texture FX sizing discrepancy in %s (%d, %d)", name, effect.field_76852_a.length, target);
ifx.setErrored(true);
return false;
}
}
return true;
}
//Quick and dirty image scaling, no smoothing or fanciness, meant for speed as it will be called every tick.
public void scaleTextureFXData(byte[] data, ByteBuffer buf, int target, int length)
{
int sWidth = (int)Math.sqrt(data.length / 4);
int factor = target / sWidth;
byte[] tmp = new byte[4];
buf.clear();
if (factor > 1)
{
for (int y = 0; y < sWidth; y++)
{
int sRowOff = sWidth * y;
int tRowOff = target * y * factor;
for (int x = 0; x < sWidth; x++)
{
int sPos = (x + sRowOff) * 4;
tmp[0] = data[sPos + 0];
tmp[1] = data[sPos + 1];
tmp[2] = data[sPos + 2];
tmp[3] = data[sPos + 3];
int tPosTop = (x * factor) + tRowOff;
for (int y2 = 0; y2 < factor; y2++)
{
buf.position((tPosTop + (y2 * target)) * 4);
for (int x2 = 0; x2 < factor; x2++)
{
buf.put(tmp);
}
}
}
}
}
buf.position(0).limit(length);
}
public void onPreRegisterEffect(TextureFX effect)
{
Dimension dim = getTextureDimensions(effect);
if (effect instanceof ITextureFX)
{
((ITextureFX)effect).onTextureDimensionsUpdate(dim.width, dim.height);
}
}
public int getEffectTexture(TextureFX effect)
{
Integer id = effectTextures.get(effect);
if (id != null)
{
return id;
}
int old = GL11.glGetInteger(GL_TEXTURE_BINDING_2D);
effect.func_76845_a(client.field_71446_o);
id = GL11.glGetInteger(GL_TEXTURE_BINDING_2D);
GL11.glBindTexture(GL_TEXTURE_2D, old);
effectTextures.put(effect, id);
effect.field_76848_d = id;
return id;
}
public void onTexturePackChange(RenderEngine engine, ITexturePack texturepack, List<TextureFX> effects)
{
pruneOldTextureFX(texturepack, effects);
for (TextureFX tex : effects)
{
if (tex instanceof ITextureFX)
{
((ITextureFX)tex).onTexturePackChanged(engine, texturepack, getTextureDimensions(tex));
}
}
loadTextures(texturepack);
}
private HashMap<Integer, Dimension> textureDims = new HashMap<Integer, Dimension>();
private IdentityHashMap<TextureFX, Integer> effectTextures = new IdentityHashMap<TextureFX, Integer>();
private ITexturePack earlyTexturePack;
public void setTextureDimensions(int id, int width, int height, List<TextureFX> effects)
{
Dimension dim = new Dimension(width, height);
textureDims.put(id, dim);
for (TextureFX tex : effects)
{
if (getEffectTexture(tex) == id && tex instanceof ITextureFX)
{
((ITextureFX)tex).onTextureDimensionsUpdate(width, height);
}
}
}
public Dimension getTextureDimensions(TextureFX effect)
{
return getTextureDimensions(getEffectTexture(effect));
}
public Dimension getTextureDimensions(int id)
{
return textureDims.get(id);
}
public void addAnimation(TextureFX anim)
{
OverrideInfo info=new OverrideInfo();
info.index=anim.field_76850_b;
info.imageIndex=anim.field_76847_f;
info.textureFX=anim;
if (animationSet.contains(info)) {
animationSet.remove(info);
}
animationSet.add(info);
}
public void loadTextures(ITexturePack texturePack)
{
registerTextureOverrides(client.field_71446_o);
}
public void registerTextureOverrides(RenderEngine renderer) {
for (OverrideInfo animationOverride : animationSet) {
renderer.func_78355_a(animationOverride.textureFX);
addedTextureFX.add(animationOverride.textureFX);
FMLCommonHandler.instance().getFMLLogger().finer(String.format("Registered texture override %d (%d) on %s (%d)", animationOverride.index, animationOverride.textureFX.field_76850_b, animationOverride.textureFX.getClass().getSimpleName(), animationOverride.textureFX.field_76847_f));
}
for (String fileToOverride : overrideInfo.keySet()) {
for (OverrideInfo override : overrideInfo.get(fileToOverride)) {
try
{
BufferedImage image=loadImageFromTexturePack(renderer, override.override);
ModTextureStatic mts=new ModTextureStatic(override.index, 1, override.texture, image);
renderer.func_78355_a(mts);
addedTextureFX.add(mts);
FMLCommonHandler.instance().getFMLLogger().finer(String.format("Registered texture override %d (%d) on %s (%d)", override.index, mts.field_76850_b, override.texture, mts.field_76847_f));
}
catch (IOException e)
{
FMLCommonHandler.instance().getFMLLogger().throwing("FMLClientHandler", "registerTextureOverrides", e);
}
}
}
}
protected void registerAnimatedTexturesFor(ModContainer mod)
{
}
public void onEarlyTexturePackLoad(ITexturePack fallback)
{
if (client==null) {
// We're far too early- let's wait
this.earlyTexturePack = fallback;
} else {
loadTextures(fallback);
}
}
public void pruneOldTextureFX(ITexturePack var1, List<TextureFX> effects)
{
ListIterator<TextureFX> li = addedTextureFX.listIterator();
while (li.hasNext())
{
TextureFX tex = li.next();
if (tex instanceof FMLTextureFX)
{
if (((FMLTextureFX)tex).unregister(client.field_71446_o, effects))
{
li.remove();
}
}
else
{
effects.remove(tex);
li.remove();
}
}
}
public void addNewTextureOverride(String textureToOverride, String overridingTexturePath, int location) {
OverrideInfo info = new OverrideInfo();
info.index = location;
info.override = overridingTexturePath;
info.texture = textureToOverride;
overrideInfo.put(textureToOverride, info);
FMLLog.fine("Overriding %s @ %d with %s. %d slots remaining",textureToOverride, location, overridingTexturePath, SpriteHelper.freeSlotCount(textureToOverride));
}
public BufferedImage loadImageFromTexturePack(RenderEngine renderEngine, String path) throws IOException
{
InputStream image=client.field_71418_C.func_77292_e().func_77532_a(path);
@@ -106,7 +106,7 @@ public class RenderingRegistry
*/
public static void addTextureOverride(String path, String overlayPath, int index)
{
TextureFXManager.instance().addNewTextureOverride(path, overlayPath, index);
// TextureFXManager.instance().addNewTextureOverride(path, overlayPath, index);
}
/**
@@ -22,7 +22,6 @@ import java.util.logging.Logger;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.RenderEngine;
import net.minecraft.client.renderer.texturefx.TextureFX;
import net.minecraft.client.texturepacks.ITexturePack;
import net.minecraft.world.IBlockAccess;
@@ -54,31 +53,6 @@ public class FMLRenderAccessLibrary
FMLLog.log(level, throwable, message);
}
public static void setTextureDimensions(int textureId, int width, int height, List<TextureFX> textureFXList)
{
TextureFXManager.instance().setTextureDimensions(textureId, width, height, textureFXList);
}
public static void preRegisterEffect(TextureFX textureFX)
{
TextureFXManager.instance().onPreRegisterEffect(textureFX);
}
public static boolean onUpdateTextureEffect(TextureFX textureFX)
{
return TextureFXManager.instance().onUpdateTextureEffect(textureFX);
}
public static Dimension getTextureDimensions(TextureFX textureFX)
{
return TextureFXManager.instance().getTextureDimensions(textureFX);
}
public static void onTexturePackChange(RenderEngine engine, ITexturePack texturePack, List<TextureFX> textureFXList)
{
TextureFXManager.instance().onTexturePackChange(engine, texturePack, textureFXList);
}
@SuppressWarnings("deprecation")
public static boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelId)
{
-7
View File
@@ -28,7 +28,6 @@ import net.minecraft.client.multiplayer.NetClientHandler;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.RenderEngine;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.texturefx.TextureFX;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.command.ICommand;
@@ -120,12 +119,6 @@ public class ModLoader
{
}
@SideOnly(CLIENT)
public static void addAnimation(TextureFX anim)
{
TextureFXManager.instance().addAnimation(anim);
}
/**
* Adds a new prefix to the armor texture list
*
@@ -1,141 +0,0 @@
/*
* The FML Forge Mod Loader suite.
* Copyright (C) 2012 cpw
*
* This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package net.minecraft.src;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
import net.minecraft.client.renderer.RenderEngine;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.FMLTextureFX;
/**
* A texture override for animations, it takes a vertical image of
* texture frames and constantly rotates them in the texture.
*/
public class ModTextureAnimation extends FMLTextureFX
{
private final int tickRate;
private byte[][] images;
private int index = 0;
private int ticks = 0;
private String targetTex = null;
private BufferedImage imgData = null;
public ModTextureAnimation(int icon, int target, BufferedImage image, int tickCount)
{
this(icon, 1, target, image, tickCount);
}
public ModTextureAnimation(int icon, int size, int target, BufferedImage image, int tickCount)
{
this(icon, size, (target == 0 ? "/terrain.png" : "/gui/items.png"), image, tickCount);
}
public ModTextureAnimation(int icon, int size, String target, BufferedImage image, int tickCount)
{
super(icon);
RenderEngine re = FMLClientHandler.instance().getClient().field_71446_o;
targetTex = target;
field_76849_e = size;
field_76847_f = re.func_78341_b(target);
tickRate = tickCount;
ticks = tickCount;
imgData = image;
}
@Override
public void setup()
{
super.setup();
int sWidth = imgData.getWidth();
int sHeight = imgData.getHeight();
int tWidth = tileSizeBase;
int tHeight = tileSizeBase;
int frames = (int)Math.floor((double)(sHeight / sWidth));
if (frames < 1)
{
throw new IllegalArgumentException(String.format("Attempted to create a TextureAnimation with no complete frames: %dx%d", sWidth, sHeight));
}
else
{
images = new byte[frames][];
BufferedImage image = imgData;
if (sWidth != tWidth)
{
BufferedImage b = new BufferedImage(tWidth, tHeight * frames, 6);
Graphics2D g = b.createGraphics();
g.drawImage(imgData, 0, 0, tWidth, tHeight * frames, 0, 0, sWidth, sHeight, (ImageObserver)null);
g.dispose();
image = b;
}
for (int frame = 0; frame < frames; frame++)
{
int[] pixels = new int[tileSizeSquare];
image.getRGB(0, tHeight * frame, tWidth, tHeight, pixels, 0, tWidth);
images[frame] = new byte[tileSizeSquare << 2];
for (int i = 0; i < pixels.length; i++)
{
int i4 = i * 4;
images[frame][i4 + 0] = (byte)(pixels[i] >> 16 & 255);
images[frame][i4 + 1] = (byte)(pixels[i] >> 8 & 255);
images[frame][i4 + 2] = (byte)(pixels[i] >> 0 & 255);
images[frame][i4 + 3] = (byte)(pixels[i] >> 24 & 255);
}
}
}
}
public void func_76846_a()
{
if (++ticks >= tickRate)
{
if (++index >= images.length)
{
index = 0;
}
field_76852_a = images[index];
ticks = 0;
}
}
public void func_76845_a(RenderEngine renderEngine)
{
GL11.glBindTexture(GL11.GL_TEXTURE_2D, field_76847_f);
}
// TODO: REMOVE THIS - just for you dan200
@Deprecated
public void func_783_a()
{
func_76846_a();
}
}
@@ -1,183 +0,0 @@
/*
* The FML Forge Mod Loader suite.
* Copyright (C) 2012 cpw
*
* This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package net.minecraft.src;
import static org.lwjgl.opengl.GL11.GL_TEXTURE_2D;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
import net.minecraft.client.renderer.RenderEngine;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.FMLTextureFX;
public class ModTextureStatic extends FMLTextureFX
{
private boolean oldanaglyph = false;
private int[] pixels = null;
private String targetTex = null;
private int storedSize;
private BufferedImage overrideData = null;
private int needApply = 10;
public ModTextureStatic(int icon, int target, BufferedImage image)
{
this(icon, 1, target, image);
}
public ModTextureStatic(int icon, int size, int target, BufferedImage image)
{
this(icon, size, (target == 0 ? "/terrain.png" : "/gui/items.png"), image);
}
public ModTextureStatic(int icon, int size, String target, BufferedImage image)
{
super(icon);
RenderEngine re = FMLClientHandler.instance().getClient().field_71446_o;
targetTex = target;
storedSize = size;
field_76849_e = size;
field_76847_f = re.func_78341_b(target);
overrideData = image;
}
@Override
public void setup()
{
super.setup();
int sWidth = overrideData.getWidth();
int sHeight = overrideData.getHeight();
pixels = new int[tileSizeSquare];
if (tileSizeBase == sWidth && tileSizeBase == sHeight)
{
overrideData.getRGB(0, 0, sWidth, sHeight, pixels, 0, sWidth);
}
else
{
BufferedImage tmp = new BufferedImage(tileSizeBase, tileSizeBase, 6);
Graphics2D gfx = tmp.createGraphics();
gfx.drawImage(overrideData, 0, 0, tileSizeBase, tileSizeBase, 0, 0, sWidth, sHeight, (ImageObserver)null);
tmp.getRGB(0, 0, tileSizeBase, tileSizeBase, pixels, 0, tileSizeBase);
gfx.dispose();
}
update();
}
@Override
public void func_76846_a()
{
if (oldanaglyph != field_76851_c)
{
update();
}
// This makes it so we only apply the texture to the target texture when we need to,
//due to the fact that update is called when the Effect is first registered, we actually
//need to wait for the next one.
field_76849_e = (needApply == 0 ? 0 : storedSize);
if (needApply > 0)
{
needApply--;
}
}
@Override
public void func_76845_a(RenderEngine p_76845_1_)
{
GL11.glBindTexture(GL_TEXTURE_2D, p_76845_1_.func_78341_b(targetTex));
}
public void update()
{
needApply = 10;
for (int idx = 0; idx < pixels.length; idx++)
{
int i = idx * 4;
int a = pixels[idx] >> 24 & 255;
int r = pixels[idx] >> 16 & 255;
int g = pixels[idx] >> 8 & 255;
int b = pixels[idx] >> 0 & 255;
if (field_76851_c)
{
r = g = b = (r + g + b) / 3;
}
field_76852_a[i + 0] = (byte)r;
field_76852_a[i + 1] = (byte)g;
field_76852_a[i + 2] = (byte)b;
field_76852_a[i + 3] = (byte)a;
}
oldanaglyph = field_76851_c;
}
//Implementation of http://scale2x.sourceforge.net/algorithm.html
public static BufferedImage scale2x(BufferedImage image)
{
int w = image.getWidth();
int h = image.getHeight();
BufferedImage tmp = new BufferedImage(w * 2, h * 2, 2);
for (int x = 0; x < h; ++x)
{
int x2 = x * 2;
for (int y = 0; y < w; ++y)
{
int y2 = y * 2;
int E = image.getRGB(y, x);
int D = (x == 0 ? E : image.getRGB(y, x - 1));
int B = (y == 0 ? E : image.getRGB(y - 1, x ));
int H = (y >= w - 1 ? E : image.getRGB(y + 1, x ));
int F = (x >= h - 1 ? E : image.getRGB(y, x + 1));
int e0, e1, e2, e3;
if (B != H && D != F)
{
e0 = D == B ? D : E;
e1 = B == F ? F : E;
e2 = D == H ? D : E;
e3 = H == F ? F : E;
}
else
{
e0 = e1 = e2 = e3 = E;
}
tmp.setRGB(y2, x2, e0);
tmp.setRGB(y2 + 1, x2, e1);
tmp.setRGB(y2, x2 + 1, e2);
tmp.setRGB(y2 + 1, x2 + 1, e3);
}
}
return tmp;
}
@Override
public String toString()
{
return String.format("ModTextureStatic %s @ %d", targetTex, field_76850_b);
}
}
+46 -4
View File
@@ -34,10 +34,19 @@
def startserver(self):
- classpath = [self.binserver] + self.cpathserver
+ classpath = [self.binclient] + self.cpathserver
+ classpath = [self.binclient, self.srcclient] + self.cpathserver
classpath = [os.path.join('..', p) for p in classpath]
classpath = os.pathsep.join(classpath)
os.chdir(self.dirjars)
@@ -1070,7 +1078,7 @@
self.runmc(forkcmd)
def startclient(self):
- classpath = [self.binclient] + self.cpathclient
+ classpath = [self.binclient, self.srcclient] + self.cpathclient
classpath = [os.path.join('..', p) for p in classpath]
classpath = os.pathsep.join(classpath)
natives = os.path.join('..', self.dirnatives)
@@ -1197,20 +1205,20 @@
with open(self.csvmethods, 'rb') as fh:
methodsreader = csv.DictReader(fh)
@@ -97,7 +106,40 @@
for class_file in fnmatch.filter(filelist, '*.class'):
class_name = class_path + os.path.splitext(class_file)[0]
bin_file = os.path.normpath(os.path.join(path, class_file))
@@ -1594,6 +1605,9 @@
@@ -1535,6 +1546,8 @@
if not os.path.exists(outpathlk[side]):
os.makedirs(outpathlk[side])
+ reserved = ['CON', 'PRN', 'AUX', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9']
+
# HINT: We extract the modified class files
with closing(zipfile.ZipFile(jarlk[side])) as zipjar:
for in_class in trgclasses:
@@ -1548,6 +1561,23 @@
out_class = out_class.replace(self.nullpkg, '')
if out_class[0] == '/':
out_class = out_class[1:]
+
+ rename = False
+ for res in reserved:
+ if out_class.upper().startswith(res):
+ rename = True
+ break
+
+ if rename:
+ try:
+ f = open(os.path.join(outpathlk[side], '_' + out_class), 'wb')
+ f.write(zipjar.read(out_class))
+ f.close()
+ self.logger.info('> Outputted %s to %s as %s', in_class.ljust(35), outpathlk[side], '_' + out_class)
+ except IOError:
+ self.logger.error('* File %s failed extracting for %s', out_class, in_class)
+ continue
+
try:
zipjar.extract(out_class, outpathlk[side])
self.logger.info('> Outputted %s to %s as %s', in_class.ljust(35), outpathlk[side], out_class)
@@ -1594,6 +1624,9 @@
sys.exit(1)
for entry in newfiles:
@@ -107,7 +149,7 @@
if entry[3] == 'U':
self.logger.info('Retrieving file from server : %s', entry[0])
cur_file = os.path.normpath(entry[0])
@@ -1614,6 +1628,9 @@
@@ -1614,6 +1647,9 @@
md5reoblk = {CLIENT: self.md5reobfclient, SERVER: self.md5reobfserver}
outpathlk = {CLIENT: self.srcmodclient, SERVER: self.srcmodserver}
src = {CLIENT: self.srcclient, SERVER: self.srcserver}
@@ -117,7 +159,7 @@
# HINT: We need a table for the old md5 and the new ones
md5table = {}
@@ -1656,3 +1673,6 @@
@@ -1656,3 +1692,6 @@
except IOError:
self.logger.error('* File %s copy failed', in_class)
@@ -453,4 +453,9 @@ public class FMLCommonHandler
{
sidedDelegate.disconnectIDMismatch(serverDifference, toKill, network);
}
public void handleServerStopped()
{
Loader.instance().serverStopped();
}
}
@@ -14,6 +14,7 @@
package cpw.mods.fml.common;
import java.security.cert.Certificate;
import java.util.Arrays;
import java.util.Map;
import java.util.Set;
@@ -116,4 +117,11 @@ public class FMLDummyContainer extends DummyModContainer implements WorldAccessC
}
}
@Override
public Certificate getSigningCertificate()
{
Certificate[] certificates = getClass().getProtectionDomain().getCodeSource().getCertificates();
return certificates != null ? certificates[0] : null;
}
}
+19 -10
View File
@@ -60,6 +60,7 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartedEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.event.FMLServerStoppedEvent;
import cpw.mods.fml.common.event.FMLServerStoppingEvent;
import cpw.mods.fml.common.event.FMLStateEvent;
import cpw.mods.fml.common.network.FMLNetworkHandler;
@@ -92,6 +93,7 @@ public class FMLModContainer implements ModContainer
.put(FMLServerStartingEvent.class, Mod.ServerStarting.class)
.put(FMLServerStartedEvent.class, Mod.ServerStarted.class)
.put(FMLServerStoppingEvent.class, Mod.ServerStopping.class)
.put(FMLServerStoppedEvent.class, Mod.ServerStopped.class)
.put(IMCEvent.class,Mod.IMCCallback.class)
.put(FMLFingerprintViolationEvent.class, Mod.FingerprintWarning.class)
.build();
@@ -430,25 +432,32 @@ public class FMLModContainer implements ModContainer
String expectedFingerprint = (String) descriptor.get("certificateFingerprint");
if (expectedFingerprint != "" && !sourceFingerprints.contains(expectedFingerprint))
fingerprintNotPresent = true;
if (expectedFingerprint != null && !expectedFingerprint.isEmpty())
{
Level warnLevel = Level.SEVERE;
if (source.isDirectory())
if (!sourceFingerprints.contains(expectedFingerprint))
{
warnLevel = Level.FINER;
Level warnLevel = Level.SEVERE;
if (source.isDirectory())
{
warnLevel = Level.FINER;
}
FMLLog.log(warnLevel, "The mod %s is expecting signature %s for source %s, however there is no signature matching that description", getModId(), expectedFingerprint, source.getName());
}
else
{
certificate = certificates[certList.indexOf(expectedFingerprint)];
fingerprintNotPresent = false;
}
FMLLog.log(warnLevel, "The mod %s is expecting signature %s for source %s, however there is no signature matching that description", getModId(), expectedFingerprint, source.getName());
}
else
{
certificate = certificates[certList.indexOf(expectedFingerprint)];
}
annotations = gatherAnnotations(clazz);
isNetworkMod = FMLNetworkHandler.instance().registerNetworkMod(this, clazz, event.getASMHarvestedData());
modInstance = clazz.newInstance();
if (fingerprintNotPresent)
{
handleModStateEvent(new FMLFingerprintViolationEvent(source.isDirectory(), source, ImmutableSet.copyOf(this.sourceFingerprints)));
eventBus.post(new FMLFingerprintViolationEvent(source.isDirectory(), source, ImmutableSet.copyOf(this.sourceFingerprints), expectedFingerprint));
}
ProxyInjector.inject(this, event.getASMHarvestedData(), FMLCommonHandler.instance().getSide());
processFieldAnnotations(event.getASMHarvestedData());
+8 -2
View File
@@ -27,6 +27,7 @@ import java.util.concurrent.Callable;
import java.util.logging.Level;
import net.minecraft.crash.CallableMinecraftVersion;
import net.minecraft.server.MinecraftServer;
import com.google.common.base.CharMatcher;
import com.google.common.base.Function;
@@ -710,8 +711,6 @@ public class Loader
{
modController.distributeStateMessage(LoaderState.SERVER_STOPPING);
modController.transition(LoaderState.SERVER_STOPPING);
modController.transition(LoaderState.AVAILABLE);
}
public BiMap<ModContainer, Object> getModObjectList()
@@ -746,4 +745,11 @@ public class Loader
public String getMCPVersionString() {
return String.format("MCP v%s", mcpversion);
}
public void serverStopped()
{
modController.distributeStateMessage(LoaderState.SERVER_STOPPED);
modController.transition(LoaderState.SERVER_STOPPED);
modController.transition(LoaderState.AVAILABLE);
}
}
+3 -1
View File
@@ -10,6 +10,7 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartedEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.event.FMLServerStoppedEvent;
import cpw.mods.fml.common.event.FMLServerStoppingEvent;
import cpw.mods.fml.common.event.FMLStateEvent;
@@ -30,6 +31,7 @@ public enum LoaderState
SERVER_STARTING("Server starting", FMLServerStartingEvent.class),
SERVER_STARTED("Server started", FMLServerStartedEvent.class),
SERVER_STOPPING("Server stopping", FMLServerStoppingEvent.class),
SERVER_STOPPED("Server stopped", FMLServerStoppedEvent.class),
ERRORED("Mod Loading errored",null);
@@ -49,7 +51,7 @@ public enum LoaderState
return ERRORED;
}
// stopping -> available
if (this == SERVER_STOPPING)
if (this == SERVER_STOPPED)
{
return AVAILABLE;
}
+8
View File
@@ -168,6 +168,14 @@ public @interface Mod
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ServerStopping {}
/**
* Mark the designated method as being called at the "server-stopped" phase
* @author cpw
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ServerStopped {}
/**
* Mark the designated method as the receiver for {@link FMLInterModComms} messages
* Called between {@link Init} and {@link PostInit}
@@ -12,12 +12,14 @@ public class FMLFingerprintViolationEvent extends FMLEvent {
public final boolean isDirectory;
public final Set<String> fingerprints;
public final File source;
public final String expectedFingerprint;
public FMLFingerprintViolationEvent(boolean isDirectory, File source, ImmutableSet<String> fingerprints)
public FMLFingerprintViolationEvent(boolean isDirectory, File source, ImmutableSet<String> fingerprints, String expectedFingerprint)
{
super();
this.isDirectory = isDirectory;
this.source = source;
this.fingerprints = fingerprints;
this.expectedFingerprint = expectedFingerprint;
}
}
@@ -2,6 +2,9 @@ package cpw.mods.fml.common.event;
import java.util.List;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import com.google.common.base.Function;
import com.google.common.base.Functions;
import com.google.common.base.Predicate;
@@ -13,80 +16,197 @@ import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimaps;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.LoaderState;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.Mod.PostInit;
/**
* Simple intermod communications to receive simple messages directed at you from
* other mods
* Simple intermod communications to receive simple messages directed at you
* from other mods
*
* @author cpw
*
*/
public class FMLInterModComms {
private static ArrayListMultimap<String, IMCMessage> modMessages = ArrayListMultimap.create();
/**
* Subscribe to this event to receive your messages (they are sent between {@link Init} and {@link PostInit})
*
* @author cpw
*
*/
public static class IMCEvent extends FMLEvent {
@Override
public void applyModContainer(ModContainer activeContainer) {
currentList = ImmutableList.copyOf(modMessages.get(activeContainer.getModId()));
}
private ImmutableList<IMCMessage> currentList;
private static final ImmutableList<IMCMessage> emptyIMCList = ImmutableList.<IMCMessage>of();
private static ArrayListMultimap<String, IMCMessage> modMessages = ArrayListMultimap.create();
public ImmutableList<IMCMessage> getMessages()
{
return currentList;
}
}
/**
* Subscribe to this event to receive your messages (they are sent between
* {@link Init} and {@link PostInit})
*
* @author cpw
*
*/
public static class IMCEvent extends FMLEvent {
@Override
public void applyModContainer(ModContainer activeContainer)
{
currentList = ImmutableList.copyOf(modMessages.removeAll(activeContainer.getModId()));
FMLLog.finest("Attempting to deliver %d IMC messages to mod %s", currentList.size(), activeContainer.getModId());
}
/**
* You will receive an instance of this for each message sent
* @author cpw
*
*/
public static final class IMCMessage {
/**
* This is the modid of the mod that sent you the message
*/
public final String sender;
private ImmutableList<IMCMessage> currentList;
/**
* This field, and {@link #value} are both at the mod's discretion
*/
public final String key;
/**
* This field, and {@link #key} are both at the mod's discretion
*/
public final String value;
public ImmutableList<IMCMessage> getMessages()
{
return currentList;
}
}
private IMCMessage(String sender, String key, String value)
{
this.key = key;
this.value = value;
this.sender = sender;
}
@Override
public String toString() {
return sender;
}
}
/**
* You will receive an instance of this for each message sent
*
* @author cpw
*
*/
public static final class IMCMessage {
/**
* This is the modid of the mod that sent you the message
*/
private String sender;
/**
* This field, and {@link #value} are both at the mod's discretion
*/
public final String key;
/**
* This field, and {@link #key} are both at the mod's discretion
*/
private Object value;
public static boolean sendMessage(String modId, String key, String value)
{
if (Loader.instance().activeModContainer()==null)
{
return false;
}
modMessages.put(modId, new IMCMessage(Loader.instance().activeModContainer().getModId(), key, value));
return Loader.isModLoaded(modId) && !Loader.instance().hasReachedState(LoaderState.POSTINITIALIZATION);
}
private IMCMessage(String key, Object value)
{
this.key = key;
this.value = value;
}
@Override
public String toString()
{
return sender;
}
public String getSender()
{
return this.sender;
}
void setSender(ModContainer activeModContainer)
{
this.sender = activeModContainer.getModId();
}
public String getStringValue()
{
return (String) value;
}
public NBTTagCompound getNBTValue()
{
return (NBTTagCompound) value;
}
public ItemStack getItemStackValue()
{
return (ItemStack) value;
}
public Class<?> getMessageType()
{
return value.getClass();
}
public boolean isStringMessage()
{
return String.class.isAssignableFrom(getMessageType());
}
public boolean isItemStackMessage()
{
return ItemStack.class.isAssignableFrom(getMessageType());
}
public boolean isNBTMessage()
{
return NBTTagCompound.class.isAssignableFrom(getMessageType());
}
}
public static boolean sendMessage(String modId, String key, NBTTagCompound value)
{
return enqueueStartupMessage(modId, new IMCMessage(key, value));
}
public static boolean sendMessage(String modId, String key, ItemStack value)
{
return enqueueStartupMessage(modId, new IMCMessage(key, value));
}
public static boolean sendMessage(String modId, String key, String value)
{
return enqueueStartupMessage(modId, new IMCMessage(key, value));
}
public static void sendRuntimeMessage(Object sourceMod, String modId, String key, NBTTagCompound value)
{
enqueueMessage(sourceMod, modId, new IMCMessage(key, value));
}
public static void sendRuntimeMessage(Object sourceMod, String modId, String key, ItemStack value)
{
enqueueMessage(sourceMod, modId, new IMCMessage(key, value));
}
public static void sendRuntimeMessage(Object sourceMod, String modId, String key, String value)
{
enqueueMessage(sourceMod, modId, new IMCMessage(key, value));
}
private static boolean enqueueStartupMessage(String modTarget, IMCMessage message)
{
if (Loader.instance().activeModContainer() == null)
{
return false;
}
enqueueMessage(Loader.instance().activeModContainer(), modTarget, message);
return Loader.isModLoaded(modTarget) && !Loader.instance().hasReachedState(LoaderState.POSTINITIALIZATION);
}
private static void enqueueMessage(Object sourceMod, String modTarget, IMCMessage message)
{
ModContainer mc;
if (sourceMod instanceof ModContainer) {
mc = (ModContainer) sourceMod;
}
else
{
mc = FMLCommonHandler.instance().findContainerFor(sourceMod);
}
if (mc != null && Loader.isModLoaded(modTarget))
{
message.setSender(mc);
modMessages.put(modTarget, message);
}
}
/**
* Retrieve any pending runtime messages for the mod
* @param forMod The {@link Instance} of the Mod to fetch messages for
* @return any messages - the collection will never be null
*/
public static ImmutableList<IMCMessage> fetchRuntimeMessages(Object forMod)
{
ModContainer mc = FMLCommonHandler.instance().findContainerFor(forMod);
if (mc != null)
{
return ImmutableList.copyOf(modMessages.removeAll(mc));
}
else
{
return emptyIMCList;
}
}
}
@@ -96,8 +96,12 @@ public class FMLPreInitializationEvent extends FMLStateEvent
* Retrieve the FML signing certificates, if any. Validate these against the
* published FML certificates in your mod, if you wish.
*
* Deprecated because mods should <b>NOT</b> trust this code. Rather
* they should copy this, or something like this, into their own mods.
*
* @return Certificates used to sign FML and Forge
*/
@Deprecated
public Certificate[] getFMLSigningCertificates()
{
CodeSource codeSource = getClass().getClassLoader().getParent().getClass().getProtectionDomain().getCodeSource();
@@ -0,0 +1,18 @@
package cpw.mods.fml.common.event;
import cpw.mods.fml.common.LoaderState;
import cpw.mods.fml.common.LoaderState.ModState;
public class FMLServerStoppedEvent extends FMLStateEvent {
public FMLServerStoppedEvent(Object... data)
{
super(data);
}
@Override
public ModState getModState()
{
return ModState.AVAILABLE;
}
}
@@ -1,21 +1,27 @@
package cpw.mods.fml.common.modloader;
import java.util.Set;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.world.World;
import com.google.common.collect.Sets;
import cpw.mods.fml.common.network.IGuiHandler;
public class ModLoaderGuiHelper implements IGuiHandler
{
private BaseModProxy mod;
private int id;
private Set<Integer> ids;
private Container container;
private int currentID;
ModLoaderGuiHelper(BaseModProxy mod, int id)
ModLoaderGuiHelper(BaseModProxy mod)
{
this.mod = mod;
this.id = id;
this.ids = Sets.newHashSet();
}
@Override
@@ -30,9 +36,10 @@ public class ModLoaderGuiHelper implements IGuiHandler
return ModLoaderHelper.getClientSideGui(mod, player, ID, x, y, z);
}
public void injectContainer(Container container)
public void injectContainerAndID(Container container, int ID)
{
this.container = container;
this.currentID = ID;
}
public Object getMod()
@@ -40,4 +47,9 @@ public class ModLoaderGuiHelper implements IGuiHandler
return mod;
}
public void associateId(int additionalID)
{
this.ids.add(additionalID);
}
}
@@ -20,8 +20,10 @@ import java.util.Map;
import java.util.concurrent.Callable;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.SetMultimap;
import net.minecraft.command.ICommand;
import net.minecraft.entity.Entity;
@@ -60,7 +62,8 @@ public class ModLoaderHelper
{
public static IModLoaderSidedHelper sidedHelper;
private static Map<Integer, ModLoaderGuiHelper> guiHelpers = Maps.newHashMap();
private static Map<BaseModProxy, ModLoaderGuiHelper> guiHelpers = Maps.newHashMap();
private static Map<Integer, ModLoaderGuiHelper> guiIDs = Maps.newHashMap();
public static void updateStandardTicks(BaseModProxy mod, boolean enable, boolean useClock)
{
@@ -161,15 +164,21 @@ public class ModLoaderHelper
public static void buildGuiHelper(BaseModProxy mod, int id)
{
ModLoaderGuiHelper handler = new ModLoaderGuiHelper(mod, id);
guiHelpers.put(id, handler);
NetworkRegistry.instance().registerGuiHandler(mod, handler);
ModLoaderGuiHelper handler = guiHelpers.get(mod);
if (handler == null)
{
handler = new ModLoaderGuiHelper(mod);
guiHelpers.put(mod,handler);
NetworkRegistry.instance().registerGuiHandler(mod, handler);
}
handler.associateId(id);
guiIDs.put(id, handler);
}
public static void openGui(int id, EntityPlayer player, Container container, int x, int y, int z)
{
ModLoaderGuiHelper helper = guiHelpers.get(id);
helper.injectContainer(container);
ModLoaderGuiHelper helper = guiIDs.get(id);
helper.injectContainerAndID(container, id);
player.openGui(helper.getMod(), id, player.field_70170_p, x, y, z);
}
@@ -17,7 +17,7 @@ public class ModLoaderPickupNotifier implements IPickupNotifier
@Override
public void notifyPickup(EntityItem item, EntityPlayer player)
{
mod.onItemPickup(player, item.func_92014_d());
mod.onItemPickup(player, item.func_92059_d());
}
}
@@ -110,7 +110,7 @@ public abstract class FMLPacket
for (int i = 0; i < packetData.length / 32000 + 1; i++)
{
int len = Math.min(32000, packetData.length - i* 32000);
chunks[i] = Bytes.concat(new byte[] { UnsignedBytes.checkedCast(type.ordinal()), UnsignedBytes.checkedCast(i), UnsignedBytes.checkedCast(chunks.length)}, Ints.toByteArray(len), Arrays.copyOfRange(packetData, i * 32000, len));
chunks[i] = Bytes.concat(new byte[] { UnsignedBytes.checkedCast(type.ordinal()), UnsignedBytes.checkedCast(i), UnsignedBytes.checkedCast(chunks.length)}, Ints.toByteArray(len), Arrays.copyOfRange(packetData, i * 32000, len + i * 32000));
}
return chunks;
}
@@ -1,15 +1,24 @@
package cpw.mods.fml.common.registry;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.logging.Level;
import net.minecraft.item.Item;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import com.google.common.base.Function;
import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.MapDifference;
import com.google.common.collect.MapDifference.ValueDifference;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -25,6 +34,39 @@ public class GameData {
private static MapDifference<Integer, ItemData> difference;
private static boolean shouldContinue = true;
private static boolean isSaveValid = true;
private static Map<String,String> ignoredMods;
private static boolean isModIgnoredForIdValidation(String modId)
{
if (ignoredMods == null)
{
File f = new File(Loader.instance().getConfigDir(),"fmlIDChecking.properties");
if (f.exists())
{
Properties p = new Properties();
try
{
p.load(new FileInputStream(f));
ignoredMods = Maps.fromProperties(p);
if (ignoredMods.size()>0)
{
FMLLog.warning("Using non-empty ignored mods configuration file %s", ignoredMods.keySet());
}
}
catch (Exception e)
{
Throwables.propagateIfPossible(e);
FMLLog.log(Level.SEVERE, e, "Failed to read ignored ID checker mods properties file");
ignoredMods = ImmutableMap.<String, String>of();
}
}
else
{
ignoredMods = ImmutableMap.<String, String>of();
}
}
return ignoredMods.containsKey(modId);
}
public static void newItemAdded(Item item)
{
@@ -42,10 +84,13 @@ public class GameData {
if (idMap.containsKey(item.field_77779_bT))
{
ItemData id = idMap.get(item.field_77779_bT);
FMLLog.warning("[ItemTracker] The mod %s is attempting to overwrite existing item at %d (%s from %s) with %s", mc.getModId(), id.getItemId(), id.getItemType(), id.getModId(), itemType);
FMLLog.info("[ItemTracker] The mod %s is overwriting existing item at %d (%s from %s) with %s", mc.getModId(), id.getItemId(), id.getItemType(), id.getModId(), itemType);
}
idMap.put(item.field_77779_bT, itemData);
FMLLog.fine("[ItemTracker] Adding item %s(%d) owned by %s", item.getClass().getName(), item.field_77779_bT, mc.getModId());
if (!"Minecraft".equals(mc.getModId()))
{
FMLLog.fine("[ItemTracker] Adding item %s(%d) owned by %s", item.getClass().getName(), item.field_77779_bT, mc.getModId());
}
}
public static void validateWorldSave(Set<ItemData> worldSaveItems)
@@ -80,7 +125,26 @@ public class GameData {
FMLLog.severe("FML has detected item discrepancies");
FMLLog.severe("Missing items : %s", difference.entriesOnlyOnLeft());
FMLLog.severe("Mismatched items : %s", difference.entriesDiffering());
isSaveValid = false;
boolean foundNonIgnored = false;
for (ItemData diff : difference.entriesOnlyOnLeft().values())
{
if (!isModIgnoredForIdValidation(diff.getModId()))
{
foundNonIgnored = true;
}
}
for (ValueDifference<ItemData> diff : difference.entriesDiffering().values())
{
if (! ( isModIgnoredForIdValidation(diff.leftValue().getModId()) || isModIgnoredForIdValidation(diff.rightValue().getModId()) ) )
{
foundNonIgnored = true;
}
}
if (!foundNonIgnored)
{
FMLLog.severe("FML is ignoring these ID discrepancies because of configuration. YOUR GAME WILL NOW PROBABLY CRASH. HOPEFULLY YOU WON'T HAVE CORRUPTED YOUR WORLD. BLAME %s", ignoredMods.keySet());
}
isSaveValid = !foundNonIgnored;
serverValidationLatch.countDown();
}
else
@@ -162,7 +226,4 @@ public class GameData {
ItemData itemData = idMap.get(id);
itemData.setName(name,modId);
}
}
@@ -250,7 +250,7 @@ public class GameRegistry
public static void addRecipe(ItemStack output, Object... params)
{
CraftingManager.func_77594_a().func_92051_a(output, params);
CraftingManager.func_77594_a().func_92103_a(output, params);
}
public static void addShapelessRecipe(ItemStack output, Object... params)
@@ -2,11 +2,14 @@ package cpw.mods.fml.common.registry;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import com.google.common.base.Charsets;
import cpw.mods.fml.common.FMLLog;
import net.minecraft.block.Block;
@@ -77,8 +80,7 @@ public class LanguageRegistry
{
// reload language table by forcing lang to null and reloading the properties file
String lang = StringTranslate.func_74808_a().func_74811_c();
StringTranslate.func_74808_a().field_74813_d = null;
StringTranslate.func_74808_a().func_74810_a(lang);
StringTranslate.func_74808_a().func_74810_a(lang, true);
}
@@ -133,7 +135,7 @@ public class LanguageRegistry
langPack.loadFromXML(langStream);
}
else {
langPack.load(langStream);
langPack.load(new InputStreamReader(langStream,Charsets.UTF_8));
}
addStringLocalization(langPack, lang);
@@ -4,6 +4,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Collection;
import java.util.Collections;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.item.Item;
@@ -148,7 +150,16 @@ public class VillagerRegistry
}
return defaultSkin;
}
/**
* Returns a list of all added villager types
*
* @return newVillagerIds
*/
public static Collection<Integer> getRegisteredVillagers()
{
return Collections.unmodifiableCollection(instance().newVillagerIds);
}
/**
* Callback to handle trade setup for villagers
*
@@ -15,6 +15,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.jar.Attributes.Name;
@@ -41,6 +42,10 @@ public class RelaunchClassLoader extends URLClassLoader
private static Manifest EMPTY = new Manifest();
private static final String[] RESERVED = {"CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"};
private static final boolean DEBUG_CLASSLOADING = Boolean.parseBoolean(System.getProperty("fml.debugClassLoading", "false"));
public RelaunchClassLoader(URL[] sources)
{
super(sources, null);
@@ -173,6 +178,10 @@ public class RelaunchClassLoader extends URLClassLoader
catch (Throwable e)
{
invalidClasses.add(name);
if (DEBUG_CLASSLOADING)
{
FMLLog.log(Level.FINEST, e, "Exception encountered attempting classloading of %s", name);
}
throw new ClassNotFoundException(name, e);
}
}
@@ -249,7 +258,7 @@ public class RelaunchClassLoader extends URLClassLoader
}
catch (Throwable t)
{
/// HMMM
FMLLog.log(Level.WARNING, t, "Problem loading class");
return new byte[0];
}
}
@@ -271,15 +280,38 @@ public class RelaunchClassLoader extends URLClassLoader
public byte[] getClassBytes(String name) throws IOException
{
if (name.indexOf('.') == -1)
{
for (String res : RESERVED)
{
if (name.toUpperCase(Locale.ENGLISH).startsWith(res))
{
byte[] data = getClassBytes("_" + name);
if (data != null)
{
return data;
}
}
}
}
InputStream classStream = null;
try
{
URL classResource = findResource(name.replace('.', '/').concat(".class"));
if (classResource == null)
{
if (DEBUG_CLASSLOADING)
{
FMLLog.finest("Failed to find class resource %s", name.replace('.', '/').concat(".class"));
}
return null;
}
classStream = classResource.openStream();
if (DEBUG_CLASSLOADING)
{
FMLLog.finest("Loading class %s from resource %s", name, classResource.toString());
}
return readFully(classStream);
}
finally
+37 -37
View File
@@ -1,32 +1,32 @@
#Main FML Access Transformer configuration file
# TileEntity addMapping
public any.a(Ljava/lang/Class;Ljava/lang/String;)V #MD:TileEntity/func_70306_a
public aox.a(Ljava/lang/Class;Ljava/lang/String;)V #MD:TileEntity/func_70306_a
# EntityList addMappings
public lv.a(Ljava/lang/Class;Ljava/lang/String;I)V #MD:EntityList/func_75618_a
public lv.a(Ljava/lang/Class;Ljava/lang/String;III)V #MD:EntityList/func_75614_a
public lv.b #FD:EntityList/field_75625_b #nameToClassMap
public lv.c #FD:EntityList/field_75626_c #classToNameMap
public lv.d #FD:EntityList/field_75623_d #idToClassMap
public ma.a(Ljava/lang/Class;Ljava/lang/String;I)V #MD:EntityList/func_75618_a
public ma.a(Ljava/lang/Class;Ljava/lang/String;III)V #MD:EntityList/func_75614_a
public ma.b #FD:EntityList/field_75625_b #nameToClassMap
public ma.c #FD:EntityList/field_75626_c #classToNameMap
public ma.d #FD:EntityList/field_75623_d #idToClassMap
# RenderEngine
public bba.h #FD:RenderEngine/field_78367_h #textureList
public bba.k #FD:RenderEngine/field_78366_k #texturePack
#public bba.h #FD:RenderEngine/field_78367_h #textureList # -- MISSING MAPPING # -- MISSING MAPPING
public bcd.j #FD:RenderEngine/field_78366_k #texturePack
# RenderManager
public bbu.p #FD:RenderManager/field_78729_o #renderers
public bcx.p #FD:RenderManager/field_78729_o #renderers
# RenderBlocks - everything
public bbb.* #FD:RenderBlocks/*
public bbb.*() #MD:RenderBlocks/*
public bce.* #FD:RenderBlocks/*
public bce.*() #MD:RenderBlocks/*
#RenderPlayer
public-f bco.h #FD:RenderPlayer/field_77110_j #armorlist
public-f bdr.h #FD:RenderPlayer/field_77110_j #armorlist
#RenderBiped
public-f bcc.k #FD:RenderBiped/field_82424_k #armorlist
public-f bdf.k #FD:RenderBiped/field_82424_k #armorlist
#StringTranslate
public bn.b #FD:StringTranslate/field_74815_b
public bn.d #FD:StringTranslate/field_74813_d
public bn.e #FD:StringTranslate/field_74813_d
# TileEntityRenderer
public bdw.m #FD:TileEntityRenderer/field_76966_m
public bfa.m #FD:TileEntityRenderer/field_76966_m
# CraftingManager - make the add recipe methods public
public wn.a(Lur;[Ljava/lang/Object;)Lwq; #MD:CraftingManager/func_92051_a
public wn.b(Lur;[Ljava/lang/Object;)V #MD:CraftingManager/func_77596_b
public wy.a(Lvc;[Ljava/lang/Object;)Lxb; #MD:CraftingManager/func_92103_a
public wy.b(Lvc;[Ljava/lang/Object;)V #MD:CraftingManager/func_77596_b
# WeightedRandomItem
public kv.a #FD:WeightedRandomItem/field_76292_a #probability
# ItemStack
@@ -37,37 +37,37 @@ public jl.a #FD:StatBase/field_75978_a #statName
public it.a(Lit;Z)Z #MD:NetLoginHandler/func_72531_a #'complete connection'
public it.h #FD:NetLoginHandler/field_72543_h #userName
# EntityPlayerMP getNextWindowId
public iq.cg()V #MD:EntityPlayerMP/func_71117_bO
public iq.ct #FD:EntityPlayerMP/field_71139_cq
public iq.cl()V #MD:EntityPlayerMP/func_71117_bO
public iq.cu #FD:EntityPlayerMP/field_71139_cq
# EntityAITaskEntry
public ne #CL:EntityAITaskEntry
public nk #CL:EntityAITaskEntry
# EntityAITasks
public nd.a #FD:EntityAITasks/field_75782_a #taskList
public nj.a #FD:EntityAITasks/field_75782_a #taskList
# BlockChest
public ajk.n(Lyc;III)Z #MD:BlockChest/func_72292_n #isOcelotBlockingChest
public ajy.m(Lyn;III)Z #MD:BlockChest/func_72292_n #isOcelotBlockingChest
# EntityLiving
public md.aT #FD:EntityLiving/field_70736_aM #carryoverDamage
public md.bn #FD:EntityLiving/field_70714_bg #tasks
public md.bF #FD:EntityLiving/field_70703_bu #isJumping
public mj.aT #FD:EntityLiving/field_70736_aM #carryoverDamage
public mj.bn #FD:EntityLiving/field_70714_bg #tasks
public mj.bG #FD:EntityLiving/field_70703_bu #isJumping
# EntityAIOcelotSit
protected nq.a(Lyc;III)Z #MD:EntityAIOcelotSit/func_75398_a #nearestSittableBlock
protected nq.f()Z #MD:EntityAIOcelotSit/func_75399_f #isblocksittable
protected nw.a(Lyn;III)Z #MD:EntityAIOcelotSit/func_75398_a #nearestSittableBlock
protected nw.f()Z #MD:EntityAIOcelotSit/func_75399_f #isblocksittable
# CallableMinecraftVersion - sanity check the MC version
public b #CL:CallableMinecraftVersion
public b.<init>(La;)V #MD:CallableMinecraftVersion/<init>(Lnet/minecraft/src/CrashReport;) #constructor
# EntityAnimal
public ox.d #FD:EntityAnimal/field_70881_d #inLove
public pd.d #FD:EntityAnimal/field_70881_d #inLove
# WorldType
public yn.<init>(ILjava/lang/String;)V #MD:WorldType/<init>(ILjava/lang/String;)
public yn.<init>(ILjava/lang/String;I)V #MD:WorldType/<init>(ILjava/lang/String;I)
public yx.<init>(ILjava/lang/String;)V #MD:WorldType/<init>(ILjava/lang/String;)
public yx.<init>(ILjava/lang/String;I)V #MD:WorldType/<init>(ILjava/lang/String;I)
# ComponentVillage
public afs #CL:ComponentVillage
public agc #CL:ComponentVillage
# EntityVillager - minmax lists
public qu.a(Lxu;ILjava/util/Random;F)V #MD:EntityVillager/func_70948_a #addBuy
public qu.b(Lxu;ILjava/util/Random;F)V #MD:EntityVillager/func_70949_b #addSell
public qu.bO #FD:EntityVillager/field_70958_bB
public qu.bP #FD:EntityVillager/field_70960_bC
public re.a(Lyf;ILjava/util/Random;F)V #MD:EntityVillager/func_70948_a #addBuy
public re.b(Lyf;ILjava/util/Random;F)V #MD:EntityVillager/func_70949_b #addSell
public re.bP #FD:EntityVillager/field_70958_bB
public re.bQ #FD:EntityVillager/field_70960_bC
# GuiButtonMerchant
public awb #CL:GuiButtonMerchant
public axd #CL:GuiButtonMerchant
protected atf.a #FD:GuiYesNo/field_73942_a #guiScreen
protected aug.a #FD:GuiYesNo/field_73942_a #guiScreen
+3 -3
View File
@@ -2,11 +2,11 @@
# Only runs at runtime because it's not necessary at compile time
# has deobf and obf mappings so it runs OK in mcp
# entityplayer -> network/player
qx cpw/mods/fml/common/network/Player
rh cpw/mods/fml/common/network/Player
net.minecraft.entity.player.EntityPlayer cpw/mods/fml/common/network/Player
# block -> blockproxy
amq cpw/mods/fml/common/registry/BlockProxy
ank cpw/mods/fml/common/registry/BlockProxy
net.minecraft.block.Block cpw/mods/fml/common/registry/BlockProxy
# item -> itemproxy
up cpw/mods/fml/common/registry/ItemProxy
va cpw/mods/fml/common/registry/ItemProxy
net.minecraft.item.Item cpw/mods/fml/common/registry/ItemProxy
+2 -2
View File
@@ -3,8 +3,8 @@
"modid": "mcp",
"name": "Minecraft Coder Pack",
"description": "Modding toolkit to decompile and deobfuscate the Minecraft client and server files.",
"version": "7.25",
"mcversion": "1.4.6",
"version": "7.26",
"mcversion": "1.4.7",
"logoFile": "/mcp.png",
"url": "http://mcp.ocean-labs.de/",
"updateUrl": "",
+309 -36
View File
@@ -149,7 +149,6 @@ field_70290_d,hoverStart,2,The EntityItem's random initial float height.
field_70291_e,health,2,"The health of this EntityItem. (For example, damage for tools)"
field_70292_b,age,2,The age of this EntityItem (used to animate it up and down as well as expire it)
field_70293_c,delayBeforeCanPickup,2,
field_70294_a,item,2,The item stack of this EntityItem.
field_70323_b,classToNameMap,2,A HashMap storing the classes and mapping to the string names (reverse of nameToClassMap).
field_70324_q,blockType,2,the Block type that this TileEntity is contained within
field_70325_p,blockMetadata,2,
@@ -239,6 +238,8 @@ field_70482_c,inventoryContents,2,
field_70483_a,inventoryTitle,2,
field_70484_a,container,2,The brewing stand this slot belongs to.
field_70488_a,associatedChest,2,
field_70499_f,isInReverse,2,
field_70500_g,matrix,2,Minecart rotational logic matrix
field_70501_d,cargoItems,2,Array of item stacks stored in minecart (for storage minecarts).
field_70502_e,fuel,2,
field_70503_b,pushX,2,
@@ -297,6 +298,7 @@ field_70585_a,noteParticleScale,2,
field_70586_a,lavaParticleScale,2,
field_70587_a,smokeParticleScale,2,
field_70588_a,snowDigParticleScale,2,
field_70590_a,baseSpellTextureIndex,2,Base spell texture index
field_70591_a,entityToPickUp,2,
field_70592_at,yOffs,2,renamed from yOffset to fix shadowing Entity.yOffset
field_70593_as,maxAge,2,
@@ -685,6 +687,154 @@ field_71585_d,offsetsZForSide,2,gives the offset required for this axis to get t
field_71586_b,offsetsXForSide,2,gives the offset required for this axis to get the block at that side.
field_71587_c,offsetsYForSide,2,gives the offset required for this axis to get the block at that side.
field_71588_a,faceToSide,2,Converts a face to a side.
field_71589_f,bc_pbe_sha512,2,
field_71590_g,bc_pbe_sha224,2,
field_71591_d,bc_pbe_sha256,2,
field_71592_e,bc_pbe_sha384,2,
field_71593_b,bc_pbe,2,
field_71594_c,bc_pbe_sha1,2,
field_71595_a,bc,2,
field_71596_n,bc_pbe_sha1_pkcs12_aes256_cbc,2,
field_71597_o,bc_pbe_sha256_pkcs12_aes128_cbc,2,
field_71598_l,bc_pbe_sha1_pkcs12_aes128_cbc,2,
field_71599_m,bc_pbe_sha1_pkcs12_aes192_cbc,2,
field_71600_j,bc_pbe_sha256_pkcs5,2,
field_71601_k,bc_pbe_sha256_pkcs12,2,
field_71602_h,bc_pbe_sha1_pkcs5,2,
field_71603_i,bc_pbe_sha1_pkcs12,2,
field_71604_q,bc_pbe_sha256_pkcs12_aes256_cbc,2,
field_71605_p,bc_pbe_sha256_pkcs12_aes192_cbc,2,
field_71610_b,cache,2,
field_71611_a,identifier,2,
field_71613_D,digestAlgorithm,2,
field_71614_E,md2,2,
field_71615_F,md4,2,
field_71616_G,md5,2,
field_71617_A,encryptionAlgorithm,2,
field_71618_B,des_EDE3_CBC,2,
field_71619_C,RC2_CBC,2,
field_71620_L,id_hmacWithSHA512,2,
field_71621_M,data,2,
field_71622_N,signedData,2,
field_71623_O,envelopedData,2,
field_71624_H,id_hmacWithSHA1,2,
field_71625_I,id_hmacWithSHA224,2,
field_71626_J,id_hmacWithSHA256,2,
field_71627_K,id_hmacWithSHA384,2,
field_71628_U,pkcs_9_at_unstructuredName,2,
field_71629_T,pkcs_9_at_emailAddress,2,
field_71630_W,pkcs_9_at_messageDigest,2,
field_71631_V,pkcs_9_at_contentType,2,
field_71632_Q,digestedData,2,
field_71633_P,signedAndEnvelopedData,2,
field_71634_S,pkcs_9,2,
field_71635_R,encryptedData,2,
field_71636_Y,pkcs_9_at_counterSignature,2,
field_71637_X,pkcs_9_at_signingTime,2,
field_71638_Z,pkcs_9_at_challengePassword,2,
field_71639_f,sha1WithRSAEncryption,2,
field_71640_g,srsaOAEPEncryptionSET,2,
field_71641_d,md4WithRSAEncryption,2,
field_71642_e,md5WithRSAEncryption,2,
field_71643_b,rsaEncryption,2,
field_71644_c,md2WithRSAEncryption,2,
field_71645_a,pkcs_1,2,
field_71646_n,sha512WithRSAEncryption,2,
field_71647_o,sha224WithRSAEncryption,2,
field_71648_l,sha256WithRSAEncryption,2,
field_71649_m,sha384WithRSAEncryption,2,
field_71650_j,id_pSpecified,2,
field_71651_k,id_RSASSA_PSS,2,
field_71652_h,id_RSAES_OAEP,2,
field_71653_i,id_mgf1,2,
field_71654_w,pbeWithSHA1AndDES_CBC,2,
field_71655_v,pbeWithMD5AndRC2_CBC,2,
field_71656_u,pbeWithMD5AndDES_CBC,2,
field_71657_t,pbeWithMD2AndRC2_CBC,2,
field_71658_s,pbeWithMD2AndDES_CBC,2,
field_71659_r,pkcs_5,2,
field_71660_q,dhKeyAgreement,2,
field_71661_p,pkcs_3,2,
field_71662_z,id_PBKDF2,2,
field_71663_y,id_PBES2,2,
field_71664_x,pbeWithSHA1AndRC2_CBC,2,
field_71665_bw,pbewithSHAAnd40BitRC2_CBC,2,
field_71666_bv,pbeWithSHAAnd40BitRC2_CBC,2,
field_71667_by,id_alg_CMSRC2wrap,2,
field_71668_bx,id_alg_CMS3DESwrap,2,
field_71669_bs,pbeWithSHAAnd3_KeyTripleDES_CBC,2,
field_71670_br,pbeWithSHAAnd40BitRC4,2,
field_71671_bu,pbeWithSHAAnd128BitRC2_CBC,2,
field_71672_bt,pbeWithSHAAnd2_KeyTripleDES_CBC,2,
field_71673_bn,secretBag,2,
field_71674_bo,safeContentsBag,2,
field_71675_bp,pkcs_12PbeIds,2,
field_71676_bq,pbeWithSHAAnd128BitRC4,2,
field_71677_bj,keyBag,2,
field_71678_bk,pkcs8ShroudedKeyBag,2,
field_71679_bl,certBag,2,
field_71680_bm,crlBag,2,
field_71681_bf,id_spq_ets_uri,2,
field_71682_bg,id_spq_ets_unotice,2,
field_71683_bh,pkcs_12,2,
field_71684_bi,bagtypes,2,
field_71685_bb,id_aa_sigPolicyId,2,
field_71686_bc,id_aa_commitmentType,2,
field_71687_bd,id_aa_signerLocation,2,
field_71688_be,id_aa_otherSigCert,2,
field_71689_aZ,id_aa_ets_certCRLTimestamp,2,
field_71690_aY,id_aa_ets_escTimeStamp,2,
field_71691_aR,id_aa_ets_signerAttr,2,
field_71692_aQ,id_aa_ets_signerLocation,2,
field_71693_aT,id_aa_ets_contentTimestamp,2,
field_71694_aS,id_aa_ets_otherSigCert,2,
field_71695_aV,id_aa_ets_revocationRefs,2,
field_71696_aU,id_aa_ets_certificateRefs,2,
field_71697_aX,id_aa_ets_revocationValues,2,
field_71698_aW,id_aa_ets_certValues,2,
field_71699_aI,id_aa_contentReference,2,
field_71700_aJ,id_aa_encrypKeyPref,2,
field_71701_aK,id_aa_signingCertificate,2,
field_71702_aL,id_aa_signingCertificateV2,2,
field_71703_aM,id_aa_contentIdentifier,2,
field_71704_aN,id_aa_signatureTimeStampToken,2,
field_71705_aO,id_aa_ets_sigPolicyId,2,
field_71706_aP,id_aa_ets_commitmentType,2,
field_71707_aA,id_cti_ets_proofOfDelivery,2,
field_71708_aB,id_cti_ets_proofOfSender,2,
field_71709_aC,id_cti_ets_proofOfApproval,2,
field_71710_aD,id_cti_ets_proofOfCreation,2,
field_71711_aE,id_aa,2,
field_71712_aF,id_aa_receiptRequest,2,
field_71713_aG,id_aa_contentHint,2,
field_71714_aH,id_aa_msgSigDigest,2,
field_71715_az,id_cti_ets_proofOfReceipt,2,
field_71716_ay,id_cti_ets_proofOfOrigin,2,
field_71717_ba,id_aa_ets_archiveTimestamp,2,
field_71718_at,id_ct_TSTInfo,2,
field_71719_as,id_ct_authData,2,
field_71720_ar,id_ct,2,
field_71721_aq,sMIMECapabilitiesVersions,2,
field_71722_ax,id_cti,2,
field_71723_aw,id_ct_timestampedData,2,
field_71724_av,id_ct_authEnvelopedData,2,
field_71725_au,id_ct_compressedData,2,
field_71726_ak,sdsiCertificate,2,
field_71727_al,crlTypes,2,
field_71728_ai,certTypes,2,
field_71729_aj,x509Certificate,2,
field_71730_ao,preferSignedData,2,
field_71731_ap,canNotDecryptAny,2,
field_71732_am,x509Crl,2,
field_71733_an,id_alg_PWRI_KEK,2,
field_71734_ac,pkcs_9_at_signingDescription,2,
field_71735_ad,pkcs_9_at_extensionRequest,2,
field_71736_aa,pkcs_9_at_unstructuredAddress,2,
field_71737_ab,pkcs_9_at_extendedCertificateAttributes,2,
field_71738_ag,pkcs_9_at_localKeyId,2,
field_71739_ah,x509certType,2,
field_71740_ae,pkcs_9_at_smimeCapabilities,2,
field_71741_af,pkcs_9_at_friendlyName,2,
field_71743_a,theDecitatedServer,2,Reference to the DecitatedServer object.
field_71748_d,connections,2,
field_71749_b,isListening,2,Whether the network listener object is listening.
@@ -707,6 +857,36 @@ field_71782_a,iv,2,
field_71784_a,key,2,
field_71787_b,strength,2,
field_71788_a,random,2,
field_71796_f,pgpCFB,2,
field_71797_d,cipher,2,
field_71798_e,partialBlockOkay,2,
field_71799_b,bufOff,2,
field_71800_c,forEncryption,2,
field_71801_a,buf,2,
field_71809_f,encrypting,2,
field_71810_d,blockSize,2,
field_71811_e,cipher,2,
field_71812_b,cfbV,2,
field_71813_c,cfbOutV,2,
field_71814_a,IV,2,
field_71824_f,T2,2,
field_71825_g,T3,2,
field_71826_d,T0,2,
field_71827_e,T1,2,
field_71828_b,Si,2,
field_71829_c,rcon,2,
field_71830_a,S,2,
field_71831_n,C0,2,
field_71832_o,C1,2,
field_71833_l,ROUNDS,2,
field_71834_m,WorkingKey,2,
field_71835_j,Tinv2,2,
field_71836_k,Tinv3,2,
field_71837_h,Tinv0,2,
field_71838_i,Tinv1,2,
field_71839_r,forEncryption,2,
field_71840_q,C3,2,
field_71841_p,C2,2,
field_71844_b,strength,2,
field_71845_a,random,2,
field_71938_D,lavaStill,2,Stationary lava source block
@@ -853,7 +1033,7 @@ field_72078_bL,redstoneLampIdle,2,
field_72079_ak,stoneSingleSlab,2,stoneSingleSlab
field_72080_bM,redstoneLampActive,2,
field_72081_al,brick,2,
field_72082_bJ,whiteStone,2,
field_72082_bJ,whiteStone,2,The rock found in The End.
field_72083_ai,blockSteel,2,
field_72084_bK,dragonEgg,2,
field_72085_aj,stoneDoubleSlab,2,stoneDoubleSlab
@@ -982,11 +1162,13 @@ field_72450_a,xCoord,2,X coordinate of Vec3D
field_72451_a,theDecitatedServer,2,Instance of the DecitatedServer.
field_72534_f,mcServer,2,Reference to the MinecraftServer object.
field_72535_g,connectionTimer,2,
field_72536_d,verifyToken,2,The 4 byte verify token read from a Packet252SharedKey
field_72537_e,rand,2,The Random object used to generate serverId hex strings.
field_72538_b,myTCPConnection,2,
field_72539_c,connectionComplete,2,
field_72540_a,logger,2,The Minecraft logger.
field_72541_j,loginServerId,2,server ID that is randomly generated by this login handler.
field_72542_k,sharedKey,2,Secret AES key obtained from the client's Packet252SharedKey
field_72543_h,clientUsername,2,
field_72554_f,disconnected,2,True if kicked or disconnected from the server.
field_72555_g,netManager,2,Reference to the NetworkManager object.
@@ -1133,7 +1315,7 @@ field_72991_N,entitiesWithinAABBExcludingEntity,2,"entities within AxisAlignedBB
field_72992_H,spawnPeacefulMobs,2,A flag indicating whether we should spawn peaceful mobs.
field_72993_I,activeChunkSet,2,Positions to update
field_72994_J,lightUpdateBlockList,2,"is a temporary list of blocks and light values used when updating light levels. Holds up to 32x32x32 blocks (the maximum influence of a light source.) Every element is a packed bit value: 0000000000LLLLzzzzzzyyyyyyxxxxxx. The 4-bit L is a light level used when darkening blocks. 6-bit numbers x, y and z represent the block's offset from the original block, plus 32 (i.e. value of 31 would mean a -1 offset"
field_72995_K,isRemote,2,"This is set to true when you are a client connected to a multiplayer world, false otherwise. As of Minecraft 1.3 and the integrated server, this will always return true."
field_72995_K,isRemote,2,"This is set to true for client worlds, and false for server worlds."
field_72996_f,loadedEntityList,2,A list of all Entities in all currently-loaded chunks
field_72997_g,unloadedEntityList,2,
field_72998_d,collidingBoundingBoxes,2,
@@ -1153,7 +1335,6 @@ field_73011_w,provider,2,The WorldProvider instance that World uses.
field_73012_v,rand,2,RNG for World.
field_73013_u,difficultySetting,2,Option > Difficulty setting (0 - 3)
field_73014_t,editingBlocks,2,true while the world is editing blocks
field_73015_s,lightningFlash,2,"If > 0, the sky and skylight colors are illuminated by a lightning flash"
field_73016_r,lastLightningBolt,2,Set to 2 whenever a lightning bolt is generated in SSP. Decrements if > 0 in updateWeather(). Value appears to be unused.
field_73017_q,thunderingStrength,2,
field_73018_p,prevThunderingStrength,2,
@@ -1204,7 +1385,7 @@ field_73126_f,lastScaledZPosition,2,
field_73127_g,lastYaw,2,
field_73128_d,lastScaledXPosition,2,
field_73129_e,lastScaledYPosition,2,
field_73130_b,BlocksDistanceThreshold,2,
field_73130_b,blocksDistanceThreshold,2,
field_73131_c,updateFrequency,2,check for sync when ticks % updateFrequency==0
field_73132_a,myEntity,2,
field_73133_n,playerEntitiesUpdated,2,
@@ -1294,7 +1475,7 @@ field_73247_e,currentChunkLoader,2,
field_73248_b,chunksToUnload,2,"used by unload100OldestChunks to iterate the loadedChunkHashMap for unload (underlying assumption, first in, first out)"
field_73249_c,defaultEmptyChunk,2,
field_73250_a,loadChunkOnProvideRequest,2,"if this is false, the defaultEmptyChunk will be returned by the provider"
field_73251_h,currentServer,2,
field_73251_h,worldObj,2,
field_73261_d,locationOfBlockChange,2,
field_73262_e,numberOfTilesToUpdate,2,
field_73263_b,playersInChunk,2,
@@ -1317,6 +1498,7 @@ field_73299_c,zPosition,2,Z coordinate of spawn.
field_73300_a,xPosition,2,X coordinate of spawn.
field_73301_a,time,2,The world time in minutes.
field_73305_b,verifyToken,2,
field_73306_c,sharedKey,2,Secret AES key decrypted from sharedSecret via the server's private RSA key
field_73307_a,sharedSecret,2,
field_73308_d,signLines,2,
field_73309_b,yPosition,2,
@@ -1448,15 +1630,8 @@ field_73471_b,amount,2,
field_73472_a,statisticId,2,
field_73474_a,text,2,Sent by the client containing the text to be autocompleted. Sent by the server with possible completions separated by null (two bytes in UTF-16)
field_73476_b,message,2,The message being sent.
field_73477_c,isServer,2,
field_73478_a,maxChatLength,2,Maximum number of characters allowed in chat string in each packet.
field_73479_f,pitch,2,The item pitch.
field_73480_g,roll,2,The item roll.
field_73481_d,zPosition,2,The item Z position.
field_73482_e,rotation,2,The item rotation.
field_73483_b,xPosition,2,The item X position.
field_73484_c,yPosition,2,The item Y position.
field_73485_a,entityId,2,Unique entity ID.
field_73487_h,itemID,2,
field_73490_f,velocityX,2,
field_73491_g,velocityY,2,
field_73492_d,yPosition,2,The Y position of the entity.
@@ -1539,8 +1714,14 @@ field_73576_e,volume,2,1 is 100%. Can be more.
field_73577_b,effectX,2,Effect X multiplied by 8
field_73578_c,effectY,2,Effect Y multiplied by 8
field_73579_a,soundName,2,e.g. step.grass
field_73585_g,dataLength,2,total size of the compressed data
field_73586_d,chunkPosZ,2,
field_73587_e,chunkDataBuffer,2,The compressed chunk data buffer
field_73589_c,chunkPostX,2,
field_73591_h,chunkDataNotCompressed,2,
field_73592_a,randomId,2,
field_73595_f,chunkData,2,"The transmitted chunk data, decompressed."
field_73596_g,compressedChunkData,2,The compressed chunk data
field_73597_d,yChMax,2,"The y-position of the highest chunk Section in the transmitted chunk, in chunk coordinates."
field_73598_e,includeInitialize,2,Whether to initialize the Chunk before applying the effect of the Packet51MapChunk.
field_73599_b,zCh,2,"The z-position of the transmitted chunk, in chunk coordinates."
@@ -1556,9 +1737,9 @@ field_73613_e,chunkPositionRecords,2,
field_73614_b,explosionY,2,
field_73615_c,explosionZ,2,
field_73616_a,explosionX,2,
field_73618_b,bedState,2,"Either 1 or 2. 1 indicates to begin raining, 2 indicates to stop raining."
field_73619_c,gameMode,2,"Used only when reason = 3. 0 is survival, 1 is creative."
field_73620_a,bedChat,2,
field_73618_b,eventType,2,"0: Invalid bed, 1: Rain starts, 2: Rain stops, 3: Game mode changed."
field_73619_c,gameMode,2,"When reason==3, the game mode to set. See EnumGameType for a list of values."
field_73620_a,clientMessage,2,The client prints clientMessage[eventType] to chat when this packet is received.
field_73621_d,bedZ,2,
field_73623_b,bedX,2,
field_73624_c,bedY,2,
@@ -1635,6 +1816,7 @@ field_73812_e,height,2,
field_73813_b,xPos,2,
field_73814_c,yPos,2,
field_73815_a,fontRenderer,2,Have the font renderer from GuiScreen to render the textbox text into the screen.
field_73816_n,lineScrollOffset,2,The current character index that should be used as start of the rendered text.
field_73817_o,cursorPosition,2,
field_73818_l,isFocused,2,"If this value is true along isEnabled, keyTyped will process the keys."
field_73819_m,isEnabled,2,"If this value is true along isFocused, keyTyped will process the keys."
@@ -1715,8 +1897,6 @@ field_73943_n,worldNumber,2,World number to be deleted.
field_73944_m,message2,2,Second line of text.
field_73946_b,copyLinkButtonText,2,Label for the Copy to Clipboard button.
field_73947_a,openLinkWarning,2,Text to warn players from opening unsafe links.
field_73948_b,chatGui,2,
field_73949_a,theChatClickData,2,Instance of ChatClickData.
field_73964_d,guiTexturePackSlot,2,the GuiTexturePackSlot that contains all the texture packs and their descriptions
field_73965_b,refreshTimer,2,
field_73966_c,fileLocation,2,the absolute location of this texture pack
@@ -1866,6 +2046,7 @@ field_74219_p,lowerChestInventory,2,
field_74220_o,upperChestInventory,2,
field_74224_p,ySize_lo,2,"y size of the inventory window in pixels. Defined as float, passed as int."
field_74225_o,xSize_lo,2,"x size of the inventory window in pixels. Defined as float, passed as int"
field_74236_u,backupContainerSlots,2,Used to back up the ContainerCreative's inventory slots before filling it with the player's inventory slots for the inventory tab.
field_74237_t,searchField,2,
field_74238_s,wasClicking,2,True if the left mouse button was held down last time drawScreen was called.
field_74239_r,isScrolling,2,True if the scrollbar is being dragged
@@ -1885,7 +2066,7 @@ field_74263_b,workingMessage,2,
field_74264_c,currentProgress,2,
field_74265_a,progressMessage,2,
field_74267_a,mcServer,2,Reference to the MinecraftServer object.
field_74268_a,simpleDateFormatLogFormatter,2,Date Formatter of Log/Console.
field_74268_a,dateFormat,2,The date format to use in the console log.
field_74270_a,mcServer,2,Reference to the MinecraftServer object.
field_74272_a,mcServer,2,Reference to the MinecraftServer object.
field_74274_a,mcServer,2,Reference to the MinecraftServer object.
@@ -1980,6 +2161,7 @@ field_74442_b,readPacketCache,2,
field_74443_c,pairedConnection,2,
field_74444_a,mySocketAddress,2,
field_74445_h,gamePaused,2,
field_74464_B,chunkDataPacketsDelay,2,Delay for sending pending chunk data packets (as opposed to pending non-chunk data packets)
field_74465_f,isInputBeingDecrypted,2,
field_74466_g,isOutputEncrypted,2,
field_74472_n,isTerminating,2,Whether this network manager is currently terminating (and should ignore further errors).
@@ -2014,7 +2196,7 @@ field_74522_a,colorBuffer,2,Float buffer used to set OpenGL material colors
field_74532_a,mc,2,A reference to the Minecraft object.
field_74534_a,arguments,2,"Arguments that were passed to Minecraft.jar (username, sessionid etc)"
field_74536_a,mc,2,Minecraft instance
field_74537_a,logo,2,BufferedImage object containing the Majong logo.
field_74537_a,logo,2,BufferedImage containing the Mojang logo.
field_74541_b,lineString,2,
field_74542_c,chatLineID,2,"int value to refer to existing Chat Lines, can be 0 which means unreferrable"
field_74543_a,updateCounterCreated,2,GUI Update Counter value this Line was created at
@@ -2025,6 +2207,9 @@ field_74571_a,pushbackReader,2,
field_74577_b,mc,2,A reference to the Minecraft object.
field_74578_c,closing,2,Set to true when Minecraft is closing down.
field_74579_a,resourcesFolder,2,The folder to store the resources in.
field_74580_b,chunkExistFlag,2,
field_74581_c,chunkHasAddSectionFlag,2,
field_74582_a,compressedData,2,
field_74586_f,rotationZ,2,The Z component of the entity's yaw rotation
field_74587_g,rotationYZ,2,The Y component (scaled along the Z axis) of the entity's pitch rotation
field_74588_d,rotationX,2,The X component of the entity's yaw rotation
@@ -2087,15 +2272,20 @@ field_74756_a,data,2,The byte value for the tag.
field_74784_a,tagMap,2,"The key-value pairs for the tag. Each key is a UTF string, each value is a tag."
field_74790_a,enumJsonNodeTypeMappingArray,2,A mapping helper array for EnumJsonNodeType's values.
field_74791_a,escapedString,2,
field_74801_a,theBouncyCastleProvider,2,
field_74813_d,currentLanguage,2,
field_74814_e,isUnicode,2,
field_74815_b,translateTable,2,Contains all key/value pairs to be translated - is loaded from '/lang/en_US.lang' when the StringTranslate is created.
field_74816_c,languageList,2,
field_74817_a,instance,2,Is the private singleton instance of StringTranslate.
field_74822_f,ASYMMETRIC_GENERIC,2,
field_74823_g,ASYMMETRIC_CIPHERS,2,
field_74824_d,keyInfoConverters,2,
field_74825_e,SYMMETRIC_CIPHERS,2,
field_74826_b,CONFIGURATION,2,
field_74827_c,info,2,
field_74828_a,PROVIDER_NAME,2,
field_74829_h,DIGESTS,2,
field_74831_f,dhThreadSpec,2,
field_74832_d,BC_DH_PERMISSION,2,
field_74833_e,ecThreadSpec,2,
@@ -2106,6 +2296,17 @@ field_74839_a,localizedName,2,
field_74842_b,permissionMask,2,
field_74843_a,actions,2,
field_74845_a,errorObjects,2,
field_74846_d,buf,2,
field_74847_b,theStreamCipher,2,
field_74848_c,oneByte,2,
field_74849_a,theBufferedBlockCipher,2,
field_74853_f,maxBuf,2,
field_74854_g,finalized,2,
field_74855_d,inBuf,2,
field_74856_e,bufOff,2,
field_74857_b,theStreamCipher,2,
field_74858_c,buf,2,
field_74859_a,theBufferedBlockCipher,2,
field_74885_f,coordBaseMode,2,switches the Coordinate System base off the Bounding Box
field_74886_g,componentType,2,The type ID of this component.
field_74887_e,boundingBox,2,
@@ -2445,6 +2646,8 @@ field_75518_j,canPassOpenWoodenDoors,2,"Specifically, if a wooden door block is
field_75519_k,canPassClosedWoodenDoors,2,If door blocks are considered passable even when closed
field_75520_h,ticksAtLastPos,2,The time when the last position check was done (to detect successful movement)
field_75521_i,lastPosCheck,2,Coordinates of the entity's position last time a check was done (part of monitoring getting 'stuck')
field_75524_b,seenEntities,2,Cache of entities which we can see
field_75525_c,unseenEntities,2,Cache of entities which we cannot see
field_75526_a,entityObj,2,
field_75531_f,theVillage,2,Instance of Village.
field_75537_a,worldObj,2,
@@ -2479,6 +2682,7 @@ field_75624_e,classToIDMapping,2,provides a mapping between an Entity Class and
field_75625_b,stringToClassMapping,2,Provides a mapping between entity classes and a string
field_75626_c,classToStringMapping,2,Provides a mapping between a string and an entity classes
field_75627_a,entityEggs,2,This is a HashMap of the Creative Entity Eggs/Spawners.
field_75643_f,update,2,
field_75644_d,posZ,2,
field_75645_e,speed,2,The speed at which the entity should move
field_75646_b,posX,2,
@@ -2498,6 +2702,7 @@ field_75675_d,watched,2,
field_75676_b,dataValueId,2,id of max 31
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,true if one or more object was changed
field_75697_a,dataTypes,2,
@@ -2761,6 +2966,7 @@ field_76257_i,leaves,2,
field_76258_w,craftedSnow,2,The material for crafted snow.
field_76259_v,snow,2,
field_76260_u,ice,2,
field_76261_t,coral,2,
field_76262_s,tnt,2,
field_76263_r,redstoneLight,2,
field_76264_q,glass,2,
@@ -2789,7 +2995,6 @@ field_76292_a,itemWeight,2,The Weight is how often the item is chosen(higher num
field_76295_d,theMinimumChanceToGenerateItem,2,The minimum chance of item generating.
field_76296_e,theMaximumChanceToGenerateItem,2,The maximum chance of item generating.
field_76297_b,theItemId,2,The Item/Block ID to generate in the Chest.
field_76298_c,theItemDamage,2,The Item damage/metadata.
field_76299_d,maxGroupCount,2,
field_76300_b,entityClass,2,Holds the class of the entity to be spawned.
field_76301_c,minGroupCount,2,
@@ -2819,11 +3024,13 @@ field_76371_c,lava,2,
field_76372_a,inFire,2,
field_76373_n,damageType,2,
field_76374_o,isUnblockable,2,This kind of damage can be blocked or not.
field_76375_l,explosion2,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,Whether this damage source will have its damage amount scaled based on the current difficulty.
field_76382_s,projectile,2,This kind of damage is based on a projectile or not.
field_76383_r,fireDamage,2,This kind of damage is based on fire or not.
field_76384_q,hungerDamage,2,
@@ -3139,9 +3346,9 @@ field_76990_c,renderManager,2,
field_76991_a,modelBase,2,
field_76993_a,blockRenderer,2,
field_76998_a,modelBoat,2,instance of ModelBoat for rendering
field_77004_a,renderBlocks,2,
field_77004_a,sandRenderBlocks,2,
field_77013_a,modelMinecart,2,instance of ModelMinecart for rendering
field_77022_g,renderBlocks,2,
field_77022_g,itemRenderBlocks,2,
field_77023_b,zLevel,2,Defines the zLevel of rendering of item on GUI.
field_77025_h,random,2,The RNG used in RenderItem (for bobbing itemstacks on the ground)
field_77027_a,itemIconIndex,2,"Have the icon index (in items.png) that will be used to render the image. Currently, eggs and snowballs uses this classes."
@@ -3475,7 +3682,7 @@ field_77775_ay,bucketLava,2,
field_77776_ba,bed,2,
field_77777_bU,maxStackSize,2,Maximum size of the stack.
field_77778_at,appleGold,2,
field_77779_bT,shiftedIndex,2,Item index + 256
field_77779_bT,itemID,2,The ID of this item.
field_77780_as,painting,2,
field_77781_bS,record11,2,
field_77782_ar,porkCooked,2,
@@ -3569,6 +3776,7 @@ field_77922_b,sugarEffect,2,
field_77923_c,ghastTearEffect,2,
field_77926_o,potionPrefixes,2,"An array of possible potion prefix names, as translation IDs."
field_77927_l,potionRequirements,2,
field_77928_m,potionAmplifiers,2,Potion effect amplifier map
field_77929_j,glowstoneEffect,2,
field_77930_k,gunpowderEffect,2,
field_77931_h,magmaCreamEffect,2,
@@ -4165,6 +4373,7 @@ field_79027_a,textField,2,Text field.
field_79028_a,mcServerGui,2,Reference to the ServerGui object.
field_79029_a,outputHandler,2,Reference to the GuiLogOutputHandler.
field_80001_f,closestPlayer,2,The closest EntityPlayer to this orb.
field_80002_g,xpTargetColor,2,Threshold color for tracking players
field_80004_Q,updateEntityTick,2,
field_80005_w,hideServerAddress,2,
field_82121_b,skullRotation,2,The skull's rotation.
@@ -4175,8 +4384,11 @@ field_82134_g,secondaryEffect,2,Secondary potion effect given by this beacon.
field_82136_e,levels,2,Level of this beacon's pyramid.
field_82139_a,effectsList,2,List of effects that Beacon can apply
field_82140_h,payment,2,Item given to this beacon as payment.
field_82153_h,timeInPortal,2,
field_82155_f,isAnvil,2,
field_82156_g,fallHurtMax,2,Maximum amount of damage dealt to entities hit by falling block
field_82157_e,isBreakingAnvil,2,
field_82158_h,fallHurtAmount,2,Actual damage dealt to entities hit by falling block
field_82172_bs,canPickUpLoot,2,Whether this entity can pick up items from the ground.
field_82173_br,swingProgressInt,2,
field_82174_bp,equipmentDropChances,2,Chances for each equipment piece from dropping when this entity dies.
@@ -4228,14 +4440,23 @@ field_82320_o,theSlot,2,
field_82321_q,buttonsNotDrawn,2,
field_82322_p,beaconConfirmButton,2,
field_82323_o,beacon,2,
field_82326_p,itemNameField,2,
field_82327_o,repairContainer,2,
field_82332_a,hangingDirection,2,
field_82337_e,itemDropChance,2,Chance for this item frame's item to drop from the frame.
field_82339_as,particleAlpha,2,Particle alpha
field_82346_a,theContainer,2,Container of this anvil's block.
field_82348_s,spawnRange,2,Range for spawning new entities with mob spawners
field_82349_r,requiredPlayerRange,2,Required player range for mob spawning to occur
field_82350_j,maxNearbyEntities,2,Maximum number of entities for limiting mob spawning
field_82354_a,command,2,The command this block will execute when powered.
field_82365_a,difficulties,2,
field_82373_c,directions,2,
field_82374_e,facings,2,
field_82387_b,intListPattern,2,"This matches things like ""-1,,4"", and is used for getting x,y,z,range from the token's argument list."
field_82388_c,keyValueListPattern,2,"This matches things like ""rm=4,c=2"" and is used for handling named token arguments."
field_82389_a,tokenPattern,2,"This matches the at-tokens introduced for command blocks, including their arguments, if any."
field_82391_c,instance,2,
field_82397_a,skullRenderer,2,
field_82401_a,skeletonHeadModel,2,The Skeleton's head model.
field_82405_a,renderBlocksInstance,2,
@@ -4244,13 +4465,20 @@ field_82446_a,renderedBatSize,2,"not actually sure this is size, is not used as
field_82453_b,createFlatWorldGui,2,
field_82458_b,flatPresetsGui,2,
field_82470_g,playingSounds,2,Identifiers of all currently playing sounds. Type: HashSet<String>
field_82471_f,minecartIsMoving,2,
field_82472_g,silent,2,
field_82473_d,playerSPRidingMinecart,2,
field_82474_e,minecartIsDead,2,
field_82475_b,theMinecart,2,Minecart which sound is being updated.
field_82476_c,thePlayer,2,The player that is getting the minecart sound updates.
field_82477_a,theSoundManager,2,
field_82478_j,minecartRideSoundVolume,2,
field_82479_k,minecartSpeed,2,
field_82480_h,minecartSoundPitch,2,
field_82481_i,minecartMoveSoundVolume,2,
field_82483_a,itemDispenseBehaviorProvider,2,
field_82484_c,defaultItemDispenseBehavior,2,Reference to the BehaviorDefaultDispenseItem object.
field_82490_b,mcServer,2,
field_82491_c,defaultItemDispenseBehavior,2,Reference to the BehaviorDefaultDispenseItem object.
field_82492_b,mcServer,2,
field_82493_c,defaultItemDispenseBehavior,2,Reference to the BehaviorDefaultDispenseItem object.
field_82494_b,mcServer,2,Reference to the MinecraftServer object.
@@ -4279,11 +4507,10 @@ field_82537_a,sensible,2,"Whether this button is sensible to arrows, used by woo
field_82539_a,types,2,The types of the wall.
field_82548_a,theChunkCoordinates,2,
field_82552_a,mcServer,2,
field_82553_a,mcServer,2,
field_82555_a,mcServer,2,
field_82557_a,mcServer,2,Reference to the MinecraftServer object.
field_82564_f,showCape,2,
field_82575_g,dayTime,2,Total time for this world.
field_82575_g,totalTime,2,Total time for this world.
field_82576_c,generatorOptions,2,
field_82577_x,theGameRules,2,
field_82578_b,NBTTypes,2,
@@ -4292,10 +4519,16 @@ field_82587_b,theNBTTagCompound,2,
field_82592_a,vec3dPool,2,
field_82596_a,registryObjects,2,Objects registered on this registry.
field_82597_b,defaultObject,2,"Default object for this registry, returned when an object is not found."
field_82611_j,frontOffsetY,2,
field_82612_k,frontOffsetZ,2,
field_82614_i,frontOffsetX,2,
field_82624_d,zPos,2,
field_82625_b,xPos,2,
field_82626_c,yPos,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,Maximum time the entity's speed should be boosted for.
field_82636_d,speedBoosted,2,Whether the entity's speed is boosted.
field_82637_e,speedBoostTime,2,"Counter for speed boosting, upon reaching maxSpeedBoostTime the speed boost will be disabled"
@@ -4318,8 +4551,14 @@ field_82680_c,cropTypeB,2,Second crop type for this field.
field_82681_h,cropTypeD,2,Fourth crop type for this field.
field_82682_h,hasWitch,2,Whether this swamp hut has a witch.
field_82693_j,playerReputation,2,List of player reputations with this village
field_82694_i,noBreedTicks,2,Timestamp of tick count when villager last bred
field_82696_f,structureGenerators,2,
field_82701_j,lavaLakeGenerator,2,
field_82703_i,waterLakeGenerator,2,
field_82707_i,isAnimal,2,Whether this creature type is an animal.
field_82717_g,anvil,2,
field_82723_d,isSplashPotion,2,Whether the potion is a splash potion
field_82724_e,isAmbient,2,Whether the potion effect came from a beacon
field_82727_n,wither,2,
field_82728_o,anvil,2,
field_82729_p,fallingBlock,2,
@@ -4354,7 +4593,7 @@ field_82809_c,soilId,2,Block ID of the soil this seed food should be planted on.
field_82811_a,hangingEntityClass,2,
field_82822_g,gameVersion,2,Game version for this server.
field_82823_k,hideAddress,2,Whether to hide the IP address for this server.
field_82826_b,statusBarLenght,2,
field_82826_b,statusBarLength,2,
field_82827_c,bossName,2,
field_82828_a,healthScale,2,
field_82843_f,itemFrame,2,"Item frame this stack is on, or null if not on an item frame."
@@ -4362,11 +4601,16 @@ field_82852_f,outputSlot,2,Here comes out item you merged and/or renamed.
field_82853_g,inputSlots,2,The 2slots where you put your items in that you want to merge and/or rename.
field_82854_e,maximumCost,2,The maximum cost of repairing/renaming in the anvil.
field_82855_n,thePlayer,2,The player that has this container open.
field_82856_l,stackSizeToBeUsedInRepair,2,determined by damage of input item and stackSize of repair materials
field_82857_m,repairedItemName,2,
field_82860_h,theWorld,2,
field_82862_h,thePlayer,2,
field_82864_f,beaconSlot,2,"This beacon's slot where you put in Emerald, Diamond, Gold or Iron Ingot."
field_82866_e,theBeacon,2,
field_82871_d,blockPosZ,2,
field_82872_e,anvil,2,The anvil this slot belongs to.
field_82873_b,blockPosX,2,
field_82874_c,blockPosY,2,
field_82875_a,theWorld,2,
field_82876_a,beacon,2,The beacon this slot belongs to.
field_82880_z,showCape,2,Whether to show your cape
@@ -4384,21 +4628,50 @@ field_82909_b,presetName,2,Name for this preset.
field_82910_c,presetData,2,Data for this preset.
field_82911_a,iconId,2,ID for the item used as icon for this preset.
field_82915_S,theWorldGenerator,2,
field_83001_bt,invulnerable,2,
field_83004_a,theCrashReport,2,
field_83016_L,theCalendar,2,
field_83021_g,customMinX,2,Custom minimum X for rendering
field_83022_l,customMaxZ,2,Custom maximum Z for rendering
field_83023_m,useCustomBlockBounds,2,Use custom block bounds for the rendering
field_83024_j,customMaxY,2,Custom maximum Y for rendering
field_83025_k,customMinZ,2,Custom minimum Z for rendering
field_83026_h,customMaxX,2,Custom maximum X for rendering
field_83027_i,customMinY,2,Custom minimum Y for rendering
field_83021_g,renderMinX,2,The minimum X value for rendering (default 0.0).
field_83022_l,renderMaxZ,2,The maximum Z value for rendering (default 1.0).
field_83023_m,lockBlockBounds,2,"Set by overrideBlockBounds, to keep this class from changing the visual bounding box."
field_83024_j,renderMaxY,2,The maximum Y value for rendering (default 1.0).
field_83025_k,renderMinZ,2,The minimum Z value for rendering (default 0.0).
field_83026_h,renderMaxX,2,The maximum X value for rendering (default 1.0).
field_83027_i,renderMinY,2,The minimum Y value for rendering (default 0.0).
field_85037_d,aiArrowAttack,2,
field_85038_e,aiAttackOnCollide,2,
field_85045_v,returningStack,2,Used when touchscreen is enabled
field_85046_u,returningStackTime,2,
field_85047_t,returningStackDestSlot,2,
field_85050_q,draggedStack,2,Used when touchscreen is enabled
field_85051_p,clickedSlot,2,Used when touchscreen is enabled
field_85053_h,throwerName,2,
field_85075_d,stackTrace,2,
field_85109_a,worldInfoInstance,2,
field_85111_a,worldInfoInstance,2,
field_85113_a,worldInfoInstance,2,
field_85115_a,worldInfoInstance,2,
field_85135_a,worldInfoInstance,2,
field_85137_a,worldInfoInstance,2,
field_85139_a,worldInfoInstance,2,
field_85141_a,worldInfoInstance,2,
field_85143_a,worldInfoInstance,2,
field_85180_cf,recordWait,2,
field_85185_A,touchscreen,2,
field_85192_a,worldServerInstance,2,
field_90017_e,isMacOs,2,
field_90018_r,isRightMouseClick,2,Used when touchscreen is enabled
field_90044_b,records,2,List of all record items and their names.
field_92009_j,explosionStrength,2,The explosion radius of spawned fireballs.
field_92010_b,lifetime,2,The lifetime of the firework in ticks. When the age reaches the lifetime the firework explodes.
field_92011_a,fireworkAge,2,The age of the firework in ticks.
field_92014_j,explosionStrength,2,The explosion radius of spawned fireballs.
field_92017_j,spawnedMob,2,
field_92052_bU,firework,2,
field_92053_bW,enchantedBook,2,
field_92054_bV,fireworkCharge,2,
field_92055_b,lifetime,2,The lifetime of the firework in ticks. When the age reaches the lifetime the firework explodes.
field_92056_a,fireworkAge,2,The age of the firework in ticks.
field_92104_bU,firework,2,
field_92105_bW,enchantedBook,2,
field_92106_bV,fireworkCharge,2,
1 searge name side desc
149 field_70291_e health 2 The health of this EntityItem. (For example, damage for tools)
150 field_70292_b age 2 The age of this EntityItem (used to animate it up and down as well as expire it)
151 field_70293_c delayBeforeCanPickup 2
field_70294_a item 2 The item stack of this EntityItem.
152 field_70323_b classToNameMap 2 A HashMap storing the classes and mapping to the string names (reverse of nameToClassMap).
153 field_70324_q blockType 2 the Block type that this TileEntity is contained within
154 field_70325_p blockMetadata 2
238 field_70483_a inventoryTitle 2
239 field_70484_a container 2 The brewing stand this slot belongs to.
240 field_70488_a associatedChest 2
241 field_70499_f isInReverse 2
242 field_70500_g matrix 2 Minecart rotational logic matrix
243 field_70501_d cargoItems 2 Array of item stacks stored in minecart (for storage minecarts).
244 field_70502_e fuel 2
245 field_70503_b pushX 2
298 field_70586_a lavaParticleScale 2
299 field_70587_a smokeParticleScale 2
300 field_70588_a snowDigParticleScale 2
301 field_70590_a baseSpellTextureIndex 2 Base spell texture index
302 field_70591_a entityToPickUp 2
303 field_70592_at yOffs 2 renamed from yOffset to fix shadowing Entity.yOffset
304 field_70593_as maxAge 2
687 field_71586_b offsetsXForSide 2 gives the offset required for this axis to get the block at that side.
688 field_71587_c offsetsYForSide 2 gives the offset required for this axis to get the block at that side.
689 field_71588_a faceToSide 2 Converts a face to a side.
690 field_71589_f bc_pbe_sha512 2
691 field_71590_g bc_pbe_sha224 2
692 field_71591_d bc_pbe_sha256 2
693 field_71592_e bc_pbe_sha384 2
694 field_71593_b bc_pbe 2
695 field_71594_c bc_pbe_sha1 2
696 field_71595_a bc 2
697 field_71596_n bc_pbe_sha1_pkcs12_aes256_cbc 2
698 field_71597_o bc_pbe_sha256_pkcs12_aes128_cbc 2
699 field_71598_l bc_pbe_sha1_pkcs12_aes128_cbc 2
700 field_71599_m bc_pbe_sha1_pkcs12_aes192_cbc 2
701 field_71600_j bc_pbe_sha256_pkcs5 2
702 field_71601_k bc_pbe_sha256_pkcs12 2
703 field_71602_h bc_pbe_sha1_pkcs5 2
704 field_71603_i bc_pbe_sha1_pkcs12 2
705 field_71604_q bc_pbe_sha256_pkcs12_aes256_cbc 2
706 field_71605_p bc_pbe_sha256_pkcs12_aes192_cbc 2
707 field_71610_b cache 2
708 field_71611_a identifier 2
709 field_71613_D digestAlgorithm 2
710 field_71614_E md2 2
711 field_71615_F md4 2
712 field_71616_G md5 2
713 field_71617_A encryptionAlgorithm 2
714 field_71618_B des_EDE3_CBC 2
715 field_71619_C RC2_CBC 2
716 field_71620_L id_hmacWithSHA512 2
717 field_71621_M data 2
718 field_71622_N signedData 2
719 field_71623_O envelopedData 2
720 field_71624_H id_hmacWithSHA1 2
721 field_71625_I id_hmacWithSHA224 2
722 field_71626_J id_hmacWithSHA256 2
723 field_71627_K id_hmacWithSHA384 2
724 field_71628_U pkcs_9_at_unstructuredName 2
725 field_71629_T pkcs_9_at_emailAddress 2
726 field_71630_W pkcs_9_at_messageDigest 2
727 field_71631_V pkcs_9_at_contentType 2
728 field_71632_Q digestedData 2
729 field_71633_P signedAndEnvelopedData 2
730 field_71634_S pkcs_9 2
731 field_71635_R encryptedData 2
732 field_71636_Y pkcs_9_at_counterSignature 2
733 field_71637_X pkcs_9_at_signingTime 2
734 field_71638_Z pkcs_9_at_challengePassword 2
735 field_71639_f sha1WithRSAEncryption 2
736 field_71640_g srsaOAEPEncryptionSET 2
737 field_71641_d md4WithRSAEncryption 2
738 field_71642_e md5WithRSAEncryption 2
739 field_71643_b rsaEncryption 2
740 field_71644_c md2WithRSAEncryption 2
741 field_71645_a pkcs_1 2
742 field_71646_n sha512WithRSAEncryption 2
743 field_71647_o sha224WithRSAEncryption 2
744 field_71648_l sha256WithRSAEncryption 2
745 field_71649_m sha384WithRSAEncryption 2
746 field_71650_j id_pSpecified 2
747 field_71651_k id_RSASSA_PSS 2
748 field_71652_h id_RSAES_OAEP 2
749 field_71653_i id_mgf1 2
750 field_71654_w pbeWithSHA1AndDES_CBC 2
751 field_71655_v pbeWithMD5AndRC2_CBC 2
752 field_71656_u pbeWithMD5AndDES_CBC 2
753 field_71657_t pbeWithMD2AndRC2_CBC 2
754 field_71658_s pbeWithMD2AndDES_CBC 2
755 field_71659_r pkcs_5 2
756 field_71660_q dhKeyAgreement 2
757 field_71661_p pkcs_3 2
758 field_71662_z id_PBKDF2 2
759 field_71663_y id_PBES2 2
760 field_71664_x pbeWithSHA1AndRC2_CBC 2
761 field_71665_bw pbewithSHAAnd40BitRC2_CBC 2
762 field_71666_bv pbeWithSHAAnd40BitRC2_CBC 2
763 field_71667_by id_alg_CMSRC2wrap 2
764 field_71668_bx id_alg_CMS3DESwrap 2
765 field_71669_bs pbeWithSHAAnd3_KeyTripleDES_CBC 2
766 field_71670_br pbeWithSHAAnd40BitRC4 2
767 field_71671_bu pbeWithSHAAnd128BitRC2_CBC 2
768 field_71672_bt pbeWithSHAAnd2_KeyTripleDES_CBC 2
769 field_71673_bn secretBag 2
770 field_71674_bo safeContentsBag 2
771 field_71675_bp pkcs_12PbeIds 2
772 field_71676_bq pbeWithSHAAnd128BitRC4 2
773 field_71677_bj keyBag 2
774 field_71678_bk pkcs8ShroudedKeyBag 2
775 field_71679_bl certBag 2
776 field_71680_bm crlBag 2
777 field_71681_bf id_spq_ets_uri 2
778 field_71682_bg id_spq_ets_unotice 2
779 field_71683_bh pkcs_12 2
780 field_71684_bi bagtypes 2
781 field_71685_bb id_aa_sigPolicyId 2
782 field_71686_bc id_aa_commitmentType 2
783 field_71687_bd id_aa_signerLocation 2
784 field_71688_be id_aa_otherSigCert 2
785 field_71689_aZ id_aa_ets_certCRLTimestamp 2
786 field_71690_aY id_aa_ets_escTimeStamp 2
787 field_71691_aR id_aa_ets_signerAttr 2
788 field_71692_aQ id_aa_ets_signerLocation 2
789 field_71693_aT id_aa_ets_contentTimestamp 2
790 field_71694_aS id_aa_ets_otherSigCert 2
791 field_71695_aV id_aa_ets_revocationRefs 2
792 field_71696_aU id_aa_ets_certificateRefs 2
793 field_71697_aX id_aa_ets_revocationValues 2
794 field_71698_aW id_aa_ets_certValues 2
795 field_71699_aI id_aa_contentReference 2
796 field_71700_aJ id_aa_encrypKeyPref 2
797 field_71701_aK id_aa_signingCertificate 2
798 field_71702_aL id_aa_signingCertificateV2 2
799 field_71703_aM id_aa_contentIdentifier 2
800 field_71704_aN id_aa_signatureTimeStampToken 2
801 field_71705_aO id_aa_ets_sigPolicyId 2
802 field_71706_aP id_aa_ets_commitmentType 2
803 field_71707_aA id_cti_ets_proofOfDelivery 2
804 field_71708_aB id_cti_ets_proofOfSender 2
805 field_71709_aC id_cti_ets_proofOfApproval 2
806 field_71710_aD id_cti_ets_proofOfCreation 2
807 field_71711_aE id_aa 2
808 field_71712_aF id_aa_receiptRequest 2
809 field_71713_aG id_aa_contentHint 2
810 field_71714_aH id_aa_msgSigDigest 2
811 field_71715_az id_cti_ets_proofOfReceipt 2
812 field_71716_ay id_cti_ets_proofOfOrigin 2
813 field_71717_ba id_aa_ets_archiveTimestamp 2
814 field_71718_at id_ct_TSTInfo 2
815 field_71719_as id_ct_authData 2
816 field_71720_ar id_ct 2
817 field_71721_aq sMIMECapabilitiesVersions 2
818 field_71722_ax id_cti 2
819 field_71723_aw id_ct_timestampedData 2
820 field_71724_av id_ct_authEnvelopedData 2
821 field_71725_au id_ct_compressedData 2
822 field_71726_ak sdsiCertificate 2
823 field_71727_al crlTypes 2
824 field_71728_ai certTypes 2
825 field_71729_aj x509Certificate 2
826 field_71730_ao preferSignedData 2
827 field_71731_ap canNotDecryptAny 2
828 field_71732_am x509Crl 2
829 field_71733_an id_alg_PWRI_KEK 2
830 field_71734_ac pkcs_9_at_signingDescription 2
831 field_71735_ad pkcs_9_at_extensionRequest 2
832 field_71736_aa pkcs_9_at_unstructuredAddress 2
833 field_71737_ab pkcs_9_at_extendedCertificateAttributes 2
834 field_71738_ag pkcs_9_at_localKeyId 2
835 field_71739_ah x509certType 2
836 field_71740_ae pkcs_9_at_smimeCapabilities 2
837 field_71741_af pkcs_9_at_friendlyName 2
838 field_71743_a theDecitatedServer 2 Reference to the DecitatedServer object.
839 field_71748_d connections 2
840 field_71749_b isListening 2 Whether the network listener object is listening.
857 field_71784_a key 2
858 field_71787_b strength 2
859 field_71788_a random 2
860 field_71796_f pgpCFB 2
861 field_71797_d cipher 2
862 field_71798_e partialBlockOkay 2
863 field_71799_b bufOff 2
864 field_71800_c forEncryption 2
865 field_71801_a buf 2
866 field_71809_f encrypting 2
867 field_71810_d blockSize 2
868 field_71811_e cipher 2
869 field_71812_b cfbV 2
870 field_71813_c cfbOutV 2
871 field_71814_a IV 2
872 field_71824_f T2 2
873 field_71825_g T3 2
874 field_71826_d T0 2
875 field_71827_e T1 2
876 field_71828_b Si 2
877 field_71829_c rcon 2
878 field_71830_a S 2
879 field_71831_n C0 2
880 field_71832_o C1 2
881 field_71833_l ROUNDS 2
882 field_71834_m WorkingKey 2
883 field_71835_j Tinv2 2
884 field_71836_k Tinv3 2
885 field_71837_h Tinv0 2
886 field_71838_i Tinv1 2
887 field_71839_r forEncryption 2
888 field_71840_q C3 2
889 field_71841_p C2 2
890 field_71844_b strength 2
891 field_71845_a random 2
892 field_71938_D lavaStill 2 Stationary lava source block
1033 field_72079_ak stoneSingleSlab 2 stoneSingleSlab
1034 field_72080_bM redstoneLampActive 2
1035 field_72081_al brick 2
1036 field_72082_bJ whiteStone 2 The rock found in The End.
1037 field_72083_ai blockSteel 2
1038 field_72084_bK dragonEgg 2
1039 field_72085_aj stoneDoubleSlab 2 stoneDoubleSlab
1162 field_72451_a theDecitatedServer 2 Instance of the DecitatedServer.
1163 field_72534_f mcServer 2 Reference to the MinecraftServer object.
1164 field_72535_g connectionTimer 2
1165 field_72536_d verifyToken 2 The 4 byte verify token read from a Packet252SharedKey
1166 field_72537_e rand 2 The Random object used to generate serverId hex strings.
1167 field_72538_b myTCPConnection 2
1168 field_72539_c connectionComplete 2
1169 field_72540_a logger 2 The Minecraft logger.
1170 field_72541_j loginServerId 2 server ID that is randomly generated by this login handler.
1171 field_72542_k sharedKey 2 Secret AES key obtained from the client's Packet252SharedKey
1172 field_72543_h clientUsername 2
1173 field_72554_f disconnected 2 True if kicked or disconnected from the server.
1174 field_72555_g netManager 2 Reference to the NetworkManager object.
1315 field_72992_H spawnPeacefulMobs 2 A flag indicating whether we should spawn peaceful mobs.
1316 field_72993_I activeChunkSet 2 Positions to update
1317 field_72994_J lightUpdateBlockList 2 is a temporary list of blocks and light values used when updating light levels. Holds up to 32x32x32 blocks (the maximum influence of a light source.) Every element is a packed bit value: 0000000000LLLLzzzzzzyyyyyyxxxxxx. The 4-bit L is a light level used when darkening blocks. 6-bit numbers x, y and z represent the block's offset from the original block, plus 32 (i.e. value of 31 would mean a -1 offset
1318 field_72995_K isRemote 2 This is set to true when you are a client connected to a multiplayer world, false otherwise. As of Minecraft 1.3 and the integrated server, this will always return true. This is set to true for client worlds, and false for server worlds.
1319 field_72996_f loadedEntityList 2 A list of all Entities in all currently-loaded chunks
1320 field_72997_g unloadedEntityList 2
1321 field_72998_d collidingBoundingBoxes 2
1335 field_73012_v rand 2 RNG for World.
1336 field_73013_u difficultySetting 2 Option > Difficulty setting (0 - 3)
1337 field_73014_t editingBlocks 2 true while the world is editing blocks
field_73015_s lightningFlash 2 If > 0, the sky and skylight colors are illuminated by a lightning flash
1338 field_73016_r lastLightningBolt 2 Set to 2 whenever a lightning bolt is generated in SSP. Decrements if > 0 in updateWeather(). Value appears to be unused.
1339 field_73017_q thunderingStrength 2
1340 field_73018_p prevThunderingStrength 2
1385 field_73127_g lastYaw 2
1386 field_73128_d lastScaledXPosition 2
1387 field_73129_e lastScaledYPosition 2
1388 field_73130_b BlocksDistanceThreshold blocksDistanceThreshold 2
1389 field_73131_c updateFrequency 2 check for sync when ticks % updateFrequency==0
1390 field_73132_a myEntity 2
1391 field_73133_n playerEntitiesUpdated 2
1475 field_73248_b chunksToUnload 2 used by unload100OldestChunks to iterate the loadedChunkHashMap for unload (underlying assumption, first in, first out)
1476 field_73249_c defaultEmptyChunk 2
1477 field_73250_a loadChunkOnProvideRequest 2 if this is false, the defaultEmptyChunk will be returned by the provider
1478 field_73251_h currentServer worldObj 2
1479 field_73261_d locationOfBlockChange 2
1480 field_73262_e numberOfTilesToUpdate 2
1481 field_73263_b playersInChunk 2
1498 field_73300_a xPosition 2 X coordinate of spawn.
1499 field_73301_a time 2 The world time in minutes.
1500 field_73305_b verifyToken 2
1501 field_73306_c sharedKey 2 Secret AES key decrypted from sharedSecret via the server's private RSA key
1502 field_73307_a sharedSecret 2
1503 field_73308_d signLines 2
1504 field_73309_b yPosition 2
1630 field_73472_a statisticId 2
1631 field_73474_a text 2 Sent by the client containing the text to be autocompleted. Sent by the server with possible completions separated by null (two bytes in UTF-16)
1632 field_73476_b message 2 The message being sent.
1633 field_73477_c isServer 2
1634 field_73478_a maxChatLength 2 Maximum number of characters allowed in chat string in each packet.
field_73479_f pitch 2 The item pitch.
field_73480_g roll 2 The item roll.
field_73481_d zPosition 2 The item Z position.
field_73482_e rotation 2 The item rotation.
field_73483_b xPosition 2 The item X position.
field_73484_c yPosition 2 The item Y position.
field_73485_a entityId 2 Unique entity ID.
field_73487_h itemID 2
1635 field_73490_f velocityX 2
1636 field_73491_g velocityY 2
1637 field_73492_d yPosition 2 The Y position of the entity.
1714 field_73577_b effectX 2 Effect X multiplied by 8
1715 field_73578_c effectY 2 Effect Y multiplied by 8
1716 field_73579_a soundName 2 e.g. step.grass
1717 field_73585_g dataLength 2 total size of the compressed data
1718 field_73586_d chunkPosZ 2
1719 field_73587_e chunkDataBuffer 2 The compressed chunk data buffer
1720 field_73589_c chunkPostX 2
1721 field_73591_h chunkDataNotCompressed 2
1722 field_73592_a randomId 2
1723 field_73595_f chunkData 2 The transmitted chunk data, decompressed.
1724 field_73596_g compressedChunkData 2 The compressed chunk data
1725 field_73597_d yChMax 2 The y-position of the highest chunk Section in the transmitted chunk, in chunk coordinates.
1726 field_73598_e includeInitialize 2 Whether to initialize the Chunk before applying the effect of the Packet51MapChunk.
1727 field_73599_b zCh 2 The z-position of the transmitted chunk, in chunk coordinates.
1737 field_73614_b explosionY 2
1738 field_73615_c explosionZ 2
1739 field_73616_a explosionX 2
1740 field_73618_b bedState eventType 2 Either 1 or 2. 1 indicates to begin raining, 2 indicates to stop raining. 0: Invalid bed, 1: Rain starts, 2: Rain stops, 3: Game mode changed.
1741 field_73619_c gameMode 2 Used only when reason = 3. 0 is survival, 1 is creative. When reason==3, the game mode to set. See EnumGameType for a list of values.
1742 field_73620_a bedChat clientMessage 2 The client prints clientMessage[eventType] to chat when this packet is received.
1743 field_73621_d bedZ 2
1744 field_73623_b bedX 2
1745 field_73624_c bedY 2
1816 field_73813_b xPos 2
1817 field_73814_c yPos 2
1818 field_73815_a fontRenderer 2 Have the font renderer from GuiScreen to render the textbox text into the screen.
1819 field_73816_n lineScrollOffset 2 The current character index that should be used as start of the rendered text.
1820 field_73817_o cursorPosition 2
1821 field_73818_l isFocused 2 If this value is true along isEnabled, keyTyped will process the keys.
1822 field_73819_m isEnabled 2 If this value is true along isFocused, keyTyped will process the keys.
1897 field_73944_m message2 2 Second line of text.
1898 field_73946_b copyLinkButtonText 2 Label for the Copy to Clipboard button.
1899 field_73947_a openLinkWarning 2 Text to warn players from opening unsafe links.
field_73948_b chatGui 2
field_73949_a theChatClickData 2 Instance of ChatClickData.
1900 field_73964_d guiTexturePackSlot 2 the GuiTexturePackSlot that contains all the texture packs and their descriptions
1901 field_73965_b refreshTimer 2
1902 field_73966_c fileLocation 2 the absolute location of this texture pack
2046 field_74220_o upperChestInventory 2
2047 field_74224_p ySize_lo 2 y size of the inventory window in pixels. Defined as float, passed as int.
2048 field_74225_o xSize_lo 2 x size of the inventory window in pixels. Defined as float, passed as int
2049 field_74236_u backupContainerSlots 2 Used to back up the ContainerCreative's inventory slots before filling it with the player's inventory slots for the inventory tab.
2050 field_74237_t searchField 2
2051 field_74238_s wasClicking 2 True if the left mouse button was held down last time drawScreen was called.
2052 field_74239_r isScrolling 2 True if the scrollbar is being dragged
2066 field_74264_c currentProgress 2
2067 field_74265_a progressMessage 2
2068 field_74267_a mcServer 2 Reference to the MinecraftServer object.
2069 field_74268_a simpleDateFormatLogFormatter dateFormat 2 Date Formatter of Log/Console. The date format to use in the console log.
2070 field_74270_a mcServer 2 Reference to the MinecraftServer object.
2071 field_74272_a mcServer 2 Reference to the MinecraftServer object.
2072 field_74274_a mcServer 2 Reference to the MinecraftServer object.
2161 field_74443_c pairedConnection 2
2162 field_74444_a mySocketAddress 2
2163 field_74445_h gamePaused 2
2164 field_74464_B chunkDataPacketsDelay 2 Delay for sending pending chunk data packets (as opposed to pending non-chunk data packets)
2165 field_74465_f isInputBeingDecrypted 2
2166 field_74466_g isOutputEncrypted 2
2167 field_74472_n isTerminating 2 Whether this network manager is currently terminating (and should ignore further errors).
2196 field_74532_a mc 2 A reference to the Minecraft object.
2197 field_74534_a arguments 2 Arguments that were passed to Minecraft.jar (username, sessionid etc)
2198 field_74536_a mc 2 Minecraft instance
2199 field_74537_a logo 2 BufferedImage object containing the Majong logo. BufferedImage containing the Mojang logo.
2200 field_74541_b lineString 2
2201 field_74542_c chatLineID 2 int value to refer to existing Chat Lines, can be 0 which means unreferrable
2202 field_74543_a updateCounterCreated 2 GUI Update Counter value this Line was created at
2207 field_74577_b mc 2 A reference to the Minecraft object.
2208 field_74578_c closing 2 Set to true when Minecraft is closing down.
2209 field_74579_a resourcesFolder 2 The folder to store the resources in.
2210 field_74580_b chunkExistFlag 2
2211 field_74581_c chunkHasAddSectionFlag 2
2212 field_74582_a compressedData 2
2213 field_74586_f rotationZ 2 The Z component of the entity's yaw rotation
2214 field_74587_g rotationYZ 2 The Y component (scaled along the Z axis) of the entity's pitch rotation
2215 field_74588_d rotationX 2 The X component of the entity's yaw rotation
2272 field_74784_a tagMap 2 The key-value pairs for the tag. Each key is a UTF string, each value is a tag.
2273 field_74790_a enumJsonNodeTypeMappingArray 2 A mapping helper array for EnumJsonNodeType's values.
2274 field_74791_a escapedString 2
2275 field_74801_a theBouncyCastleProvider 2
2276 field_74813_d currentLanguage 2
2277 field_74814_e isUnicode 2
2278 field_74815_b translateTable 2 Contains all key/value pairs to be translated - is loaded from '/lang/en_US.lang' when the StringTranslate is created.
2279 field_74816_c languageList 2
2280 field_74817_a instance 2 Is the private singleton instance of StringTranslate.
2281 field_74822_f ASYMMETRIC_GENERIC 2
2282 field_74823_g ASYMMETRIC_CIPHERS 2
2283 field_74824_d keyInfoConverters 2
2284 field_74825_e SYMMETRIC_CIPHERS 2
2285 field_74826_b CONFIGURATION 2
2286 field_74827_c info 2
2287 field_74828_a PROVIDER_NAME 2
2288 field_74829_h DIGESTS 2
2289 field_74831_f dhThreadSpec 2
2290 field_74832_d BC_DH_PERMISSION 2
2291 field_74833_e ecThreadSpec 2
2296 field_74842_b permissionMask 2
2297 field_74843_a actions 2
2298 field_74845_a errorObjects 2
2299 field_74846_d buf 2
2300 field_74847_b theStreamCipher 2
2301 field_74848_c oneByte 2
2302 field_74849_a theBufferedBlockCipher 2
2303 field_74853_f maxBuf 2
2304 field_74854_g finalized 2
2305 field_74855_d inBuf 2
2306 field_74856_e bufOff 2
2307 field_74857_b theStreamCipher 2
2308 field_74858_c buf 2
2309 field_74859_a theBufferedBlockCipher 2
2310 field_74885_f coordBaseMode 2 switches the Coordinate System base off the Bounding Box
2311 field_74886_g componentType 2 The type ID of this component.
2312 field_74887_e boundingBox 2
2646 field_75519_k canPassClosedWoodenDoors 2 If door blocks are considered passable even when closed
2647 field_75520_h ticksAtLastPos 2 The time when the last position check was done (to detect successful movement)
2648 field_75521_i lastPosCheck 2 Coordinates of the entity's position last time a check was done (part of monitoring getting 'stuck')
2649 field_75524_b seenEntities 2 Cache of entities which we can see
2650 field_75525_c unseenEntities 2 Cache of entities which we cannot see
2651 field_75526_a entityObj 2
2652 field_75531_f theVillage 2 Instance of Village.
2653 field_75537_a worldObj 2
2682 field_75625_b stringToClassMapping 2 Provides a mapping between entity classes and a string
2683 field_75626_c classToStringMapping 2 Provides a mapping between a string and an entity classes
2684 field_75627_a entityEggs 2 This is a HashMap of the Creative Entity Eggs/Spawners.
2685 field_75643_f update 2
2686 field_75644_d posZ 2
2687 field_75645_e speed 2 The speed at which the entity should move
2688 field_75646_b posX 2
2702 field_75676_b dataValueId 2 id of max 31
2703 field_75677_c watchedObject 2
2704 field_75678_a objectType 2
2705 field_75694_d lock 2
2706 field_75695_b watchedObjects 2
2707 field_75696_c objectChanged 2 true if one or more object was changed
2708 field_75697_a dataTypes 2
2966 field_76258_w craftedSnow 2 The material for crafted snow.
2967 field_76259_v snow 2
2968 field_76260_u ice 2
2969 field_76261_t coral 2
2970 field_76262_s tnt 2
2971 field_76263_r redstoneLight 2
2972 field_76264_q glass 2
2995 field_76295_d theMinimumChanceToGenerateItem 2 The minimum chance of item generating.
2996 field_76296_e theMaximumChanceToGenerateItem 2 The maximum chance of item generating.
2997 field_76297_b theItemId 2 The Item/Block ID to generate in the Chest.
field_76298_c theItemDamage 2 The Item damage/metadata.
2998 field_76299_d maxGroupCount 2
2999 field_76300_b entityClass 2 Holds the class of the entity to be spawned.
3000 field_76301_c minGroupCount 2
3024 field_76372_a inFire 2
3025 field_76373_n damageType 2
3026 field_76374_o isUnblockable 2 This kind of damage can be blocked or not.
3027 field_76375_l explosion2 2
3028 field_76376_m magic 2
3029 field_76377_j generic 2
3030 field_76378_k explosion 2
3031 field_76379_h fall 2
3032 field_76380_i outOfWorld 2
3033 field_76381_t difficultyScaled 2 Whether this damage source will have its damage amount scaled based on the current difficulty.
3034 field_76382_s projectile 2 This kind of damage is based on a projectile or not.
3035 field_76383_r fireDamage 2 This kind of damage is based on fire or not.
3036 field_76384_q hungerDamage 2
3346 field_76991_a modelBase 2
3347 field_76993_a blockRenderer 2
3348 field_76998_a modelBoat 2 instance of ModelBoat for rendering
3349 field_77004_a renderBlocks sandRenderBlocks 2
3350 field_77013_a modelMinecart 2 instance of ModelMinecart for rendering
3351 field_77022_g renderBlocks itemRenderBlocks 2
3352 field_77023_b zLevel 2 Defines the zLevel of rendering of item on GUI.
3353 field_77025_h random 2 The RNG used in RenderItem (for bobbing itemstacks on the ground)
3354 field_77027_a itemIconIndex 2 Have the icon index (in items.png) that will be used to render the image. Currently, eggs and snowballs uses this classes.
3682 field_77776_ba bed 2
3683 field_77777_bU maxStackSize 2 Maximum size of the stack.
3684 field_77778_at appleGold 2
3685 field_77779_bT shiftedIndex itemID 2 Item index + 256 The ID of this item.
3686 field_77780_as painting 2
3687 field_77781_bS record11 2
3688 field_77782_ar porkCooked 2
3776 field_77923_c ghastTearEffect 2
3777 field_77926_o potionPrefixes 2 An array of possible potion prefix names, as translation IDs.
3778 field_77927_l potionRequirements 2
3779 field_77928_m potionAmplifiers 2 Potion effect amplifier map
3780 field_77929_j glowstoneEffect 2
3781 field_77930_k gunpowderEffect 2
3782 field_77931_h magmaCreamEffect 2
4373 field_79028_a mcServerGui 2 Reference to the ServerGui object.
4374 field_79029_a outputHandler 2 Reference to the GuiLogOutputHandler.
4375 field_80001_f closestPlayer 2 The closest EntityPlayer to this orb.
4376 field_80002_g xpTargetColor 2 Threshold color for tracking players
4377 field_80004_Q updateEntityTick 2
4378 field_80005_w hideServerAddress 2
4379 field_82121_b skullRotation 2 The skull's rotation.
4384 field_82136_e levels 2 Level of this beacon's pyramid.
4385 field_82139_a effectsList 2 List of effects that Beacon can apply
4386 field_82140_h payment 2 Item given to this beacon as payment.
4387 field_82153_h timeInPortal 2
4388 field_82155_f isAnvil 2
4389 field_82156_g fallHurtMax 2 Maximum amount of damage dealt to entities hit by falling block
4390 field_82157_e isBreakingAnvil 2
4391 field_82158_h fallHurtAmount 2 Actual damage dealt to entities hit by falling block
4392 field_82172_bs canPickUpLoot 2 Whether this entity can pick up items from the ground.
4393 field_82173_br swingProgressInt 2
4394 field_82174_bp equipmentDropChances 2 Chances for each equipment piece from dropping when this entity dies.
4440 field_82321_q buttonsNotDrawn 2
4441 field_82322_p beaconConfirmButton 2
4442 field_82323_o beacon 2
4443 field_82326_p itemNameField 2
4444 field_82327_o repairContainer 2
4445 field_82332_a hangingDirection 2
4446 field_82337_e itemDropChance 2 Chance for this item frame's item to drop from the frame.
4447 field_82339_as particleAlpha 2 Particle alpha
4448 field_82346_a theContainer 2 Container of this anvil's block.
4449 field_82348_s spawnRange 2 Range for spawning new entities with mob spawners
4450 field_82349_r requiredPlayerRange 2 Required player range for mob spawning to occur
4451 field_82350_j maxNearbyEntities 2 Maximum number of entities for limiting mob spawning
4452 field_82354_a command 2 The command this block will execute when powered.
4453 field_82365_a difficulties 2
4454 field_82373_c directions 2
4455 field_82374_e facings 2
4456 field_82387_b intListPattern 2 This matches things like "-1,,4", and is used for getting x,y,z,range from the token's argument list.
4457 field_82388_c keyValueListPattern 2 This matches things like "rm=4,c=2" and is used for handling named token arguments.
4458 field_82389_a tokenPattern 2 This matches the at-tokens introduced for command blocks, including their arguments, if any.
4459 field_82391_c instance 2
4460 field_82397_a skullRenderer 2
4461 field_82401_a skeletonHeadModel 2 The Skeleton's head model.
4462 field_82405_a renderBlocksInstance 2
4465 field_82453_b createFlatWorldGui 2
4466 field_82458_b flatPresetsGui 2
4467 field_82470_g playingSounds 2 Identifiers of all currently playing sounds. Type: HashSet<String>
4468 field_82471_f minecartIsMoving 2
4469 field_82472_g silent 2
4470 field_82473_d playerSPRidingMinecart 2
4471 field_82474_e minecartIsDead 2
4472 field_82475_b theMinecart 2 Minecart which sound is being updated.
4473 field_82476_c thePlayer 2 The player that is getting the minecart sound updates.
4474 field_82477_a theSoundManager 2
4475 field_82478_j minecartRideSoundVolume 2
4476 field_82479_k minecartSpeed 2
4477 field_82480_h minecartSoundPitch 2
4478 field_82481_i minecartMoveSoundVolume 2
4479 field_82483_a itemDispenseBehaviorProvider 2
4480 field_82484_c defaultItemDispenseBehavior 2 Reference to the BehaviorDefaultDispenseItem object.
4481 field_82490_b mcServer 2
field_82491_c defaultItemDispenseBehavior 2 Reference to the BehaviorDefaultDispenseItem object.
4482 field_82492_b mcServer 2
4483 field_82493_c defaultItemDispenseBehavior 2 Reference to the BehaviorDefaultDispenseItem object.
4484 field_82494_b mcServer 2 Reference to the MinecraftServer object.
4507 field_82539_a types 2 The types of the wall.
4508 field_82548_a theChunkCoordinates 2
4509 field_82552_a mcServer 2
field_82553_a mcServer 2
4510 field_82555_a mcServer 2
4511 field_82557_a mcServer 2 Reference to the MinecraftServer object.
4512 field_82564_f showCape 2
4513 field_82575_g dayTime totalTime 2 Total time for this world.
4514 field_82576_c generatorOptions 2
4515 field_82577_x theGameRules 2
4516 field_82578_b NBTTypes 2
4519 field_82592_a vec3dPool 2
4520 field_82596_a registryObjects 2 Objects registered on this registry.
4521 field_82597_b defaultObject 2 Default object for this registry, returned when an object is not found.
4522 field_82611_j frontOffsetY 2
4523 field_82612_k frontOffsetZ 2
4524 field_82614_i frontOffsetX 2
4525 field_82624_d zPos 2
4526 field_82625_b xPos 2
4527 field_82626_c yPos 2
4528 field_82627_a worldObj 2
4529 field_82628_b y 2
4530 field_82629_c z 2
4531 field_82630_a x 2
4532 field_82635_f maxSpeedBoostTime 2 Maximum time the entity's speed should be boosted for.
4533 field_82636_d speedBoosted 2 Whether the entity's speed is boosted.
4534 field_82637_e speedBoostTime 2 Counter for speed boosting, upon reaching maxSpeedBoostTime the speed boost will be disabled
4551 field_82681_h cropTypeD 2 Fourth crop type for this field.
4552 field_82682_h hasWitch 2 Whether this swamp hut has a witch.
4553 field_82693_j playerReputation 2 List of player reputations with this village
4554 field_82694_i noBreedTicks 2 Timestamp of tick count when villager last bred
4555 field_82696_f structureGenerators 2
4556 field_82701_j lavaLakeGenerator 2
4557 field_82703_i waterLakeGenerator 2
4558 field_82707_i isAnimal 2 Whether this creature type is an animal.
4559 field_82717_g anvil 2
4560 field_82723_d isSplashPotion 2 Whether the potion is a splash potion
4561 field_82724_e isAmbient 2 Whether the potion effect came from a beacon
4562 field_82727_n wither 2
4563 field_82728_o anvil 2
4564 field_82729_p fallingBlock 2
4593 field_82811_a hangingEntityClass 2
4594 field_82822_g gameVersion 2 Game version for this server.
4595 field_82823_k hideAddress 2 Whether to hide the IP address for this server.
4596 field_82826_b statusBarLenght statusBarLength 2
4597 field_82827_c bossName 2
4598 field_82828_a healthScale 2
4599 field_82843_f itemFrame 2 Item frame this stack is on, or null if not on an item frame.
4601 field_82853_g inputSlots 2 The 2slots where you put your items in that you want to merge and/or rename.
4602 field_82854_e maximumCost 2 The maximum cost of repairing/renaming in the anvil.
4603 field_82855_n thePlayer 2 The player that has this container open.
4604 field_82856_l stackSizeToBeUsedInRepair 2 determined by damage of input item and stackSize of repair materials
4605 field_82857_m repairedItemName 2
4606 field_82860_h theWorld 2
4607 field_82862_h thePlayer 2
4608 field_82864_f beaconSlot 2 This beacon's slot where you put in Emerald, Diamond, Gold or Iron Ingot.
4609 field_82866_e theBeacon 2
4610 field_82871_d blockPosZ 2
4611 field_82872_e anvil 2 The anvil this slot belongs to.
4612 field_82873_b blockPosX 2
4613 field_82874_c blockPosY 2
4614 field_82875_a theWorld 2
4615 field_82876_a beacon 2 The beacon this slot belongs to.
4616 field_82880_z showCape 2 Whether to show your cape
4628 field_82910_c presetData 2 Data for this preset.
4629 field_82911_a iconId 2 ID for the item used as icon for this preset.
4630 field_82915_S theWorldGenerator 2
4631 field_83001_bt invulnerable 2
4632 field_83004_a theCrashReport 2
4633 field_83016_L theCalendar 2
4634 field_83021_g customMinX renderMinX 2 Custom minimum X for rendering The minimum X value for rendering (default 0.0).
4635 field_83022_l customMaxZ renderMaxZ 2 Custom maximum Z for rendering The maximum Z value for rendering (default 1.0).
4636 field_83023_m useCustomBlockBounds lockBlockBounds 2 Use custom block bounds for the rendering Set by overrideBlockBounds, to keep this class from changing the visual bounding box.
4637 field_83024_j customMaxY renderMaxY 2 Custom maximum Y for rendering The maximum Y value for rendering (default 1.0).
4638 field_83025_k customMinZ renderMinZ 2 Custom minimum Z for rendering The minimum Z value for rendering (default 0.0).
4639 field_83026_h customMaxX renderMaxX 2 Custom maximum X for rendering The maximum X value for rendering (default 1.0).
4640 field_83027_i customMinY renderMinY 2 Custom minimum Y for rendering The minimum Y value for rendering (default 0.0).
4641 field_85037_d aiArrowAttack 2
4642 field_85038_e aiAttackOnCollide 2
4643 field_85045_v returningStack 2 Used when touchscreen is enabled
4644 field_85046_u returningStackTime 2
4645 field_85047_t returningStackDestSlot 2
4646 field_85050_q draggedStack 2 Used when touchscreen is enabled
4647 field_85051_p clickedSlot 2 Used when touchscreen is enabled
4648 field_85053_h throwerName 2
4649 field_85075_d stackTrace 2
4650 field_85109_a worldInfoInstance 2
4651 field_85111_a worldInfoInstance 2
4652 field_85113_a worldInfoInstance 2
4653 field_85115_a worldInfoInstance 2
4654 field_85135_a worldInfoInstance 2
4655 field_85137_a worldInfoInstance 2
4656 field_85139_a worldInfoInstance 2
4657 field_85141_a worldInfoInstance 2
4658 field_85143_a worldInfoInstance 2
4659 field_85180_cf recordWait 2
4660 field_85185_A touchscreen 2
4661 field_85192_a worldServerInstance 2
4662 field_90017_e isMacOs 2
4663 field_90018_r isRightMouseClick 2 Used when touchscreen is enabled
4664 field_90044_b records 2 List of all record items and their names.
4665 field_92009_j explosionStrength 2 The explosion radius of spawned fireballs.
4666 field_92010_b lifetime 2 The lifetime of the firework in ticks. When the age reaches the lifetime the firework explodes.
4667 field_92011_a fireworkAge 2 The age of the firework in ticks.
4668 field_92014_j explosionStrength 2 The explosion radius of spawned fireballs.
4669 field_92017_j spawnedMob 2
4670 field_92052_bU firework 2
4671 field_92053_bW enchantedBook 2
4672 field_92054_bV fireworkCharge 2
4673 field_92055_b lifetime 2 The lifetime of the firework in ticks. When the age reaches the lifetime the firework explodes.
4674 field_92056_a fireworkAge 2 The age of the firework in ticks.
4675 field_92104_bU firework 2
4676 field_92105_bW enchantedBook 2
4677 field_92106_bV fireworkCharge 2
+649 -339
View File
File diff suppressed because it is too large. Load diff
+13913 -13177
View File
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -36,8 +36,8 @@ DirNatives = %(DirJars)s/bin/natives
Client = %(DirJars)s/bin/minecraft.jar
Server = %(DirJars)s/minecraft_server.jar
LWJGL = %(DirJars)s/bin/jinput.jar,%(DirJars)s/bin/lwjgl.jar,%(DirJars)s/bin/lwjgl_util.jar
MD5Client = 48677dc4c2b98c29918722b5ab27b4fd
MD5Server = b0700fa969dbf0ff085082cde87384d2
MD5Client = 8e80fb01b321c6b3c7efca397a3eea35
MD5Server = f69ac4bfce2dfbce03fe872518f75a05
[RETROGUARD]
Location = %(DirRuntime)s/bin/retroguard.jar
+157 -32
View File
@@ -177,6 +177,7 @@ func_70352_b,getPotionResult,2,The result of brewing a potion of the specified d
func_70353_r,brewPotions,2,
func_70354_c,setBrewTime,2,
func_70355_t_,getBrewTime,2,
func_70360_a,addItem,2,Add item stack in first available inventory slot
func_70361_i,getRandomStackFromInventory,2,
func_70364_a,openChest,2,
func_70365_a,isUseableByPlayer,2,
@@ -220,6 +221,7 @@ func_70447_i,getFirstEmptyStack,2,Returns the first item stack that is empty.
func_70448_g,getCurrentItem,2,Returns the item stack currently held by the player.
func_70449_g,damageArmor,2,Damages armor in each slot by the specified amount.
func_70450_e,hasItem,2,Get if a specifiied item id is inside the inventory.
func_70451_h,getHotbarSize,2,Get the size of the player hotbar inventory
func_70452_e,storePartialItemStack,2,This function stores as many items of an ItemStack as possible in a matching slot and returns the quantity of left over items.
func_70453_c,changeCurrentItem,2,Switch the current item to the next one or the previous one
func_70454_b,canHarvestBlock,2,Returns whether the current item (tool) can harvest from the specified block (actually get a result).
@@ -235,6 +237,10 @@ func_70487_g,saveInventoryToNBT,2,
func_70490_h,isMinecartPowered,2,Is this minecart powered (Fuel > 0)
func_70491_i,getDamage,2,Gets the current amount of damage the minecart has taken. Decreases over time. The cart breaks when this is over 40.
func_70492_c,setDamage,2,Sets the current amount of damage the minecart has taken. Decreases over time. The cart breaks when this is over 40.
func_70493_k,getRollingDirection,2,Gets the rolling direction the cart rolls while being attacked. Can be 1 or -1.
func_70494_i,setRollingDirection,2,Sets the rolling direction the cart rolls while being attacked. Can be 1 or -1.
func_70496_j,getRollingAmplitude,2,Gets the rolling amplitude the cart rolls while being attacked.
func_70497_h,setRollingAmplitude,2,Sets the rolling amplitude the cart rolls while being attacked.
func_70498_d,setMinecartPowered,2,Set if this minecart is powered (Fuel > 0)
func_70515_d,explode,2,
func_70518_d,onValidSurface,2,checks to make sure painting can be placed there
@@ -251,6 +257,7 @@ func_70540_h,getParticleTextureIndex,2,
func_70541_f,multipleParticleScaleBy,2,
func_70542_f,getGreenColorF,2,
func_70543_e,multiplyVelocity,2,
func_70589_b,setBaseSpellTextureIndex,2,Sets the base spell texture index
func_70598_b,setHomeArea,2,
func_70599_aP,getSoundVolume,2,Returns the volume for the sounds this mob makes.
func_70600_l,dropRareDrop,2,
@@ -281,7 +288,7 @@ func_70624_b,setAttackTarget,2,Sets the active target the Task system uses for t
func_70625_a,faceEntity,2,Changes pitch and yaw so that the entity calling the function is facing the entity provided as an argument.
func_70626_be,updateEntityActionState,2,
func_70627_aG,getTalkInterval,2,"Get number of ticks, at least during which the living entity will be silent."
func_70628_a,dropFewItems,2,Drop 0-2 items of this living's type
func_70628_a,dropFewItems,2,Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob.
func_70629_bd,updateAITick,2,"main AI tick function, replaces updateEntityActionState"
func_70630_aN,getHealth,2,
func_70631_g_,isChild,2,"If Animal, checks if the age timer is negative"
@@ -373,9 +380,11 @@ func_70814_o,isValidLightLevel,2,Checks to make sure the light is not too bright
func_70816_c,teleportToEntity,2,Teleport the enderman to another entity
func_70817_b,setCarryingData,2,Set the metadata of the block an enderman carries
func_70818_a,setCarried,2,Set the id of the block an enderman carries
func_70819_e,setScreaming,2,
func_70820_n,teleportRandomly,2,Teleport the enderman to a random nearby position
func_70821_d,shouldAttackPlayer,2,Checks to see if this enderman should be attacking this player
func_70822_p,getCarried,2,Get the id of the block an enderman carries
func_70823_r,isScreaming,2,
func_70824_q,getCarryingData,2,Get the metadata of the block an enderman carries
func_70825_j,teleportTo,2,Teleport the enderman
func_70829_a,setCreeperState,2,"Sets the state of creeper, -1 to idle and 1 to be 'in fuse'"
@@ -487,7 +496,7 @@ func_71027_c,travelToDimension,2,Teleports the entity to another dimension. Para
func_71028_bD,destroyCurrentEquippedItem,2,Destroys the currently equipped item from the player's inventory.
func_71029_a,triggerAchievement,2,Will trigger the specified trigger.
func_71030_a,displayGUIMerchant,2,
func_71033_a,sendGameTypeToPlayer,2,
func_71033_a,setGameType,2,Sets the player's game mode and sends it to them.
func_71034_by,stopUsingItem,2,
func_71035_c,addChatMessage,2,Add a chat message to the player
func_71036_o,onItemUseFinish,2,"Used for when item use count runs out, ie: eating completed"
@@ -629,7 +638,7 @@ func_71269_o,setTexturePack,2,
func_71270_I,getFolderName,2,
func_71272_O,deleteWorldAndStopServer,2,WARNING : directly calls getActiveAnvilConverter().deleteWorldDirectory(theWorldServer[0].getSaveHandler().getSaveDirectoryName());
func_71273_Y,getMOTD,2,
func_71274_v,getServerMOTD,2,minecraftServer.getMOTD is used in 2 places instead (it is a non-virtual function which returns the same thing)
func_71274_v,getServerMOTD,2,Returns the server message of the day
func_71275_y,getMaxPlayers,2,Returns the maximum number of players allowed on the server.
func_71276_C,getServer,2,Gets mcServer.
func_71277_t,getHostname,2,Returns the server's hostname.
@@ -638,7 +647,7 @@ func_71279_ae,getGuiEnabled,2,
func_71326_a,saveProperties,2,Saves all of the server properties to the properties file.
func_71327_a,getIntProperty,2,"Gets an integer property. If it does not exist, set it to the specified value."
func_71328_a,setProperty,2,Saves an Object with the given property name.
func_71329_c,getSettingsFilePath,2,
func_71329_c,getSettingsFilename,2,Returns the filename where server properties are stored
func_71330_a,getStringProperty,2,"Gets a string property. If it does not exist, set it to the specified value."
func_71331_a,addPendingCommand,2,
func_71332_a,getBooleanProperty,2,"Gets a boolean property. If it does not exist, set it to the specified value."
@@ -776,6 +785,9 @@ func_71571_b,set,2,
func_71575_a,getCrashReport,2,Gets the CrashReport wrapped by this exception.
func_71606_a,toASN1Primitive,2,
func_71607_a,asn1Equals,2,
func_71608_a,isValidIdentifier,2,
func_71609_b,getId,2,
func_71612_a,branch,2,
func_71742_a,getType,2,
func_71744_a,stopListening,2,
func_71745_a,addPlayer,2,adds this connection to the list of currently connected players
@@ -792,8 +804,28 @@ func_71770_b,isLocalHost,2,
func_71779_a,getIV,2,
func_71780_b,getParameters,2,
func_71783_a,getKey,2,
func_71789_b,getOutputSize,2,
func_71790_a,doFinal,2,
func_71791_a,processByte,2,
func_71792_a,getBlockSize,2,
func_71793_a,getUpdateOutputSize,2,
func_71794_b,reset,2,
func_71802_a,getAlgorithmName,2,Return the name of the algorithm the cipher implements.
func_71803_c,reset,2,
func_71804_b,getBlockSize,2,Return the block size for this cipher (in bytes).
func_71805_a,init,2,
func_71806_a,processBlock,2,
func_71807_b,encryptBlock,2,
func_71808_c,decryptBlock,2,
func_71815_c,subWord,2,
func_71816_a,unpackBlock,2,
func_71817_a,FFmulX,2,
func_71818_a,encryptBlock,2,
func_71819_a,shift,2,
func_71820_b,inv_mcol,2,
func_71821_b,packBlock,2,
func_71822_b,decryptBlock,2,
func_71823_a,generateWorkingKey,2,
func_71842_b,getStrength,2,Return the bit strength for keys produced by this generator.
func_71843_a,getRandom,2,Return the random source associated with this generator.
func_71846_a,onBlockHarvested,2,Called when the block is attempted to be harvested
@@ -805,7 +837,7 @@ func_71851_a,getBlockTextureFromSide,2,Returns the block texture based on the si
func_71852_a,breakBlock,2,"ejects contained items into the world, and notifies neighbours of an update, as appropriate"
func_71853_i,canProvidePower,2,Can this block provide power. Only wire currently seems to have this change based on its state.
func_71854_d,canBlockStay,2,Can this block stay at this position. Similar to canPlaceBlockAt except gets checked often with plants.
func_71855_c,isProvidingStrongPower,2,"Returns true if the block is emitting direct/strong redstone power on the specified side. Args: World, X, Y, Z, side"
func_71855_c,isProvidingStrongPower,2,"Returns true if the block is emitting direct/strong redstone power on the specified side. Args: World, X, Y, Z, side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block."
func_71856_s_,getRenderBlockPass,2,Returns which pass should this block be rendered on. 0 for solids and 1 for alpha
func_71857_b,getRenderType,2,The type of render function that is called for this block
func_71858_a,getBlockTextureFromSideAndMetadata,2,"From the specified side and block metadata retrieves the blocks texture. Args: side, metadata"
@@ -815,7 +847,7 @@ func_71861_g,onBlockAdded,2,"Called whenever the block is added into the world.
func_71862_a,randomDisplayTick,2,A randomly called display update to be able to add particles or other items for display
func_71863_a,onNeighborBlockChange,2,"Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are their own) Args: x, y, z, neighbor blockID"
func_71864_b,setBlockName,2,set name of block from language file
func_71865_a,isProvidingWeakPower,2,"Returns true if the block is emitting indirect/weak redstone power on the specified side. If isBlockNormalCube returns true, standard redstone propagation rules will apply instead and this will not be called. Args: World, X, Y, Z, side"
func_71865_a,isProvidingWeakPower,2,"Returns true if the block is emitting indirect/weak redstone power on the specified side. If isBlockNormalCube returns true, standard redstone propagation rules will apply instead and this will not be called. Args: World, X, Y, Z, side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block."
func_71866_a,onFallenUpon,2,Block's chance to react to an entity falling on it.
func_71867_k,onBlockDestroyedByExplosion,2,Called upon the block being destroyed by an explosion
func_71868_h,setLightOpacity,2,Sets how much light is blocked going through this block. Returns the object for convenience in constructing.
@@ -926,7 +958,7 @@ func_72169_f,isPoweredOrRepeater,2,"Returns true if the block coordinate passed
func_72170_e,getMaxCurrentStrength,2,"Returns the current strength at the specified block if it is greater than the passed value, or the passed value otherwise. Signature: (world, x, y, z, strength)"
func_72171_a,calculateCurrentChanges,2,
func_72172_n,notifyWireNeighborsOfNeighborChange,2,"Calls World.notifyBlocksOfNeighborChange() for all neighboring blocks, but only if the given block is a redstone wire."
func_72173_e,isPowerProviderOrWire,2,"Returns true if the block coordinate passed can provide power, or is a redstone wire."
func_72173_e,isPowerProviderOrWire,2,"Returns true if redstone wire can connect to the specified block. Params: World, X, Y, Z, side (not a normal notch-side, this can be 0, 1, 2, 3 or -1)"
func_72176_l,glow,2,The redstone ore glows.
func_72177_n,sparkle,2,The redstone ore sparkles.
func_72179_a,isPoweredBlockRail,2,Return true if the blocks passed is a power related rail.
@@ -1115,7 +1147,6 @@ func_72455_a,handleLogin,2,
func_72456_a,handleBlockChange,2,
func_72457_a,handleLevelSound,2,
func_72458_a,handleClientCommand,2,
func_72459_a,handlePickupSpawn,2,
func_72460_a,handleSleep,2,
func_72461_a,handleAutoComplete,2,
func_72462_a,handleDoorChange,2,
@@ -1125,7 +1156,7 @@ func_72465_a,handleBlockDestroy,2,
func_72466_a,handleSpawnPosition,2,
func_72467_a,handleServerPing,2,Handle a server ping packet.
func_72468_a,handleTileEntityData,2,
func_72469_b,canProcessPackets,2,packet.processPacket is only called if this returns true
func_72469_b,canProcessPacketsAsync,2,"If this returns false, all packets will be queued for the main thread to handle, even if they would otherwise be processed asynchronously. Used to avoid processing packets on the client before the world has been downloaded (which happens on the main thread)"
func_72470_a,handleServerAuthData,2,
func_72471_a,handlePlayerAbilities,2,Handle a player abilities packet.
func_72472_a,handlePlace,2,
@@ -1144,7 +1175,7 @@ func_72484_a,handleAttachEntity,2,Packet handler
func_72485_a,handleEntityStatus,2,Packet handler
func_72486_a,handleWindowItems,2,
func_72487_a,handleUpdateSign,2,Updates Client side signs
func_72488_a,handleBed,2,
func_72488_a,handleGameEvent,2,
func_72489_a,isServerHandler,2,determine if it is a server handler
func_72490_a,handleSetSlot,2,
func_72491_a,handleDestroyEntity,2,
@@ -1181,6 +1212,7 @@ func_72521_a,handleUpdateHealth,2,Recieves player health from the server and the
func_72522_a,handleExperience,2,Handle an experience packet.
func_72523_a,handleWindowClick,2,
func_72524_a,handleAnimation,2,
func_72525_c,getSharedKey,2,Return the secret AES sharedKey
func_72526_a,getServerId,2,Returns the server Id randomly generated by this login handler.
func_72527_a,raiseErrorAndDisconnect,2,
func_72528_e,getUsernameAndAddress,2,
@@ -1193,6 +1225,7 @@ func_72546_b,quitWithPacket,2,
func_72547_c,cleanup,2,sets netManager and worldClient to null
func_72548_f,getNetManager,2,Return the NetworkManager instance used by this NetClientHandler
func_72549_a,urlEncode,2,Encode the given string for insertion into a URL
func_72550_a,sendSessionRequest,2,Send request to http://session.minecraft.net with user's sessionId and serverId hash
func_72551_d,processReadPackets,2,Processes the packets that have been read since the last call to this function.
func_72552_c,addToSendQueue,2,Adds the packet to the send queue
func_72553_e,disconnect,2,Disconnects the network connection.
@@ -1224,7 +1257,7 @@ func_72621_a,parseIncomingPacket,2,"Parses an incoming DatagramPacket, returning
func_72622_d,sendAuthChallenge,2,Sends an auth challenge DatagramPacket to the client and adds the client to the queryClients map
func_72623_a,stopWithException,2,Stops the query server and reports the given Exception
func_72624_b,createQueryResponse,2,Creates a query response as a byte array for the specified query DatagramPacket
func_72625_a,getRequestId,2,Returns the request ID provided by the authorized client
func_72625_a,getRequestID,2,Returns the request ID provided by the authorized client
func_72626_g,initQuerySystem,2,Initializes the query system by binding it to a port
func_72627_c,verifyClientAuth,2,"Returns true if the client has a valid auth, otherwise false"
func_72628_f,cleanQueryClientsMap,2,Removes all clients whose auth is no longer valid
@@ -1252,6 +1285,7 @@ func_72678_c,getPitch,2,
func_72682_c,getChunkWatchersWithPlayers,2,
func_72683_a,addPlayer,2,Adds an EntityPlayerMP to the PlayerManager.
func_72685_d,updateMountedMovingPlayer,2,"update chunks around a player being moved by server logic (e.g. cart, boat)"
func_72686_a,getFurthestViewableBlock,2,Get the furthest viewable block given player's view distance
func_72687_a,flagChunkForUpdate,2,"the ""PlayerInstance""/ chunkWatcher will send this chunk to all players who are in line of sight"
func_72688_a,getWorldServer,2,
func_72689_b,getChunkWatchers,2,
@@ -1287,6 +1321,7 @@ func_72724_a,renderSortedRenderers,2,"Renders the sorted renders for the specifi
func_72725_b,markBlocksForUpdate,2,Marks the blocks in the given range for update
func_72726_b,doSpawnParticle,2,"Spawns a particle. Arg: particleType, x, y, z, velX, velY, velZ"
func_72727_a,drawBlockBreaking,2,
func_72728_f,deleteAllDisplayLists,2,Deletes all display lists
func_72729_a,clipRenderersByFrustum,2,"Checks all renderers that previously weren't in the frustum and 1/16th of those that previously were in the frustum for frustum clipping Args: frustum, partialTickTime"
func_72730_g,renderStars,2,
func_72731_b,drawSelectionBox,2,"Draws the selection box for the player. Args: entityPlayer, rayTraceHit, i, itemStack, partialTickTime"
@@ -1402,7 +1437,7 @@ func_72896_J,isRaining,2,Returns true if the current rain strength is greater th
func_72897_h,joinEntityInSurroundings,2,spwans an entity and loads surrounding chunks
func_72898_h,notifyBlocksOfNeighborChange,2,"Notifies neighboring blocks that this specified block changed Args: x, y, z, blockID"
func_72899_e,blockExists,2,"Returns whether a block exists at world coordinates x, y, z"
func_72900_e,setEntityDead,2,"Dismounts the entity (and anything riding the entity), sets the dead flag, and removes the player entity from the player entity list. Called by the playerLoggedOut function."
func_72900_e,removeEntity,2,Schedule the entity for removal during the next tick. Marks the entity dead in anticipation.
func_72901_a,rayTraceBlocks_do,2,
func_72902_n,markBlockForRenderUpdate,2,"On the client, re-renders this block. On the server, does nothing. Used for lighting updates."
func_72903_x,setActivePlayerChunksAndCheckLight,2,
@@ -1472,8 +1507,9 @@ func_72966_v,calculateInitialSkylight,2,Called on construction of the World clas
func_72967_a,calculateSkylightSubtracted,2,Returns the amount of skylight subtracted for the current time
func_72969_x,updateAllLightTypes,2,
func_72970_h,createChunkProvider,2,Creates the chunk provider for this world. Called in the constructor. Retrieves provider from worldProvider?
func_72971_b,getSunBrightness,2,"Returns the sun brightness - checks time of day, rain and thunder"
func_72972_b,getSavedLightValue,2,Returns saved light value without taking into account the time of day. Either looks in the sky light map or block light map based on the enumSkyBlock arg.
func_72973_f,removeEntity,2,remove dat player from dem servers
func_72973_f,removePlayerEntityDangerously,2,Do NOT use this method to remove normal entities- use normal removeEntity
func_72974_f,setSpawnLocation,2,"Sets a new spawn location by finding an uncovered block at a random (x,z) location in the chunk."
func_72975_g,markBlocksDirtyVertical,2,marks a vertical line of blocks as dirty
func_72976_f,getHeightValue,2,"Returns the y coordinate with a block in it at this x, z coordinate"
@@ -1514,7 +1550,7 @@ func_73075_a,updateBlockRemoving,2,
func_73076_a,setGameType,2,
func_73077_b,initializeGameType,2,if the gameType is currently NOT_SET then change it to par1
func_73078_a,activateBlockOrUseItem,2,"Activate the clicked on block, otherwise use the held item. Args: player, world, itemStack, x, y, z, side, xOffset, yOffset, zOffset"
func_73079_d,removeBlock,2,Removes a block and triggers the appropriate events
func_73079_d,removeBlock,2,Removes a block and triggers the appropriate events
func_73080_a,setWorld,2,Sets the world instance.
func_73081_b,getGameType,2,
func_73082_a,uncheckedTryHarvestBlock,2,
@@ -1582,7 +1618,7 @@ func_73273_a,writePacketData,2,Abstract. Writes the raw packet data to the data
func_73274_a,writeByteArray,2,Writes a byte array to the DataOutputStream
func_73275_a,writeNBTTagCompound,2,Writes a compressed NBTTagCompound to the OutputStream
func_73276_c,readItemStack,2,Reads a ItemStack from the InputStream
func_73277_a_,isWritePacket,2,"if this returns false, processPacket is deffered for processReadPackets to handle"
func_73277_a_,canProcessAsync,2,"If this returns true, the packet may be processed on any thread; otherwise it is queued for the main thread to handle."
func_73278_e,isRealPacket,2,"only false for the abstract Packet class, all real packets return true"
func_73279_a,processPacket,2,Passes this Packet on to the NetHandler for processing.
func_73280_b,readBytesFromStream,2,the first short in the stream indicates the number of bytes to read
@@ -1591,6 +1627,9 @@ func_73282_a,readString,2,Reads a string from a packet
func_73283_d,readNBTTagCompound,2,Reads a compressed NBTTagCompound from the InputStream
func_73284_a,getPacketSize,2,Abstract. Return the size of the packet (not counting the header).
func_73285_a,addIdClassMapping,2,Adds a two way mapping between the packet ID and packet class.
func_73302_b,getVerifyToken,2,Return verifyToken
func_73303_a,getSharedKey,2,"Return secretKey, decrypting it from the sharedSecret byte array if needed"
func_73304_d,getSharedKey,2,Return the secret AES sharedKey (used by client only)
func_73320_h,getPosZ,2,Gets the Z position of the block
func_73321_f,getPosX,2,Gets the X position of the block
func_73322_d,getEntityId,2,Gets the ID of the entity breaking the block
@@ -1628,6 +1667,7 @@ func_73461_f,getRenderDistance,2,
func_73462_i,getDifficulty,2,
func_73463_g,getChatVisibility,2,
func_73473_d,getText,2,
func_73475_d,getIsServer,2,Get whether this is a server
func_73489_c,getMetadata,2,
func_73568_g,getEffectY,2,
func_73569_h,getEffectZ,2,
@@ -1635,6 +1675,10 @@ func_73570_d,getSoundName,2,
func_73571_i,getVolume,2,
func_73572_f,getEffectX,2,
func_73573_j,getPitch,2,Gets the pitch divided by 63 (63 is 100%)
func_73580_b,getChunkPosZ,2,
func_73581_d,getNumberOfChunkInPacket,2,
func_73582_a,getChunkPosX,2,
func_73583_c,getChunkCompressedData,2,
func_73594_a,getMapChunkData,2,
func_73641_d,connectToNeighbor,2,"The specified neighbor has just formed a new connection, so update accordingly"
func_73642_a,isMinecartTrack,2,
@@ -1645,7 +1689,7 @@ func_73646_c,canConnectTo,2,Determines whether or not the track can bend to meet
func_73647_b,isConnectedTo,2,
func_73648_a,getMinecartTrackLogic,2,
func_73649_b,isInTrack,2,Returns true if the specified block is in the same railway.
func_73650_a,getAdjacentTracks,2,Get the number of adjacent tracks
func_73650_a,getAdjacentTrackCount,2,Get the number of adjacent tracks.
func_73651_b,getAdjacentTracks,2,
func_73652_a,refreshTrackShape,2,Completely recalculates the track shape based on neighboring tracks and power state
func_73660_a,update,2,Updates the JList with a new model.
@@ -1690,7 +1734,7 @@ func_73730_a,drawHorizontalLine,2,
func_73731_b,drawString,2,Renders the specified text to the screen.
func_73732_a,drawCenteredString,2,"Renders the specified text to the screen, center-aligned."
func_73733_a,drawGradientRect,2,Draws a rectangle with a vertical gradient between the specified colors.
func_73734_a,drawRect,2,Draws a solid color rectangle with the specified coordinates and color.
func_73734_a,drawRect,2,"Draws a solid color rectangle with the specified coordinates and color. Args: x1, y1, x2, y2, color"
func_73736_c,mousePressed,2,Returns true if the mouse has been pressed on this control. Equivalent of MouseListener.mousePressed(MouseEvent e).
func_73737_a,drawButton,2,Draws this button to the screen.
func_73738_a,getHoverState,2,"Returns 0 if the button is disabled, 1 if the mouse is NOT hovering over this button and 2 if it IS hovering over this button."
@@ -1844,13 +1888,16 @@ func_74184_a,drawItemStackTooltip,2,
func_74185_a,drawGuiContainerBackgroundLayer,2,Draw the background layer for the GuiContainer (everything behind the items)
func_74186_a,isMouseOverSlot,2,Returns if the passed mouse position is over the specified slot.
func_74187_b,getSlotAtPosition,2,Returns the slot at the given coordinates or null if there is none.
func_74188_c,isPointInRegion,2,"Args: left, top, width, height, pointX, pointY. Note: left, top are local to Gui, pointX, pointY are local to screen"
func_74189_g,drawGuiContainerForegroundLayer,2,Draw the foreground layer for the GuiContainer (everything in front of the items)
func_74190_a,drawCreativeTabHoveringText,2,"Draws the text when mouse is over creative inventory tab. Params: current creative tab to be checked, current mouse x position, current mouse y position."
func_74191_a,handleMouseClick,2,
func_74192_a,drawSlotInventory,2,Draws an inventory slot
func_74199_h,getIMerchant,2,Gets the Instance of IMerchant interface.
func_74221_h,displayDebuffEffects,2,Displays debuff/potion effects that are currently being applied to the player
func_74223_a,drawPlayerOnGui,2,
func_74226_k,needsScrollBars,2,returns (if you are not on the inventoryTab) and (the flag isn't set) and( you have more than 1 page of items)
func_74227_b,setCurrentCreativeTab,2,
func_74228_j,updateCreativeSearch,2,
func_74229_i,getInventory,2,Returns the creative inventory
func_74231_b,renderCreativeInventoryHoveringText,2,"Renders the creative inventory hovering text if mouse is over it. Returns true if did render or false otherwise. Params: current creative tab to be checked, current mouse x position, current mouse y position."
@@ -2095,13 +2142,19 @@ func_74809_c,translateNamedKey,2,"Translate a key with a extra '.name' at end ad
func_74810_a,setLanguage,2,
func_74811_c,getCurrentLanguage,2,
func_74812_a,loadLanguage,2,
func_74818_a,setup,2,
func_74819_a,loadAlgorithms,2,
func_74820_b,addMacAlgorithms,2,
func_74821_a,doSetup,2,
func_74830_a,toLowerCase,2,A locale independent version of toLowerCase that returns a US ASCII lowercase String.
func_74837_a,translateToLocalFormatted,2,Translates a Stat name with format args
func_74838_a,translateToLocal,2,Translates a Stat name
func_74840_a,configure,2,
func_74841_a,calculateMask,2,
func_74844_a,getErrorOjbects,2,
func_74850_a,processBytes,2,
func_74851_a,returnByte,2,"Encrypt/decrypt a single byte, returning the result."
func_74852_a,nextChunk,2,
func_74860_a,isLiquidInStructureBoundingBox,2,checks the entire StructureBoundingBox for Liquids
func_74861_a,buildComponent,2,"Initiates construction of the Structure Component picked, at the current Location of StructGen"
func_74862_a,getYWithOffset,2,
@@ -2238,7 +2291,7 @@ func_75138_a,getInventory,2,"returns a list if itemStacks, for each slot."
func_75139_a,getSlot,2,
func_75140_a,enchantItem,2,enchants the item on the table using the specified slot; also deducts XP from player
func_75141_a,putStackInSlot,2,"args: slotID, itemStack to put in slot"
func_75142_b,updateCraftingResults,2,Updates crafting matrix; called from onCraftMatrixChanged. Args: none
func_75142_b,detectAndSendChanges,2,"Looks for changes made in the container, sends them to every listener."
func_75144_a,slotClick,2,
func_75145_c,canInteractWith,2,
func_75146_a,addSlotToContainer,2,the slot is assumed empty
@@ -2286,7 +2339,7 @@ func_75366_f,findPossibleShelter,2,
func_75382_a,hasPlayerGotBoneInHand,2,Gets if the Player has the Bone in the hand.
func_75388_i,spawnBaby,2,Spawns a baby animal of the same type.
func_75389_f,getNearbyMate,2,Loops through nearby animals and finds another animal of the same type that can be mated with. Returns the first valid mate found.
func_75398_a,isSittableBlock,2,Determines wheter the Ocelot wants to sit on the block at given coordinate
func_75398_a,isSittableBlock,2,Determines whether the Ocelot wants to sit on the block at given coordinate
func_75399_f,getNearbySitableBlockDistance,2,"Searches for a block to sit on within a 8 block range, returns 0 if none found"
func_75446_f,checkSufficientDoorsPresentForNewVillager,2,
func_75447_i,giveBirth,2,
@@ -2383,6 +2436,8 @@ func_75620_a,createEntityByName,2,Create a new instance of an entity in the worl
func_75621_b,getEntityString,2,Gets the string representation of a specific entity.
func_75630_a,multiplyBy32AndRound,2,
func_75638_b,getSpeed,2,
func_75639_a,limitAngle,2,Limits the given angle to a upper and lower limit.
func_75640_a,isUpdating,2,
func_75641_c,onUpdateMoveHelper,2,
func_75642_a,setMoveTo,2,Sets the speed and location to move to
func_75649_a,onUpdateLook,2,Updates look
@@ -2502,9 +2557,18 @@ func_75878_a,getPosition,2,returns the current PathEntity target node as Vec3D
func_75879_b,isFinished,2,Returns true if this path has reached the end
func_75880_b,isDestinationSame,2,Returns true if the final PathPoint in the PathEntity is equal to Vec3D coords.
func_75881_a,getVectorFromIndex,2,Gets the vector of the PathPoint associated with the given index.
func_75886_a,createTheChiperInstance,2,Creates the Chiper Instance.
func_75885_a,cipherOperation,2,Encrypt or decrypt byte[] data using the specified key
func_75886_a,createTheCipherInstance,2,Creates the Cipher Instance.
func_75887_a,decryptSharedKey,2,Decrypt shared secret AES key using RSA private key
func_75888_a,decryptInputStream,2,
func_75889_b,decryptData,2,Decrypt byte[] data with RSA private key
func_75890_a,createNewSharedKey,2,Generate a new shared secret AES key from a secure random source
func_75891_b,createNewKeyPair,2,
func_75892_a,createBufferedBlockCipher,2,Create a new BufferedBlockCipher instance
func_75893_a,digestOperation,2,Compute a message digest on arbitrary byte[] data
func_75894_a,encryptData,2,Encrypt byte[] data with RSA public key
func_75895_a,getServerIdHash,2,Compute a serverId hash for use by sendSessionRequest()
func_75896_a,decodePublicKey,2,Create a new PublicKey from encoded X.509 data
func_75897_a,encryptOuputStream,2,
func_75899_a,getMD5String,2,Gets the MD5 string
func_75901_a,initializeAllBiomeGenerators,2,"the first array item is a linked list of the bioms, the second is the zoom function, the third is the same as the first."
@@ -2514,6 +2578,7 @@ func_75904_a,getInts,2,"Returns a list of integer values generated by this layer
func_75905_a,initWorldGenSeed,2,Initialize layer's local worldGenSeed based on its own baseSeed and the world's global seed (passed in as an argument).
func_75912_b,choose,2,randomly choose between the four args
func_75913_a,choose,2,randomly choose between the two args
func_75916_b,modeOrRandom,2,returns the mode (most frequently occuring number) or a random number from the 4 integers provided
func_75917_a,choose,2,Chooses one of the two inputs randomly.
func_75918_d,initCraftableStats,2,Initializes statistics related to craftable items. Is only called after both block and item stats have been initialized.
func_75919_a,nopInit,2,This method simply NOPs. It is presumably used to call the static constructors on server start.
@@ -2645,6 +2710,7 @@ func_76187_b,writeToNBT,2,"write data to NBTTagCompound from this MapDataBase, s
func_76188_b,isDirty,2,Whether this MapDataBase needs saving to disk.
func_76191_a,updateVisiblePlayers,2,Adds the player passed to the list of visible players and checks to see which players are visible
func_76192_a,updateMPMapData,2,Updates the client's map with information from other players in MP
func_76193_a,getUpdatePacketData,2,Get byte array of packet data to send to players on map for updating map data
func_76194_a,setColumnDirty,2,"Marks a vertical range of pixels as being modified so they will be resent to clients. Parameters: X, lowest Y, highest Y"
func_76204_a,getPlayersOnMap,2,"returns a 1+players*3 array, of x,y, and color . the name of this function may be partially wrong, as there is a second branch to the code here"
func_76217_h,getCanBurn,2,Returns if the block can burn or not.
@@ -2682,6 +2748,7 @@ func_76319_b,endSection,2,End section
func_76320_a,startSection,2,Start section
func_76321_b,getProfilingData,2,Get profiling data
func_76322_c,getNameOfLastSection,2,
func_76333_a,smooth,2,Smooths mouse input
func_76337_a,ticksToElapsedTime,2,"Returns the time elapsed for the given number of ticks, in ""mm:ss"" format."
func_76338_a,stripControlCodes,2,
func_76340_b,getSecond,2,Get the second Object in the Tuple
@@ -2691,6 +2758,8 @@ func_76346_g,getEntity,2,
func_76347_k,isFireDamage,2,Returns true if the damage is fire based.
func_76348_h,setDamageBypassesArmor,2,
func_76349_b,setProjectile,2,Define the damage type as projectile based.
func_76350_n,isDifficultyScaled,2,Return whether this damage source will have its damage amount scaled based on the current difficulty.
func_76351_m,setDifficultyScaled,2,Set whether this damage source will have its damage amount scaled based on the current difficulty.
func_76352_a,isProjectile,2,Returns true if the damage is projectile based.
func_76353_a,causeArrowDamage,2,returns EntityDamageSourceIndirect of an arrow
func_76354_b,causeIndirectMagicDamage,2,
@@ -3192,7 +3261,6 @@ func_77489_c,updateLastSeen,2,Updates the time this LanServer was last seen.
func_77493_a,calculateModifier,2,Generic method use to calculate modifiers of offensive or defensive enchantment values.
func_77501_a,getRespiration,2,Returns the 'Water Breathing' modifier of enchantments on player equipped armors.
func_77502_d,getSilkTouchModifier,2,Returns the silk touch status of enchantments on current equipped item of player.
func_77503_c,getUnbreakingModifier,2,Returns the unbreaking enchantment modifier on current equipped item of player.
func_77504_a,addRandomEnchantment,2,"Adds a random enchantment to the specified item. Args: random, itemStack, enchantabilityLevel"
func_77505_b,mapEnchantmentData,2,Creates a 'Map' of EnchantmentData (enchantments) possible to add on the ItemStack and the enchantability level passed.
func_77506_a,getEnchantmentLevel,2,Returns the level of enchantment on the ItemStack passed.
@@ -3239,7 +3307,6 @@ func_77589_a,addRecipes,2,Adds the crafting recipes to the CraftingManager.
func_77590_a,addRecipes,2,Adds the ingot recipes to the CraftingManager.
func_77592_b,getRecipeList,2,returns the List<> of all recipes
func_77594_a,getInstance,2,Returns the static instance of this class
func_77595_a,addRecipe,2,Adds a recipe. See spreadsheet on first page for details.
func_77596_b,addShapelessRecipe,2,
func_77599_b,getSmeltingList,2,
func_77600_a,addSmelting,2,Adds a smelting recipe.
@@ -3283,7 +3350,7 @@ func_77642_a,setContainerItem,2,
func_77643_m_,isMap,2,false for all Items except sub-classes of ItemMapBase
func_77644_a,hitEntity,2,Current implementations of this method in child classes do not use the entry argument beside ev. They just raise the damage on the stack.
func_77645_m,isDamageable,2,
func_77646_a,itemInteractionForEntity,2,"dye sheep, place saddles, etc ..."
func_77646_a,itemInteractionForEntity,2,Called when a player right clicks an entity with an item.
func_77647_b,getMetadata,2,Returns the metadata of the block which this Item (ItemBlock) can place
func_77648_a,onItemUse,2,"Callback for item usage. If the item does something special on right clicking, he will have one of those. Return True if something happen and false if it don't. This is for ITEMS, not BLOCKS"
func_77649_a,getDamageVsEntity,2,Returns the damage against a given entity.
@@ -3305,6 +3372,7 @@ func_77665_c,setIconIndex,2,Sets the icon index for this item. Returns the item.
func_77666_t,getPotionEffect,2,Returns a string representing what this item does to a potion.
func_77667_c,getItemNameIS,2,
func_77668_q,getContainerItem,2,
func_77825_f,getToolMaterialName,2,Return the name for this tool's material.
func_77828_a,validBookTagContents,2,
func_77829_a,validBookTagPages,2,
func_77831_g,isSplash,2,returns wether or not a potion is a throwable splash potion based on damage value
@@ -3506,6 +3574,8 @@ func_78440_a,renderItemInFirstPerson,2,Renders the active item in the player's h
func_78441_a,updateEquippedItem,2,
func_78442_d,renderFireInFirstPerson,2,Renders the fire on the screen for first person mode. Arg: partialTickTime
func_78443_a,renderItem,2,Renders the item stack for being in an entity's hand Args: itemStack
func_78444_b,resetEquippedProgress,2,Resets equippedProgress
func_78445_c,resetEquippedProgress2,2,Resets equippedProgress
func_78446_a,renderInsideOfBlock,2,"Renders the texture of the block the player is inside as an overlay. Args: partialTickTime, blockTextureIndex"
func_78447_b,renderOverlays,2,Renders all the overlays that are in first person mode. Args: partialTickTime
func_78448_c,renderWarpedTextureOverlay,2,Renders a texture that warps around based on the direction the player is looking. Texture needs to be bound before being called. Used for the water overlay. Args: parialTickTime
@@ -3707,11 +3777,16 @@ func_79006_b,getStatsComponent,2,Returns a new JPanel with a new GuiStatsCompone
func_79007_c,getPlayerListComponent,2,Returns a new JScrollPane with a new PlayerListBox inside.
func_79013_a,update,2,Public static accessor to call updateStats.
func_79014_a,updateStats,2,Updates the stat values and calls paint to redraw the component.
func_79015_a,calcArrayAverage,2,Calculates the avarage value of the given long array.
func_80003_ah,getPlayerUsageSnooper,2,
func_80006_f,getUniqueID,2,
func_80007_l,getDimensionName,2,"Returns the dimension's name, e.g. ""The End"", ""Nether"", or ""Overworld""."
func_82011_an,enableGui,2,
func_82114_b,getPlayerCoordinates,2,Return the coordinates for this player as ChunkCoordinates.
func_82114_b,getPlayerCoordinates,2,Return the position for this command sender.
func_82116_a,setSkullRotation,2,Set the skull's rotation
func_82117_a,getSkullType,2,Get the entity type for the skull
func_82118_a,setSkullType,2,Set the entity type for the skull
func_82120_c,getExtraType,2,"Get the extra data foor this skull, used as player username by player heads"
func_82126_i,getPrimaryEffect,2,Return the primary potion effect given by this beacon.
func_82129_c,setLevels,2,Set the levels of this beacon's pyramid.
func_82130_k,getLevels,2,Return the levels of this beacon's pyramid.
@@ -3746,7 +3821,8 @@ func_82203_t,getWatchedTargetId,2,"Returns the target entity ID if present, or -
func_82205_o,isArmored,2,Returns whether the wither is armored with its boss armor or not by checking whether its health is below half of its maximum.
func_82227_f,setChild,2,Set whether this zombie is a child.
func_82228_a,startConversion,2,Starts converting this zombie into a villager. The zombie converts into a villager after the specified time in ticks.
func_82229_g,setIsVillager,2,Set whether this zombie is a villager.
func_82229_g,setVillager,2,Set whether this zombie is a villager.
func_82230_o,isConverting,2,Returns whether this zombie is in the process of converting to a villager
func_82231_m,isVillager,2,Return whether this zombie is a villager.
func_82232_p,convertToVillager,2,Convert this zombie into a villager.
func_82233_q,getConversionTimeBoost,2,Return the amount of time decremented from conversionTime every tick.
@@ -3768,6 +3844,7 @@ func_82294_a,addPreset,2,Add a flat world preset.
func_82295_i,getPresets,2,Return the list of defined flat world presets.
func_82297_a,addPresetNoFeatures,2,Add a flat world preset with no world features.
func_82299_h,getPresetIconRenderer,2,Return the RenderItem instance used to render preset icons.
func_82319_a,checkHotbarKeys,2,This function is what controls the hotbar shortcut check when you press a number key when hovering a stack.
func_82328_a,setDirection,2,
func_82331_h,dropItemStack,2,Drop the item currently on this item frame.
func_82333_j,getRotation,2,Return the rotation of the item currently on this frame.
@@ -3793,6 +3870,20 @@ func_82366_d,getGameRules,2,Return the game rule set this command should be able
func_82369_d,getAllOnlineUsernames,2,Return all usernames currently connected to the server.
func_82370_a,getUsernameIndex,2,Return a command's first parameter index containing a valid username.
func_82371_e,getDistanceSquaredToChunkCoordinates,2,Return the squared distance between this coordinates and the ChunkCoordinates given as argument.
func_82372_a,getMovementDirection,2,Returns the movement direction from a velocity vector.
func_82375_f,getDefaultMinimumLevel,2,Gets the default minimum experience level (argument lm)
func_82376_e,getDefaultMaximumLevel,2,Gets the default maximum experience level (argument l)
func_82377_a,matchesMultiplePlayers,2,Returns whether the given pattern can match more than one player.
func_82378_b,hasArguments,2,Returns whether the given token has any arguments set.
func_82379_d,getDefaultMaximumRange,2,Gets the default maximum range (argument r).
func_82380_c,matchPlayers,2,Returns an array of all players matched by the given at-token.
func_82381_h,getArgumentMap,2,"Parses the given argument string, turning it into a HashMap&lt;String, String&gt; of name-&gt;value."
func_82382_g,getDefaultCount,2,"Gets the default number of players to return (argument c, 0 for infinite)"
func_82383_a,hasTheseArguments,2,Returns whether the given token (parameter 1) has exactly the given arguments (parameter 2).
func_82384_c,getDefaultMinimumRange,2,Gets the default minimum range (argument rm).
func_82385_b,matchPlayersAsString,2,Returns a nicely-formatted string listing the matching players.
func_82386_a,matchOnePlayer,2,Returns the one player that matches the given at-token. Returns null if more than one player matches.
func_82392_a,bindTextureByURL,2,"Binds a texture that Minecraft will attempt to load from the given URL. (arguments: url, localFallback)"
func_82394_a,renderTileEntitySkullAt,2,Render a skull tile entity.
func_82398_a,renderTileEntityBeaconAt,2,Render a beacon tile entity.
func_82403_a,renderFrameItemAsBlock,2,Render the item frame's item as a block.
@@ -3823,8 +3914,10 @@ func_82531_c,getPlantForMeta,2,Return the item associated with the specified flo
func_82532_h,getSeedItem,2,Generate a seed ItemStack for this crop.
func_82533_j,getCropItem,2,Generate a crop produce ItemStack for this crop.
func_82538_d,canConnectWallTo,2,Return whether an adjacent block can connect to a wall.
func_82543_e,isBlockStairsID,2,Checks if supplied ID is one of a BlockStairs
func_82547_a,comparePlayers,2,Compare the position of two players.
func_82563_j,getShowCape,2,
func_82571_y,getGeneratorOptions,2,
func_82572_b,incrementTotalWorldTime,2,
func_82573_f,getWorldTotalTime,2,
func_82574_x,getGameRulesInstance,2,Gets the GameRules class Instance.
@@ -3835,6 +3928,9 @@ func_82582_d,hasNoTags,2,Return whether this compound has no tags.
func_82591_c,getPoolSize,2,
func_82593_b,getPlaceSound,2,Used when a player places a block.
func_82595_a,putObject,2,Register an object on this registry.
func_82599_e,getFrontOffsetZ,2,Returns a offset that addresses the block in front of this facing.
func_82600_a,getFront,2,Returns the facing that represents the block in front of it.
func_82601_c,getFrontOffsetX,2,Returns a offset that addresses the block in front of this facing.
func_82615_a,getX,2,
func_82616_c,getZ,2,
func_82617_b,getY,2,
@@ -3858,12 +3954,14 @@ func_82659_b,getFillBlock,2,Return the block type used on this set of layers.
func_82660_d,setMinY,2,Set the minimum Y coordinate for this layer.
func_82667_a,getScatteredFeatureSpawnList,2,returns possible spawns for scattered features
func_82674_a,pickRandomCrop,2,Returns a crop type to be planted on this field.
func_82677_a,pickRandomCrop,2,Returns a crop type to be planted on this field.
func_82677_a,getRandomCrop,2,Returns a crop type to be planted on this field.
func_82684_a,getReputationForPlayer,2,Return the village reputation for a player
func_82686_i,isMatingSeason,2,Return whether villagers mating refractory period has passed
func_82687_d,isPlayerReputationTooLow,2,Return whether this player has a too low reputation with this village.
func_82688_a,setReputationForPlayer,2,Set the village reputation for a player
func_82688_a,setReputationForPlayer,2,Set the village reputation for a player.
func_82689_b,writeVillageDataToNBT,2,Write this village's data to NBT.
func_82690_a,readVillageDataFromNBT,2,Read this village's data from NBT.
func_82692_h,endMatingSeason,2,Prevent villager breeding for a fixed interval of time
func_82695_e,recreateStructures,2,
func_82704_a,isEntityApplicable,2,Return whether the specified entity is applicable to this filter.
func_82705_e,getAnimal,2,Return whether this creature type is an animal.
@@ -3875,18 +3973,20 @@ func_82714_a,parseIntWithDefaultAndMax,2,parses the string as integer or returns
func_82715_a,parseIntWithDefault,2,parses the string as integer or returns the second parameter if it fails
func_82716_a,getRandomDoubleInRange,2,
func_82719_a,writeCustomPotionEffectToNBT,2,Write a custom potion effect to a potion item's NBT data.
func_82720_e,getIsAmbient,2,Gets whether this potion effect originated from a beacon
func_82721_a,setSplashPotion,2,Set whether this potion is a splash potion.
func_82722_b,readCustomPotionEffectFromNBT,2,Read a custom potion effect from a potion item's NBT data.
func_82725_o,isMagicDamage,2,Returns true if the damage is magic based.
func_82726_p,setMagicDamage,2,Define the damage type as magic based.
func_82732_R,getWorldVec3Pool,2,Return the Vec3Pool object for this world.
func_82733_a,selectEntitiesWithinAABB,2,
func_82736_K,getGameRules,2,Gets the GameRules instance
func_82736_K,getGameRules,2,Gets the GameRules instance.
func_82737_E,getTotalWorldTime,2,
func_82742_i,resetUpdateEntityTick,2,Resets the updateEntityTick field to 0
func_82743_f,getCreationCloudUpdateTick,2,retrieves the 'date' at which the PartiallyDestroyedBlock was created
func_82744_b,setCloudUpdateTick,2,saves the current Cloud update tick into the PartiallyDestroyedBlock
func_82746_a,broadcastSound,2,
func_82747_f,getWorldTypeID,2,
func_82752_c,isAdventure,2,Returns true if this is the ADVENTURE game type
func_82756_a,getGameRuleStringValue,2,Gets the GameRule's value as String.
func_82757_a,setValue,2,Set this game rule value.
@@ -3920,6 +4020,7 @@ func_82815_c,removeColor,2,Remove the color from the specified armor ItemStack.
func_82816_b_,hasColor,2,Return whether the specified armor ItemStack has a color.
func_82819_b,setHideAddress,2,
func_82820_d,isHidingAddress,2,
func_82829_a,renderCloudsCheck,2,Render clouds if enabled
func_82830_a,getNightVisionBrightness,2,Gets the night vision brightness
func_82833_r,getDisplayName,2,returns the display name of the itemstack
func_82834_c,setItemName,2,Sets the item's name (used by anvil to rename the items).
@@ -3934,6 +4035,10 @@ func_82844_f,getToolCraftingMaterial,2,"Return the crafting material for this to
func_82845_b,getArmorCraftingMaterial,2,"Return the crafting material for this armor material, used to determine the item that can be used to repair an armor piece with an anvil"
func_82846_b,transferStackInSlot,2,Called when a player shift-clicks on a slot. You must override this or you will crash when someone does that.
func_82847_b,removeCraftingFromCrafters,2,Remove this crafting listener from the listener list.
func_82848_d,updateRepairOutput,2,"called when the Anvil Input Slot changes, calculates the new result and puts it in the output slot"
func_82849_b,getStackSizeUsedInRepair,2,
func_82850_a,updateItemName,2,used by the Anvil GUI to update the Item Name being typed by the player
func_82851_a,getRepairInputInventory,2,
func_82863_d,getBeacon,2,Returns the Tile Entity behind this beacon inventory / container
func_82869_a,canTakeStack,2,Return whether this slot's stack can be taken from this slot.
func_82870_a,onPickupFromSlot,2,
@@ -3949,26 +4054,39 @@ func_83010_y,getBlockBoundsMaxY,2,returns the block bounderies maxY value
func_83012_d,getnextPoolIndex,2,
func_83013_c,getlistAABBsize,2,
func_83015_S,getCurrentDate,2,returns a calendar object containing the current date
func_83017_b,resetCustomBlockBounds,2,Reset customBlockBounds
func_83018_a,updateCustomBlockBounds,2,Updates the custom block bounds with the bounds of the given block
func_83019_b,setCustomBlockBounds,2,Sets the custom block bounds for rendering
func_83020_a,setRenderMinMax,2,"Sets the size and offset of the block to be rendered, ie: half size and rendered center block: 0.25D, 0.75D"
func_83017_b,unlockBlockBounds,2,Unlocks the visual bounding box so that RenderBlocks can change it again.
func_83018_a,setRenderBoundsFromBlock,2,"Like setRenderBounds, but automatically pulling the bounds from the given Block."
func_83019_b,overrideBlockBounds,2,"Like setRenderBounds, but locks the values so that RenderBlocks won't change them. If you use this, you must call unlockBlockBounds after you finish rendering!"
func_83020_a,setRenderBounds,2,"Sets the bounding box for the block to draw in, e.g. 0.25-0.75 on all axes for a half-size, centered block."
func_85030_a,playSound,2,
func_85032_ar,isEntityInvulnerable,2,Return whether this entity is invulnerable to damage.
func_85034_r,setArrowCountInEntity,2,sets the amount of arrows stuck in the entity. used for rendering those
func_85035_bI,getArrowCountInEntity,2,"counts the amount of arrows stuck in the entity. getting hit by arrows increases this, used in rendering"
func_85039_t,addScore,2,Add to player's score
func_85040_s,setScore,2,Set player's score
func_85044_b,drawItemStack,2,
func_85052_h,getThrower,2,
func_85055_a,makeCrashReport,2,Creates a crash report for the exception
func_85057_a,makeCategoryDepth,2,Creates a CrashReportCategory for the given stack trace depth
func_85058_a,makeCategory,2,Creates a CrashReportCategory
func_85093_e,renderArrowsStuckInEntity,2,"renders arrows the Entity has been attacked with, attached to it"
func_85096_a,renderBlockAnvilMetadata,2,Renders anvil block with metadata
func_85102_a,playSoundToNearExcept,2,Plays sound to all near players except the player reference given
func_85103_a,canDropFromExplosion,2,Return whether this block can drop from an explosion.
func_85104_a,onBlockPlaced,2,"Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata"
func_85105_g,onPostBlockPlaced,2,Called after a block is placed
func_85106_a,insertRecord,2,Insert the specified music disc in the jukebox at the given coordinates
func_85107_d,updateLadderBounds,2,Update the ladder block bounds based on the given metadata value.
func_85118_a,addToCrashReport,2,Adds this WorldInfo instance to the crash report.
func_85128_b,getMapFeaturesEnabled,2,Return the map feautures enabled of a world
func_85132_a,getTerrainTypeOfWorld,2,Return the terrain type of a world
func_85151_d,getLowerChestInventory,2,Return this chest container's lower chest inventory.
func_85173_a,playSoundToNearExcept,2,Plays sound to all near players except the player reference given
func_85175_e,blockGetRenderType,2,Returns the render type of the block at the given coordinate.
func_85187_a,drawString,2,"Draws the specified string. Args: string, x, y, color, dropShadow"
func_90010_a,isPartOfLargeChest,2,Return whether the given inventory is part of this large chest.
func_90011_a,createChild,2,
func_90019_g,applyRenderColor,2,Creates a new EntityDiggingFX with the block render color applied to the base particle color
func_90022_d,getListOfPlayers,2,
func_90030_a,getRendererMinecraft,2,Get minecraft reference from the EntityRenderer
func_90033_f,canLoadWorld,2,Return whether the given world can be loaded.
@@ -3977,3 +4095,10 @@ func_90036_a,getFireAspectModifier,2,
func_90042_d,getRecord,2,Return the record item corresponding to the given name.
func_90043_g,getRecordTitle,2,Return the title for this record.
func_90999_ad,canRenderOnFire,2,Return whether this entity should be rendered as on fire.
func_92013_a,setEntityItem,2,Sets the ItemStack corresponding to this Entity (and updates the DataWatcher for it)
func_92014_d,getEntityItem,2,"Returns the ItemStack corresponding to the Entity (Note: if no item exists, will log an error but still return an ItemStack containing Block.stone)"
func_92015_a,getMobID,2,
func_92027_k,sendChatMsg,2,Sends the given string to every player as chat message.
func_92059_d,getEntityItem,2,"Returns the ItemStack corresponding to the Entity (Note: if no item exists, will log an error but still return an ItemStack containing Block.stone)"
func_92062_k,sendChatMsg,2,Sends the given string to every player as chat message.
func_92103_a,addRecipe,2,
1 searge name side desc
177 func_70353_r brewPotions 2
178 func_70354_c setBrewTime 2
179 func_70355_t_ getBrewTime 2
180 func_70360_a addItem 2 Add item stack in first available inventory slot
181 func_70361_i getRandomStackFromInventory 2
182 func_70364_a openChest 2
183 func_70365_a isUseableByPlayer 2
221 func_70448_g getCurrentItem 2 Returns the item stack currently held by the player.
222 func_70449_g damageArmor 2 Damages armor in each slot by the specified amount.
223 func_70450_e hasItem 2 Get if a specifiied item id is inside the inventory.
224 func_70451_h getHotbarSize 2 Get the size of the player hotbar inventory
225 func_70452_e storePartialItemStack 2 This function stores as many items of an ItemStack as possible in a matching slot and returns the quantity of left over items.
226 func_70453_c changeCurrentItem 2 Switch the current item to the next one or the previous one
227 func_70454_b canHarvestBlock 2 Returns whether the current item (tool) can harvest from the specified block (actually get a result).
237 func_70490_h isMinecartPowered 2 Is this minecart powered (Fuel > 0)
238 func_70491_i getDamage 2 Gets the current amount of damage the minecart has taken. Decreases over time. The cart breaks when this is over 40.
239 func_70492_c setDamage 2 Sets the current amount of damage the minecart has taken. Decreases over time. The cart breaks when this is over 40.
240 func_70493_k getRollingDirection 2 Gets the rolling direction the cart rolls while being attacked. Can be 1 or -1.
241 func_70494_i setRollingDirection 2 Sets the rolling direction the cart rolls while being attacked. Can be 1 or -1.
242 func_70496_j getRollingAmplitude 2 Gets the rolling amplitude the cart rolls while being attacked.
243 func_70497_h setRollingAmplitude 2 Sets the rolling amplitude the cart rolls while being attacked.
244 func_70498_d setMinecartPowered 2 Set if this minecart is powered (Fuel > 0)
245 func_70515_d explode 2
246 func_70518_d onValidSurface 2 checks to make sure painting can be placed there
257 func_70541_f multipleParticleScaleBy 2
258 func_70542_f getGreenColorF 2
259 func_70543_e multiplyVelocity 2
260 func_70589_b setBaseSpellTextureIndex 2 Sets the base spell texture index
261 func_70598_b setHomeArea 2
262 func_70599_aP getSoundVolume 2 Returns the volume for the sounds this mob makes.
263 func_70600_l dropRareDrop 2
288 func_70625_a faceEntity 2 Changes pitch and yaw so that the entity calling the function is facing the entity provided as an argument.
289 func_70626_be updateEntityActionState 2
290 func_70627_aG getTalkInterval 2 Get number of ticks, at least during which the living entity will be silent.
291 func_70628_a dropFewItems 2 Drop 0-2 items of this living's type Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob.
292 func_70629_bd updateAITick 2 main AI tick function, replaces updateEntityActionState
293 func_70630_aN getHealth 2
294 func_70631_g_ isChild 2 If Animal, checks if the age timer is negative
380 func_70816_c teleportToEntity 2 Teleport the enderman to another entity
381 func_70817_b setCarryingData 2 Set the metadata of the block an enderman carries
382 func_70818_a setCarried 2 Set the id of the block an enderman carries
383 func_70819_e setScreaming 2
384 func_70820_n teleportRandomly 2 Teleport the enderman to a random nearby position
385 func_70821_d shouldAttackPlayer 2 Checks to see if this enderman should be attacking this player
386 func_70822_p getCarried 2 Get the id of the block an enderman carries
387 func_70823_r isScreaming 2
388 func_70824_q getCarryingData 2 Get the metadata of the block an enderman carries
389 func_70825_j teleportTo 2 Teleport the enderman
390 func_70829_a setCreeperState 2 Sets the state of creeper, -1 to idle and 1 to be 'in fuse'
496 func_71028_bD destroyCurrentEquippedItem 2 Destroys the currently equipped item from the player's inventory.
497 func_71029_a triggerAchievement 2 Will trigger the specified trigger.
498 func_71030_a displayGUIMerchant 2
499 func_71033_a sendGameTypeToPlayer setGameType 2 Sets the player's game mode and sends it to them.
500 func_71034_by stopUsingItem 2
501 func_71035_c addChatMessage 2 Add a chat message to the player
502 func_71036_o onItemUseFinish 2 Used for when item use count runs out, ie: eating completed
638 func_71270_I getFolderName 2
639 func_71272_O deleteWorldAndStopServer 2 WARNING : directly calls getActiveAnvilConverter().deleteWorldDirectory(theWorldServer[0].getSaveHandler().getSaveDirectoryName());
640 func_71273_Y getMOTD 2
641 func_71274_v getServerMOTD 2 minecraftServer.getMOTD is used in 2 places instead (it is a non-virtual function which returns the same thing) Returns the server message of the day
642 func_71275_y getMaxPlayers 2 Returns the maximum number of players allowed on the server.
643 func_71276_C getServer 2 Gets mcServer.
644 func_71277_t getHostname 2 Returns the server's hostname.
647 func_71326_a saveProperties 2 Saves all of the server properties to the properties file.
648 func_71327_a getIntProperty 2 Gets an integer property. If it does not exist, set it to the specified value.
649 func_71328_a setProperty 2 Saves an Object with the given property name.
650 func_71329_c getSettingsFilePath getSettingsFilename 2 Returns the filename where server properties are stored
651 func_71330_a getStringProperty 2 Gets a string property. If it does not exist, set it to the specified value.
652 func_71331_a addPendingCommand 2
653 func_71332_a getBooleanProperty 2 Gets a boolean property. If it does not exist, set it to the specified value.
785 func_71575_a getCrashReport 2 Gets the CrashReport wrapped by this exception.
786 func_71606_a toASN1Primitive 2
787 func_71607_a asn1Equals 2
788 func_71608_a isValidIdentifier 2
789 func_71609_b getId 2
790 func_71612_a branch 2
791 func_71742_a getType 2
792 func_71744_a stopListening 2
793 func_71745_a addPlayer 2 adds this connection to the list of currently connected players
804 func_71779_a getIV 2
805 func_71780_b getParameters 2
806 func_71783_a getKey 2
807 func_71789_b getOutputSize 2
808 func_71790_a doFinal 2
809 func_71791_a processByte 2
810 func_71792_a getBlockSize 2
811 func_71793_a getUpdateOutputSize 2
812 func_71794_b reset 2
813 func_71802_a getAlgorithmName 2 Return the name of the algorithm the cipher implements.
814 func_71803_c reset 2
815 func_71804_b getBlockSize 2 Return the block size for this cipher (in bytes).
816 func_71805_a init 2
817 func_71806_a processBlock 2
818 func_71807_b encryptBlock 2
819 func_71808_c decryptBlock 2
820 func_71815_c subWord 2
821 func_71816_a unpackBlock 2
822 func_71817_a FFmulX 2
823 func_71818_a encryptBlock 2
824 func_71819_a shift 2
825 func_71820_b inv_mcol 2
826 func_71821_b packBlock 2
827 func_71822_b decryptBlock 2
828 func_71823_a generateWorkingKey 2
829 func_71842_b getStrength 2 Return the bit strength for keys produced by this generator.
830 func_71843_a getRandom 2 Return the random source associated with this generator.
831 func_71846_a onBlockHarvested 2 Called when the block is attempted to be harvested
837 func_71852_a breakBlock 2 ejects contained items into the world, and notifies neighbours of an update, as appropriate
838 func_71853_i canProvidePower 2 Can this block provide power. Only wire currently seems to have this change based on its state.
839 func_71854_d canBlockStay 2 Can this block stay at this position. Similar to canPlaceBlockAt except gets checked often with plants.
840 func_71855_c isProvidingStrongPower 2 Returns true if the block is emitting direct/strong redstone power on the specified side. Args: World, X, Y, Z, side Returns true if the block is emitting direct/strong redstone power on the specified side. Args: World, X, Y, Z, side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block.
841 func_71856_s_ getRenderBlockPass 2 Returns which pass should this block be rendered on. 0 for solids and 1 for alpha
842 func_71857_b getRenderType 2 The type of render function that is called for this block
843 func_71858_a getBlockTextureFromSideAndMetadata 2 From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
847 func_71862_a randomDisplayTick 2 A randomly called display update to be able to add particles or other items for display
848 func_71863_a onNeighborBlockChange 2 Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are their own) Args: x, y, z, neighbor blockID
849 func_71864_b setBlockName 2 set name of block from language file
850 func_71865_a isProvidingWeakPower 2 Returns true if the block is emitting indirect/weak redstone power on the specified side. If isBlockNormalCube returns true, standard redstone propagation rules will apply instead and this will not be called. Args: World, X, Y, Z, side Returns true if the block is emitting indirect/weak redstone power on the specified side. If isBlockNormalCube returns true, standard redstone propagation rules will apply instead and this will not be called. Args: World, X, Y, Z, side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block.
851 func_71866_a onFallenUpon 2 Block's chance to react to an entity falling on it.
852 func_71867_k onBlockDestroyedByExplosion 2 Called upon the block being destroyed by an explosion
853 func_71868_h setLightOpacity 2 Sets how much light is blocked going through this block. Returns the object for convenience in constructing.
958 func_72170_e getMaxCurrentStrength 2 Returns the current strength at the specified block if it is greater than the passed value, or the passed value otherwise. Signature: (world, x, y, z, strength)
959 func_72171_a calculateCurrentChanges 2
960 func_72172_n notifyWireNeighborsOfNeighborChange 2 Calls World.notifyBlocksOfNeighborChange() for all neighboring blocks, but only if the given block is a redstone wire.
961 func_72173_e isPowerProviderOrWire 2 Returns true if the block coordinate passed can provide power, or is a redstone wire. Returns true if redstone wire can connect to the specified block. Params: World, X, Y, Z, side (not a normal notch-side, this can be 0, 1, 2, 3 or -1)
962 func_72176_l glow 2 The redstone ore glows.
963 func_72177_n sparkle 2 The redstone ore sparkles.
964 func_72179_a isPoweredBlockRail 2 Return true if the blocks passed is a power related rail.
1147 func_72456_a handleBlockChange 2
1148 func_72457_a handleLevelSound 2
1149 func_72458_a handleClientCommand 2
func_72459_a handlePickupSpawn 2
1150 func_72460_a handleSleep 2
1151 func_72461_a handleAutoComplete 2
1152 func_72462_a handleDoorChange 2
1156 func_72466_a handleSpawnPosition 2
1157 func_72467_a handleServerPing 2 Handle a server ping packet.
1158 func_72468_a handleTileEntityData 2
1159 func_72469_b canProcessPackets canProcessPacketsAsync 2 packet.processPacket is only called if this returns true If this returns false, all packets will be queued for the main thread to handle, even if they would otherwise be processed asynchronously. Used to avoid processing packets on the client before the world has been downloaded (which happens on the main thread)
1160 func_72470_a handleServerAuthData 2
1161 func_72471_a handlePlayerAbilities 2 Handle a player abilities packet.
1162 func_72472_a handlePlace 2
1175 func_72485_a handleEntityStatus 2 Packet handler
1176 func_72486_a handleWindowItems 2
1177 func_72487_a handleUpdateSign 2 Updates Client side signs
1178 func_72488_a handleBed handleGameEvent 2
1179 func_72489_a isServerHandler 2 determine if it is a server handler
1180 func_72490_a handleSetSlot 2
1181 func_72491_a handleDestroyEntity 2
1212 func_72522_a handleExperience 2 Handle an experience packet.
1213 func_72523_a handleWindowClick 2
1214 func_72524_a handleAnimation 2
1215 func_72525_c getSharedKey 2 Return the secret AES sharedKey
1216 func_72526_a getServerId 2 Returns the server Id randomly generated by this login handler.
1217 func_72527_a raiseErrorAndDisconnect 2
1218 func_72528_e getUsernameAndAddress 2
1225 func_72547_c cleanup 2 sets netManager and worldClient to null
1226 func_72548_f getNetManager 2 Return the NetworkManager instance used by this NetClientHandler
1227 func_72549_a urlEncode 2 Encode the given string for insertion into a URL
1228 func_72550_a sendSessionRequest 2 Send request to http://session.minecraft.net with user's sessionId and serverId hash
1229 func_72551_d processReadPackets 2 Processes the packets that have been read since the last call to this function.
1230 func_72552_c addToSendQueue 2 Adds the packet to the send queue
1231 func_72553_e disconnect 2 Disconnects the network connection.
1257 func_72622_d sendAuthChallenge 2 Sends an auth challenge DatagramPacket to the client and adds the client to the queryClients map
1258 func_72623_a stopWithException 2 Stops the query server and reports the given Exception
1259 func_72624_b createQueryResponse 2 Creates a query response as a byte array for the specified query DatagramPacket
1260 func_72625_a getRequestId getRequestID 2 Returns the request ID provided by the authorized client
1261 func_72626_g initQuerySystem 2 Initializes the query system by binding it to a port
1262 func_72627_c verifyClientAuth 2 Returns true if the client has a valid auth, otherwise false
1263 func_72628_f cleanQueryClientsMap 2 Removes all clients whose auth is no longer valid
1285 func_72682_c getChunkWatchersWithPlayers 2
1286 func_72683_a addPlayer 2 Adds an EntityPlayerMP to the PlayerManager.
1287 func_72685_d updateMountedMovingPlayer 2 update chunks around a player being moved by server logic (e.g. cart, boat)
1288 func_72686_a getFurthestViewableBlock 2 Get the furthest viewable block given player's view distance
1289 func_72687_a flagChunkForUpdate 2 the "PlayerInstance"/ chunkWatcher will send this chunk to all players who are in line of sight
1290 func_72688_a getWorldServer 2
1291 func_72689_b getChunkWatchers 2
1321 func_72725_b markBlocksForUpdate 2 Marks the blocks in the given range for update
1322 func_72726_b doSpawnParticle 2 Spawns a particle. Arg: particleType, x, y, z, velX, velY, velZ
1323 func_72727_a drawBlockBreaking 2
1324 func_72728_f deleteAllDisplayLists 2 Deletes all display lists
1325 func_72729_a clipRenderersByFrustum 2 Checks all renderers that previously weren't in the frustum and 1/16th of those that previously were in the frustum for frustum clipping Args: frustum, partialTickTime
1326 func_72730_g renderStars 2
1327 func_72731_b drawSelectionBox 2 Draws the selection box for the player. Args: entityPlayer, rayTraceHit, i, itemStack, partialTickTime
1437 func_72897_h joinEntityInSurroundings 2 spwans an entity and loads surrounding chunks
1438 func_72898_h notifyBlocksOfNeighborChange 2 Notifies neighboring blocks that this specified block changed Args: x, y, z, blockID
1439 func_72899_e blockExists 2 Returns whether a block exists at world coordinates x, y, z
1440 func_72900_e setEntityDead removeEntity 2 Dismounts the entity (and anything riding the entity), sets the dead flag, and removes the player entity from the player entity list. Called by the playerLoggedOut function. Schedule the entity for removal during the next tick. Marks the entity dead in anticipation.
1441 func_72901_a rayTraceBlocks_do 2
1442 func_72902_n markBlockForRenderUpdate 2 On the client, re-renders this block. On the server, does nothing. Used for lighting updates.
1443 func_72903_x setActivePlayerChunksAndCheckLight 2
1507 func_72967_a calculateSkylightSubtracted 2 Returns the amount of skylight subtracted for the current time
1508 func_72969_x updateAllLightTypes 2
1509 func_72970_h createChunkProvider 2 Creates the chunk provider for this world. Called in the constructor. Retrieves provider from worldProvider?
1510 func_72971_b getSunBrightness 2 Returns the sun brightness - checks time of day, rain and thunder
1511 func_72972_b getSavedLightValue 2 Returns saved light value without taking into account the time of day. Either looks in the sky light map or block light map based on the enumSkyBlock arg.
1512 func_72973_f removeEntity removePlayerEntityDangerously 2 remove dat player from dem servers Do NOT use this method to remove normal entities- use normal removeEntity
1513 func_72974_f setSpawnLocation 2 Sets a new spawn location by finding an uncovered block at a random (x,z) location in the chunk.
1514 func_72975_g markBlocksDirtyVertical 2 marks a vertical line of blocks as dirty
1515 func_72976_f getHeightValue 2 Returns the y coordinate with a block in it at this x, z coordinate
1550 func_73076_a setGameType 2
1551 func_73077_b initializeGameType 2 if the gameType is currently NOT_SET then change it to par1
1552 func_73078_a activateBlockOrUseItem 2 Activate the clicked on block, otherwise use the held item. Args: player, world, itemStack, x, y, z, side, xOffset, yOffset, zOffset
1553 func_73079_d removeBlock 2 Removes a block and triggers the appropriate events Removes a block and triggers the appropriate events
1554 func_73080_a setWorld 2 Sets the world instance.
1555 func_73081_b getGameType 2
1556 func_73082_a uncheckedTryHarvestBlock 2
1618 func_73274_a writeByteArray 2 Writes a byte array to the DataOutputStream
1619 func_73275_a writeNBTTagCompound 2 Writes a compressed NBTTagCompound to the OutputStream
1620 func_73276_c readItemStack 2 Reads a ItemStack from the InputStream
1621 func_73277_a_ isWritePacket canProcessAsync 2 if this returns false, processPacket is deffered for processReadPackets to handle If this returns true, the packet may be processed on any thread; otherwise it is queued for the main thread to handle.
1622 func_73278_e isRealPacket 2 only false for the abstract Packet class, all real packets return true
1623 func_73279_a processPacket 2 Passes this Packet on to the NetHandler for processing.
1624 func_73280_b readBytesFromStream 2 the first short in the stream indicates the number of bytes to read
1627 func_73283_d readNBTTagCompound 2 Reads a compressed NBTTagCompound from the InputStream
1628 func_73284_a getPacketSize 2 Abstract. Return the size of the packet (not counting the header).
1629 func_73285_a addIdClassMapping 2 Adds a two way mapping between the packet ID and packet class.
1630 func_73302_b getVerifyToken 2 Return verifyToken
1631 func_73303_a getSharedKey 2 Return secretKey, decrypting it from the sharedSecret byte array if needed
1632 func_73304_d getSharedKey 2 Return the secret AES sharedKey (used by client only)
1633 func_73320_h getPosZ 2 Gets the Z position of the block
1634 func_73321_f getPosX 2 Gets the X position of the block
1635 func_73322_d getEntityId 2 Gets the ID of the entity breaking the block
1667 func_73462_i getDifficulty 2
1668 func_73463_g getChatVisibility 2
1669 func_73473_d getText 2
1670 func_73475_d getIsServer 2 Get whether this is a server
1671 func_73489_c getMetadata 2
1672 func_73568_g getEffectY 2
1673 func_73569_h getEffectZ 2
1675 func_73571_i getVolume 2
1676 func_73572_f getEffectX 2
1677 func_73573_j getPitch 2 Gets the pitch divided by 63 (63 is 100%)
1678 func_73580_b getChunkPosZ 2
1679 func_73581_d getNumberOfChunkInPacket 2
1680 func_73582_a getChunkPosX 2
1681 func_73583_c getChunkCompressedData 2
1682 func_73594_a getMapChunkData 2
1683 func_73641_d connectToNeighbor 2 The specified neighbor has just formed a new connection, so update accordingly
1684 func_73642_a isMinecartTrack 2
1689 func_73647_b isConnectedTo 2
1690 func_73648_a getMinecartTrackLogic 2
1691 func_73649_b isInTrack 2 Returns true if the specified block is in the same railway.
1692 func_73650_a getAdjacentTracks getAdjacentTrackCount 2 Get the number of adjacent tracks Get the number of adjacent tracks.
1693 func_73651_b getAdjacentTracks 2
1694 func_73652_a refreshTrackShape 2 Completely recalculates the track shape based on neighboring tracks and power state
1695 func_73660_a update 2 Updates the JList with a new model.
1734 func_73731_b drawString 2 Renders the specified text to the screen.
1735 func_73732_a drawCenteredString 2 Renders the specified text to the screen, center-aligned.
1736 func_73733_a drawGradientRect 2 Draws a rectangle with a vertical gradient between the specified colors.
1737 func_73734_a drawRect 2 Draws a solid color rectangle with the specified coordinates and color. Draws a solid color rectangle with the specified coordinates and color. Args: x1, y1, x2, y2, color
1738 func_73736_c mousePressed 2 Returns true if the mouse has been pressed on this control. Equivalent of MouseListener.mousePressed(MouseEvent e).
1739 func_73737_a drawButton 2 Draws this button to the screen.
1740 func_73738_a getHoverState 2 Returns 0 if the button is disabled, 1 if the mouse is NOT hovering over this button and 2 if it IS hovering over this button.
1888 func_74185_a drawGuiContainerBackgroundLayer 2 Draw the background layer for the GuiContainer (everything behind the items)
1889 func_74186_a isMouseOverSlot 2 Returns if the passed mouse position is over the specified slot.
1890 func_74187_b getSlotAtPosition 2 Returns the slot at the given coordinates or null if there is none.
1891 func_74188_c isPointInRegion 2 Args: left, top, width, height, pointX, pointY. Note: left, top are local to Gui, pointX, pointY are local to screen
1892 func_74189_g drawGuiContainerForegroundLayer 2 Draw the foreground layer for the GuiContainer (everything in front of the items)
1893 func_74190_a drawCreativeTabHoveringText 2 Draws the text when mouse is over creative inventory tab. Params: current creative tab to be checked, current mouse x position, current mouse y position.
1894 func_74191_a handleMouseClick 2
1895 func_74192_a drawSlotInventory 2 Draws an inventory slot
1896 func_74199_h getIMerchant 2 Gets the Instance of IMerchant interface.
1897 func_74221_h displayDebuffEffects 2 Displays debuff/potion effects that are currently being applied to the player
1898 func_74223_a drawPlayerOnGui 2
1899 func_74226_k needsScrollBars 2 returns (if you are not on the inventoryTab) and (the flag isn't set) and( you have more than 1 page of items)
1900 func_74227_b setCurrentCreativeTab 2
1901 func_74228_j updateCreativeSearch 2
1902 func_74229_i getInventory 2 Returns the creative inventory
1903 func_74231_b renderCreativeInventoryHoveringText 2 Renders the creative inventory hovering text if mouse is over it. Returns true if did render or false otherwise. Params: current creative tab to be checked, current mouse x position, current mouse y position.
2142 func_74810_a setLanguage 2
2143 func_74811_c getCurrentLanguage 2
2144 func_74812_a loadLanguage 2
2145 func_74818_a setup 2
2146 func_74819_a loadAlgorithms 2
2147 func_74820_b addMacAlgorithms 2
2148 func_74821_a doSetup 2
2149 func_74830_a toLowerCase 2 A locale independent version of toLowerCase that returns a US ASCII lowercase String.
2150 func_74837_a translateToLocalFormatted 2 Translates a Stat name with format args
2151 func_74838_a translateToLocal 2 Translates a Stat name
2152 func_74840_a configure 2
2153 func_74841_a calculateMask 2
2154 func_74844_a getErrorOjbects 2
2155 func_74850_a processBytes 2
2156 func_74851_a returnByte 2 Encrypt/decrypt a single byte, returning the result.
2157 func_74852_a nextChunk 2
2158 func_74860_a isLiquidInStructureBoundingBox 2 checks the entire StructureBoundingBox for Liquids
2159 func_74861_a buildComponent 2 Initiates construction of the Structure Component picked, at the current Location of StructGen
2160 func_74862_a getYWithOffset 2
2291 func_75139_a getSlot 2
2292 func_75140_a enchantItem 2 enchants the item on the table using the specified slot; also deducts XP from player
2293 func_75141_a putStackInSlot 2 args: slotID, itemStack to put in slot
2294 func_75142_b updateCraftingResults detectAndSendChanges 2 Updates crafting matrix; called from onCraftMatrixChanged. Args: none Looks for changes made in the container, sends them to every listener.
2295 func_75144_a slotClick 2
2296 func_75145_c canInteractWith 2
2297 func_75146_a addSlotToContainer 2 the slot is assumed empty
2339 func_75382_a hasPlayerGotBoneInHand 2 Gets if the Player has the Bone in the hand.
2340 func_75388_i spawnBaby 2 Spawns a baby animal of the same type.
2341 func_75389_f getNearbyMate 2 Loops through nearby animals and finds another animal of the same type that can be mated with. Returns the first valid mate found.
2342 func_75398_a isSittableBlock 2 Determines wheter the Ocelot wants to sit on the block at given coordinate Determines whether the Ocelot wants to sit on the block at given coordinate
2343 func_75399_f getNearbySitableBlockDistance 2 Searches for a block to sit on within a 8 block range, returns 0 if none found
2344 func_75446_f checkSufficientDoorsPresentForNewVillager 2
2345 func_75447_i giveBirth 2
2436 func_75621_b getEntityString 2 Gets the string representation of a specific entity.
2437 func_75630_a multiplyBy32AndRound 2
2438 func_75638_b getSpeed 2
2439 func_75639_a limitAngle 2 Limits the given angle to a upper and lower limit.
2440 func_75640_a isUpdating 2
2441 func_75641_c onUpdateMoveHelper 2
2442 func_75642_a setMoveTo 2 Sets the speed and location to move to
2443 func_75649_a onUpdateLook 2 Updates look
2557 func_75879_b isFinished 2 Returns true if this path has reached the end
2558 func_75880_b isDestinationSame 2 Returns true if the final PathPoint in the PathEntity is equal to Vec3D coords.
2559 func_75881_a getVectorFromIndex 2 Gets the vector of the PathPoint associated with the given index.
2560 func_75886_a func_75885_a createTheChiperInstance cipherOperation 2 Creates the Chiper Instance. Encrypt or decrypt byte[] data using the specified key
2561 func_75886_a createTheCipherInstance 2 Creates the Cipher Instance.
2562 func_75887_a decryptSharedKey 2 Decrypt shared secret AES key using RSA private key
2563 func_75888_a decryptInputStream 2
2564 func_75889_b decryptData 2 Decrypt byte[] data with RSA private key
2565 func_75890_a createNewSharedKey 2 Generate a new shared secret AES key from a secure random source
2566 func_75891_b createNewKeyPair 2
2567 func_75892_a createBufferedBlockCipher 2 Create a new BufferedBlockCipher instance
2568 func_75893_a digestOperation 2 Compute a message digest on arbitrary byte[] data
2569 func_75894_a encryptData 2 Encrypt byte[] data with RSA public key
2570 func_75895_a getServerIdHash 2 Compute a serverId hash for use by sendSessionRequest()
2571 func_75896_a decodePublicKey 2 Create a new PublicKey from encoded X.509 data
2572 func_75897_a encryptOuputStream 2
2573 func_75899_a getMD5String 2 Gets the MD5 string
2574 func_75901_a initializeAllBiomeGenerators 2 the first array item is a linked list of the bioms, the second is the zoom function, the third is the same as the first.
2578 func_75905_a initWorldGenSeed 2 Initialize layer's local worldGenSeed based on its own baseSeed and the world's global seed (passed in as an argument).
2579 func_75912_b choose 2 randomly choose between the four args
2580 func_75913_a choose 2 randomly choose between the two args
2581 func_75916_b modeOrRandom 2 returns the mode (most frequently occuring number) or a random number from the 4 integers provided
2582 func_75917_a choose 2 Chooses one of the two inputs randomly.
2583 func_75918_d initCraftableStats 2 Initializes statistics related to craftable items. Is only called after both block and item stats have been initialized.
2584 func_75919_a nopInit 2 This method simply NOPs. It is presumably used to call the static constructors on server start.
2710 func_76188_b isDirty 2 Whether this MapDataBase needs saving to disk.
2711 func_76191_a updateVisiblePlayers 2 Adds the player passed to the list of visible players and checks to see which players are visible
2712 func_76192_a updateMPMapData 2 Updates the client's map with information from other players in MP
2713 func_76193_a getUpdatePacketData 2 Get byte array of packet data to send to players on map for updating map data
2714 func_76194_a setColumnDirty 2 Marks a vertical range of pixels as being modified so they will be resent to clients. Parameters: X, lowest Y, highest Y
2715 func_76204_a getPlayersOnMap 2 returns a 1+players*3 array, of x,y, and color . the name of this function may be partially wrong, as there is a second branch to the code here
2716 func_76217_h getCanBurn 2 Returns if the block can burn or not.
2748 func_76320_a startSection 2 Start section
2749 func_76321_b getProfilingData 2 Get profiling data
2750 func_76322_c getNameOfLastSection 2
2751 func_76333_a smooth 2 Smooths mouse input
2752 func_76337_a ticksToElapsedTime 2 Returns the time elapsed for the given number of ticks, in "mm:ss" format.
2753 func_76338_a stripControlCodes 2
2754 func_76340_b getSecond 2 Get the second Object in the Tuple
2758 func_76347_k isFireDamage 2 Returns true if the damage is fire based.
2759 func_76348_h setDamageBypassesArmor 2
2760 func_76349_b setProjectile 2 Define the damage type as projectile based.
2761 func_76350_n isDifficultyScaled 2 Return whether this damage source will have its damage amount scaled based on the current difficulty.
2762 func_76351_m setDifficultyScaled 2 Set whether this damage source will have its damage amount scaled based on the current difficulty.
2763 func_76352_a isProjectile 2 Returns true if the damage is projectile based.
2764 func_76353_a causeArrowDamage 2 returns EntityDamageSourceIndirect of an arrow
2765 func_76354_b causeIndirectMagicDamage 2
3261 func_77493_a calculateModifier 2 Generic method use to calculate modifiers of offensive or defensive enchantment values.
3262 func_77501_a getRespiration 2 Returns the 'Water Breathing' modifier of enchantments on player equipped armors.
3263 func_77502_d getSilkTouchModifier 2 Returns the silk touch status of enchantments on current equipped item of player.
func_77503_c getUnbreakingModifier 2 Returns the unbreaking enchantment modifier on current equipped item of player.
3264 func_77504_a addRandomEnchantment 2 Adds a random enchantment to the specified item. Args: random, itemStack, enchantabilityLevel
3265 func_77505_b mapEnchantmentData 2 Creates a 'Map' of EnchantmentData (enchantments) possible to add on the ItemStack and the enchantability level passed.
3266 func_77506_a getEnchantmentLevel 2 Returns the level of enchantment on the ItemStack passed.
3307 func_77590_a addRecipes 2 Adds the ingot recipes to the CraftingManager.
3308 func_77592_b getRecipeList 2 returns the List<> of all recipes
3309 func_77594_a getInstance 2 Returns the static instance of this class
func_77595_a addRecipe 2 Adds a recipe. See spreadsheet on first page for details.
3310 func_77596_b addShapelessRecipe 2
3311 func_77599_b getSmeltingList 2
3312 func_77600_a addSmelting 2 Adds a smelting recipe.
3350 func_77643_m_ isMap 2 false for all Items except sub-classes of ItemMapBase
3351 func_77644_a hitEntity 2 Current implementations of this method in child classes do not use the entry argument beside ev. They just raise the damage on the stack.
3352 func_77645_m isDamageable 2
3353 func_77646_a itemInteractionForEntity 2 dye sheep, place saddles, etc ... Called when a player right clicks an entity with an item.
3354 func_77647_b getMetadata 2 Returns the metadata of the block which this Item (ItemBlock) can place
3355 func_77648_a onItemUse 2 Callback for item usage. If the item does something special on right clicking, he will have one of those. Return True if something happen and false if it don't. This is for ITEMS, not BLOCKS
3356 func_77649_a getDamageVsEntity 2 Returns the damage against a given entity.
3372 func_77666_t getPotionEffect 2 Returns a string representing what this item does to a potion.
3373 func_77667_c getItemNameIS 2
3374 func_77668_q getContainerItem 2
3375 func_77825_f getToolMaterialName 2 Return the name for this tool's material.
3376 func_77828_a validBookTagContents 2
3377 func_77829_a validBookTagPages 2
3378 func_77831_g isSplash 2 returns wether or not a potion is a throwable splash potion based on damage value
3574 func_78441_a updateEquippedItem 2
3575 func_78442_d renderFireInFirstPerson 2 Renders the fire on the screen for first person mode. Arg: partialTickTime
3576 func_78443_a renderItem 2 Renders the item stack for being in an entity's hand Args: itemStack
3577 func_78444_b resetEquippedProgress 2 Resets equippedProgress
3578 func_78445_c resetEquippedProgress2 2 Resets equippedProgress
3579 func_78446_a renderInsideOfBlock 2 Renders the texture of the block the player is inside as an overlay. Args: partialTickTime, blockTextureIndex
3580 func_78447_b renderOverlays 2 Renders all the overlays that are in first person mode. Args: partialTickTime
3581 func_78448_c renderWarpedTextureOverlay 2 Renders a texture that warps around based on the direction the player is looking. Texture needs to be bound before being called. Used for the water overlay. Args: parialTickTime
3777 func_79007_c getPlayerListComponent 2 Returns a new JScrollPane with a new PlayerListBox inside.
3778 func_79013_a update 2 Public static accessor to call updateStats.
3779 func_79014_a updateStats 2 Updates the stat values and calls paint to redraw the component.
3780 func_79015_a calcArrayAverage 2 Calculates the avarage value of the given long array.
3781 func_80003_ah getPlayerUsageSnooper 2
3782 func_80006_f getUniqueID 2
3783 func_80007_l getDimensionName 2 Returns the dimension's name, e.g. "The End", "Nether", or "Overworld".
3784 func_82011_an enableGui 2
3785 func_82114_b getPlayerCoordinates 2 Return the coordinates for this player as ChunkCoordinates. Return the position for this command sender.
3786 func_82116_a setSkullRotation 2 Set the skull's rotation
3787 func_82117_a getSkullType 2 Get the entity type for the skull
3788 func_82118_a setSkullType 2 Set the entity type for the skull
3789 func_82120_c getExtraType 2 Get the extra data foor this skull, used as player username by player heads
3790 func_82126_i getPrimaryEffect 2 Return the primary potion effect given by this beacon.
3791 func_82129_c setLevels 2 Set the levels of this beacon's pyramid.
3792 func_82130_k getLevels 2 Return the levels of this beacon's pyramid.
3821 func_82205_o isArmored 2 Returns whether the wither is armored with its boss armor or not by checking whether its health is below half of its maximum.
3822 func_82227_f setChild 2 Set whether this zombie is a child.
3823 func_82228_a startConversion 2 Starts converting this zombie into a villager. The zombie converts into a villager after the specified time in ticks.
3824 func_82229_g setIsVillager setVillager 2 Set whether this zombie is a villager.
3825 func_82230_o isConverting 2 Returns whether this zombie is in the process of converting to a villager
3826 func_82231_m isVillager 2 Return whether this zombie is a villager.
3827 func_82232_p convertToVillager 2 Convert this zombie into a villager.
3828 func_82233_q getConversionTimeBoost 2 Return the amount of time decremented from conversionTime every tick.
3844 func_82295_i getPresets 2 Return the list of defined flat world presets.
3845 func_82297_a addPresetNoFeatures 2 Add a flat world preset with no world features.
3846 func_82299_h getPresetIconRenderer 2 Return the RenderItem instance used to render preset icons.
3847 func_82319_a checkHotbarKeys 2 This function is what controls the hotbar shortcut check when you press a number key when hovering a stack.
3848 func_82328_a setDirection 2
3849 func_82331_h dropItemStack 2 Drop the item currently on this item frame.
3850 func_82333_j getRotation 2 Return the rotation of the item currently on this frame.
3870 func_82369_d getAllOnlineUsernames 2 Return all usernames currently connected to the server.
3871 func_82370_a getUsernameIndex 2 Return a command's first parameter index containing a valid username.
3872 func_82371_e getDistanceSquaredToChunkCoordinates 2 Return the squared distance between this coordinates and the ChunkCoordinates given as argument.
3873 func_82372_a getMovementDirection 2 Returns the movement direction from a velocity vector.
3874 func_82375_f getDefaultMinimumLevel 2 Gets the default minimum experience level (argument lm)
3875 func_82376_e getDefaultMaximumLevel 2 Gets the default maximum experience level (argument l)
3876 func_82377_a matchesMultiplePlayers 2 Returns whether the given pattern can match more than one player.
3877 func_82378_b hasArguments 2 Returns whether the given token has any arguments set.
3878 func_82379_d getDefaultMaximumRange 2 Gets the default maximum range (argument r).
3879 func_82380_c matchPlayers 2 Returns an array of all players matched by the given at-token.
3880 func_82381_h getArgumentMap 2 Parses the given argument string, turning it into a HashMap&lt;String, String&gt; of name-&gt;value.
3881 func_82382_g getDefaultCount 2 Gets the default number of players to return (argument c, 0 for infinite)
3882 func_82383_a hasTheseArguments 2 Returns whether the given token (parameter 1) has exactly the given arguments (parameter 2).
3883 func_82384_c getDefaultMinimumRange 2 Gets the default minimum range (argument rm).
3884 func_82385_b matchPlayersAsString 2 Returns a nicely-formatted string listing the matching players.
3885 func_82386_a matchOnePlayer 2 Returns the one player that matches the given at-token. Returns null if more than one player matches.
3886 func_82392_a bindTextureByURL 2 Binds a texture that Minecraft will attempt to load from the given URL. (arguments: url, localFallback)
3887 func_82394_a renderTileEntitySkullAt 2 Render a skull tile entity.
3888 func_82398_a renderTileEntityBeaconAt 2 Render a beacon tile entity.
3889 func_82403_a renderFrameItemAsBlock 2 Render the item frame's item as a block.
3914 func_82532_h getSeedItem 2 Generate a seed ItemStack for this crop.
3915 func_82533_j getCropItem 2 Generate a crop produce ItemStack for this crop.
3916 func_82538_d canConnectWallTo 2 Return whether an adjacent block can connect to a wall.
3917 func_82543_e isBlockStairsID 2 Checks if supplied ID is one of a BlockStairs
3918 func_82547_a comparePlayers 2 Compare the position of two players.
3919 func_82563_j getShowCape 2
3920 func_82571_y getGeneratorOptions 2
3921 func_82572_b incrementTotalWorldTime 2
3922 func_82573_f getWorldTotalTime 2
3923 func_82574_x getGameRulesInstance 2 Gets the GameRules class Instance.
3928 func_82591_c getPoolSize 2
3929 func_82593_b getPlaceSound 2 Used when a player places a block.
3930 func_82595_a putObject 2 Register an object on this registry.
3931 func_82599_e getFrontOffsetZ 2 Returns a offset that addresses the block in front of this facing.
3932 func_82600_a getFront 2 Returns the facing that represents the block in front of it.
3933 func_82601_c getFrontOffsetX 2 Returns a offset that addresses the block in front of this facing.
3934 func_82615_a getX 2
3935 func_82616_c getZ 2
3936 func_82617_b getY 2
3954 func_82660_d setMinY 2 Set the minimum Y coordinate for this layer.
3955 func_82667_a getScatteredFeatureSpawnList 2 returns possible spawns for scattered features
3956 func_82674_a pickRandomCrop 2 Returns a crop type to be planted on this field.
3957 func_82677_a pickRandomCrop getRandomCrop 2 Returns a crop type to be planted on this field.
3958 func_82684_a getReputationForPlayer 2 Return the village reputation for a player
3959 func_82686_i isMatingSeason 2 Return whether villagers mating refractory period has passed
3960 func_82687_d isPlayerReputationTooLow 2 Return whether this player has a too low reputation with this village.
3961 func_82688_a setReputationForPlayer 2 Set the village reputation for a player Set the village reputation for a player.
3962 func_82689_b writeVillageDataToNBT 2 Write this village's data to NBT.
3963 func_82690_a readVillageDataFromNBT 2 Read this village's data from NBT.
3964 func_82692_h endMatingSeason 2 Prevent villager breeding for a fixed interval of time
3965 func_82695_e recreateStructures 2
3966 func_82704_a isEntityApplicable 2 Return whether the specified entity is applicable to this filter.
3967 func_82705_e getAnimal 2 Return whether this creature type is an animal.
3973 func_82715_a parseIntWithDefault 2 parses the string as integer or returns the second parameter if it fails
3974 func_82716_a getRandomDoubleInRange 2
3975 func_82719_a writeCustomPotionEffectToNBT 2 Write a custom potion effect to a potion item's NBT data.
3976 func_82720_e getIsAmbient 2 Gets whether this potion effect originated from a beacon
3977 func_82721_a setSplashPotion 2 Set whether this potion is a splash potion.
3978 func_82722_b readCustomPotionEffectFromNBT 2 Read a custom potion effect from a potion item's NBT data.
3979 func_82725_o isMagicDamage 2 Returns true if the damage is magic based.
3980 func_82726_p setMagicDamage 2 Define the damage type as magic based.
3981 func_82732_R getWorldVec3Pool 2 Return the Vec3Pool object for this world.
3982 func_82733_a selectEntitiesWithinAABB 2
3983 func_82736_K getGameRules 2 Gets the GameRules instance Gets the GameRules instance.
3984 func_82737_E getTotalWorldTime 2
3985 func_82742_i resetUpdateEntityTick 2 Resets the updateEntityTick field to 0
3986 func_82743_f getCreationCloudUpdateTick 2 retrieves the 'date' at which the PartiallyDestroyedBlock was created
3987 func_82744_b setCloudUpdateTick 2 saves the current Cloud update tick into the PartiallyDestroyedBlock
3988 func_82746_a broadcastSound 2
3989 func_82747_f getWorldTypeID 2
3990 func_82752_c isAdventure 2 Returns true if this is the ADVENTURE game type
3991 func_82756_a getGameRuleStringValue 2 Gets the GameRule's value as String.
3992 func_82757_a setValue 2 Set this game rule value.
4020 func_82816_b_ hasColor 2 Return whether the specified armor ItemStack has a color.
4021 func_82819_b setHideAddress 2
4022 func_82820_d isHidingAddress 2
4023 func_82829_a renderCloudsCheck 2 Render clouds if enabled
4024 func_82830_a getNightVisionBrightness 2 Gets the night vision brightness
4025 func_82833_r getDisplayName 2 returns the display name of the itemstack
4026 func_82834_c setItemName 2 Sets the item's name (used by anvil to rename the items).
4035 func_82845_b getArmorCraftingMaterial 2 Return the crafting material for this armor material, used to determine the item that can be used to repair an armor piece with an anvil
4036 func_82846_b transferStackInSlot 2 Called when a player shift-clicks on a slot. You must override this or you will crash when someone does that.
4037 func_82847_b removeCraftingFromCrafters 2 Remove this crafting listener from the listener list.
4038 func_82848_d updateRepairOutput 2 called when the Anvil Input Slot changes, calculates the new result and puts it in the output slot
4039 func_82849_b getStackSizeUsedInRepair 2
4040 func_82850_a updateItemName 2 used by the Anvil GUI to update the Item Name being typed by the player
4041 func_82851_a getRepairInputInventory 2
4042 func_82863_d getBeacon 2 Returns the Tile Entity behind this beacon inventory / container
4043 func_82869_a canTakeStack 2 Return whether this slot's stack can be taken from this slot.
4044 func_82870_a onPickupFromSlot 2
4054 func_83012_d getnextPoolIndex 2
4055 func_83013_c getlistAABBsize 2
4056 func_83015_S getCurrentDate 2 returns a calendar object containing the current date
4057 func_83017_b resetCustomBlockBounds unlockBlockBounds 2 Reset customBlockBounds Unlocks the visual bounding box so that RenderBlocks can change it again.
4058 func_83018_a updateCustomBlockBounds setRenderBoundsFromBlock 2 Updates the custom block bounds with the bounds of the given block Like setRenderBounds, but automatically pulling the bounds from the given Block.
4059 func_83019_b setCustomBlockBounds overrideBlockBounds 2 Sets the custom block bounds for rendering Like setRenderBounds, but locks the values so that RenderBlocks won't change them. If you use this, you must call unlockBlockBounds after you finish rendering!
4060 func_83020_a setRenderMinMax setRenderBounds 2 Sets the size and offset of the block to be rendered, ie: half size and rendered center block: 0.25D, 0.75D Sets the bounding box for the block to draw in, e.g. 0.25-0.75 on all axes for a half-size, centered block.
4061 func_85030_a playSound 2
4062 func_85032_ar isEntityInvulnerable 2 Return whether this entity is invulnerable to damage.
4063 func_85034_r setArrowCountInEntity 2 sets the amount of arrows stuck in the entity. used for rendering those
4064 func_85035_bI getArrowCountInEntity 2 counts the amount of arrows stuck in the entity. getting hit by arrows increases this, used in rendering
4065 func_85039_t addScore 2 Add to player's score
4066 func_85040_s setScore 2 Set player's score
4067 func_85044_b drawItemStack 2
4068 func_85052_h getThrower 2
4069 func_85055_a makeCrashReport 2 Creates a crash report for the exception
4070 func_85057_a makeCategoryDepth 2 Creates a CrashReportCategory for the given stack trace depth
4071 func_85058_a makeCategory 2 Creates a CrashReportCategory
4072 func_85093_e renderArrowsStuckInEntity 2 renders arrows the Entity has been attacked with, attached to it
4073 func_85096_a renderBlockAnvilMetadata 2 Renders anvil block with metadata
4074 func_85102_a playSoundToNearExcept 2 Plays sound to all near players except the player reference given
4075 func_85103_a canDropFromExplosion 2 Return whether this block can drop from an explosion.
4076 func_85104_a onBlockPlaced 2 Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata
4077 func_85105_g onPostBlockPlaced 2 Called after a block is placed
4078 func_85106_a insertRecord 2 Insert the specified music disc in the jukebox at the given coordinates
4079 func_85107_d updateLadderBounds 2 Update the ladder block bounds based on the given metadata value.
4080 func_85118_a addToCrashReport 2 Adds this WorldInfo instance to the crash report.
4081 func_85128_b getMapFeaturesEnabled 2 Return the map feautures enabled of a world
4082 func_85132_a getTerrainTypeOfWorld 2 Return the terrain type of a world
4083 func_85151_d getLowerChestInventory 2 Return this chest container's lower chest inventory.
4084 func_85173_a playSoundToNearExcept 2 Plays sound to all near players except the player reference given
4085 func_85175_e blockGetRenderType 2 Returns the render type of the block at the given coordinate.
4086 func_85187_a drawString 2 Draws the specified string. Args: string, x, y, color, dropShadow
4087 func_90010_a isPartOfLargeChest 2 Return whether the given inventory is part of this large chest.
4088 func_90011_a createChild 2
4089 func_90019_g applyRenderColor 2 Creates a new EntityDiggingFX with the block render color applied to the base particle color
4090 func_90022_d getListOfPlayers 2
4091 func_90030_a getRendererMinecraft 2 Get minecraft reference from the EntityRenderer
4092 func_90033_f canLoadWorld 2 Return whether the given world can be loaded.
4095 func_90042_d getRecord 2 Return the record item corresponding to the given name.
4096 func_90043_g getRecordTitle 2 Return the title for this record.
4097 func_90999_ad canRenderOnFire 2 Return whether this entity should be rendered as on fire.
4098 func_92013_a setEntityItem 2 Sets the ItemStack corresponding to this Entity (and updates the DataWatcher for it)
4099 func_92014_d getEntityItem 2 Returns the ItemStack corresponding to the Entity (Note: if no item exists, will log an error but still return an ItemStack containing Block.stone)
4100 func_92015_a getMobID 2
4101 func_92027_k sendChatMsg 2 Sends the given string to every player as chat message.
4102 func_92059_d getEntityItem 2 Returns the ItemStack corresponding to the Entity (Note: if no item exists, will log an error but still return an ItemStack containing Block.stone)
4103 func_92062_k sendChatMsg 2 Sends the given string to every player as chat message.
4104 func_92103_a addRecipe 2
+54 -13
View File
@@ -1,17 +1,45 @@
class,package
EntityFireworkOverlayFX,net/minecraft/client/particle
EntityFireworkSparkFX,net/minecraft/client/particle
EntityFireworkStarterFX,net/minecraft/client/particle
ScheduledSound,net/minecraft/client/audio
BehaviorDispenseFirework,net/minecraft/dispenser
EnchantmentThorns,net/minecraft/enchantment
EntityFireworkRocket,net/minecraft/entity/item
ItemBook,net/minecraft/item
ItemEnchantedBook,net/minecraft/item
ItemFirework,net/minecraft/item
ItemFireworkCharge,net/minecraft/item
RecipeFireworks,net/minecraft/item/crafting
TileEntityMobSpawnerSpawnData,net/minecraft/tileentity
IconRegister,net/minecraft/client/renderer/texture
Rect2i,net/minecraft/client/renderer/texture
RenderTntMinecart,net/minecraft/client/renderer/entity
ScreenHopper,net/minecraft/client/gui
StitchHolder,net/minecraft/client/renderer/texture
StitchSlot,net/minecraft/client/renderer/texture
Stitcher,net/minecraft/client/renderer/texture
Texture,net/minecraft/client/renderer/texture
TextureClock,net/minecraft/client/renderer/texture
TextureCompass,net/minecraft/client/renderer/texture
TextureManager,net/minecraft/client/renderer/texture
TextureMap,net/minecraft/client/renderer/texture
TextureStitched,net/minecraft/client/renderer/texture
BlockBasePressurePlate,net/minecraft/block
BlockBaseRail,net/minecraft/block
BlockBaseRailLogic,net/minecraft/block
BlockComparator,net/minecraft/block
BlockDaylightDetector,net/minecraft/block
BlockHopper,net/minecraft/block
BlockPoweredMetal,net/minecraft/block
BlockPoweredRail,net/minecraft/block
BlockQuartz,net/minecraft/block
BlockRepeater,net/minecraft/block
BlockStoneButton,net/minecraft/block
BlockWeightedPressurePlate,net/minecraft/block
BlockWoodButton,net/minecraft/block
CallableTileEntityData,net/minecraft/tileentity
CallableTileEntityID,net/minecraft/tileentity
CombatEntry,net/minecraft/util
CombatTracker,net/minecraft/util
ContainerWorldly,net/minecraft/inventory
EntitySelectorAlive,net/minecraft/command
EntitySelectorHopperInventory,net/minecraft/tileentity
Icon,net/minecraft/util
ItemChestMinecart,net/minecraft/entity
ItemFurnaceMinecart,net/minecraft/entity
ItemRideableMinecart,net/minecraft/entity
ItemTntMinecart,net/minecraft/entity
MenuHopper,net/minecraft/inventory
TileEntityDaylightDetector,net/minecraft/tileentity
TileEntityHopper,net/minecraft/tileentity
Block,net/minecraft/block
BlockAnvil,net/minecraft/block
BlockBeacon,net/minecraft/block
@@ -158,6 +186,7 @@ ThreadClientSleep,net/minecraft/client
ThreadShutdown,net/minecraft/client
CodecMus,net/minecraft/client/audio
MusInputStream,net/minecraft/client/audio
ScheduledSound,net/minecraft/client/audio
SoundManager,net/minecraft/client/audio
SoundPool,net/minecraft/client/audio
SoundPoolEntry,net/minecraft/client/audio
@@ -325,6 +354,9 @@ EntityDropParticleFX,net/minecraft/client/particle
EntityEnchantmentTableParticleFX,net/minecraft/client/particle
EntityExplodeFX,net/minecraft/client/particle
EntityFX,net/minecraft/client/particle
EntityFireworkOverlayFX,net/minecraft/client/particle
EntityFireworkSparkFX,net/minecraft/client/particle
EntityFireworkStarterFX,net/minecraft/client/particle
EntityFlameFX,net/minecraft/client/particle
EntityFootStepFX,net/minecraft/client/particle
EntityHeartFX,net/minecraft/client/particle
@@ -538,6 +570,7 @@ BehaviorBucketFullDispense,net/minecraft/dispenser
BehaviorDefaultDispenseItem,net/minecraft/dispenser
BehaviorDispenseBoat,net/minecraft/dispenser
BehaviorDispenseFireball,net/minecraft/dispenser
BehaviorDispenseFirework,net/minecraft/dispenser
BehaviorDispenseItemProvider,net/minecraft/dispenser
BehaviorDispenseMinecart,net/minecraft/dispenser
BehaviorEggDispense,net/minecraft/dispenser
@@ -574,6 +607,7 @@ EnchantmentModifierDamage,net/minecraft/enchantment
EnchantmentModifierLiving,net/minecraft/enchantment
EnchantmentOxygen,net/minecraft/enchantment
EnchantmentProtection,net/minecraft/enchantment
EnchantmentThorns,net/minecraft/enchantment
EnchantmentUntouching,net/minecraft/enchantment
EnchantmentWaterWorker,net/minecraft/enchantment
EnumEnchantmentType,net/minecraft/enchantment
@@ -669,6 +703,7 @@ EntityEnderEye,net/minecraft/entity/item
EntityEnderPearl,net/minecraft/entity/item
EntityExpBottle,net/minecraft/entity/item
EntityFallingSand,net/minecraft/entity/item
EntityFireworkRocket,net/minecraft/entity/item
EntityItem,net/minecraft/entity/item
EntityItemFrame,net/minecraft/entity/item
EntityMinecart,net/minecraft/entity/item
@@ -771,6 +806,7 @@ ItemAxe,net/minecraft/item
ItemBed,net/minecraft/item
ItemBlock,net/minecraft/item
ItemBoat,net/minecraft/item
ItemBook,net/minecraft/item
ItemBow,net/minecraft/item
ItemBucket,net/minecraft/item
ItemBucketMilk,net/minecraft/item
@@ -783,10 +819,13 @@ ItemDye,net/minecraft/item
ItemEditableBook,net/minecraft/item
ItemEgg,net/minecraft/item
ItemEmptyMap,net/minecraft/item
ItemEnchantedBook,net/minecraft/item
ItemEnderEye,net/minecraft/item
ItemEnderPearl,net/minecraft/item
ItemExpBottle,net/minecraft/item
ItemFireball,net/minecraft/item
ItemFirework,net/minecraft/item
ItemFireworkCharge,net/minecraft/item
ItemFishingRod,net/minecraft/item
ItemFlintAndSteel,net/minecraft/item
ItemFood,net/minecraft/item
@@ -825,6 +864,7 @@ ItemWritableBook,net/minecraft/item
CraftingManager,net/minecraft/item/crafting
FurnaceRecipes,net/minecraft/item/crafting
IRecipe,net/minecraft/item/crafting
RecipeFireworks,net/minecraft/item/crafting
RecipeSorter,net/minecraft/item/crafting
RecipesArmor,net/minecraft/item/crafting
RecipesArmorDyes,net/minecraft/item/crafting
@@ -1034,6 +1074,7 @@ TileEntityEndPortal,net/minecraft/tileentity
TileEntityEnderChest,net/minecraft/tileentity
TileEntityFurnace,net/minecraft/tileentity
TileEntityMobSpawner,net/minecraft/tileentity
TileEntityMobSpawnerSpawnData,net/minecraft/tileentity
TileEntityNote,net/minecraft/tileentity
TileEntityPiston,net/minecraft/tileentity
TileEntitySign,net/minecraft/tileentity
1 class package
2 EntityFireworkOverlayFX IconRegister net/minecraft/client/particle net/minecraft/client/renderer/texture
3 EntityFireworkSparkFX Rect2i net/minecraft/client/particle net/minecraft/client/renderer/texture
4 EntityFireworkStarterFX RenderTntMinecart net/minecraft/client/particle net/minecraft/client/renderer/entity
5 ScheduledSound ScreenHopper net/minecraft/client/audio net/minecraft/client/gui
6 BehaviorDispenseFirework StitchHolder net/minecraft/dispenser net/minecraft/client/renderer/texture
7 EnchantmentThorns StitchSlot net/minecraft/enchantment net/minecraft/client/renderer/texture
8 EntityFireworkRocket Stitcher net/minecraft/entity/item net/minecraft/client/renderer/texture
9 ItemBook Texture net/minecraft/item net/minecraft/client/renderer/texture
10 ItemEnchantedBook TextureClock net/minecraft/item net/minecraft/client/renderer/texture
11 ItemFirework TextureCompass net/minecraft/item net/minecraft/client/renderer/texture
12 ItemFireworkCharge TextureManager net/minecraft/item net/minecraft/client/renderer/texture
13 RecipeFireworks TextureMap net/minecraft/item/crafting net/minecraft/client/renderer/texture
14 TileEntityMobSpawnerSpawnData TextureStitched net/minecraft/tileentity net/minecraft/client/renderer/texture
15 BlockBasePressurePlate net/minecraft/block
16 BlockBaseRail net/minecraft/block
17 BlockBaseRailLogic net/minecraft/block
18 BlockComparator net/minecraft/block
19 BlockDaylightDetector net/minecraft/block
20 BlockHopper net/minecraft/block
21 BlockPoweredMetal net/minecraft/block
22 BlockPoweredRail net/minecraft/block
23 BlockQuartz net/minecraft/block
24 BlockRepeater net/minecraft/block
25 BlockStoneButton net/minecraft/block
26 BlockWeightedPressurePlate net/minecraft/block
27 BlockWoodButton net/minecraft/block
28 CallableTileEntityData net/minecraft/tileentity
29 CallableTileEntityID net/minecraft/tileentity
30 CombatEntry net/minecraft/util
31 CombatTracker net/minecraft/util
32 ContainerWorldly net/minecraft/inventory
33 EntitySelectorAlive net/minecraft/command
34 EntitySelectorHopperInventory net/minecraft/tileentity
35 Icon net/minecraft/util
36 ItemChestMinecart net/minecraft/entity
37 ItemFurnaceMinecart net/minecraft/entity
38 ItemRideableMinecart net/minecraft/entity
39 ItemTntMinecart net/minecraft/entity
40 MenuHopper net/minecraft/inventory
41 TileEntityDaylightDetector net/minecraft/tileentity
42 TileEntityHopper net/minecraft/tileentity
43 Block net/minecraft/block
44 BlockAnvil net/minecraft/block
45 BlockBeacon net/minecraft/block
186 ThreadShutdown net/minecraft/client
187 CodecMus net/minecraft/client/audio
188 MusInputStream net/minecraft/client/audio
189 ScheduledSound net/minecraft/client/audio
190 SoundManager net/minecraft/client/audio
191 SoundPool net/minecraft/client/audio
192 SoundPoolEntry net/minecraft/client/audio
354 EntityEnchantmentTableParticleFX net/minecraft/client/particle
355 EntityExplodeFX net/minecraft/client/particle
356 EntityFX net/minecraft/client/particle
357 EntityFireworkOverlayFX net/minecraft/client/particle
358 EntityFireworkSparkFX net/minecraft/client/particle
359 EntityFireworkStarterFX net/minecraft/client/particle
360 EntityFlameFX net/minecraft/client/particle
361 EntityFootStepFX net/minecraft/client/particle
362 EntityHeartFX net/minecraft/client/particle
570 BehaviorDefaultDispenseItem net/minecraft/dispenser
571 BehaviorDispenseBoat net/minecraft/dispenser
572 BehaviorDispenseFireball net/minecraft/dispenser
573 BehaviorDispenseFirework net/minecraft/dispenser
574 BehaviorDispenseItemProvider net/minecraft/dispenser
575 BehaviorDispenseMinecart net/minecraft/dispenser
576 BehaviorEggDispense net/minecraft/dispenser
607 EnchantmentModifierLiving net/minecraft/enchantment
608 EnchantmentOxygen net/minecraft/enchantment
609 EnchantmentProtection net/minecraft/enchantment
610 EnchantmentThorns net/minecraft/enchantment
611 EnchantmentUntouching net/minecraft/enchantment
612 EnchantmentWaterWorker net/minecraft/enchantment
613 EnumEnchantmentType net/minecraft/enchantment
703 EntityEnderPearl net/minecraft/entity/item
704 EntityExpBottle net/minecraft/entity/item
705 EntityFallingSand net/minecraft/entity/item
706 EntityFireworkRocket net/minecraft/entity/item
707 EntityItem net/minecraft/entity/item
708 EntityItemFrame net/minecraft/entity/item
709 EntityMinecart net/minecraft/entity/item
806 ItemBed net/minecraft/item
807 ItemBlock net/minecraft/item
808 ItemBoat net/minecraft/item
809 ItemBook net/minecraft/item
810 ItemBow net/minecraft/item
811 ItemBucket net/minecraft/item
812 ItemBucketMilk net/minecraft/item
819 ItemEditableBook net/minecraft/item
820 ItemEgg net/minecraft/item
821 ItemEmptyMap net/minecraft/item
822 ItemEnchantedBook net/minecraft/item
823 ItemEnderEye net/minecraft/item
824 ItemEnderPearl net/minecraft/item
825 ItemExpBottle net/minecraft/item
826 ItemFireball net/minecraft/item
827 ItemFirework net/minecraft/item
828 ItemFireworkCharge net/minecraft/item
829 ItemFishingRod net/minecraft/item
830 ItemFlintAndSteel net/minecraft/item
831 ItemFood net/minecraft/item
864 CraftingManager net/minecraft/item/crafting
865 FurnaceRecipes net/minecraft/item/crafting
866 IRecipe net/minecraft/item/crafting
867 RecipeFireworks net/minecraft/item/crafting
868 RecipeSorter net/minecraft/item/crafting
869 RecipesArmor net/minecraft/item/crafting
870 RecipesArmorDyes net/minecraft/item/crafting
1074 TileEntityEnderChest net/minecraft/tileentity
1075 TileEntityFurnace net/minecraft/tileentity
1076 TileEntityMobSpawner net/minecraft/tileentity
1077 TileEntityMobSpawnerSpawnData net/minecraft/tileentity
1078 TileEntityNote net/minecraft/tileentity
1079 TileEntityPiston net/minecraft/tileentity
1080 TileEntitySign net/minecraft/tileentity
+694 -383
View File
File diff suppressed because it is too large. Load diff
+24 -42
View File
@@ -1,7 +1,7 @@
diff -r -U 3 minecraft\net\minecraft\client\Minecraft.java minecraft_patched\net\minecraft\client\Minecraft.java
--- minecraft\net\minecraft\client\Minecraft.java Mon Dec 17 22:49:48 2012
+++ minecraft_patched\net\minecraft\client\Minecraft.java Mon Dec 17 22:51:37 2012
@@ -546,9 +546,8 @@
--- minecraft\net\minecraft\client\Minecraft.java Sat Jan 12 02:17:55 2013
+++ minecraft_patched\net\minecraft\client\Minecraft.java Sat Jan 12 02:24:09 2013
@@ -532,9 +532,8 @@
return;
}
@@ -12,7 +12,7 @@ diff -r -U 3 minecraft\net\minecraft\client\Minecraft.java minecraft_patched\net
if(this.field_71434_R && this.field_71433_S != null) {
this.func_71377_b(this.field_71433_S);
return;
@@ -566,7 +565,6 @@
@@ -552,7 +551,6 @@
this.func_71373_a(new GuiMemoryErrorScreen());
System.gc();
}
@@ -20,7 +20,7 @@ diff -r -U 3 minecraft\net\minecraft\client\Minecraft.java minecraft_patched\net
}
} catch (MinecraftError var12) {
;
@@ -584,8 +582,6 @@
@@ -570,8 +568,6 @@
this.func_71405_e();
}
@@ -30,8 +30,8 @@ diff -r -U 3 minecraft\net\minecraft\client\Minecraft.java minecraft_patched\net
private void func_71411_J() {
diff -r -U 3 minecraft\net\minecraft\src\CallableSuspiciousClasses.java minecraft_patched\net\minecraft\src\CallableSuspiciousClasses.java
--- minecraft\net\minecraft\src\CallableSuspiciousClasses.java Mon Dec 17 22:49:49 2012
+++ minecraft_patched\net\minecraft\src\CallableSuspiciousClasses.java Mon Dec 17 22:51:37 2012
--- minecraft\net\minecraft\src\CallableSuspiciousClasses.java Sat Jan 12 02:17:56 2013
+++ minecraft_patched\net\minecraft\src\CallableSuspiciousClasses.java Sat Jan 12 02:24:09 2013
@@ -21,9 +21,14 @@
public String func_85085_a() {
@@ -51,8 +51,8 @@ diff -r -U 3 minecraft\net\minecraft\src\CallableSuspiciousClasses.java minecraf
boolean var5 = !CrashReport.class.getCanonicalName().equals("net.minecraft.CrashReport");
HashMap var6 = new HashMap();
diff -r -U 3 minecraft\net\minecraft\src\CodecMus.java minecraft_patched\net\minecraft\src\CodecMus.java
--- minecraft\net\minecraft\src\CodecMus.java Mon Dec 17 22:49:49 2012
+++ minecraft_patched\net\minecraft\src\CodecMus.java Mon Dec 17 22:51:37 2012
--- minecraft\net\minecraft\src\CodecMus.java Sat Jan 12 02:17:56 2013
+++ minecraft_patched\net\minecraft\src\CodecMus.java Sat Jan 12 02:24:09 2013
@@ -1,5 +1,6 @@
package net.minecraft.src;
@@ -73,8 +73,8 @@ diff -r -U 3 minecraft\net\minecraft\src\CodecMus.java minecraft_patched\net\min
}
}
diff -r -U 3 minecraft\net\minecraft\src\ComponentStrongholdRightTurn.java minecraft_patched\net\minecraft\src\ComponentStrongholdRightTurn.java
--- minecraft\net\minecraft\src\ComponentStrongholdRightTurn.java Mon Dec 17 22:49:49 2012
+++ minecraft_patched\net\minecraft\src\ComponentStrongholdRightTurn.java Mon Dec 17 22:51:37 2012
--- minecraft\net\minecraft\src\ComponentStrongholdRightTurn.java Sat Jan 12 02:17:57 2013
+++ minecraft_patched\net\minecraft\src\ComponentStrongholdRightTurn.java Sat Jan 12 02:24:09 2013
@@ -11,6 +11,10 @@
public class ComponentStrongholdRightTurn extends ComponentStrongholdLeftTurn {
@@ -87,8 +87,8 @@ diff -r -U 3 minecraft\net\minecraft\src\ComponentStrongholdRightTurn.java minec
if(this.field_74885_f != 2 && this.field_74885_f != 3) {
this.func_74989_b((ComponentStrongholdStairs2)p_74861_1_, p_74861_2_, p_74861_3_, 1, 1);
diff -r -U 3 minecraft\net\minecraft\src\DedicatedServer.java minecraft_patched\net\minecraft\src\DedicatedServer.java
--- minecraft\net\minecraft\src\DedicatedServer.java Mon Dec 17 22:49:49 2012
+++ minecraft_patched\net\minecraft\src\DedicatedServer.java Mon Dec 17 22:51:37 2012
--- minecraft\net\minecraft\src\DedicatedServer.java Sat Jan 12 02:17:57 2013
+++ minecraft_patched\net\minecraft\src\DedicatedServer.java Sat Jan 12 02:24:09 2013
@@ -202,7 +202,7 @@
System.exit(0);
}
@@ -98,27 +98,9 @@ diff -r -U 3 minecraft\net\minecraft\src\DedicatedServer.java minecraft_patched\
super.func_71190_q();
this.func_71333_ah();
}
diff -r -U 3 minecraft\net\minecraft\src\EntityMooshroom.java minecraft_patched\net\minecraft\src\EntityMooshroom.java
--- minecraft\net\minecraft\src\EntityMooshroom.java Mon Dec 17 22:49:50 2012
+++ minecraft_patched\net\minecraft\src\EntityMooshroom.java Mon Dec 17 22:51:37 2012
@@ -56,10 +56,10 @@
return new EntityMooshroom(this.field_70170_p);
}
- // $FF: synthetic method
- public EntityCow func_70879_a(EntityAgeable p_70879_1_) {
- return this.func_70879_a(p_70879_1_);
- }
+// // $FF: synthetic method
+// public EntityCow func_70879_a(EntityAgeable p_70879_1_) {
+// return this.func_70879_a(p_70879_1_);
+// }
// $FF: synthetic method
public EntityAgeable func_90011_a(EntityAgeable p_90011_1_) {
diff -r -U 3 minecraft\net\minecraft\src\FontRenderer.java minecraft_patched\net\minecraft\src\FontRenderer.java
--- minecraft\net\minecraft\src\FontRenderer.java Mon Dec 17 22:49:50 2012
+++ minecraft_patched\net\minecraft\src\FontRenderer.java Mon Dec 17 22:51:37 2012
--- minecraft\net\minecraft\src\FontRenderer.java Sat Jan 12 02:17:58 2013
+++ minecraft_patched\net\minecraft\src\FontRenderer.java Sat Jan 12 02:24:09 2013
@@ -611,8 +611,6 @@
case 10:
--var5;
@@ -138,8 +120,8 @@ diff -r -U 3 minecraft\net\minecraft\src\FontRenderer.java minecraft_patched\net
var4 += this.func_78263_a(var8);
if(var7) {
diff -r -U 3 minecraft\net\minecraft\src\IntegratedServer.java minecraft_patched\net\minecraft\src\IntegratedServer.java
--- minecraft\net\minecraft\src\IntegratedServer.java Mon Dec 17 22:49:50 2012
+++ minecraft_patched\net\minecraft\src\IntegratedServer.java Mon Dec 17 22:51:37 2012
--- minecraft\net\minecraft\src\IntegratedServer.java Sat Jan 12 02:17:58 2013
+++ minecraft_patched\net\minecraft\src\IntegratedServer.java Sat Jan 12 02:24:09 2013
@@ -98,7 +98,7 @@
return true;
}
@@ -150,9 +132,9 @@ diff -r -U 3 minecraft\net\minecraft\src\IntegratedServer.java minecraft_patched
this.field_71348_o = this.field_71347_n.func_71752_f();
if(!var1 && this.field_71348_o) {
diff -r -U 3 minecraft\net\minecraft\src\RenderGlobal.java minecraft_patched\net\minecraft\src\RenderGlobal.java
--- minecraft\net\minecraft\src\RenderGlobal.java Mon Dec 17 22:49:52 2012
+++ minecraft_patched\net\minecraft\src\RenderGlobal.java Mon Dec 17 22:51:37 2012
@@ -1447,7 +1447,7 @@
--- minecraft\net\minecraft\src\RenderGlobal.java Sat Jan 12 02:17:59 2013
+++ minecraft_patched\net\minecraft\src\RenderGlobal.java Sat Jan 12 02:24:09 2013
@@ -1450,7 +1450,7 @@
double var15 = this.field_72777_q.field_71451_h.field_70165_t - p_72726_2_;
double var17 = this.field_72777_q.field_71451_h.field_70163_u - p_72726_4_;
double var19 = this.field_72777_q.field_71451_h.field_70161_v - p_72726_6_;
@@ -162,8 +144,8 @@ diff -r -U 3 minecraft\net\minecraft\src\RenderGlobal.java minecraft_patched\net
this.field_72777_q.field_71452_i.func_78873_a(var21 = new EntityHugeExplodeFX(this.field_72769_h, p_72726_2_, p_72726_4_, p_72726_6_, p_72726_8_, p_72726_10_, p_72726_12_));
} else if(p_72726_1_.equals("largeexplode")) {
diff -r -U 3 minecraft\net\minecraft\src\TcpMasterThread.java minecraft_patched\net\minecraft\src\TcpMasterThread.java
--- minecraft\net\minecraft\src\TcpMasterThread.java Mon Dec 17 22:49:52 2012
+++ minecraft_patched\net\minecraft\src\TcpMasterThread.java Mon Dec 17 22:51:37 2012
--- minecraft\net\minecraft\src\TcpMasterThread.java Sat Jan 12 02:18:00 2013
+++ minecraft_patched\net\minecraft\src\TcpMasterThread.java Sat Jan 12 02:24:09 2013
@@ -11,6 +11,7 @@
this.field_74504_a = p_i3285_1_;
}
@@ -173,8 +155,8 @@ diff -r -U 3 minecraft\net\minecraft\src\TcpMasterThread.java minecraft_patched\
try {
Thread.sleep(5000L);
diff -r -U 3 minecraft\net\minecraft\src\ThreadedFileIOBase.java minecraft_patched\net\minecraft\src\ThreadedFileIOBase.java
--- minecraft\net\minecraft\src\ThreadedFileIOBase.java Mon Dec 17 22:49:52 2012
+++ minecraft_patched\net\minecraft\src\ThreadedFileIOBase.java Mon Dec 17 22:51:37 2012
--- minecraft\net\minecraft\src\ThreadedFileIOBase.java Sat Jan 12 02:18:00 2013
+++ minecraft_patched\net\minecraft\src\ThreadedFileIOBase.java Sat Jan 12 02:24:09 2013
@@ -20,7 +20,8 @@
}
+10 -28
View File
@@ -1,6 +1,6 @@
diff -r -U 3 minecraft_server\net\minecraft\src\CallableSuspiciousClasses.java minecraft_server_patched\net\minecraft\src\CallableSuspiciousClasses.java
--- minecraft_server\net\minecraft\src\CallableSuspiciousClasses.java Mon Dec 17 22:50:59 2012
+++ minecraft_server_patched\net\minecraft\src\CallableSuspiciousClasses.java Mon Dec 17 22:52:18 2012
--- minecraft_server\net\minecraft\src\CallableSuspiciousClasses.java Sat Jan 12 02:19:06 2013
+++ minecraft_server_patched\net\minecraft\src\CallableSuspiciousClasses.java Sat Jan 12 02:24:29 2013
@@ -21,9 +21,14 @@
public String func_85085_a() {
@@ -20,8 +20,8 @@ diff -r -U 3 minecraft_server\net\minecraft\src\CallableSuspiciousClasses.java m
boolean var5 = !CrashReport.class.getCanonicalName().equals("net.minecraft.CrashReport");
HashMap var6 = new HashMap();
diff -r -U 3 minecraft_server\net\minecraft\src\ComponentStrongholdRightTurn.java minecraft_server_patched\net\minecraft\src\ComponentStrongholdRightTurn.java
--- minecraft_server\net\minecraft\src\ComponentStrongholdRightTurn.java Mon Dec 17 22:50:59 2012
+++ minecraft_server_patched\net\minecraft\src\ComponentStrongholdRightTurn.java Mon Dec 17 22:52:18 2012
--- minecraft_server\net\minecraft\src\ComponentStrongholdRightTurn.java Sat Jan 12 02:19:06 2013
+++ minecraft_server_patched\net\minecraft\src\ComponentStrongholdRightTurn.java Sat Jan 12 02:24:29 2013
@@ -11,6 +11,10 @@
public class ComponentStrongholdRightTurn extends ComponentStrongholdLeftTurn {
@@ -34,8 +34,8 @@ diff -r -U 3 minecraft_server\net\minecraft\src\ComponentStrongholdRightTurn.jav
if(this.field_74885_f != 2 && this.field_74885_f != 3) {
this.func_74989_b((ComponentStrongholdStairs2)p_74861_1_, p_74861_2_, p_74861_3_, 1, 1);
diff -r -U 3 minecraft_server\net\minecraft\src\DedicatedServer.java minecraft_server_patched\net\minecraft\src\DedicatedServer.java
--- minecraft_server\net\minecraft\src\DedicatedServer.java Mon Dec 17 22:50:59 2012
+++ minecraft_server_patched\net\minecraft\src\DedicatedServer.java Mon Dec 17 22:52:18 2012
--- minecraft_server\net\minecraft\src\DedicatedServer.java Sat Jan 12 02:19:06 2013
+++ minecraft_server_patched\net\minecraft\src\DedicatedServer.java Sat Jan 12 02:24:29 2013
@@ -203,7 +203,7 @@
System.exit(0);
}
@@ -45,27 +45,9 @@ diff -r -U 3 minecraft_server\net\minecraft\src\DedicatedServer.java minecraft_s
super.func_71190_q();
this.func_71333_ah();
}
diff -r -U 3 minecraft_server\net\minecraft\src\EntityMooshroom.java minecraft_server_patched\net\minecraft\src\EntityMooshroom.java
--- minecraft_server\net\minecraft\src\EntityMooshroom.java Mon Dec 17 22:51:00 2012
+++ minecraft_server_patched\net\minecraft\src\EntityMooshroom.java Mon Dec 17 22:52:18 2012
@@ -56,10 +56,10 @@
return new EntityMooshroom(this.field_70170_p);
}
- // $FF: synthetic method
- public EntityCow func_70879_a(EntityAgeable p_70879_1_) {
- return this.func_70879_a(p_70879_1_);
- }
+// // $FF: synthetic method
+// public EntityCow func_70879_a(EntityAgeable p_70879_1_) {
+// return this.func_70879_a(p_70879_1_);
+// }
// $FF: synthetic method
public EntityAgeable func_90011_a(EntityAgeable p_90011_1_) {
diff -r -U 3 minecraft_server\net\minecraft\src\TcpMasterThread.java minecraft_server_patched\net\minecraft\src\TcpMasterThread.java
--- minecraft_server\net\minecraft\src\TcpMasterThread.java Mon Dec 17 22:51:01 2012
+++ minecraft_server_patched\net\minecraft\src\TcpMasterThread.java Mon Dec 17 22:52:18 2012
--- minecraft_server\net\minecraft\src\TcpMasterThread.java Sat Jan 12 02:19:08 2013
+++ minecraft_server_patched\net\minecraft\src\TcpMasterThread.java Sat Jan 12 02:24:29 2013
@@ -11,6 +11,7 @@
this.field_74504_a = p_i3285_1_;
}
@@ -75,8 +57,8 @@ diff -r -U 3 minecraft_server\net\minecraft\src\TcpMasterThread.java minecraft_s
try {
Thread.sleep(5000L);
diff -r -U 3 minecraft_server\net\minecraft\src\ThreadedFileIOBase.java minecraft_server_patched\net\minecraft\src\ThreadedFileIOBase.java
--- minecraft_server\net\minecraft\src\ThreadedFileIOBase.java Mon Dec 17 22:51:01 2012
+++ minecraft_server_patched\net\minecraft\src\ThreadedFileIOBase.java Mon Dec 17 22:52:18 2012
--- minecraft_server\net\minecraft\src\ThreadedFileIOBase.java Sat Jan 12 02:19:08 2013
+++ minecraft_server_patched\net\minecraft\src\ThreadedFileIOBase.java Sat Jan 12 02:24:29 2013
@@ -20,7 +20,8 @@
}
+3 -3
View File
@@ -1,4 +1,4 @@
[VERSION]
MCPVersion = 7.25
ClientVersion = 1.4.6
ServerVersion = 1.4.6
MCPVersion = 7.30
ClientVersion = 13w02b
ServerVersion = 13w02b
Binary file not shown.
-2
View File
@@ -38,8 +38,6 @@ def write_changed(fh, pre, post, name):
if clazz.startswith("net/minecraft/src/"):
clazz=clazz[len("net/minecraft/src/"):]
fh.write("%s/%s.class\n" %(name,clazz))
fh.write("%s/cpw/mods/fml/common/asm/SideOnly.class\n" % name)
fh.write("%s/cpw/mods/fml/common/Side.class\n" % name)
if __name__ == '__main__':
main()
+8 -4
View File
@@ -190,6 +190,7 @@ def reset_logger():
count = 0
def cleanup_source(path):
from rename_vars import rename_class
path = os.path.normpath(path)
regex_cases_before = re.compile(r'((case|default).+\r?\n)\r?\n', re.MULTILINE) #Fixes newline after case before case body
regex_cases_after = re.compile(r'\r?\n(\r?\n[ \t]+(case|default))', re.MULTILINE) #Fixes newline after case body before new case
@@ -205,10 +206,13 @@ def cleanup_source(path):
global count
count += 1
return match.group(1)
buf = regex_cases_before.sub(fix_cases, buf)
buf = regex_cases_after.sub(fix_cases, buf)
if count > 0:
old = buf.replace('\r', '')
buf = rename_class(old, MCP=True)
if count > 0 or buf != old:
with open(tmp_file, 'w') as fh:
fh.write(buf)
shutil.move(tmp_file, src_file)
@@ -268,14 +272,14 @@ def setup_fml(fml_dir, mcp_dir):
sys.exit(1)
self.logger.info('> Running MCPMerger')
forkcmd = ('%s -classpath "{classpath}" cpw.mods.fml.common.asm.transformers.MCPMerger "{mergecfg}" "{client}" "{server}"' % self.cmdjava).format(
forkcmd = ('"%s" -classpath "{classpath}" cpw.mods.fml.common.asm.transformers.MCPMerger "{mergecfg}" "{client}" "{server}"' % self.cmdjava).format(
classpath=class_path, mergecfg=os.path.join(fml_dir, 'mcp_merge.cfg'), client=jars[CLIENT], server=jars[SERVER])
if not runcmd(self, forkcmd):
sys.exit(1)
self.logger.info('> Running AccessTransformer')
forkcmd = ('%s -classpath "{classpath}" cpw.mods.fml.common.asm.transformers.AccessTransformer "{jar}" "{fmlconfig}"' % self.cmdjava).format(
forkcmd = ('"%s" -classpath "{classpath}" cpw.mods.fml.common.asm.transformers.AccessTransformer "{jar}" "{fmlconfig}"' % self.cmdjava).format(
classpath=class_path, jar=jars[side], fmlconfig=os.path.join(fml_dir, 'common', 'fml_at.cfg'))
forge_cfg = os.path.join(fml_dir, '..', 'common', 'forge_at.cfg')
+167
View File
@@ -0,0 +1,167 @@
import os, os.path, sys, csv, re, fnmatch, shutil, zipfile, pprint
from optparse import OptionParser
from pprint import pprint
#This script attempts to rename local variables in a Fernflower decompiled Java source file to jad style names.
#Script originally written by Grum in perl, Converted to Python by monoxide, and bug fixes/cleanup by LexManos
class VarNamer:
# Seems this is needed to keep these variables confined to the instance
def __init__(self):
self.last = {
'byte': [0, 0, ['b']],
'char': [0, 0, ['c']],
'short': [1, 0, ['short']],
'int': [0, 1, ['i', 'j', 'k', 'l']],
'boolean': [0, 1, ['flag']],
'double': [0, 0, ['d']],
'float': [0, 1, ['f']],
'File': [1, 1, ['file']],
'String': [0, 1, ['s']],
'Class': [0, 1, ['oclass']],
'Long': [0, 1, ['olong']],
'Byte': [0, 1, ['obyte']],
'Short': [0, 1, ['oshort']],
'Boolean': [0, 1, ['obool']],
'Package': [0, 1, ['opackage']]
}
self.remap = {
'long': 'int',
}
def get_name(self, type, var):
index = type if self.last.has_key(type) else (self.remap[type] if self.remap.has_key(type) else None)
if (not index) and (re.search('^[A-Z]', type) or re.search(r'(\[|\.\.\.)', type)):
type = type.replace('...', '[]')
while type.find('[][]') != -1:
type = type.replace('[][]', '[]')
name = type.lower()
skip = 1
if re.search(r'\[', type):
skip = 1
name = "a" + name
name = name.replace('[', '').replace(']', '').replace('...', '')
self.last[type] = [0, skip, [name]]
index = type
if not index:
print "No data for type: %s '%s'\n" % (type, var)
return type
id = self.last[index][0]
skip_zero = self.last[index][1]
data = self.last[index][2]
self.last[index][0] += 1
amount = len(data)
if amount == 1:
return data[0] + ('' if ((not id) and skip_zero) else ('%d' % id))
else:
num = id / amount
return data[id % amount] + ('' if ((not num) and skip_zero) else ('%d' % num))
def rename_file(file, indent='3', MCP=False):
tmp = file + '.tmp'
with open(file, 'rb') as in_file:
data = rename_class(in_file.read().replace('\r', ''), indent, MCP)
with open(tmp, 'wb') as out_file:
out_file.write(data)
shutil.move(tmp, file)
def rename_class(data, indent='3', MCP=False):
METHOD_REG = r'^ {%s}(\w+\s+\S.*\.*(|static )(?:\{|\);|})$' % indent
CATCH_REG = r'catch \((.*)\) {'
if MCP:
if indent == '3':
indent = '4'
METHOD_REG = r'^ {%s}(\w+\s+\S.*\(.*|static)$' % indent
CATCH_REG = r'catch \((.*)\)$'
lines = data.split('\n')
output = ''
inside_method = False
method = ''
method_variables = []
skip = False
for line in lines:
line += '\n'
if re.search(METHOD_REG, line) and not re.search('=', line) and not re.search(r'\(.*\(', line):
if re.search(r'\(.+\)', line):
method_variables += [s.strip() for s in re.search(r'\((.+)\)', line).group(1).split(',')]
method += line
# Could be a single-line method
skip = True
if not re.search(r'(}|\);|throws .+?;)$', line):
inside_method = True
elif re.search(r'^ {%s}}$' % indent, line):
inside_method = False
if inside_method:
if skip:
skip = False
continue
method += line
m = re.search(CATCH_REG, line)
if m:
method_variables += [m.group(1)]
else:
method_variables += map(lambda x: x.group(0), filter(
lambda x: not re.match(r'^(return)', x.group(0)) and not re.match(r'^(throw)', x.group(0)),
re.finditer(r'([a-z_$][a-z0-9_\[\]]+ var\d+)', line, re.I)))
else:
if method:
namer = VarNamer()
todo = map(lambda x: [x, namer.get_name(x.split(' ')[0], x)], method_variables)
todo.reverse()
for mapping in todo:
if not ' ' in mapping[0]:
continue
original = mapping[0].split(' ')[1]
to = mapping[1]
#Don't rename already renamed things.
if not re.match('var\d+', original):
continue
method = method.replace(original, to)
output += method
method = ''
method_variables = []
if skip:
skip = False
continue
output += line
return output[:-1]
def main(options, args):
for arg in args:
for path, _, filelist in os.walk(arg, followlinks=True):
for cur_file in fnmatch.filter(filelist, '*.java'):
file = os.path.normpath(os.path.join(path, cur_file))
rename_file(file, options.indent, options.mcp)
if __name__ == '__main__':
parser = OptionParser()
parser.add_option('-m', '--mcp', action='store_true', dest='mcp', help='Use MCP regexs', default=False)
parser.add_option('-i', '--indent', action='store', dest='indent', help='Custom indent to use', default='3')
options, args = parser.parse_args()
main(options, args)
+90
View File
@@ -0,0 +1,90 @@
import os, os.path, sys, csv, re, fnmatch, shutil, zipfile, pprint
from optparse import OptionParser
from zipfile import ZipFile
from subprocess import Popen, PIPE, STDOUT
if __name__ == '__main__':
parser = OptionParser()
parser.add_option('-j', '--jar', action='store', dest='jar', help='Jar to sign', default=None)
parser.add_option('-c', '--command', action='store', dest='command', help='Path to jar signer command, will be invoked on temp jar to sign', default=None)
parser.add_option('-a', '--alias', action='store', dest='alias', help='Optional: The keystore alias to use when siging the jar, it will be passed in as para 2 to the command', default='')
#This is kept as a seperate file so that if you integrate this into a build system, you are not publically displaying any private passwords
#Typically the format of this file will be:
#
#jarsigner -keystore my_key_store -storepass key_store_pass -keypass key_pass %1 alias
#The rest of the parameters are used as regxs to determine what parts of the file will be signed, a file will be signed if it matches ANY of the regexs
options, args = parser.parse_args()
if options.jar is None:
print 'You must supply the jar to sign using --jar <jar>'
sys.exit(1)
if options.command is None:
print 'You must supply a command to be called using --command <command>, See the comments in the python for details on this'
sys.exit(1)
if not os.path.isfile(options.jar):
print 'The specified jar "%s" could not be found' % options.jar
sys.exit(1)
regs = []
for reg in args:
regs.append(re.compile(reg))
shutil.copy(options.jar, options.jar + '.bak')
tmp_1 = options.jar + '.tmp1'
tmp_2 = options.jar + '.tmp2'
zip_in = ZipFile(options.jar, mode='r')
zip_tmp_1 = ZipFile(tmp_1, mode='w')
zip_tmp_2 = ZipFile(tmp_2, mode='w')
for i in zip_in.filelist:
matched = False
for reg in regs:
if not reg.match(i.filename) is None:
matched = True
break
data = zip_in.read(i.filename)
if matched:
print 'Matched: ' + i.filename
zip_tmp_1.writestr(i, data)
else:
if i.filename.startswith('META-INF'):
print 'Detected skipped META-INF File, it will not be copied to new jar, if you wish to keep this data, include it in the signed info: %s' % i.filename
else:
print 'Skipped: ' + i.filename
zip_tmp_2.writestr(i, data)
zip_in.close()
zip_tmp_1.close()
zip_tmp_2.close()
try:
process = Popen([options.command, os.path.abspath(tmp_1), options.alias], stdout=PIPE, stderr=STDOUT, bufsize=-1)
out, _ = process.communicate()
print out
except OSError as e:
print "Error creating signed tmp jar: %s" % e.strerror
sys.exit(1)
os.remove(options.jar)
zip_out = ZipFile(options.jar, mode='w')
for tmp in [tmp_1, tmp_2]:
zip_in = ZipFile(tmp, mode='r')
for i in zip_in.filelist:
zip_out.writestr(i, zip_in.read(i.filename))
zip_in.close()
zip_out.close()
os.remove(tmp_1)
os.remove(tmp_2)
print 'Signing jar complete'
+64
View File
@@ -0,0 +1,64 @@
import os, os.path, sys, csv, re, fnmatch, shutil
from optparse import OptionParser
replaced = 0
def main(mcp_dir, targets):
global replaced
packages_csv = os.path.join(mcp_dir, 'conf', 'packages.csv')
if not os.path.isfile(packages_csv):
print 'Could not find Packages.csv, please specify a location of a MCP directory setup with FML using --mcp-dir <path>'
sys.exit(1)
pkgs = {}
with open(packages_csv) as fh:
reader = csv.DictReader(fh)
for line in reader:
pkgs[line['class']] = line['package']
if len(targets) == 0:
print 'You must specify atleast one target directory to repackage'
sys.exit(1)
regnms = re.compile(r'net.minecraft.src.(\w+)')
total_r = 0
total_f = 0
for target in targets:
for path, _, filelist in os.walk(target, followlinks=True):
for cur_file in fnmatch.filter(filelist, '*.java'):
file_name = os.path.join(path, cur_file)
buf = ''
replaced = 0
with open(file_name, 'rb') as fh:
data = fh.read()
def mapname(match):
global replaced
cls = match.group(0)
tmp = cls[18:]
if tmp in pkgs.keys():
replaced += 1
return ('%s/%s' % (pkgs[tmp], tmp)).replace('/', '.')
return cls
data = regnms.sub(mapname, data)
if replaced > 0:
total_r += replaced
total_f += 1
print '%s: %d' % (os.path.relpath(file_name), replaced)
with open(file_name + '.tmp', 'wb') as fh:
fh.write(data)
shutil.move(file_name + '.tmp', file_name)
print 'Fixed %d references in %d files' % (total_r, total_f)
if __name__ == '__main__':
parser = OptionParser()
parser.add_option('-m', '--mcp-dir', action='store', dest='mcp_dir', help='MCP Directory', default='mcp')
options, args = parser.parse_args()
main(os.path.abspath(options.mcp_dir), args)
+21 -3
View File
@@ -1,5 +1,5 @@
[default]
current_ver = 1.4.6
current_ver = s13w02b
base_url = http://s3.amazonaws.com/MinecraftDownload/
libraries = lwjgl.jar lwjgl_util.jar jinput.jar
natives = windows_natives.jar macosx_natives.jar linux_natives.jar
@@ -28,6 +28,24 @@ server_url = http://assets.minecraft.net/1_4_6/minecraft_server.jar
client_md5 = 48677dc4c2b98c29918722b5ab27b4fd
server_md5 = b0700fa969dbf0ff085082cde87384d2
mcp_ver = 7.25
mcp_url = http://files.minecraftforge.net/mcpmirror/mcp725pre1.zip
mcp_md5 = d33dadec14762196ecaa17d74462d90e
mcp_url = http://mcp.ocean-labs.de/files/archive/mcp725.zip
mcp_md5 = a7276589fca4974d40eb4e27ba41ba16
[1.4.7]
client_url = http://assets.minecraft.net/1_4_7/minecraft.jar
server_url = http://assets.minecraft.net/1_4_7/minecraft_server.jar
client_md5 = 8e80fb01b321c6b3c7efca397a3eea35
server_md5 = f69ac4bfce2dfbce03fe872518f75a05
mcp_ver = 7.26
mcp_url = http://mcp.ocean-labs.de/files/archive/mcp726.zip
mcp_md5 = 5320353829c2906bd032649085721d1d
[s13w02b]
client_url = http://assets.minecraft.net/13w02b/minecraft.jar
server_url = http://assets.minecraft.net/13w02b/minecraft_server.jar
client_md5 = 13891f6610b6739ac79f40147cca31d5
server_md5 = b2200cfa5d6535f177d291066d2ed3a8
mcp_ver = 7.30
mcp_url = http://files.minecraftforge.net/mcpmirror/mcp730.zip
mcp_md5 = d89c2cd4db5cfafe4049c082c1d3349c
+1 -1
View File
@@ -1 +1 @@
!ber #net/minecraft/src/CodecMus
!bfv #net/minecraft/src/CodecMus
@@ -1,20 +0,0 @@
--- ../src-base/common/net/minecraft/src/Item.java
+++ ../src-work/common/net/minecraft/src/Item.java
@@ -2,6 +2,9 @@
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
+import cpw.mods.fml.common.registry.GameData;
+import cpw.mods.fml.common.registry.GameRegistry;
+
import java.util.List;
import java.util.Random;
@@ -187,6 +190,7 @@
}
field_77698_e[256 + p_i3659_1_] = this;
+ GameData.newItemAdded(this);
}
public Item func_77665_c(int p_77665_1_)
@@ -12,7 +12,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.awt.BorderLayout;
@@ -120,6 +126,8 @@
@@ -114,6 +120,8 @@
import org.lwjgl.opengl.PixelFormat;
import org.lwjgl.util.glu.GLU;
@@ -21,7 +21,7 @@
@SideOnly(Side.CLIENT)
public abstract class Minecraft implements Runnable, IPlayerUsage
{
@@ -302,6 +310,8 @@
@@ -296,6 +304,8 @@
this.field_71466_p = new FontRenderer(this.field_71474_y, "/font/default.png", this.field_71446_o, false);
this.field_71464_q = new FontRenderer(this.field_71474_y, "/font/alternate.png", this.field_71446_o, false);
@@ -29,8 +29,8 @@
+
if (this.field_71474_y.field_74363_ab != null)
{
StringTranslate.func_74808_a().func_74810_a(this.field_71474_y.field_74363_ab);
@@ -346,6 +356,8 @@
StringTranslate.func_74808_a().func_74810_a(this.field_71474_y.field_74363_ab, false);
@@ -332,6 +342,8 @@
GL11.glViewport(0, 0, this.field_71443_c, this.field_71440_d);
this.field_71452_i = new EffectRenderer(this.field_71441_e, this.field_71446_o);
@@ -39,7 +39,7 @@
try
{
this.field_71430_V = new ThreadDownloadResources(this.field_71412_D, this);
@@ -374,6 +386,8 @@
@@ -360,6 +372,8 @@
{
this.func_71352_k();
}
@@ -48,7 +48,7 @@
}
private void func_71357_I() throws LWJGLException
@@ -738,9 +752,11 @@
@@ -724,9 +738,11 @@
if (!this.field_71454_w)
{
@@ -60,7 +60,7 @@
}
GL11.glFlush();
@@ -1270,10 +1286,14 @@
@@ -1256,10 +1272,14 @@
public void func_71407_l()
{
@@ -75,7 +75,7 @@
this.field_71424_I.func_76320_a("stats");
this.field_71413_E.func_77449_e();
@@ -1730,6 +1750,8 @@
@@ -1717,6 +1737,8 @@
this.field_71453_ak.func_74428_b();
}
@@ -84,7 +84,7 @@
this.field_71424_I.func_76319_b();
this.field_71423_H = func_71386_F();
}
@@ -1768,8 +1790,27 @@
@@ -1755,8 +1777,27 @@
}
this.field_71413_E.func_77450_a(StatList.field_75936_f, 1);
@@ -112,7 +112,7 @@
this.field_71455_al = true;
this.field_71461_s.func_73720_a(StatCollector.func_74838_a("menu.loadingLevel"));
@@ -1984,6 +2025,12 @@
@@ -1978,6 +2019,12 @@
public static void main(String[] p_main_0_)
{
@@ -122,6 +122,6 @@
+ public static void fmlReentry(ArgsWrapper wrapper)
+ {
+ String[] p_main_0_ = wrapper.args;
HashMap var1 = new HashMap();
boolean var2 = false;
boolean var3 = true;
HashMap hashmap = new HashMap();
boolean flag = false;
boolean flag1 = true;
@@ -18,7 +18,7 @@
+ public void fmlInitReentry()
{
this.field_71483_a = new CanvasMinecraftApplet(this);
boolean var1 = "true".equalsIgnoreCase(this.getParameter("fullscreen"));
boolean flag = "true".equalsIgnoreCase(this.getParameter("fullscreen"));
@@ -62,6 +68,11 @@
public void start()
@@ -6,6 +6,6 @@
+ WorldType.field_77139_a[this.field_73916_E].onGUICreateWorldPress();
+
EnumGameType var8 = EnumGameType.func_77142_a(this.field_73927_m);
WorldSettings var6 = new WorldSettings(var2, var8, this.field_73925_n, this.field_73933_r, WorldType.field_77139_a[this.field_73916_E]);
var6.func_82750_a(this.field_82290_a);
EnumGameType enumgametype = EnumGameType.func_77142_a(this.field_73927_m);
WorldSettings worldsettings = new WorldSettings(i, enumgametype, this.field_73925_n, this.field_73933_r, WorldType.field_77139_a[this.field_73916_E]);
worldsettings.func_82750_a(this.field_82290_a);
@@ -27,12 +27,12 @@
@SideOnly(Side.CLIENT)
public class GuiMainMenu extends GuiScreen
@@ -140,7 +146,8 @@
this.func_73969_a(var4, 24, var2);
this.func_73969_a(i, 24, stringtranslate);
}
- this.field_73887_h.add(new GuiButton(3, this.field_73880_f / 2 - 100, var4 + 48, var2.func_74805_b("menu.mods")));
+ this.field_73887_h.add(new GuiButton(3, this.field_73880_f / 2 - 100, var4 + 48, 98, 20, var2.func_74805_b("menu.mods")));
+ this.field_73887_h.add(new GuiButton(6, this.field_73880_f / 2 + 2, var4 + 48, 98, 20, "Mods"));
- this.field_73887_h.add(new GuiButton(3, this.field_73880_f / 2 - 100, i + 48, stringtranslate.func_74805_b("menu.mods")));
+ this.field_73887_h.add(new GuiButton(3, this.field_73880_f / 2 - 100, i + 48, 98, 20, stringtranslate.func_74805_b("menu.mods")));
+ this.field_73887_h.add(new GuiButton(6, this.field_73880_f / 2 + 2, i + 48, 98, 20, "Mods"));
if (this.field_73882_e.field_71448_m)
{
@@ -49,10 +49,10 @@
if (p_73875_1_.field_73741_f == 11)
@@ -460,7 +472,16 @@
var9 = var9 + " Demo";
s = s + " Demo";
}
- this.func_73731_b(this.field_73886_k, var9, 2, this.field_73881_g - 10, 16777215);
- this.func_73731_b(this.field_73886_k, s, 2, this.field_73881_g - 10, 16777215);
+ List<String> brandings = Lists.reverse(FMLCommonHandler.instance().getBrandings());
+ for (int i = 0; i < brandings.size(); i++)
+ {
@@ -63,6 +63,6 @@
+ }
+ }
+
String var10 = "Copyright Mojang AB. Do not distribute!";
this.func_73731_b(this.field_73886_k, var10, this.field_73880_f - this.field_73886_k.func_78256_a(var10) - 2, this.field_73881_g - 10, 16777215);
String s1 = "Copyright Mojang AB. Do not distribute!";
this.func_73731_b(this.field_73886_k, s1, this.field_73880_f - this.field_73886_k.func_78256_a(s1) - 2, this.field_73881_g - 10, 16777215);
@@ -7,7 +7,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.BufferedReader;
@@ -174,11 +175,14 @@
@@ -175,11 +176,14 @@
public int field_72556_d = 20;
Random field_72557_e = new Random();
@@ -16,13 +16,13 @@
public NetClientHandler(Minecraft p_i3103_1_, String p_i3103_2_, int p_i3103_3_) throws IOException
{
this.field_72563_h = p_i3103_1_;
Socket var4 = new Socket(InetAddress.getByName(p_i3103_2_), p_i3103_3_);
this.field_72555_g = new TcpConnection(var4, "Client", this);
Socket socket = new Socket(InetAddress.getByName(p_i3103_2_), p_i3103_3_);
this.field_72555_g = new TcpConnection(socket, "Client", this);
+ FMLNetworkHandler.onClientConnectionToRemoteServer(this, p_i3103_2_, p_i3103_3_, this.field_72555_g);
}
public NetClientHandler(Minecraft p_i3104_1_, IntegratedServer p_i3104_2_) throws IOException
@@ -186,6 +190,7 @@
@@ -187,6 +191,7 @@
this.field_72563_h = p_i3104_1_;
this.field_72555_g = new MemoryConnection(this);
p_i3104_2_.func_71343_a().func_71754_a((MemoryConnection)this.field_72555_g, p_i3104_1_.field_71449_j.field_74286_b);
@@ -30,7 +30,7 @@
}
public void func_72547_c()
@@ -256,6 +261,7 @@
@@ -257,6 +262,7 @@
public void func_72513_a(Packet252SharedKey p_72513_1_)
{
@@ -38,7 +38,7 @@
this.func_72552_c(new Packet205ClientCommand(0));
}
@@ -271,6 +277,7 @@
@@ -272,6 +278,7 @@
this.field_72563_h.field_71439_g.field_70157_k = p_72455_1_.field_73561_a;
this.field_72556_d = p_72455_1_.field_73562_h;
this.field_72563_h.field_71442_b.func_78746_a(p_72455_1_.field_73557_d);
@@ -46,15 +46,23 @@
this.field_72563_h.field_71474_y.func_82879_c();
}
@@ -750,6 +757,7 @@
@@ -704,6 +711,7 @@
{
this.field_72555_g.func_74429_a(p_72546_1_);
this.field_72555_g.func_74423_d();
+ FMLNetworkHandler.onConnectionClosed(this.field_72555_g, this.getPlayer());
}
}
@@ -743,6 +751,7 @@
public void func_72481_a(Packet3Chat p_72481_1_)
{
+ FMLNetworkHandler.onConnectionClosed(this.field_72555_g, this.getPlayer());
+ p_72481_1_ = FMLNetworkHandler.handleChatMessage(this, p_72481_1_);
this.field_72563_h.field_71456_v.func_73827_b().func_73765_a(p_72481_1_.field_73476_b);
}
@@ -1243,6 +1251,11 @@
@@ -1268,6 +1277,11 @@
public void func_72494_a(Packet131MapData p_72494_1_)
{
@@ -66,7 +74,7 @@
if (p_72494_1_.field_73438_a == Item.field_77744_bd.field_77779_bT)
{
ItemMap.func_77874_a(p_72494_1_.field_73436_b, this.field_72563_h.field_71441_e).func_76192_a(p_72494_1_.field_73437_c);
@@ -1352,6 +1365,11 @@
@@ -1377,6 +1391,11 @@
public void func_72501_a(Packet250CustomPayload p_72501_1_)
{
@@ -77,8 +85,8 @@
+ {
if ("MC|TPack".equals(p_72501_1_.field_73630_a))
{
String[] var2 = (new String(p_72501_1_.field_73629_c)).split("\u0000");
@@ -1396,4 +1414,20 @@
String[] astring = (new String(p_72501_1_.field_73629_c)).split("\u0000");
@@ -1421,4 +1440,20 @@
{
return this.field_72555_g;
}
@@ -7,88 +7,3 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
@@ -40,7 +41,12 @@
public void func_78443_a(EntityLiving p_78443_1_, ItemStack p_78443_2_, int p_78443_3_)
{
GL11.glPushMatrix();
- Block var4 = Block.field_71973_m[p_78443_2_.field_77993_c];
+
+ Block var4 = null;
+ if (p_78443_2_.field_77993_c < Block.field_71973_m.length)
+ {
+ var4 = Block.field_71973_m[p_78443_2_.field_77993_c];
+ }
if (var4 != null && RenderBlocks.func_78597_b(var4.func_71857_b()))
{
@@ -136,10 +142,17 @@
float var9;
float var10;
- for (var7 = 0; var7 < 16; ++var7)
- {
- var8 = (float)var7 / 16.0F;
- var9 = p_78439_1_ + (p_78439_3_ - p_78439_1_) * var8 - 0.001953125F;
+ /* Gets the width/16 of the currently bound texture, used
+ * to fix the side rendering issues on textures != 16 */
+ int tileSize = TextureFXManager.instance().getTextureDimensions(GL11.glGetInteger(GL11.GL_TEXTURE_BINDING_2D)).width / 16;
+
+ float tx = 1.0f / (32 * tileSize);
+ float tz = 1.0f / tileSize;
+
+ for (var7 = 0; var7 < tileSize; ++var7)
+ {
+ var8 = (float)var7 / tileSize;
+ var9 = p_78439_1_ + (p_78439_3_ - p_78439_1_) * var8 - tx;
var10 = var6 * var8;
p_78439_0_.func_78374_a((double)var10, 0.0D, (double)(0.0F - p_78439_5_), (double)var9, (double)p_78439_4_);
p_78439_0_.func_78374_a((double)var10, 0.0D, 0.0D, (double)var9, (double)p_78439_4_);
@@ -151,11 +164,11 @@
p_78439_0_.func_78382_b();
p_78439_0_.func_78375_b(1.0F, 0.0F, 0.0F);
- for (var7 = 0; var7 < 16; ++var7)
- {
- var8 = (float)var7 / 16.0F;
- var9 = p_78439_1_ + (p_78439_3_ - p_78439_1_) * var8 - 0.001953125F;
- var10 = var6 * var8 + 0.0625F;
+ for (var7 = 0; var7 < tileSize; ++var7)
+ {
+ var8 = (float)var7 / tileSize;
+ var9 = p_78439_1_ + (p_78439_3_ - p_78439_1_) * var8 - tx;
+ var10 = var6 * var8 + tz;
p_78439_0_.func_78374_a((double)var10, 1.0D, (double)(0.0F - p_78439_5_), (double)var9, (double)p_78439_2_);
p_78439_0_.func_78374_a((double)var10, 1.0D, 0.0D, (double)var9, (double)p_78439_2_);
p_78439_0_.func_78374_a((double)var10, 0.0D, 0.0D, (double)var9, (double)p_78439_4_);
@@ -166,11 +179,11 @@
p_78439_0_.func_78382_b();
p_78439_0_.func_78375_b(0.0F, 1.0F, 0.0F);
- for (var7 = 0; var7 < 16; ++var7)
- {
- var8 = (float)var7 / 16.0F;
- var9 = p_78439_4_ + (p_78439_2_ - p_78439_4_) * var8 - 0.001953125F;
- var10 = var6 * var8 + 0.0625F;
+ for (var7 = 0; var7 < tileSize; ++var7)
+ {
+ var8 = (float)var7 / tileSize;
+ var9 = p_78439_4_ + (p_78439_2_ - p_78439_4_) * var8 - tx;
+ var10 = var6 * var8 + tz;
p_78439_0_.func_78374_a(0.0D, (double)var10, 0.0D, (double)p_78439_1_, (double)var9);
p_78439_0_.func_78374_a((double)var6, (double)var10, 0.0D, (double)p_78439_3_, (double)var9);
p_78439_0_.func_78374_a((double)var6, (double)var10, (double)(0.0F - p_78439_5_), (double)p_78439_3_, (double)var9);
@@ -181,10 +194,10 @@
p_78439_0_.func_78382_b();
p_78439_0_.func_78375_b(0.0F, -1.0F, 0.0F);
- for (var7 = 0; var7 < 16; ++var7)
- {
- var8 = (float)var7 / 16.0F;
- var9 = p_78439_4_ + (p_78439_2_ - p_78439_4_) * var8 - 0.001953125F;
+ for (var7 = 0; var7 < tileSize; ++var7)
+ {
+ var8 = (float)var7 / tileSize;
+ var9 = p_78439_4_ + (p_78439_2_ - p_78439_4_) * var8 - tx;
var10 = var6 * var8;
p_78439_0_.func_78374_a((double)var6, (double)var10, 0.0D, (double)p_78439_3_, (double)var9);
p_78439_0_.func_78374_a(0.0D, (double)var10, 0.0D, (double)p_78439_1_, (double)var9);
@@ -1,20 +1,20 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/RenderBlocks.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/RenderBlocks.java
@@ -29,6 +29,7 @@
@@ -34,6 +34,7 @@
import net.minecraft.block.BlockWall;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
+import net.minecraft.src.FMLRenderAccessLibrary;
import net.minecraft.util.Direction;
import net.minecraft.util.Icon;
import net.minecraft.util.MathHelper;
import net.minecraft.util.Vec3;
@@ -215,7 +216,82 @@
int var5 = p_78612_1_.func_71857_b();
@@ -231,7 +232,84 @@
int l = p_78612_1_.func_71857_b();
p_78612_1_.func_71902_a(this.field_78669_a, p_78612_2_, p_78612_3_, p_78612_4_);
this.func_83018_a(p_78612_1_);
- return var5 == 0 ? this.func_78570_q(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 31 ? this.func_78581_r(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 4 ? this.func_78621_p(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 13 ? this.func_78584_s(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 1 ? this.func_78620_l(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 19 ? this.func_78603_m(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 23 ? this.func_78566_o(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 6 ? this.func_78614_n(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 2 ? this.func_78572_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 3 ? this.func_78590_h(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 5 ? this.func_78589_i(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 8 ? this.func_78576_j(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 7 ? this.func_78601_u(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 9 ? this.func_78586_a((BlockRail)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 10 ? this.func_78565_t((BlockStairs)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 27 ? this.func_78618_a((BlockDragonEgg)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 11 ? this.func_78582_a((BlockFence)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 32 ? this.func_82779_a((BlockWall)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 12 ? this.func_78594_e(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 29 ? this.func_78577_f(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 30 ? this.func_78619_g(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 14 ? this.func_78574_w(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 15 ? this.func_78610_x(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 16 ? this.func_78593_b(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, false) : (var5 == 17 ? this.func_78608_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, true) : (var5 == 18 ? this.func_78592_a((BlockPane)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 20 ? this.func_78598_k(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 21 ? this.func_78580_a((BlockFenceGate)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 24 ? this.func_78615_a((BlockCauldron)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 33 ? this.func_82780_a((BlockFlowerPot)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 35 ? this.func_82775_a((BlockAnvil)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 25 ? this.func_78585_a((BlockBrewingStand)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 26 ? this.func_78567_v(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 28 ? this.func_78616_a((BlockCocoa)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 34 ? this.func_82778_a((BlockBeacon)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : false))))))))))))))))))))))))))))))))));
- return l == 0 ? this.func_78570_q(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 31 ? this.func_78581_r(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 4 ? this.func_78621_p(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 13 ? this.func_78584_s(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 1 ? this.func_78620_l(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 19 ? this.func_78603_m(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 23 ? this.func_78566_o(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 6 ? this.func_78614_n(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 2 ? this.func_78572_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 3 ? this.func_78590_h((BlockFire)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 5 ? this.func_78589_i(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 8 ? this.func_78576_j(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 7 ? this.func_78601_u(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 9 ? this.func_78586_a((BlockBaseRail)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 10 ? this.func_78565_t((BlockStairs)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 27 ? this.func_78618_a((BlockDragonEgg)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 11 ? this.func_78582_a((BlockFence)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 32 ? this.func_82779_a((BlockWall)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 12 ? this.func_78594_e(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 29 ? this.func_78577_f(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 30 ? this.func_78619_g(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 14 ? this.func_78574_w(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 15 ? this.func_94176_a((BlockRepeater)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 36 ? this.func_78610_x((BlockRedstoneRepeater)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 37 ? this.func_94171_a((BlockComparator)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 16 ? this.func_78593_b(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, false) : (l == 17 ? this.func_78608_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, true) : (l == 18 ? this.func_78592_a((BlockPane)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 20 ? this.func_78598_k(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 21 ? this.func_78580_a((BlockFenceGate)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 24 ? this.func_78615_a((BlockCauldron)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 33 ? this.func_82780_a((BlockFlowerPot)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 35 ? this.func_82775_a((BlockAnvil)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 25 ? this.func_78585_a((BlockBrewingStand)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 26 ? this.func_94168_a((BlockEndPortalFrame)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 28 ? this.func_78616_a((BlockCocoa)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 34 ? this.func_82778_a((BlockBeacon)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 38 ? this.func_94172_a((BlockHopper)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : false)))))))))))))))))))))))))))))))))))));
+
+ switch (var5)
+ switch (l)
+ {
+ case 0:
+ return this.func_78570_q(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
@@ -35,7 +35,7 @@
+ case 2:
+ return this.func_78572_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 3:
+ return this.func_78590_h(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ return this.func_78590_h((BlockFire)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 5:
+ return this.func_78589_i(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 8:
@@ -43,7 +43,7 @@
+ case 7:
+ return this.func_78601_u(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 9:
+ return this.func_78586_a((BlockRail)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ return this.func_78586_a((BlockBaseRail)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 10:
+ return this.func_78565_t((BlockStairs)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 27:
@@ -61,7 +61,7 @@
+ case 14:
+ return this.func_78574_w(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 15:
+ return this.func_78610_x(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ return this.func_94176_a((BlockRepeater)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 16:
+ return this.func_78593_b(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, false);
+ case 17:
@@ -81,29 +81,31 @@
+ case 25:
+ return this.func_78585_a((BlockBrewingStand)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 26:
+ return this.func_78567_v(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ return this.func_94168_a((BlockEndPortalFrame)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 28:
+ return this.func_78616_a((BlockCocoa)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 34:
+ return this.func_82778_a((BlockBeacon)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 38:
+ return this.func_94172_a((BlockHopper)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ default:
+ return FMLRenderAccessLibrary.renderWorldBlock(this, field_78669_a, p_78612_2_, p_78612_3_, p_78612_4_, p_78612_1_, var5);
+ return FMLRenderAccessLibrary.renderWorldBlock(this, field_78669_a, p_78612_2_, p_78612_3_, p_78612_4_, p_78612_1_, l);
+ }
}
public boolean func_78567_v(Block p_78567_1_, int p_78567_2_, int p_78567_3_, int p_78567_4_)
@@ -6541,6 +6617,10 @@
public boolean func_94168_a(BlockEndPortalFrame p_94168_1_, int p_94168_2_, int p_94168_3_, int p_94168_4_)
@@ -6623,6 +6701,10 @@
this.func_83020_a(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
this.func_78595_a();
}
+ else
+ {
+ FMLRenderAccessLibrary.renderInventoryBlock(this, p_78600_1_, p_78600_2_, var6);
+ FMLRenderAccessLibrary.renderInventoryBlock(this, p_78600_1_, p_78600_2_, j);
+ }
}
else
{
@@ -6599,6 +6679,36 @@
@@ -6681,7 +6763,37 @@
public static boolean func_78597_b(int p_78597_0_)
{
@@ -140,4 +142,5 @@
+ return FMLRenderAccessLibrary.renderItemAsFull3DBlock(p_78597_0_);
+ }
}
}
public Icon func_94170_a(Block p_94170_1_, IBlockAccess p_94170_2_, int p_94170_3_, int p_94170_4_, int p_94170_5_, int p_94170_6_)
@@ -12,128 +12,58 @@
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
@@ -15,6 +18,9 @@
@@ -13,6 +16,9 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
import javax.imageio.ImageIO;
import net.minecraft.client.renderer.texturefx.TextureFX;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.settings.GameSettings;
@@ -39,6 +45,8 @@
public TexturePackList field_78366_k;
private BufferedImage field_78364_l = new BufferedImage(64, 64, 2);
private final TextureMap field_94155_m;
private int field_94153_n;
+ public static Logger log = FMLLog.getLogger();
+
public RenderEngine(TexturePackList p_i3192_1_, GameSettings p_i3192_2_)
{
this.field_78366_k = p_i3192_1_;
@@ -102,8 +110,9 @@
this.field_78359_d.put(p_78346_1_, var7);
return var7;
@@ -117,8 +125,9 @@
this.field_78359_d.put(p_78346_1_, aint1);
return aint1;
}
- catch (IOException var6)
- catch (IOException ioexception)
- {
+ catch (Exception var6)
+ catch (Exception ioexception)
+ {
+ log.log(Level.INFO, String.format("An error occured reading texture file %s (getTexture)", p_78346_1_), var6);
var6.printStackTrace();
int[] var5 = this.func_78348_b(this.field_78364_l);
this.field_78359_d.put(p_78346_1_, var5);
@@ -250,6 +259,7 @@
int var3 = p_78351_1_.getWidth();
int var4 = p_78351_1_.getHeight();
+ TextureFXManager.instance().setTextureDimensions(p_78351_2_, var3, var4, (List<TextureFX>)field_78367_h);
int[] var5 = new int[var3 * var4];
byte[] var6 = new byte[var3 * var4 * 4];
p_78351_1_.getRGB(0, 0, var3, var4, var5, 0, var3);
@@ -410,6 +420,7 @@
public void func_78355_a(TextureFX p_78355_1_)
{
+ TextureFXManager.instance().onPreRegisterEffect(p_78355_1_);
this.field_78367_h.add(p_78355_1_);
p_78355_1_.func_76846_a();
}
@@ -422,28 +433,44 @@
{
TextureFX var3 = (TextureFX)this.field_78367_h.get(var2);
var3.field_76851_c = this.field_78365_j.field_74337_g;
- var3.func_76846_a();
- var1 = this.func_82772_a(var3, var1);
+ if (TextureFXManager.instance().onUpdateTextureEffect(var3))
+ {
+ var1 = this.func_82772_a(var3, var1);
+ }
}
}
public int func_82772_a(TextureFX p_82772_1_, int p_82772_2_)
{
- this.field_78358_g.clear();
- this.field_78358_g.put(p_82772_1_.field_76852_a);
- this.field_78358_g.position(0).limit(p_82772_1_.field_76852_a.length);
-
- if (p_82772_1_.field_76850_b != p_82772_2_)
+ Dimension dim = TextureFXManager.instance().getTextureDimensions(p_82772_1_);
+ int tWidth = dim.width >> 4;
+ int tHeight = dim.height >> 4;
+ int tLen = tWidth * tHeight << 2;
+
+ if (p_82772_1_.field_76852_a.length == tLen)
+ {
+ this.field_78358_g.clear();
+ this.field_78358_g.put(p_82772_1_.field_76852_a);
+ this.field_78358_g.position(0).limit(p_82772_1_.field_76852_a.length);
+ }
+ else
+ {
+ TextureFXManager.instance().scaleTextureFXData(p_82772_1_.field_76852_a, field_78358_g, tWidth, tLen);
+ }
+
+ if (p_82772_1_.field_76848_d != p_82772_2_)
{
p_82772_1_.func_76845_a(this);
- p_82772_2_ = p_82772_1_.field_76850_b;
+ p_82772_2_ = p_82772_1_.field_76848_d;
}
for (int var3 = 0; var3 < p_82772_1_.field_76849_e; ++var3)
{
+ int xOffset = p_82772_1_.field_76850_b % 16 * tWidth + var3 * tWidth;
for (int var4 = 0; var4 < p_82772_1_.field_76849_e; ++var4)
{
- GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, p_82772_1_.field_76850_b % 16 * 16 + var3 * 16, p_82772_1_.field_76850_b / 16 * 16 + var4 * 16, 16, 16, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, this.field_78358_g);
+ int yOffset = p_82772_1_.field_76850_b / 16 * tHeight + var4 * tHeight;
+ GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, xOffset, yOffset, tWidth, tHeight, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, this.field_78358_g);
}
}
@@ -509,8 +536,9 @@
+ log.log(Level.INFO, String.format("An error occured reading texture file %s (getTexture)", p_78346_1_), ioexception);
ioexception.printStackTrace();
int[] aint2 = this.func_78348_b(this.field_78364_l);
this.field_78359_d.put(p_78346_1_, aint2);
@@ -505,8 +514,9 @@
this.field_78361_b = false;
this.field_78363_a = false;
}
- catch (IOException var7)
- catch (IOException ioexception)
- {
+ catch (Exception var7)
+ catch (Exception ioexception)
+ {
+ log.log(Level.INFO,String.format("An error occured reading texture file %s (refreshTexture)", var9), var7);
var7.printStackTrace();
+ log.log(Level.INFO,String.format("An error occured reading texture file %s (refreshTexture)", s), ioexception);
ioexception.printStackTrace();
}
}
@@ -546,8 +574,9 @@
@@ -542,8 +552,9 @@
this.field_78361_b = false;
this.field_78363_a = false;
}
- catch (IOException var6)
- catch (IOException ioexception1)
- {
+ catch (Exception var6)
+ catch (Exception ioexception1)
+ {
+ log.log(Level.INFO,String.format("An error occured reading texture file data %s (refreshTexture)", var9), var6);
var6.printStackTrace();
+ log.log(Level.INFO,String.format("An error occured reading texture file data %s (refreshTexture)", s), ioexception1);
ioexception1.printStackTrace();
}
}
@@ -1,102 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureCompassFX.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureCompassFX.java
@@ -1,5 +1,6 @@
package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.awt.image.BufferedImage;
@@ -10,13 +11,17 @@
import net.minecraft.util.ChunkCoordinates;
@SideOnly(Side.CLIENT)
-public class TextureCompassFX extends TextureFX
+public class TextureCompassFX extends FMLTextureFX
{
private Minecraft field_76865_g;
private int[] field_76867_h = new int[256];
public double field_76868_i;
public double field_76866_j;
public static TextureCompassFX field_82391_c;
+ public static int stileSizeBase = 16;
+ public static int stileSizeSquare = 256;
+ public static int stileSizeMask = 15;
+ public static int stileSizeSquareMask = 255;
public TextureCompassFX(Minecraft p_i3212_1_)
{
@@ -24,12 +29,25 @@
this.field_76865_g = p_i3212_1_;
this.field_76847_f = 1;
+ setup();
+ }
+
+ @Override
+ public void setup()
+ {
+ super.setup();
+ stileSizeBase = tileSizeBase;
+ stileSizeSquare = tileSizeSquare;
+ stileSizeMask = tileSizeMask;
+ stileSizeSquareMask = tileSizeSquareMask;
+ field_76867_h = new int[tileSizeSquare];
+
try
{
- BufferedImage var2 = ImageIO.read(Minecraft.class.getResource("/gui/items.png"));
- int var3 = this.field_76850_b % 16 * 16;
- int var4 = this.field_76850_b / 16 * 16;
- var2.getRGB(var3, var4, 16, 16, this.field_76867_h, 0, 16);
+ BufferedImage var2 = ImageIO.read(field_76865_g.field_71418_C.func_77292_e().func_77532_a("/gui/items.png"));
+ int var3 = this.field_76850_b % 16 * tileSizeBase;
+ int var4 = this.field_76850_b / 16 * tileSizeBase;
+ var2.getRGB(var3, var4, tileSizeBase, tileSizeBase, this.field_76867_h, 0, tileSizeBase);
}
catch (IOException var5)
{
@@ -58,7 +76,7 @@
int var17;
int var16;
- for (int var10 = 0; var10 < 256; ++var10)
+ for (int var10 = 0; var10 < stileSizeSquare; ++var10)
{
int var11 = var8[var10] >> 24 & 255;
int var12 = var8[var10] >> 16 & 255;
@@ -141,11 +159,11 @@
int var24;
int var26;
- for (var16 = -4; var16 <= 4; ++var16)
- {
- var17 = (int)(8.5D + var31 * (double)var16 * 0.3D);
- var18 = (int)(7.5D - var30 * (double)var16 * 0.3D * 0.5D);
- var19 = var18 * 16 + var17;
+ for (var16 = -(stileSizeBase >> 2); var16 <= (stileSizeBase >> 2); ++var16)
+ {
+ var17 = (int)((stileSizeBase >> 1) + 0.5D + var31 * (double)var16 * 0.3D);
+ var18 = (int)((stileSizeBase >> 1) - 0.5D - var30 * (double)var16 * 0.3D * 0.5D);
+ var19 = var18 * stileSizeBase + var17;
var20 = 100;
var21 = 100;
var22 = 100;
@@ -167,11 +185,12 @@
var9[var19 * 4 + 3] = (byte)var23;
}
- for (var16 = -8; var16 <= 16; ++var16)
- {
- var17 = (int)(8.5D + var30 * (double)var16 * 0.3D);
- var18 = (int)(7.5D + var31 * (double)var16 * 0.3D * 0.5D);
- var19 = var18 * 16 + var17;
+
+ for (var16 = -(stileSizeBase>>2); var16 <= stileSizeBase; ++var16)
+ {
+ var17 = (int)((stileSizeBase >> 1) + 0.5D + var30 * (double)var16 * 0.3D);
+ var18 = (int)((stileSizeBase >> 1) - 0.5D + var31 * (double)var16 * 0.3D * 0.5D);
+ var19 = var18 * stileSizeBase + var17;
var20 = var16 >= 0 ? 255 : 100;
var21 = var16 >= 0 ? 20 : 100;
var22 = var16 >= 0 ? 20 : 100;
@@ -1,89 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureFlamesFX.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureFlamesFX.java
@@ -1,18 +1,32 @@
package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
@SideOnly(Side.CLIENT)
-public class TextureFlamesFX extends TextureFX
+public class TextureFlamesFX extends FMLTextureFX
{
protected float[] field_76869_g = new float[320];
protected float[] field_76870_h = new float[320];
+ private int fireTileSize = 20;
+ private int fireGridSize = 320;
public TextureFlamesFX(int p_i3215_1_)
{
super(Block.field_72067_ar.field_72059_bZ + p_i3215_1_ * 16);
+ setup();
+ }
+
+ @Override
+ public void setup()
+ {
+ super.setup();
+ fireTileSize = tileSizeBase + (tileSizeBase >> 2);
+ fireGridSize = fireTileSize * tileSizeBase;
+ field_76869_g = new float[fireGridSize];
+ field_76870_h = new float[fireGridSize];
}
public void func_76846_a()
@@ -20,32 +34,34 @@
int var3;
float var4;
int var6;
+ float fireFactor1 = 3.0F + (float)(tileSizeBase >> 4);
+ float fireFactor2 = 1.01F + (0.8F / tileSizeBase);
- for (int var1 = 0; var1 < 16; ++var1)
+ for (int var1 = 0; var1 < tileSizeBase; ++var1)
{
- for (int var2 = 0; var2 < 20; ++var2)
+ for (int var2 = 0; var2 < fireTileSize; ++var2)
{
- var3 = 18;
- var4 = this.field_76869_g[var1 + (var2 + 1) % 20 * 16] * (float)var3;
+ var3 = fireTileSize - (tileSizeBase >> 3);
+ var4 = this.field_76869_g[var1 + (var2 + 1) % fireTileSize * tileSizeBase] * (float)var3;
for (int var5 = var1 - 1; var5 <= var1 + 1; ++var5)
{
for (var6 = var2; var6 <= var2 + 1; ++var6)
{
- if (var5 >= 0 && var6 >= 0 && var5 < 16 && var6 < 20)
+ if (var5 >= 0 && var6 >= 0 && var5 < tileSizeBase && var6 < fireTileSize)
{
- var4 += this.field_76869_g[var5 + var6 * 16];
+ var4 += this.field_76869_g[var5 + var6 * tileSizeBase];
}
++var3;
}
}
- this.field_76870_h[var1 + var2 * 16] = var4 / ((float)var3 * 1.0600001F);
+ this.field_76870_h[var1 + var2 * tileSizeBase] = var4 / ((float)var3 * fireFactor2);
- if (var2 >= 19)
+ if (var2 >= fireTileSize - (tileSizeBase >> 4))
{
- this.field_76870_h[var1 + var2 * 16] = (float)(Math.random() * Math.random() * Math.random() * 4.0D + Math.random() * 0.10000000149011612D + 0.20000000298023224D);
+ this.field_76870_h[var1 + var2 * tileSizeBase] = (float)(Math.random() * Math.random() * Math.random() * fireFactor1 + Math.random() * 0.1F + 0.2F);
}
}
}
@@ -54,7 +70,7 @@
this.field_76870_h = this.field_76869_g;
this.field_76869_g = var13;
- for (var3 = 0; var3 < 256; ++var3)
+ for (var3 = 0; var3 < tileSizeSquare; ++var3)
{
var4 = this.field_76869_g[var3] * 1.8F;
@@ -1,91 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFX.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFX.java
@@ -1,12 +1,13 @@
package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.util.MathHelper;
@SideOnly(Side.CLIENT)
-public class TextureLavaFX extends TextureFX
+public class TextureLavaFX extends FMLTextureFX
{
protected float[] field_76876_g = new float[256];
protected float[] field_76878_h = new float[256];
@@ -16,6 +17,17 @@
public TextureLavaFX()
{
super(Block.field_71944_C.field_72059_bZ);
+ setup();
+ }
+
+ @Override
+ public void setup()
+ {
+ super.setup();
+ field_76876_g = new float[tileSizeSquare];
+ field_76878_h = new float[tileSizeSquare];
+ field_76879_i = new float[tileSizeSquare];
+ field_76877_j = new float[tileSizeSquare];
}
public void func_76846_a()
@@ -28,9 +40,9 @@
int var8;
int var9;
- for (int var1 = 0; var1 < 16; ++var1)
+ for (int var1 = 0; var1 < tileSizeBase; ++var1)
{
- for (var2 = 0; var2 < 16; ++var2)
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
{
var3 = 0.0F;
int var4 = (int)(MathHelper.func_76126_a((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F);
@@ -40,25 +52,25 @@
{
for (var7 = var2 - 1; var7 <= var2 + 1; ++var7)
{
- var8 = var6 + var4 & 15;
- var9 = var7 + var5 & 15;
- var3 += this.field_76876_g[var8 + var9 * 16];
+ var8 = var6 + var4 & tileSizeMask;
+ var9 = var7 + var5 & tileSizeMask;
+ var3 += this.field_76876_g[var8 + var9 * tileSizeBase];
}
}
- this.field_76878_h[var1 + var2 * 16] = var3 / 10.0F + (this.field_76879_i[(var1 + 0 & 15) + (var2 + 0 & 15) * 16] + this.field_76879_i[(var1 + 1 & 15) + (var2 + 0 & 15) * 16] + this.field_76879_i[(var1 + 1 & 15) + (var2 + 1 & 15) * 16] + this.field_76879_i[(var1 + 0 & 15) + (var2 + 1 & 15) * 16]) / 4.0F * 0.8F;
- this.field_76879_i[var1 + var2 * 16] += this.field_76877_j[var1 + var2 * 16] * 0.01F;
+ this.field_76878_h[var1 + var2 * tileSizeBase] = var3 / 10.0F + (this.field_76879_i[(var1 + 0 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_76879_i[(var1 + 1 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_76879_i[(var1 + 1 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase] + this.field_76879_i[(var1 + 0 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase]) / 4.0F * 0.8F;
+ this.field_76879_i[var1 + var2 * tileSizeBase] += this.field_76877_j[var1 + var2 * tileSizeBase] * 0.01F;
- if (this.field_76879_i[var1 + var2 * 16] < 0.0F)
+ if (this.field_76879_i[var1 + var2 * tileSizeBase] < 0.0F)
{
- this.field_76879_i[var1 + var2 * 16] = 0.0F;
+ this.field_76879_i[var1 + var2 * tileSizeBase] = 0.0F;
}
- this.field_76877_j[var1 + var2 * 16] -= 0.06F;
+ this.field_76877_j[var1 + var2 * tileSizeBase] -= 0.06F;
if (Math.random() < 0.005D)
{
- this.field_76877_j[var1 + var2 * 16] = 1.5F;
+ this.field_76877_j[var1 + var2 * tileSizeBase] = 1.5F;
}
}
}
@@ -67,7 +79,7 @@
this.field_76878_h = this.field_76876_g;
this.field_76876_g = var11;
- for (var2 = 0; var2 < 256; ++var2)
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
{
var3 = this.field_76876_g[var2] * 2.0F;
@@ -1,95 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFlowFX.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFlowFX.java
@@ -1,12 +1,13 @@
package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.util.MathHelper;
@SideOnly(Side.CLIENT)
-public class TextureLavaFlowFX extends TextureFX
+public class TextureLavaFlowFX extends FMLTextureFX
{
protected float[] field_76871_g = new float[256];
protected float[] field_76874_h = new float[256];
@@ -18,6 +19,18 @@
{
super(Block.field_71944_C.field_72059_bZ + 1);
this.field_76849_e = 2;
+ setup();
+ }
+
+ @Override
+ public void setup()
+ {
+ super.setup();
+ field_76871_g = new float[tileSizeSquare];
+ field_76874_h = new float[tileSizeSquare];
+ field_76875_i = new float[tileSizeSquare];
+ field_76872_j = new float[tileSizeSquare];
+ field_76873_k = 0;
}
public void func_76846_a()
@@ -31,9 +44,9 @@
int var8;
int var9;
- for (int var1 = 0; var1 < 16; ++var1)
+ for (int var1 = 0; var1 < tileSizeBase; ++var1)
{
- for (var2 = 0; var2 < 16; ++var2)
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
{
var3 = 0.0F;
int var4 = (int)(MathHelper.func_76126_a((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F);
@@ -43,25 +56,25 @@
{
for (var7 = var2 - 1; var7 <= var2 + 1; ++var7)
{
- var8 = var6 + var4 & 15;
- var9 = var7 + var5 & 15;
- var3 += this.field_76871_g[var8 + var9 * 16];
+ var8 = var6 + var4 & tileSizeMask;
+ var9 = var7 + var5 & tileSizeMask;
+ var3 += this.field_76871_g[var8 + var9 * tileSizeBase];
}
}
- this.field_76874_h[var1 + var2 * 16] = var3 / 10.0F + (this.field_76875_i[(var1 + 0 & 15) + (var2 + 0 & 15) * 16] + this.field_76875_i[(var1 + 1 & 15) + (var2 + 0 & 15) * 16] + this.field_76875_i[(var1 + 1 & 15) + (var2 + 1 & 15) * 16] + this.field_76875_i[(var1 + 0 & 15) + (var2 + 1 & 15) * 16]) / 4.0F * 0.8F;
- this.field_76875_i[var1 + var2 * 16] += this.field_76872_j[var1 + var2 * 16] * 0.01F;
+ this.field_76874_h[var1 + var2 * tileSizeBase] = var3 / 10.0F + (this.field_76875_i[(var1 + 0 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_76875_i[(var1 + 1 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_76875_i[(var1 + 1 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase] + this.field_76875_i[(var1 + 0 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase]) / 4.0F * 0.8F;
+ this.field_76875_i[var1 + var2 * tileSizeBase] += this.field_76872_j[var1 + var2 * tileSizeBase] * 0.01F;
- if (this.field_76875_i[var1 + var2 * 16] < 0.0F)
+ if (this.field_76875_i[var1 + var2 * tileSizeBase] < 0.0F)
{
- this.field_76875_i[var1 + var2 * 16] = 0.0F;
+ this.field_76875_i[var1 + var2 * tileSizeBase] = 0.0F;
}
- this.field_76872_j[var1 + var2 * 16] -= 0.06F;
+ this.field_76872_j[var1 + var2 * tileSizeBase] -= 0.06F;
if (Math.random() < 0.005D)
{
- this.field_76872_j[var1 + var2 * 16] = 1.5F;
+ this.field_76872_j[var1 + var2 * tileSizeBase] = 1.5F;
}
}
}
@@ -70,9 +83,9 @@
this.field_76874_h = this.field_76871_g;
this.field_76871_g = var11;
- for (var2 = 0; var2 < 256; ++var2)
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
{
- var3 = this.field_76871_g[var2 - this.field_76873_k / 3 * 16 & 255] * 2.0F;
+ var3 = this.field_76871_g[(var2 - this.field_76873_k / 3 * tileSizeBase) & tileSizeSquareMask] * 2.0F;
if (var3 > 1.0F)
{
@@ -1,75 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TexturePortalFX.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TexturePortalFX.java
@@ -1,5 +1,6 @@
package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Random;
@@ -7,31 +8,39 @@
import net.minecraft.util.MathHelper;
@SideOnly(Side.CLIENT)
-public class TexturePortalFX extends TextureFX
+public class TexturePortalFX extends FMLTextureFX
{
private int field_76853_g = 0;
- private byte[][] field_76854_h = new byte[32][1024];
+ private byte[][] field_76854_h;
public TexturePortalFX()
{
super(Block.field_72015_be.field_72059_bZ);
+ setup();
+ }
+
+ @Override
+ public void setup()
+ {
+ super.setup();
+ field_76854_h = new byte[32][tileSizeSquare << 4];
Random var1 = new Random(100L);
for (int var2 = 0; var2 < 32; ++var2)
{
- for (int var3 = 0; var3 < 16; ++var3)
+ for (int var3 = 0; var3 < tileSizeBase; ++var3)
{
- for (int var4 = 0; var4 < 16; ++var4)
+ for (int var4 = 0; var4 < tileSizeBase; ++var4)
{
float var5 = 0.0F;
int var6;
for (var6 = 0; var6 < 2; ++var6)
{
- float var7 = (float)(var6 * 16) * 0.5F;
- float var8 = (float)(var6 * 16) * 0.5F;
- float var9 = ((float)var3 - var7) / 16.0F * 2.0F;
- float var10 = ((float)var4 - var8) / 16.0F * 2.0F;
+ float var7 = (float)(var6 * tileSizeBase) * 0.5F;
+ float var8 = (float)(var6 * tileSizeBase) * 0.5F;
+ float var9 = ((float)var3 - var7) / (float)tileSizeBase * 2.0F;
+ float var10 = ((float)var4 - var8) / (float)tileSizeBase * 2.0F;
if (var9 < -1.0F)
{
@@ -65,7 +74,7 @@
int var13 = (int)(var5 * var5 * 200.0F + 55.0F);
int var14 = (int)(var5 * var5 * var5 * var5 * 255.0F);
int var15 = (int)(var5 * 100.0F + 155.0F);
- int var16 = var4 * 16 + var3;
+ int var16 = var4 * tileSizeBase + var3;
this.field_76854_h[var2][var16 * 4 + 0] = (byte)var13;
this.field_76854_h[var2][var16 * 4 + 1] = (byte)var14;
this.field_76854_h[var2][var16 * 4 + 2] = (byte)var6;
@@ -80,7 +89,7 @@
++this.field_76853_g;
byte[] var1 = this.field_76854_h[this.field_76853_g & 31];
- for (int var2 = 0; var2 < 256; ++var2)
+ for (int var2 = 0; var2 < tileSizeSquare; ++var2)
{
int var3 = var1[var2 * 4 + 0] & 255;
int var4 = var1[var2 * 4 + 1] & 255;
@@ -1,99 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureWatchFX.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureWatchFX.java
@@ -1,15 +1,21 @@
package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
+import java.awt.image.ImageObserver;
import java.io.IOException;
+import java.util.logging.Level;
+
import javax.imageio.ImageIO;
import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
@SideOnly(Side.CLIENT)
-public class TextureWatchFX extends TextureFX
+public class TextureWatchFX extends FMLTextureFX
{
private Minecraft field_76860_g;
private int[] field_76863_h = new int[256];
@@ -22,19 +28,39 @@
super(Item.field_77752_aS.func_77617_a(0));
this.field_76860_g = p_i3214_1_;
this.field_76847_f = 1;
+ setup();
+ }
+
+ @Override
+ public void setup()
+ {
+ super.setup();
+ field_76863_h = new int[tileSizeSquare];
+ field_76864_i = new int[tileSizeSquare];
try
{
- BufferedImage var2 = ImageIO.read(Minecraft.class.getResource("/gui/items.png"));
- int var3 = this.field_76850_b % 16 * 16;
- int var4 = this.field_76850_b / 16 * 16;
- var2.getRGB(var3, var4, 16, 16, this.field_76863_h, 0, 16);
- var2 = ImageIO.read(Minecraft.class.getResource("/misc/dial.png"));
- var2.getRGB(0, 0, 16, 16, this.field_76864_i, 0, 16);
+ BufferedImage var2 = ImageIO.read(field_76860_g.field_71418_C.func_77292_e().func_77532_a("/gui/items.png"));
+ int var3 = this.field_76850_b % 16 * tileSizeBase;
+ int var4 = this.field_76850_b / 16 * tileSizeBase;
+ var2.getRGB(var3, var4, tileSizeBase, tileSizeBase, this.field_76863_h, 0, tileSizeBase);
+ var2 = ImageIO.read(field_76860_g.field_71418_C.func_77292_e().func_77532_a("/misc/dial.png"));
+ if (var2.getWidth() != tileSizeBase)
+ {
+ BufferedImage tmp = new BufferedImage(tileSizeBase, tileSizeBase, 6);
+ Graphics2D gfx = tmp.createGraphics();
+ gfx.drawImage(var2, 0, 0, tileSizeBase, tileSizeBase, 0, 0, var2.getWidth(), var2.getHeight(), (ImageObserver)null);
+ gfx.dispose();
+ var2 = tmp;
+ }
+
+ var2.getRGB(0, 0, tileSizeBase, tileSizeBase, this.field_76864_i, 0, tileSizeBase);
}
- catch (IOException var5)
+ catch (Exception var5)
{
var5.printStackTrace();
+ log.log(Level.WARNING, String.format("A problem occurred with the watch texture: animation will be disabled"), var5);
+ setErrored(true);
}
}
@@ -81,7 +107,7 @@
double var5 = Math.sin(this.field_76861_j);
double var7 = Math.cos(this.field_76861_j);
- for (int var9 = 0; var9 < 256; ++var9)
+ for (int var9 = 0; var9 < tileSizeSquare; ++var9)
{
int var10 = this.field_76863_h[var9] >> 24 & 255;
int var11 = this.field_76863_h[var9] >> 16 & 255;
@@ -90,12 +116,12 @@
if (var11 == var13 && var12 == 0 && var13 > 0)
{
- double var14 = -((double)(var9 % 16) / 15.0D - 0.5D);
- double var16 = (double)(var9 / 16) / 15.0D - 0.5D;
+ double var14 = -((double)(var9 % tileSizeBase) / tileSizeMask - 0.5D);
+ double var16 = (double)(var9 / tileSizeBase) / tileSizeMask - 0.5D;
int var18 = var11;
- int var19 = (int)((var14 * var7 + var16 * var5 + 0.5D) * 16.0D);
- int var20 = (int)((var16 * var7 - var14 * var5 + 0.5D) * 16.0D);
- int var21 = (var19 & 15) + (var20 & 15) * 16;
+ int var19 = (int)((var14 * var7 + var16 * var5 + 0.5D) * tileSizeBase);
+ int var20 = (int)((var16 * var7 - var14 * var5 + 0.5D) * tileSizeBase);
+ int var21 = (var19 & tileSizeMask) + (var20 & tileSizeMask) * tileSizeBase;
var10 = this.field_76864_i[var21] >> 24 & 255;
var11 = (this.field_76864_i[var21] >> 16 & 255) * var11 / 255;
var12 = (this.field_76864_i[var21] >> 8 & 255) * var18 / 255;
@@ -1,97 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFX.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFX.java
@@ -1,11 +1,12 @@
package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
@SideOnly(Side.CLIENT)
-public class TextureWaterFX extends TextureFX
+public class TextureWaterFX extends FMLTextureFX
{
protected float[] field_76855_g = new float[256];
protected float[] field_76858_h = new float[256];
@@ -16,6 +17,18 @@
public TextureWaterFX()
{
super(Block.field_71942_A.field_72059_bZ);
+ setup();
+ }
+
+ @Override
+ public void setup()
+ {
+ super.setup();
+ field_76855_g = new float[tileSizeSquare];
+ field_76858_h = new float[tileSizeSquare];
+ field_76859_i = new float[tileSizeSquare];
+ field_76856_j = new float[tileSizeSquare];
+ field_76857_k = 0;
}
public void func_76846_a()
@@ -27,39 +40,39 @@
int var5;
int var6;
- for (var1 = 0; var1 < 16; ++var1)
+ for (var1 = 0; var1 < tileSizeBase; ++var1)
{
- for (var2 = 0; var2 < 16; ++var2)
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
{
var3 = 0.0F;
for (int var4 = var1 - 1; var4 <= var1 + 1; ++var4)
{
- var5 = var4 & 15;
- var6 = var2 & 15;
- var3 += this.field_76855_g[var5 + var6 * 16];
+ var5 = var4 & tileSizeMask;
+ var6 = var2 & tileSizeMask;
+ var3 += this.field_76855_g[var5 + var6 * tileSizeBase];
}
- this.field_76858_h[var1 + var2 * 16] = var3 / 3.3F + this.field_76859_i[var1 + var2 * 16] * 0.8F;
+ this.field_76858_h[var1 + var2 * tileSizeBase] = var3 / 3.3F + this.field_76859_i[var1 + var2 * tileSizeBase] * 0.8F;
}
}
- for (var1 = 0; var1 < 16; ++var1)
+ for (var1 = 0; var1 < tileSizeBase; ++var1)
{
- for (var2 = 0; var2 < 16; ++var2)
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
{
- this.field_76859_i[var1 + var2 * 16] += this.field_76856_j[var1 + var2 * 16] * 0.05F;
+ this.field_76859_i[var1 + var2 * tileSizeBase] += this.field_76856_j[var1 + var2 * tileSizeBase] * 0.05F;
- if (this.field_76859_i[var1 + var2 * 16] < 0.0F)
+ if (this.field_76859_i[var1 + var2 * tileSizeBase] < 0.0F)
{
- this.field_76859_i[var1 + var2 * 16] = 0.0F;
+ this.field_76859_i[var1 + var2 * tileSizeBase] = 0.0F;
}
- this.field_76856_j[var1 + var2 * 16] -= 0.1F;
+ this.field_76856_j[var1 + var2 * tileSizeBase] -= 0.1F;
if (Math.random() < 0.05D)
{
- this.field_76856_j[var1 + var2 * 16] = 0.5F;
+ this.field_76856_j[var1 + var2 * tileSizeBase] = 0.5F;
}
}
}
@@ -68,7 +81,7 @@
this.field_76858_h = this.field_76855_g;
this.field_76855_g = var12;
- for (var2 = 0; var2 < 256; ++var2)
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
{
var3 = this.field_76855_g[var2];
@@ -1,100 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFlowFX.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFlowFX.java
@@ -1,11 +1,12 @@
package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
@SideOnly(Side.CLIENT)
-public class TextureWaterFlowFX extends TextureFX
+public class TextureWaterFlowFX extends FMLTextureFX
{
protected float[] field_76880_g = new float[256];
protected float[] field_76883_h = new float[256];
@@ -17,6 +18,18 @@
{
super(Block.field_71942_A.field_72059_bZ + 1);
this.field_76849_e = 2;
+ setup();
+ }
+
+ @Override
+ public void setup()
+ {
+ super.setup();
+ field_76880_g = new float[tileSizeSquare];
+ field_76883_h = new float[tileSizeSquare];
+ field_76884_i = new float[tileSizeSquare];
+ field_76881_j = new float[tileSizeSquare];
+ field_76882_k = 0;
}
public void func_76846_a()
@@ -28,39 +41,39 @@
int var5;
int var6;
- for (var1 = 0; var1 < 16; ++var1)
+ for (var1 = 0; var1 < tileSizeBase; ++var1)
{
- for (var2 = 0; var2 < 16; ++var2)
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
{
var3 = 0.0F;
for (int var4 = var2 - 2; var4 <= var2; ++var4)
{
- var5 = var1 & 15;
- var6 = var4 & 15;
- var3 += this.field_76880_g[var5 + var6 * 16];
+ var5 = var1 & tileSizeMask;
+ var6 = var4 & tileSizeMask;
+ var3 += this.field_76880_g[var5 + var6 * tileSizeBase];
}
- this.field_76883_h[var1 + var2 * 16] = var3 / 3.2F + this.field_76884_i[var1 + var2 * 16] * 0.8F;
+ this.field_76883_h[var1 + var2 * tileSizeBase] = var3 / 3.2F + this.field_76884_i[var1 + var2 * tileSizeBase] * 0.8F;
}
}
- for (var1 = 0; var1 < 16; ++var1)
+ for (var1 = 0; var1 < tileSizeBase; ++var1)
{
- for (var2 = 0; var2 < 16; ++var2)
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
{
- this.field_76884_i[var1 + var2 * 16] += this.field_76881_j[var1 + var2 * 16] * 0.05F;
+ this.field_76884_i[var1 + var2 * tileSizeBase] += this.field_76881_j[var1 + var2 * tileSizeBase] * 0.05F;
- if (this.field_76884_i[var1 + var2 * 16] < 0.0F)
+ if (this.field_76884_i[var1 + var2 * tileSizeBase] < 0.0F)
{
- this.field_76884_i[var1 + var2 * 16] = 0.0F;
+ this.field_76884_i[var1 + var2 * tileSizeBase] = 0.0F;
}
- this.field_76881_j[var1 + var2 * 16] -= 0.3F;
+ this.field_76881_j[var1 + var2 * tileSizeBase] -= 0.3F;
if (Math.random() < 0.2D)
{
- this.field_76881_j[var1 + var2 * 16] = 0.5F;
+ this.field_76881_j[var1 + var2 * tileSizeBase] = 0.5F;
}
}
}
@@ -69,9 +82,9 @@
this.field_76883_h = this.field_76880_g;
this.field_76880_g = var12;
- for (var2 = 0; var2 < 256; ++var2)
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
{
- var3 = this.field_76880_g[var2 - this.field_76882_k * 16 & 255];
+ var3 = this.field_76880_g[var2 - this.field_76882_k * tileSizeBase & tileSizeSquareMask];
if (var3 > 1.0F)
{
@@ -14,4 +14,4 @@
+ if (FMLClientHandler.instance().isLoading()) return;
try
{
PrintWriter var1 = new PrintWriter(new FileWriter(this.field_74354_ai));
PrintWriter printwriter = new PrintWriter(new FileWriter(this.field_74354_ai));
@@ -10,33 +10,33 @@
import net.minecraft.entity.boss.EntityDragon;
import net.minecraft.entity.boss.EntityWither;
import net.minecraft.entity.item.EntityBoat;
@@ -103,9 +106,10 @@
{
Entity var2 = null;
@@ -119,9 +122,10 @@
p_75615_0_.func_82580_o("Type");
}
+ Class var3 = null;
+ Class oclass = null;
try
{
- Class var3 = (Class)field_75625_b.get(p_75615_0_.func_74779_i("id"));
+ var3 = (Class)field_75625_b.get(p_75615_0_.func_74779_i("id"));
- Class oclass = (Class)field_75625_b.get(p_75615_0_.func_74779_i("id"));
+ oclass = (Class)field_75625_b.get(p_75615_0_.func_74779_i("id"));
if (var3 != null)
if (oclass != null)
{
@@ -119,7 +123,17 @@
@@ -135,7 +139,17 @@
if (var2 != null)
if (entity != null)
{
- var2.func_70020_e(p_75615_0_);
- entity.func_70020_e(p_75615_0_);
+ try
+ {
+ var2.func_70020_e(p_75615_0_);
+ entity.func_70020_e(p_75615_0_);
+ }
+ catch (Exception e)
+ {
+ FMLLog.log(Level.SEVERE, e,
+ "An Entity %s(%s) has thrown an exception during loading, its state cannot be restored. Report this to the mod author",
+ p_75615_0_.func_74779_i("id"), var3.getName());
+ var2 = null;
+ p_75615_0_.func_74779_i("id"), oclass.getName());
+ entity = null;
+ }
}
else
@@ -22,7 +22,7 @@
+ FMLNetworkHandler.makeEntitySpawnAdjustment(this.field_73132_a.field_70157_k, p_73117_1_, this.field_73128_d, this.field_73129_e, this.field_73126_f);
+ }
if (this.field_73143_t && !(var6 instanceof Packet24MobSpawn))
if (this.field_73143_t && !(packet instanceof Packet24MobSpawn))
{
@@ -424,6 +434,13 @@
if (this.field_73132_a.field_70128_L)
@@ -16,5 +16,5 @@
+ GameRegistry.onPickupNotification(p_70100_1_, this);
+
this.func_85030_a("random.pop", 0.2F, ((this.field_70146_Z.nextFloat() - this.field_70146_Z.nextFloat()) * 0.7F + 1.0F) * 2.0F);
p_70100_1_.func_71001_a(this, var3);
p_70100_1_.func_71001_a(this, i);
@@ -2,7 +2,7 @@
+++ ../src-work/minecraft/net/minecraft/entity/monster/EntitySlime.java
@@ -242,7 +242,7 @@
{
Chunk var1 = this.field_70170_p.func_72938_d(MathHelper.func_76128_c(this.field_70165_t), MathHelper.func_76128_c(this.field_70161_v));
Chunk chunk = this.field_70170_p.func_72938_d(MathHelper.func_76128_c(this.field_70165_t), MathHelper.func_76128_c(this.field_70161_v));
- if (this.field_70170_p.func_72912_H().func_76067_t() == WorldType.field_77138_c && this.field_70146_Z.nextInt(4) != 1)
+ if (this.field_70170_p.func_72912_H().func_76067_t().handleSlimeSpawnReduction(field_70146_Z, field_70170_p))
@@ -18,10 +18,10 @@
@@ -422,6 +423,7 @@
MerchantRecipeList var2;
var2 = new MerchantRecipeList();
+ VillagerRegistry.manageVillagerTrades(var2, this, this.func_70946_n(), this.field_70146_Z);
int var6;
MerchantRecipeList merchantrecipelist;
merchantrecipelist = new MerchantRecipeList();
+ VillagerRegistry.manageVillagerTrades(merchantrecipelist, this, this.func_70946_n(), this.field_70146_Z);
int j;
label50:
@@ -637,7 +639,7 @@
@@ -8,15 +8,15 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Iterator;
@@ -173,6 +175,7 @@
@@ -175,6 +177,7 @@
public void func_70071_h_()
{
+ FMLCommonHandler.instance().onPlayerPreTick(this);
if (this.field_71074_e != null)
{
ItemStack var1 = this.field_71071_by.func_70448_g();
@@ -296,6 +299,7 @@
ItemStack itemstack = this.field_71071_by.func_70448_g();
@@ -298,6 +301,7 @@
{
this.field_71100_bB.func_75118_a(this);
}
@@ -24,7 +24,7 @@
}
public int func_82145_z()
@@ -1822,4 +1826,9 @@
@@ -1839,4 +1843,9 @@
{
return this.func_82241_s(1);
}
@@ -14,4 +14,4 @@
+ GameRegistry.onItemCrafted(p_82870_1_, p_82870_2_, field_75239_a);
this.func_75208_c(p_82870_2_);
for (int var3 = 0; var3 < this.field_75239_a.func_70302_i_(); ++var3)
for (int i = 0; i < this.field_75239_a.func_70302_i_(); ++i)
@@ -7,7 +7,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
@@ -207,6 +208,8 @@
@@ -214,6 +215,8 @@
}
field_77698_e[256 + p_i3659_1_] = this;
@@ -15,4 +15,4 @@
+ GameData.newItemAdded(this);
}
public Item func_77665_c(int p_77665_1_)
public Item func_77625_d(int p_77625_1_)
@@ -1,11 +1,11 @@
--- ../src-base/minecraft/net/minecraft/item/ItemMap.java
+++ ../src-work/minecraft/net/minecraft/item/ItemMap.java
@@ -52,7 +52,7 @@
int var5 = 128 * (1 << var4.field_76197_d);
var4.field_76201_a = Math.round((float)p_77873_2_.func_72912_H().func_76079_c() / (float)var5) * var5;
var4.field_76199_b = Math.round((float)(p_77873_2_.func_72912_H().func_76074_e() / var5)) * var5;
- var4.field_76200_c = (byte)p_77873_2_.field_73011_w.field_76574_g;
+ var4.field_76200_c = p_77873_2_.field_73011_w.field_76574_g;
var4.func_76185_a();
p_77873_2_.func_72823_a(var3, var4);
int i = 128 * (1 << mapdata.field_76197_d);
mapdata.field_76201_a = Math.round((float)p_77873_2_.func_72912_H().func_76079_c() / (float)i) * i;
mapdata.field_76199_b = Math.round((float)(p_77873_2_.func_72912_H().func_76074_e() / i)) * i;
- mapdata.field_76200_c = (byte)p_77873_2_.field_73011_w.field_76574_g;
+ mapdata.field_76200_c = p_77873_2_.field_73011_w.field_76574_g;
mapdata.func_76185_a();
p_77873_2_.func_72823_a(s, mapdata);
}
@@ -37,16 +37,16 @@
public void func_72529_d()
{
- String var1 = this.field_72534_f.func_71203_ab().func_72399_a(this.field_72538_b.func_74430_c(), this.field_72543_h);
- String s = this.field_72534_f.func_71203_ab().func_72399_a(this.field_72538_b.func_74430_c(), this.field_72543_h);
+ FMLNetworkHandler.onConnectionReceivedFromClient(this, this.field_72534_f, this.field_72538_b.func_74430_c(), this.field_72543_h);
+ }
+
+ public void completeConnection(String var1)
+ public void completeConnection(String s)
+ {
if (var1 != null)
if (s != null)
{
@@ -272,4 +283,21 @@
@@ -272,4 +283,22 @@
{
return p_72531_0_.field_72544_i = p_72531_1_;
}
@@ -63,8 +63,9 @@
+ // NOOP for login
+ }
+
+ @Override
+ public EntityPlayer getPlayer()
+ {
+ return null;
+ };
+ }
}
@@ -35,8 +35,8 @@
+
+ public void handleVanilla250Packet(Packet250CustomPayload p_72501_1_)
{
DataInputStream var2;
ItemStack var3;
DataInputStream datainputstream;
ItemStack itemstack;
@@ -1156,4 +1165,18 @@
}
}
@@ -10,10 +10,10 @@
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.ReportedException;
@@ -51,6 +53,7 @@
throw new ReportedException(var4);
throw new ReportedException(crashreport);
}
+ FMLLog.log(Level.SEVERE, var5, "A critical server error occured handling a packet, kicking %s", var2.getPlayer().field_70157_k);
field_71751_a.log(Level.WARNING, "Failed to handle packet for " + var2.field_72574_e.func_70023_ak() + "/" + var2.field_72574_e.func_71114_r() + ": " + var5, var5);
var2.func_72565_c("Internal server error");
+ FMLLog.log(Level.SEVERE, exception, "A critical server error occured handling a packet, kicking %s", netserverhandler.getPlayer().field_70157_k);
field_71751_a.log(Level.WARNING, "Failed to handle packet for " + netserverhandler.field_72574_e.func_70023_ak() + "/" + netserverhandler.field_72574_e.func_71114_r() + ": " + exception, exception);
netserverhandler.func_72565_c("Internal server error");
}
@@ -32,9 +32,9 @@
public void func_73267_a(DataInputStream p_73267_1_) throws IOException
@@ -46,7 +54,16 @@
this.field_73560_c = (var3 & 8) == 8;
int var4 = var3 & -9;
this.field_73557_d = EnumGameType.func_77146_a(var4);
this.field_73560_c = (b0 & 8) == 8;
int i = b0 & -9;
this.field_73557_d = EnumGameType.func_77146_a(i);
- this.field_73558_e = p_73267_1_.readByte();
+
+ if (vanillaCompatible)
@@ -52,7 +52,7 @@
@@ -64,7 +81,16 @@
}
p_73273_1_.writeByte(var2);
p_73273_1_.writeByte(i);
- p_73273_1_.writeByte(this.field_73558_e);
+
+ if (vanillaCompatible)
@@ -68,10 +68,10 @@
p_73273_1_.writeByte(this.field_73556_g);
p_73273_1_.writeByte(this.field_73562_h);
@@ -84,6 +110,6 @@
var1 = this.field_73559_b.func_77127_a().length();
i = this.field_73559_b.func_77127_a().length();
}
- return 6 + 2 * var1 + 4 + 4 + 1 + 1 + 1;
+ return 6 + 2 * var1 + 4 + 4 + 1 + 1 + 1 + (vanillaCompatible ? 0 : 3);
- return 6 + 2 * i + 4 + 4 + 1 + 1 + 1;
+ return 6 + 2 * i + 4 + 4 + 1 + 1 + 1 + (vanillaCompatible ? 0 : 3);
}
}
@@ -9,19 +9,19 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.awt.GraphicsEnvironment;
@@ -378,7 +381,11 @@
@@ -379,7 +382,11 @@
{
if (this.func_71197_b())
{
+ FMLCommonHandler.instance().handleServerStarted();
+
long var1 = System.currentTimeMillis();
long i = System.currentTimeMillis();
+
+ FMLCommonHandler.instance().onWorldLoadTick(field_71305_c);
for (long var50 = 0L; this.field_71317_u; this.field_71296_Q = true)
for (long k0 = 0L; this.field_71317_u; this.field_71296_Q = true)
{
@@ -417,6 +424,7 @@
@@ -418,6 +425,7 @@
Thread.sleep(1L);
}
@@ -29,18 +29,18 @@
}
else
{
@@ -425,6 +433,10 @@
@@ -426,6 +434,10 @@
}
catch (Throwable var48)
catch (Throwable throwable)
{
+ if (FMLCommonHandler.instance().shouldServerBeKilledQuietly())
+ {
+ return;
+ }
var48.printStackTrace();
field_71306_a.log(Level.SEVERE, "Encountered an unexpected exception " + var48.getClass().getSimpleName(), var48);
CrashReport var2 = null;
@@ -455,6 +467,10 @@
throwable.printStackTrace();
field_71306_a.log(Level.SEVERE, "Encountered an unexpected exception " + throwable.getClass().getSimpleName(), throwable);
CrashReport crashreport = null;
@@ -456,6 +468,10 @@
{
try
{
@@ -51,18 +51,26 @@
this.func_71260_j();
this.field_71316_v = true;
}
@@ -480,8 +496,10 @@
@@ -465,6 +481,7 @@
}
finally
{
+ FMLCommonHandler.instance().handleServerStopped();
this.func_71240_o();
}
}
@@ -481,8 +498,10 @@
public void func_71217_p()
{
+ FMLCommonHandler.instance().rescheduleTicks(Side.SERVER);
long var1 = System.nanoTime();
long i = System.nanoTime();
AxisAlignedBB.func_72332_a().func_72298_a();
+ FMLCommonHandler.instance().onPreServerTick();
++this.field_71315_w;
if (this.field_71295_T)
@@ -527,6 +545,7 @@
@@ -528,6 +547,7 @@
this.field_71304_b.func_76319_b();
this.field_71304_b.func_76319_b();
@@ -70,23 +78,23 @@
}
public void func_71190_q()
@@ -554,6 +573,7 @@
@@ -555,6 +575,7 @@
}
this.field_71304_b.func_76320_a("tick");
+ FMLCommonHandler.instance().onPreWorldTick(var4);
CrashReport var6;
+ FMLCommonHandler.instance().onPreWorldTick(worldserver);
CrashReport crashreport;
try
@@ -578,6 +598,7 @@
throw new ReportedException(var6);
@@ -579,6 +600,7 @@
throw new ReportedException(crashreport);
}
+ FMLCommonHandler.instance().onPostWorldTick(var4);
+ FMLCommonHandler.instance().onPostWorldTick(worldserver);
this.field_71304_b.func_76319_b();
this.field_71304_b.func_76320_a("tracker");
var4.func_73039_n().func_72788_a();
@@ -705,7 +726,7 @@
worldserver.func_73039_n().func_72788_a();
@@ -706,7 +728,7 @@
public String getServerModName()
{
@@ -95,7 +103,7 @@
}
public CrashReport func_71230_b(CrashReport p_71230_1_)
@@ -1146,6 +1167,13 @@
@@ -1147,6 +1169,13 @@
@SideOnly(Side.SERVER)
public static void main(String[] p_main_0_)
{
@@ -8,10 +8,10 @@
import cpw.mods.fml.relauncher.SideOnly;
import java.io.IOException;
@@ -53,6 +54,7 @@
catch (Exception var6)
catch (Exception exception)
{
var3.func_72527_a("Internal server error");
+ FMLLog.log(Level.SEVERE, var6, "Error handling login related packet - connection from %s refused", var3.func_72528_e());
field_71777_a.log(Level.WARNING, "Failed to handle packet for " + var3.func_72528_e() + ": " + var6, var6);
netloginhandler.func_72527_a("Internal server error");
+ FMLLog.log(Level.SEVERE, exception, "Error handling login related packet - connection from %s refused", netloginhandler.func_72528_e());
field_71777_a.log(Level.WARNING, "Failed to handle packet for " + netloginhandler.func_72528_e() + ": " + exception, exception);
}
@@ -12,11 +12,11 @@
@@ -12,10 +14,7 @@
public static void func_73699_a()
{
ConsoleLogFormatter var0 = new ConsoleLogFormatter();
ConsoleLogFormatter consolelogformatter = new ConsoleLogFormatter();
- field_73700_a.setUseParentHandlers(false);
- ConsoleHandler var1 = new ConsoleHandler();
- var1.setFormatter(var0);
- field_73700_a.addHandler(var1);
- ConsoleHandler consolehandler = new ConsoleHandler();
- consolehandler.setFormatter(consolelogformatter);
- field_73700_a.addHandler(consolehandler);
+ field_73700_a.setParent(FMLLog.getLogger());
try
@@ -24,7 +24,7 @@
+ FMLCommonHandler.instance().onServerStarted();
this.func_71210_a(new DedicatedPlayerList(this));
long var4 = System.nanoTime();
long j = System.nanoTime();
@@ -187,6 +192,8 @@
this.field_71339_n.func_72602_a();
}
@@ -13,7 +13,7 @@
p_72355_2_.func_71116_b();
+
+ FMLNetworkHandler.handlePlayerLogin(p_72355_2_, var6, p_72355_1_);
+ FMLNetworkHandler.handlePlayerLogin(p_72355_2_, netserverhandler, p_72355_1_);
}
public void func_72364_a(WorldServer[] p_72364_1_)
@@ -23,19 +23,19 @@
{
+ GameRegistry.onPlayerLogout(p_72367_1_);
this.func_72391_b(p_72367_1_);
WorldServer var2 = p_72367_1_.func_71121_q();
var2.func_72900_e(p_72367_1_);
WorldServer worldserver = p_72367_1_.func_71121_q();
worldserver.func_72900_e(p_72367_1_);
@@ -324,6 +329,7 @@
var8.func_72838_d(var7);
this.field_72404_b.add(var7);
var7.func_71116_b();
+ GameRegistry.onPlayerRespawn(var7);
return var7;
worldserver.func_72838_d(entityplayermp1);
this.field_72404_b.add(entityplayermp1);
entityplayermp1.func_71116_b();
+ GameRegistry.onPlayerRespawn(entityplayermp1);
return entityplayermp1;
}
@@ -349,6 +355,8 @@
PotionEffect var7 = (PotionEffect)var6.next();
p_72356_1_.field_71135_a.func_72567_b(new Packet41EntityEffect(p_72356_1_.field_70157_k, var7));
PotionEffect potioneffect = (PotionEffect)iterator.next();
p_72356_1_.field_71135_a.func_72567_b(new Packet41EntityEffect(p_72356_1_.field_70157_k, potioneffect));
}
+
+ GameRegistry.onPlayerChangedDimension(p_72356_1_);
@@ -15,42 +15,33 @@
import net.minecraft.crash.CrashReportCategory;
@@ -82,9 +85,11 @@
{
TileEntity var1 = null;
TileEntity tileentity = null;
+ Class var2 = null;
+ Class oclass = null;
+
try
{
- Class var2 = (Class)field_70326_a.get(p_70317_0_.func_74779_i("id"));
+ var2 = (Class)field_70326_a.get(p_70317_0_.func_74779_i("id"));
- Class oclass = (Class)field_70326_a.get(p_70317_0_.func_74779_i("id"));
+ oclass = (Class)field_70326_a.get(p_70317_0_.func_74779_i("id"));
if (var2 != null)
if (oclass != null)
{
@@ -98,7 +103,17 @@
if (var1 != null)
if (tileentity != null)
{
- var1.func_70307_a(p_70317_0_);
- tileentity.func_70307_a(p_70317_0_);
+ try
+ {
+ var1.func_70307_a(p_70317_0_);
+ tileentity.func_70307_a(p_70317_0_);
+ }
+ catch (Exception e)
+ {
+ FMLLog.log(Level.SEVERE, e,
+ "A TileEntity %s(%s) has thrown an exception during loading, its state cannot be restored. Report this to the mod author",
+ p_70317_0_.func_74779_i("id"), var2.getName());
+ var1 = null;
+ p_70317_0_.func_74779_i("id"), oclass.getName());
+ tileentity = null;
+ }
}
else
{
@@ -183,7 +198,7 @@
public void func_85027_a(CrashReportCategory p_85027_1_)
{
p_85027_1_.func_71500_a("Name", new CallableTileEntityName(this));
- CrashReportCategory.func_85068_a(p_85027_1_, this.field_70329_l, this.field_70330_m, this.field_70327_n, this.field_70324_q.field_71990_ca, this.field_70325_p);
+ CrashReportCategory.func_85068_a(p_85027_1_, this.field_70329_l, this.field_70330_m, this.field_70327_n, this.field_70324_q != null ? this.field_70324_q.field_71990_ca : 0, this.field_70325_p);
}
static Map func_85028_t()
@@ -7,19 +7,19 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
@@ -287,7 +288,15 @@
@@ -308,7 +309,15 @@
}
}
- return var2 instanceof ItemTool && ((ItemTool)var2).func_77861_e().equals("WOOD") ? 200 : (var2 instanceof ItemSword && ((ItemSword)var2).func_77825_f().equals("WOOD") ? 200 : (var2 instanceof ItemHoe && ((ItemHoe)var2).func_77842_f().equals("WOOD") ? 200 : (var1 == Item.field_77669_D.field_77779_bT ? 100 : (var1 == Item.field_77705_m.field_77779_bT ? 1600 : (var1 == Item.field_77775_ay.field_77779_bT ? 20000 : (var1 == Block.field_71987_y.field_71990_ca ? 100 : (var1 == Item.field_77731_bo.field_77779_bT ? 2400 : 0)))))));
+ if (var2 instanceof ItemTool && ((ItemTool) var2).func_77861_e().equals("WOOD")) return 200;
+ if (var2 instanceof ItemSword && ((ItemSword) var2).func_77825_f().equals("WOOD")) return 200;
+ if (var2 instanceof ItemHoe && ((ItemHoe) var2).func_77842_f().equals("WOOD")) return 200;
+ if (var1 == Item.field_77669_D.field_77779_bT) return 100;
+ if (var1 == Item.field_77705_m.field_77779_bT) return 1600;
+ if (var1 == Item.field_77775_ay.field_77779_bT) return 20000;
+ if (var1 == Block.field_71987_y.field_71990_ca) return 100;
+ if (var1 == Item.field_77731_bo.field_77779_bT) return 2400;
- return item instanceof ItemTool && ((ItemTool)item).func_77861_e().equals("WOOD") ? 200 : (item instanceof ItemSword && ((ItemSword)item).func_77825_f().equals("WOOD") ? 200 : (item instanceof ItemHoe && ((ItemHoe)item).func_77842_f().equals("WOOD") ? 200 : (i == Item.field_77669_D.field_77779_bT ? 100 : (i == Item.field_77705_m.field_77779_bT ? 1600 : (i == Item.field_77775_ay.field_77779_bT ? 20000 : (i == Block.field_71987_y.field_71990_ca ? 100 : (i == Item.field_77731_bo.field_77779_bT ? 2400 : 0)))))));
+ if (item instanceof ItemTool && ((ItemTool) item).func_77861_e().equals("WOOD")) return 200;
+ if (item instanceof ItemSword && ((ItemSword) item).func_77825_f().equals("WOOD")) return 200;
+ if (item instanceof ItemHoe && ((ItemHoe) item).func_77842_f().equals("WOOD")) return 200;
+ if (i == Item.field_77669_D.field_77779_bT) return 100;
+ if (i == Item.field_77705_m.field_77779_bT) return 1600;
+ if (i == Item.field_77775_ay.field_77779_bT) return 20000;
+ if (i == Block.field_71987_y.field_71990_ca) return 100;
+ if (i == Item.field_77731_bo.field_77779_bT) return 2400;
+ return GameRegistry.getFuelValue(p_70398_0_);
}
}
@@ -7,15 +7,15 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.BufferedReader;
@@ -80,6 +81,7 @@
@@ -93,6 +94,7 @@
}
}
}
+ LanguageRegistry.instance().loadLanguageTable(p_74812_1_, p_74812_2_);
}
public void func_74810_a(String p_74810_1_)
@@ -138,7 +140,6 @@
public synchronized void func_74810_a(String p_74810_1_, boolean p_74810_2_)
@@ -170,7 +172,6 @@
}
}
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/world/World.java
+++ ../src-work/minecraft/net/minecraft/world/World.java
@@ -1797,13 +1797,14 @@
@@ -1754,13 +1754,14 @@
}
}
@@ -16,7 +16,7 @@
this.field_72984_F.func_76318_c("pendingTileEntities");
@@ -3637,7 +3638,7 @@
@@ -3673,7 +3674,7 @@
@SideOnly(Side.CLIENT)
public double func_72919_O()
{
@@ -6,8 +6,8 @@
{
- if (this.field_76579_a.func_72912_H().func_76067_t() == WorldType.field_77138_c)
- {
- FlatGeneratorInfo var1 = FlatGeneratorInfo.func_82651_a(this.field_76579_a.func_72912_H().func_82571_y());
- this.field_76578_c = new WorldChunkManagerHell(BiomeGenBase.field_76773_a[var1.func_82648_a()], 0.5F, 0.5F);
- FlatGeneratorInfo flatgeneratorinfo = FlatGeneratorInfo.func_82651_a(this.field_76579_a.func_72912_H().func_82571_y());
- this.field_76578_c = new WorldChunkManagerHell(BiomeGenBase.field_76773_a[flatgeneratorinfo.func_82648_a()], 0.5F, 0.5F);
- }
- else
- {
@@ -58,8 +58,8 @@
+ {
+ if (this == field_77138_c)
+ {
+ FlatGeneratorInfo var1 = FlatGeneratorInfo.func_82651_a(world.func_72912_H().func_82571_y());
+ return new WorldChunkManagerHell(BiomeGenBase.field_76773_a[var1.func_82648_a()], 0.5F, 0.5F);
+ FlatGeneratorInfo flatgeneratorinfo = FlatGeneratorInfo.func_82651_a(world.func_72912_H().func_82571_y());
+ return new WorldChunkManagerHell(BiomeGenBase.field_76773_a[flatgeneratorinfo.func_82648_a()], 0.5F, 0.5F);
+ }
+ else
+ {
@@ -82,9 +82,9 @@
+ return this == field_77138_c ? 0.0D : 63.0D;
+ }
+
+ public boolean hasVoidParticles(boolean var1)
+ public boolean hasVoidParticles(boolean flag)
+ {
+ return this != field_77138_c && !var1;
+ return this != field_77138_c && !flag;
+ }
+
+ public double voidFadeMagnitude()
@@ -13,46 +13,46 @@
import net.minecraft.nbt.CompressedStreamTools;
@@ -247,10 +251,20 @@
p_75820_1_.field_76644_m = true;
var11 = new NBTTagCompound();
nbttagcompound1 = new NBTTagCompound();
- if (var21.func_70039_c(var11))
- if (entity.func_70039_c(nbttagcompound1))
- {
- var16.func_74742_a(var11);
- nbttaglist1.func_74742_a(nbttagcompound1);
- }
+
+ try
+ {
+ if (var21.func_70039_c(var11))
+ if (entity.func_70039_c(nbttagcompound1))
+ {
+ var16.func_74742_a(var11);
+ nbttaglist1.func_74742_a(nbttagcompound1);
+ }
+ }
+ catch (Exception e)
+ {
+ FMLLog.log(Level.SEVERE, e,
+ "An Entity type %s has thrown an exception trying to write state. It will not persist. Report this to the mod author",
+ var21.getClass().getName());
+ entity.getClass().getName());
+ }
}
}
@@ -262,8 +276,17 @@
{
TileEntity var22 = (TileEntity)var18.next();
var11 = new NBTTagCompound();
- var22.func_70310_b(var11);
- var17.func_74742_a(var11);
TileEntity tileentity = (TileEntity)iterator.next();
nbttagcompound1 = new NBTTagCompound();
- tileentity.func_70310_b(nbttagcompound1);
- nbttaglist2.func_74742_a(nbttagcompound1);
+ try
+ {
+ var22.func_70310_b(var11);
+ var17.func_74742_a(var11);
+ tileentity.func_70310_b(nbttagcompound1);
+ nbttaglist2.func_74742_a(nbttagcompound1);
+ }
+ catch (Exception e)
+ {
+ FMLLog.log(Level.SEVERE, e,
+ "A TileEntity type %s has throw an exception trying to write state. It will not persist. Report this to the mod author",
+ var22.getClass().getName());
+ tileentity.getClass().getName());
+ }
}
p_75820_3_.func_74782_a("TileEntities", var17);
p_75820_3_.func_74782_a("TileEntities", nbttaglist2);
@@ -14,6 +14,6 @@
{
this.field_73246_d.func_73153_a(p_73153_1_, p_73153_2_, p_73153_3_);
+ GameRegistry.generateWorld(p_73153_2_, p_73153_3_, field_73251_h, field_73246_d, p_73153_1_);
var4.func_76630_e();
chunk.func_76630_e();
}
}
@@ -10,22 +10,22 @@
public class StructureVillagePieces
@@ -20,6 +22,8 @@
var2.add(new StructureVillagePieceWeight(ComponentVillageField2.class, 3, MathHelper.func_76136_a(p_75084_0_, 2 + p_75084_1_, 4 + p_75084_1_ * 2)));
var2.add(new StructureVillagePieceWeight(ComponentVillageHouse2.class, 15, MathHelper.func_76136_a(p_75084_0_, 0, 1 + p_75084_1_)));
var2.add(new StructureVillagePieceWeight(ComponentVillageHouse3.class, 8, MathHelper.func_76136_a(p_75084_0_, 0 + p_75084_1_, 3 + p_75084_1_ * 2)));
+ VillagerRegistry.addExtraVillageComponents(var2, p_75084_0_, p_75084_1_);
arraylist.add(new StructureVillagePieceWeight(ComponentVillageField2.class, 3, MathHelper.func_76136_a(p_75084_0_, 2 + p_75084_1_, 4 + p_75084_1_ * 2)));
arraylist.add(new StructureVillagePieceWeight(ComponentVillageHouse2.class, 15, MathHelper.func_76136_a(p_75084_0_, 0, 1 + p_75084_1_)));
arraylist.add(new StructureVillagePieceWeight(ComponentVillageHouse3.class, 8, MathHelper.func_76136_a(p_75084_0_, 0 + p_75084_1_, 3 + p_75084_1_ * 2)));
+ VillagerRegistry.addExtraVillageComponents(arraylist, p_75084_0_, p_75084_1_);
+
Iterator var3 = var2.iterator();
Iterator iterator = arraylist.iterator();
while (var3.hasNext())
while (iterator.hasNext())
@@ -92,6 +96,10 @@
else if (var9 == ComponentVillageHouse3.class)
else if (oclass == ComponentVillageHouse3.class)
{
var10 = ComponentVillageHouse3.func_74921_a(p_75083_0_, p_75083_2_, p_75083_3_, p_75083_4_, p_75083_5_, p_75083_6_, p_75083_7_, p_75083_8_);
object = ComponentVillageHouse3.func_74921_a(p_75083_0_, p_75083_2_, p_75083_3_, p_75083_4_, p_75083_5_, p_75083_6_, p_75083_7_, p_75083_8_);
+ }
+ else
+ {
+ var10 = VillagerRegistry.getVillageComponent(p_75083_1_, p_75083_0_ , p_75083_2_, p_75083_3_, p_75083_4_, p_75083_5_, p_75083_6_, p_75083_7_, p_75083_8_);
+ object = VillagerRegistry.getVillageComponent(p_75083_1_, p_75083_0_ , p_75083_2_, p_75083_3_, p_75083_4_, p_75083_5_, p_75083_6_, p_75083_7_, p_75083_8_);
}
return (ComponentVillage)var10;
return (ComponentVillage)object;
@@ -10,57 +10,57 @@
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
@@ -104,16 +106,24 @@
NBTTagCompound var2;
NBTTagCompound var3;
NBTTagCompound nbttagcompound;
NBTTagCompound nbttagcompound1;
+ WorldInfo worldInfo = null;
+
if (var1.exists())
if (file1.exists())
{
try
{
var2 = CompressedStreamTools.func_74796_a(new FileInputStream(var1));
var3 = var2.func_74775_l("Data");
- return new WorldInfo(var3);
+ worldInfo = new WorldInfo(var3);
+ FMLCommonHandler.instance().handleWorldDataLoad(this, worldInfo, var2);
nbttagcompound = CompressedStreamTools.func_74796_a(new FileInputStream(file1));
nbttagcompound1 = nbttagcompound.func_74775_l("Data");
- return new WorldInfo(nbttagcompound1);
+ worldInfo = new WorldInfo(nbttagcompound1);
+ FMLCommonHandler.instance().handleWorldDataLoad(this, worldInfo, nbttagcompound);
+ return worldInfo;
}
catch (Exception var5)
catch (Exception exception)
{
+ if (FMLCommonHandler.instance().shouldServerBeKilledQuietly())
+ {
+ throw (RuntimeException)var5;
+ throw (RuntimeException)exception;
+ }
var5.printStackTrace();
exception.printStackTrace();
}
}
@@ -126,7 +136,9 @@
{
var2 = CompressedStreamTools.func_74796_a(new FileInputStream(var1));
var3 = var2.func_74775_l("Data");
- return new WorldInfo(var3);
+ worldInfo = new WorldInfo(var3);
+ FMLCommonHandler.instance().handleWorldDataLoad(this, worldInfo, var2);
nbttagcompound = CompressedStreamTools.func_74796_a(new FileInputStream(file1));
nbttagcompound1 = nbttagcompound.func_74775_l("Data");
- return new WorldInfo(nbttagcompound1);
+ worldInfo = new WorldInfo(nbttagcompound1);
+ FMLCommonHandler.instance().handleWorldDataLoad(this, worldInfo, nbttagcompound);
+ return worldInfo;
}
catch (Exception var4)
catch (Exception exception1)
{
@@ -142,6 +154,8 @@
NBTTagCompound var3 = p_75755_1_.func_76082_a(p_75755_2_);
NBTTagCompound var4 = new NBTTagCompound();
var4.func_74782_a("Data", var3);
NBTTagCompound nbttagcompound1 = p_75755_1_.func_76082_a(p_75755_2_);
NBTTagCompound nbttagcompound2 = new NBTTagCompound();
nbttagcompound2.func_74782_a("Data", nbttagcompound1);
+
+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75755_1_, var4);
+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75755_1_, nbttagcompound2);
try
{
@@ -180,6 +194,8 @@
NBTTagCompound var2 = p_75761_1_.func_76066_a();
NBTTagCompound var3 = new NBTTagCompound();
var3.func_74782_a("Data", var2);
NBTTagCompound nbttagcompound = p_75761_1_.func_76066_a();
NBTTagCompound nbttagcompound1 = new NBTTagCompound();
nbttagcompound1.func_74782_a("Data", nbttagcompound);
+
+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75761_1_, var3);
+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75761_1_, nbttagcompound1);
try
{