mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-14 01:04:24 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2140cd8cb6 | ||
|
|
4a6245a215 | ||
|
|
48544db690 | ||
|
|
2c89b3def3 | ||
|
|
5689182088 | ||
|
|
4a1f4b90fd | ||
|
|
f2d42d1134 | ||
|
|
51e7606e74 | ||
|
|
723c2d98eb | ||
|
|
7dee072e1a | ||
|
|
3e18c4160f | ||
|
|
513ad19187 | ||
|
|
eabede2203 | ||
|
|
b22dbc12a2 | ||
|
|
708e86adfb | ||
|
|
6f1b762c9d | ||
|
|
d9bfb29d6c | ||
|
|
6fc7bc4941 | ||
|
|
fb701cdc5e |
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;
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -453,4 +453,9 @@ public class FMLCommonHandler
|
||||
{
|
||||
sidedDelegate.disconnectIDMismatch(serverDifference, toKill, network);
|
||||
}
|
||||
|
||||
public void handleServerStopped()
|
||||
{
|
||||
Loader.instance().serverStopped();
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
*
|
||||
|
||||
@@ -44,6 +44,8 @@ public class RelaunchClassLoader extends URLClassLoader
|
||||
|
||||
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);
|
||||
@@ -176,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);
|
||||
}
|
||||
}
|
||||
@@ -295,9 +301,17 @@ public class RelaunchClassLoader extends URLClassLoader
|
||||
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
@@ -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
|
||||
@@ -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
|
||||
+247
-1
@@ -238,6 +238,7 @@ 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,
|
||||
@@ -686,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.
|
||||
@@ -708,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
|
||||
@@ -1637,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."
|
||||
@@ -1886,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.
|
||||
@@ -2092,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,
|
||||
@@ -2111,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,
|
||||
@@ -2486,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,
|
||||
@@ -2505,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,
|
||||
@@ -4186,6 +4384,7 @@ 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,
|
||||
@@ -4257,6 +4456,7 @@ 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,
|
||||
@@ -4265,9 +4465,17 @@ 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,
|
||||
@@ -4311,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"
|
||||
@@ -4338,6 +4552,9 @@ 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
|
||||
@@ -4390,7 +4607,10 @@ 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
|
||||
@@ -4418,14 +4638,40 @@ 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,
|
||||
|
+649
-340
File diff suppressed because it is too large.
Load diff
+13913
-13177
File diff suppressed because it is too large.
Load diff
+63
-7
@@ -237,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
|
||||
@@ -376,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'"
|
||||
@@ -632,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.
|
||||
@@ -779,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
|
||||
@@ -795,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
|
||||
@@ -929,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,canConnectRedstone,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_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.
|
||||
@@ -1408,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,
|
||||
@@ -1480,7 +1509,7 @@ 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"
|
||||
@@ -1705,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."
|
||||
@@ -1866,6 +1895,7 @@ 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,
|
||||
@@ -2112,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,
|
||||
@@ -2400,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
|
||||
@@ -3312,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.
|
||||
@@ -3334,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
|
||||
@@ -3535,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
|
||||
@@ -3736,11 +3777,12 @@ 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
|
||||
@@ -3780,6 +3822,7 @@ func_82205_o,isArmored,2,Returns whether the wither is armored with its boss arm
|
||||
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,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.
|
||||
@@ -3827,6 +3870,7 @@ 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.
|
||||
@@ -3884,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,
|
||||
@@ -4030,10 +4077,12 @@ func_85104_a,onBlockPlaced,2,"Called when a block is placed using its ItemBlock.
|
||||
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,
|
||||
@@ -4046,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,
|
||||
|
+54
-13
@@ -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
|
||||
|
||||
|
+694
-383
File diff suppressed because it is too large.
Load diff
@@ -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 @@
|
||||
}
|
||||
|
||||
|
||||
@@ -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
@@ -1,4 +1,4 @@
|
||||
[VERSION]
|
||||
MCPVersion = 7.26
|
||||
ClientVersion = 1.4.7
|
||||
ServerVersion = 1.4.7
|
||||
MCPVersion = 7.30
|
||||
ClientVersion = 13w02b
|
||||
ServerVersion = 13w02b
|
||||
+6
-2
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
@@ -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'
|
||||
|
||||
@@ -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)
|
||||
+10
-1
@@ -1,5 +1,5 @@
|
||||
[default]
|
||||
current_ver = 1.4.7
|
||||
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
|
||||
@@ -40,3 +40,12 @@ 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
@@ -1 +1 @@
|
||||
!ber #net/minecraft/src/CodecMus
|
||||
!bfv #net/minecraft/src/CodecMus
|
||||
@@ -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,7 +46,7 @@
|
||||
this.field_72563_h.field_71474_y.func_82879_c();
|
||||
}
|
||||
|
||||
@@ -711,6 +718,7 @@
|
||||
@@ -704,6 +711,7 @@
|
||||
{
|
||||
this.field_72555_g.func_74429_a(p_72546_1_);
|
||||
this.field_72555_g.func_74423_d();
|
||||
@@ -54,7 +54,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -750,6 +758,7 @@
|
||||
@@ -743,6 +751,7 @@
|
||||
|
||||
public void func_72481_a(Packet3Chat p_72481_1_)
|
||||
{
|
||||
@@ -62,7 +62,7 @@
|
||||
this.field_72563_h.field_71456_v.func_73827_b().func_73765_a(p_72481_1_.field_73476_b);
|
||||
}
|
||||
|
||||
@@ -1243,6 +1252,11 @@
|
||||
@@ -1268,6 +1277,11 @@
|
||||
|
||||
public void func_72494_a(Packet131MapData p_72494_1_)
|
||||
{
|
||||
@@ -74,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 +1366,11 @@
|
||||
@@ -1377,6 +1391,11 @@
|
||||
|
||||
public void func_72501_a(Packet250CustomPayload p_72501_1_)
|
||||
{
|
||||
@@ -85,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 +1415,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();
|
||||
}
|
||||
}
|
||||
-102
@@ -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;
|
||||
|
||||
-95
@@ -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];
|
||||
|
||||
-100
@@ -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();
|
||||
}
|
||||
|
||||
+10
-10
@@ -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
-10
@@ -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
|
||||
{
|
||||
Reference in new issue
Block a user