Beginning the 1.3.1 update
This commit is contained in:
parent
e001103ed8
commit
6f8b39ea09
|
@ -0,0 +1,81 @@
|
||||||
|
package cpw.mods.fml.client;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.modloader.ModLoaderHelper;
|
||||||
|
import cpw.mods.fml.common.modloader.ModLoaderModContainer;
|
||||||
|
|
||||||
|
import net.minecraft.src.BaseMod;
|
||||||
|
import net.minecraft.src.Block;
|
||||||
|
import net.minecraft.src.IBlockAccess;
|
||||||
|
import net.minecraft.src.RenderBlocks;
|
||||||
|
|
||||||
|
public class BlockRenderManager
|
||||||
|
{
|
||||||
|
private static final BlockRenderManager INSTANCE = new BlockRenderManager();
|
||||||
|
|
||||||
|
private HashMap<Integer, BlockRenderInfo> blockModelIds = new HashMap<Integer, BlockRenderInfo>();
|
||||||
|
|
||||||
|
private int nextRenderId = 30;
|
||||||
|
|
||||||
|
public static BlockRenderManager instance()
|
||||||
|
{
|
||||||
|
return INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param renderer
|
||||||
|
* @param world
|
||||||
|
* @param x
|
||||||
|
* @param y
|
||||||
|
* @param z
|
||||||
|
* @param block
|
||||||
|
* @param modelId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelId)
|
||||||
|
{
|
||||||
|
if (!blockModelIds.containsKey(modelId)) { return false; }
|
||||||
|
BlockRenderInfo bri = blockModelIds.get(modelId);
|
||||||
|
return bri.renderWorldBlock(world, x, y, z, block, modelId, renderer);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param renderer
|
||||||
|
* @param block
|
||||||
|
* @param metadata
|
||||||
|
* @param modelID
|
||||||
|
*/
|
||||||
|
public void renderInventoryBlock(RenderBlocks renderer, Block block, int metadata, int modelID)
|
||||||
|
{
|
||||||
|
if (!blockModelIds.containsKey(modelID)) { return; }
|
||||||
|
BlockRenderInfo bri = blockModelIds.get(modelID);
|
||||||
|
bri.renderInventoryBlock(block, metadata, modelID, renderer);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param p_1219_0_
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean renderItemAsFull3DBlock(int modelId)
|
||||||
|
{
|
||||||
|
BlockRenderInfo bri = blockModelIds.get(modelId);
|
||||||
|
if (bri != null) { return bri.shouldRender3DInInventory(); }
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param mod
|
||||||
|
* @param inventoryRenderer
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int obtainBlockModelIdFor(BaseMod mod, boolean inventoryRenderer)
|
||||||
|
{
|
||||||
|
ModLoaderModContainer mlmc=ModLoaderHelper.registerRenderHelper(mod);
|
||||||
|
int renderId=nextRenderId++;
|
||||||
|
BlockRenderInfo bri=new BlockRenderInfo(renderId, inventoryRenderer, mlmc);
|
||||||
|
blockModelIds.put(renderId, bri);
|
||||||
|
return renderId;
|
||||||
|
}
|
||||||
|
}
|
|
@ -109,7 +109,7 @@ import cpw.mods.fml.common.registry.FMLRegistry;
|
||||||
/**
|
/**
|
||||||
* Handles primary communication from hooked code into the system
|
* Handles primary communication from hooked code into the system
|
||||||
*
|
*
|
||||||
* The FML entry point is {@link #onPreLoad(MinecraftServer)} called from
|
* The FML entry point is {@link #beginMinecraftLoading(MinecraftServer)} called from
|
||||||
* {@link MinecraftServer}
|
* {@link MinecraftServer}
|
||||||
*
|
*
|
||||||
* Obfuscated code should focus on this class and other members of the "server"
|
* Obfuscated code should focus on this class and other members of the "server"
|
||||||
|
@ -137,27 +137,11 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
*/
|
*/
|
||||||
private Minecraft client;
|
private Minecraft client;
|
||||||
|
|
||||||
/**
|
|
||||||
* A handy list of the default overworld biomes
|
|
||||||
*/
|
|
||||||
private BiomeGenBase[] defaultOverworldBiomes;
|
|
||||||
|
|
||||||
private int nextRenderId = 30;
|
|
||||||
|
|
||||||
private TexturePackBase fallbackTexturePack;
|
private TexturePackBase fallbackTexturePack;
|
||||||
|
|
||||||
private NetClientHandler networkClient;
|
private NetClientHandler networkClient;
|
||||||
|
|
||||||
private ModContainer animationCallbackMod;
|
|
||||||
|
|
||||||
// Cached lookups
|
|
||||||
private HashMap<String, ArrayList<OverrideInfo>> overrideInfo = new HashMap<String, ArrayList<OverrideInfo>>();
|
|
||||||
private HashMap<Integer, BlockRenderInfo> blockModelIds = new HashMap<Integer, BlockRenderInfo>();
|
|
||||||
private HashMap<KeyBinding, ModContainer> keyBindings = new HashMap<KeyBinding, ModContainer>();
|
|
||||||
private HashSet<OverrideInfo> animationSet = new HashSet<OverrideInfo>();
|
|
||||||
|
|
||||||
private List<TextureFX> addedTextureFX = new ArrayList<TextureFX>();
|
|
||||||
|
|
||||||
private boolean firstTick;
|
private boolean firstTick;
|
||||||
/**
|
/**
|
||||||
* Called to start the whole game off from
|
* Called to start the whole game off from
|
||||||
|
@ -172,14 +156,15 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
|
|
||||||
private boolean serverIsRunning;
|
private boolean serverIsRunning;
|
||||||
|
|
||||||
public void onPreLoad(Minecraft minecraft)
|
public void beginMinecraftLoading(Minecraft minecraft)
|
||||||
{
|
{
|
||||||
if (minecraft.func_55063_q())
|
if (minecraft.func_71355_q())
|
||||||
{
|
{
|
||||||
FMLLog.severe("DEMO MODE DETECTED, FML will not work. Finishing now.");
|
FMLLog.severe("DEMO MODE DETECTED, FML will not work. Finishing now.");
|
||||||
haltGame("FML will not run in demo mode", new RuntimeException());
|
haltGame("FML will not run in demo mode", new RuntimeException());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
client = minecraft;
|
client = minecraft;
|
||||||
ObfuscationReflectionHelper.detectObfuscation(World.class);
|
ObfuscationReflectionHelper.detectObfuscation(World.class);
|
||||||
FMLCommonHandler.instance().beginLoading(this);
|
FMLCommonHandler.instance().beginLoading(this);
|
||||||
|
@ -211,7 +196,7 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
@Override
|
@Override
|
||||||
public void haltGame(String message, Throwable t)
|
public void haltGame(String message, Throwable t)
|
||||||
{
|
{
|
||||||
client.func_55071_b(new CrashReport(message, t));
|
client.func_71377_b(new CrashReport(message, t));
|
||||||
throw Throwables.propagate(t);
|
throw Throwables.propagate(t);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -237,45 +222,21 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
// r.func_4009_a(RenderManager.field_1233_a);
|
// r.func_4009_a(RenderManager.field_1233_a);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
KeyBindingRegistry.uploadKeyBindingsToGame(client.field_71474_y);
|
||||||
|
|
||||||
// Mark this as a "first tick"
|
// Mark this as a "first tick"
|
||||||
KeyBindingRegistry.uploadKeyBindingsToGame(client.field_6304_y);
|
|
||||||
|
|
||||||
firstTick = true;
|
firstTick = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Every tick just before world and other ticks occur
|
|
||||||
*/
|
|
||||||
public void onPreWorldTick()
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
// FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.WORLD), client., client.field_6313_p, client.field_6324_e);
|
|
||||||
// FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.GAME,TickType.WORLDGUI), 0.0f, client.field_6313_p, client.field_6324_e);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Every tick just after world and other ticks occur
|
|
||||||
*/
|
|
||||||
public void onPostWorldTick()
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
// FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.WORLD), client.field_6324_e, client.field_6313_p, client.field_6324_e);
|
|
||||||
// FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.GAME,TickType.WORLDGUI), 0.0f, client.field_6313_p, client.field_6324_e);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onWorldLoadTick()
|
|
||||||
{
|
|
||||||
if (firstTick)
|
|
||||||
{
|
|
||||||
loadTextures(fallbackTexturePack);
|
|
||||||
firstTick = false;
|
|
||||||
}
|
|
||||||
FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.WORLDLOAD,TickType.GUILOAD));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onRenderTickStart(float partialTickTime)
|
public void onRenderTickStart(float partialTickTime)
|
||||||
{
|
{
|
||||||
FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.RENDER,TickType.GUI), partialTickTime, client.field_6313_p);
|
if (firstTick)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
// loadTextures(fallbackTexturePack);
|
||||||
|
firstTick = false;
|
||||||
|
}
|
||||||
|
FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.RENDER,TickType.GUI), partialTickTime, client.field_71462_r);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onRenderTickEnd(float partialTickTime)
|
public void onRenderTickEnd(float partialTickTime)
|
||||||
|
@ -283,10 +244,10 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
if (!guiLoaded)
|
if (!guiLoaded)
|
||||||
{
|
{
|
||||||
FMLCommonHandler.instance().rescheduleTicks();
|
FMLCommonHandler.instance().rescheduleTicks();
|
||||||
FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.GUILOAD), partialTickTime, client.field_6313_p);
|
FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.GUILOAD), partialTickTime, client.field_71462_r);
|
||||||
guiLoaded = true;
|
guiLoaded = true;
|
||||||
}
|
}
|
||||||
FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.RENDER,TickType.GUI), partialTickTime, client.field_6313_p);
|
FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.RENDER,TickType.GUI), partialTickTime, client.field_71462_r);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Get the server instance
|
* Get the server instance
|
||||||
|
@ -307,68 +268,6 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Called from ChunkProvider when a chunk needs to be populated
|
|
||||||
*
|
|
||||||
* To avoid polluting the worldgen seed, we generate a new random from the
|
|
||||||
* world seed and generate a seed from that
|
|
||||||
*
|
|
||||||
* @param chunkProvider
|
|
||||||
* @param chunkX
|
|
||||||
* @param chunkZ
|
|
||||||
* @param world
|
|
||||||
* @param generator
|
|
||||||
*/
|
|
||||||
public void onChunkPopulate(IChunkProvider chunkProvider, int chunkX, int chunkZ, World world, IChunkProvider generator)
|
|
||||||
{
|
|
||||||
FMLCommonHandler.instance().handleWorldGeneration(chunkX, chunkZ, world.func_22138_q(), world, generator, chunkProvider);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called to notify that an item was picked up from the world
|
|
||||||
*
|
|
||||||
* @param entityItem
|
|
||||||
* @param entityPlayer
|
|
||||||
*/
|
|
||||||
public void notifyItemPickup(EntityItem entityItem, EntityPlayer entityPlayer)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
// for (ModContainer mod : Loader.getModList())
|
|
||||||
// {
|
|
||||||
// if (mod.wantsPickupNotification())
|
|
||||||
// {
|
|
||||||
// mod.getPickupNotifier().notifyPickup(entityItem, entityPlayer);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Attempt to dispense the item as an entity other than just as a the item
|
|
||||||
* itself
|
|
||||||
*
|
|
||||||
* @param world
|
|
||||||
* @param x
|
|
||||||
* @param y
|
|
||||||
* @param z
|
|
||||||
* @param p_56784_7_
|
|
||||||
* @param p_56784_8_
|
|
||||||
* @param item
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public boolean tryDispensingEntity(World world, double x, double y, double z, int p_56784_7_, int p_56784_8_, ItemStack item)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
// for (ModContainer mod : Loader.getModList())
|
|
||||||
// {
|
|
||||||
// if (mod.wantsToDispense() && mod.getDispenseHandler().dispense(x, y, z, p_56784_7_, p_56784_8_, world, item))
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the instance
|
* @return the instance
|
||||||
*/
|
*/
|
||||||
|
@ -377,231 +276,6 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Build a list of default overworld biomes
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public BiomeGenBase[] getDefaultOverworldBiomes()
|
|
||||||
{
|
|
||||||
if (defaultOverworldBiomes == null)
|
|
||||||
{
|
|
||||||
ArrayList<BiomeGenBase> biomes = new ArrayList<BiomeGenBase>(20);
|
|
||||||
|
|
||||||
for (int i = 0; i < 23; i++)
|
|
||||||
{
|
|
||||||
if ("Sky".equals(BiomeGenBase.field_35486_a[i].field_6504_m) || "Hell".equals(BiomeGenBase.field_35486_a[i].field_6504_m))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
biomes.add(BiomeGenBase.field_35486_a[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultOverworldBiomes = new BiomeGenBase[biomes.size()];
|
|
||||||
biomes.toArray(defaultOverworldBiomes);
|
|
||||||
}
|
|
||||||
|
|
||||||
return defaultOverworldBiomes;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when an item is crafted
|
|
||||||
*
|
|
||||||
* @param player
|
|
||||||
* @param craftedItem
|
|
||||||
* @param craftingGrid
|
|
||||||
*/
|
|
||||||
public void onItemCrafted(EntityPlayer player, ItemStack craftedItem, IInventory craftingGrid)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
// for (ModContainer mod : Loader.getModList())
|
|
||||||
// {
|
|
||||||
// if (mod.wantsCraftingNotification())
|
|
||||||
// {
|
|
||||||
// mod.getCraftingHandler().onCrafting(player, craftedItem, craftingGrid);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when an item is smelted
|
|
||||||
*
|
|
||||||
* @param player
|
|
||||||
* @param smeltedItem
|
|
||||||
*/
|
|
||||||
public void onItemSmelted(EntityPlayer player, ItemStack smeltedItem)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
// for (ModContainer mod : Loader.getModList())
|
|
||||||
// {
|
|
||||||
// if (mod.wantsCraftingNotification())
|
|
||||||
// {
|
|
||||||
// mod.getCraftingHandler().onSmelting(player, smeltedItem);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when a chat packet is received
|
|
||||||
*
|
|
||||||
* @param chat
|
|
||||||
* @param player
|
|
||||||
* @return true if you want the packet to stop processing and not echo to
|
|
||||||
* the rest of the world
|
|
||||||
*/
|
|
||||||
public boolean handleChatPacket(Packet3Chat chat)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
// for (ModContainer mod : Loader.getModList())
|
|
||||||
// {
|
|
||||||
// if (mod.wantsNetworkPackets() && mod.getNetworkHandler().onChat(chat))
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when a chat packet is received
|
|
||||||
*
|
|
||||||
* @param chat
|
|
||||||
* @param player
|
|
||||||
* @return true if you want the packet to stop processing and not echo to
|
|
||||||
* the rest of the world
|
|
||||||
*/
|
|
||||||
public boolean handleChatPacket(Packet3Chat chat, EntityPlayer player)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
// for (ModContainer mod : Loader.getModList())
|
|
||||||
// {
|
|
||||||
// if (mod.wantsNetworkPackets() && mod.getNetworkHandler().onChat(chat, player))
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void handleServerLogin(Packet1Login loginPacket, NetClientHandler handler, NetworkManager networkManager)
|
|
||||||
{
|
|
||||||
this.networkClient=handler;
|
|
||||||
Packet250CustomPayload packet = new Packet250CustomPayload();
|
|
||||||
packet.field_44012_a = "REGISTER";
|
|
||||||
packet.field_44011_c = FMLCommonHandler.instance().getPacketRegistry();
|
|
||||||
packet.field_44010_b = packet.field_44011_c.length;
|
|
||||||
if (packet.field_44010_b > 0)
|
|
||||||
{
|
|
||||||
networkManager.func_972_a(packet);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO
|
|
||||||
// for (ModContainer mod : Loader.getModList()) {
|
|
||||||
// mod.getNetworkHandler().onServerLogin(handler);
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when a packet 250 packet is received from the player
|
|
||||||
*
|
|
||||||
* @param packet
|
|
||||||
* @param player
|
|
||||||
*/
|
|
||||||
public void handlePacket250(Packet250CustomPayload packet)
|
|
||||||
{
|
|
||||||
if ("REGISTER".equals(packet.field_44012_a) || "UNREGISTER".equals(packet.field_44012_a))
|
|
||||||
{
|
|
||||||
handleServerRegistration(packet);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// TODO
|
|
||||||
|
|
||||||
// ModContainer mod = FMLCommonHandler.instance().getModForChannel(packet.field_44012_a);
|
|
||||||
//
|
|
||||||
// if (mod != null)
|
|
||||||
// {
|
|
||||||
// mod.getNetworkHandler().onPacket250Packet(packet);
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handle register requests for packet 250 channels
|
|
||||||
*
|
|
||||||
* @param packet
|
|
||||||
*/
|
|
||||||
private void handleServerRegistration(Packet250CustomPayload packet)
|
|
||||||
{
|
|
||||||
if (packet.field_44011_c == null)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
for (String channel : new String(packet.field_44011_c, "UTF8").split("\0"))
|
|
||||||
{
|
|
||||||
// Skip it if we don't know it
|
|
||||||
if (FMLCommonHandler.instance().getModForChannel(channel) == null)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// if ("REGISTER".equals(packet.field_44012_a))
|
|
||||||
// {
|
|
||||||
// FMLCommonHandler.instance().activateChannel(client.field_6322_g,channel);
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// FMLCommonHandler.instance().deactivateChannel(client.field_6322_g,channel);
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (UnsupportedEncodingException e)
|
|
||||||
{
|
|
||||||
getMinecraftLogger().warning("Received invalid registration packet");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public File getMinecraftRootDirectory()
|
|
||||||
{
|
|
||||||
return client.field_6297_D;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param player
|
|
||||||
*/
|
|
||||||
public void announceLogin(EntityPlayer player)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param player
|
|
||||||
*/
|
|
||||||
public void announceLogout(EntityPlayer player)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param p_28168_1_
|
|
||||||
*/
|
|
||||||
public void announceDimensionChange(EntityPlayer player)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param biome
|
|
||||||
*/
|
|
||||||
public void addBiomeToDefaultWorldGenerator(BiomeGenBase biome)
|
|
||||||
{
|
|
||||||
WorldType.field_48635_b.addNewBiome(biome);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the minecraft instance
|
* Return the minecraft instance
|
||||||
*/
|
*/
|
||||||
|
@ -610,82 +284,26 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
{
|
{
|
||||||
return client;
|
return client;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
|
||||||
* @see cpw.mods.fml.common.IFMLSidedHandler#getCurrentLanguage()
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public String getCurrentLanguage()
|
|
||||||
{
|
|
||||||
return StringTranslate.func_20162_a().func_44024_c();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Properties getCurrentLanguageTable() {
|
|
||||||
return StringTranslate.func_20162_a().getTranslationTable();
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* @param armor
|
* @param armor
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public int addNewArmourRendererPrefix(String armor)
|
public int addNewArmourRendererPrefix(String armor)
|
||||||
{
|
{
|
||||||
return RenderPlayer.addNewArmourPrefix(armor);
|
String[] prefixes = ObfuscationReflectionHelper.getPrivateValue(RenderPlayer.class, null, "field_77110_j", "j", "armorFilenamePrefix");
|
||||||
|
String[] newPrefixes = Arrays.copyOf(prefixes, prefixes.length+1);
|
||||||
|
newPrefixes[prefixes.length] = armor;
|
||||||
|
ObfuscationReflectionHelper.setPrivateValue(RenderPlayer.class, null, newPrefixes, "field_77110_j", "j", "armorFilenamePrefix" );
|
||||||
|
return prefixes.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addNewTextureOverride(String textureToOverride, String overridingTexturePath, int location) {
|
|
||||||
if (!overrideInfo.containsKey(textureToOverride))
|
|
||||||
{
|
|
||||||
overrideInfo.put(textureToOverride, new ArrayList<OverrideInfo>());
|
|
||||||
}
|
|
||||||
ArrayList<OverrideInfo> list = overrideInfo.get(textureToOverride);
|
|
||||||
OverrideInfo info = new OverrideInfo();
|
|
||||||
info.index = location;
|
|
||||||
info.override = overridingTexturePath;
|
|
||||||
info.texture = textureToOverride;
|
|
||||||
list.add(info);
|
|
||||||
FMLLog.fine("Overriding %s @ %d with %s. %d slots remaining",textureToOverride, location, overridingTexturePath, SpriteHelper.freeSlotCount(textureToOverride));
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* @param mod
|
|
||||||
* @param inventoryRenderer
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public int obtainBlockModelIdFor(BaseMod mod, boolean inventoryRenderer)
|
|
||||||
{
|
|
||||||
ModLoaderModContainer mlmc=ModLoaderHelper.registerRenderHelper(mod);
|
|
||||||
int renderId=nextRenderId++;
|
|
||||||
BlockRenderInfo bri=new BlockRenderInfo(renderId, inventoryRenderer, mlmc);
|
|
||||||
blockModelIds.put(renderId, bri);
|
|
||||||
return renderId;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param renderEngine
|
|
||||||
* @param path
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public BufferedImage loadImageFromTexturePack(RenderEngine renderEngine, String path) throws IOException
|
|
||||||
{
|
|
||||||
InputStream image=client.field_6298_C.field_6534_a.func_6481_a(path);
|
|
||||||
if (image==null) {
|
|
||||||
throw new RuntimeException(String.format("The requested image path %s is not found",path));
|
|
||||||
}
|
|
||||||
BufferedImage result=ImageIO.read(image);
|
|
||||||
if (result==null)
|
|
||||||
{
|
|
||||||
throw new RuntimeException(String.format("The requested image path %s appears to be corrupted",path));
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param player
|
* @param player
|
||||||
* @param gui
|
* @param gui
|
||||||
*/
|
*/
|
||||||
public void displayGuiScreen(EntityPlayer player, GuiScreen gui)
|
public void displayGuiScreen(EntityPlayer player, GuiScreen gui)
|
||||||
{
|
{
|
||||||
if (client.field_22009_h==player && gui != null) {
|
if (client.field_71439_g==player && gui != null) {
|
||||||
client.func_6272_a(gui);
|
client.func_71373_a(gui);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -699,338 +317,14 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
ModLoaderModContainer mlmc=ModLoaderHelper.registerKeyHelper(mod);
|
ModLoaderModContainer mlmc=ModLoaderHelper.registerKeyHelper(mod);
|
||||||
KeyBindingRegistry.registerKeyBinding(new ModLoaderKeyBindingHandler(keyHandler, allowRepeat, mlmc));
|
KeyBindingRegistry.registerKeyBinding(new ModLoaderKeyBindingHandler(keyHandler, allowRepeat, mlmc));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param renderer
|
|
||||||
* @param world
|
|
||||||
* @param x
|
|
||||||
* @param y
|
|
||||||
* @param z
|
|
||||||
* @param block
|
|
||||||
* @param modelId
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelId)
|
|
||||||
{
|
|
||||||
if (!blockModelIds.containsKey(modelId)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
BlockRenderInfo bri = blockModelIds.get(modelId);
|
|
||||||
return bri.renderWorldBlock(world, x, y, z, block, modelId, renderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param renderer
|
|
||||||
* @param block
|
|
||||||
* @param metadata
|
|
||||||
* @param modelID
|
|
||||||
*/
|
|
||||||
public void renderInventoryBlock(RenderBlocks renderer, Block block, int metadata, int modelID)
|
|
||||||
{
|
|
||||||
if (!blockModelIds.containsKey(modelID)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
BlockRenderInfo bri=blockModelIds.get(modelID);
|
|
||||||
bri.renderInventoryBlock(block, metadata, modelID, renderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param p_1219_0_
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public boolean renderItemAsFull3DBlock(int modelId)
|
|
||||||
{
|
|
||||||
BlockRenderInfo bri = blockModelIds.get(modelId);
|
|
||||||
if (bri!=null) {
|
|
||||||
return bri.shouldRender3DInInventory();
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void registerTextureOverrides(RenderEngine renderer) {
|
|
||||||
for (ModContainer mod : Loader.instance().getActiveModList()) {
|
|
||||||
registerAnimatedTexturesFor(mod);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (OverrideInfo animationOverride : animationSet) {
|
|
||||||
renderer.func_1066_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_1126_b, animationOverride.textureFX.getClass().getSimpleName(), animationOverride.textureFX.field_1128_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_1066_a(mts);
|
|
||||||
addedTextureFX.add(mts);
|
|
||||||
FMLCommonHandler.instance().getFMLLogger().finer(String.format("Registered texture override %d (%d) on %s (%d)", override.index, mts.field_1126_b, override.texture, mts.field_1128_f));
|
|
||||||
}
|
|
||||||
catch (IOException e)
|
|
||||||
{
|
|
||||||
FMLCommonHandler.instance().getFMLLogger().throwing("FMLClientHandler", "registerTextureOverrides", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param mod
|
|
||||||
*/
|
|
||||||
private void registerAnimatedTexturesFor(ModContainer mod)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getObjectName(Object instance) {
|
|
||||||
String objectName;
|
|
||||||
if (instance instanceof Item) {
|
|
||||||
objectName=((Item)instance).func_20009_a();
|
|
||||||
} else if (instance instanceof Block) {
|
|
||||||
objectName=((Block)instance).func_20013_i();
|
|
||||||
} else if (instance instanceof ItemStack) {
|
|
||||||
objectName=Item.field_233_c[((ItemStack)instance).field_1617_c].func_21011_b((ItemStack)instance);
|
|
||||||
} else {
|
|
||||||
throw new IllegalArgumentException(String.format("Illegal object for naming %s",instance));
|
|
||||||
}
|
|
||||||
objectName+=".name";
|
|
||||||
return objectName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void pruneOldTextureFX(TexturePackBase 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_6315_n, effects))
|
|
||||||
{
|
|
||||||
li.remove();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
effects.remove(tex);
|
|
||||||
li.remove();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param p_6531_1_
|
|
||||||
*/
|
|
||||||
public void loadTextures(TexturePackBase texturePack)
|
|
||||||
{
|
|
||||||
registerTextureOverrides(client.field_6315_n);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param field_6539_c
|
|
||||||
*/
|
|
||||||
public void onEarlyTexturePackLoad(TexturePackBase fallback)
|
|
||||||
{
|
|
||||||
if (client==null) {
|
|
||||||
// We're far too early- let's wait
|
|
||||||
this.fallbackTexturePack=fallback;
|
|
||||||
} else {
|
|
||||||
loadTextures(fallback);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param packet
|
|
||||||
*/
|
|
||||||
public void sendPacket(Packet packet)
|
|
||||||
{
|
|
||||||
if (this.networkClient!=null) {
|
|
||||||
this.networkClient.func_847_a(packet);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param anim
|
|
||||||
*/
|
|
||||||
public void addAnimation(TextureFX anim)
|
|
||||||
{
|
|
||||||
if (animationCallbackMod==null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
OverrideInfo info=new OverrideInfo();
|
|
||||||
info.index=anim.field_1126_b;
|
|
||||||
info.imageIndex=anim.field_1128_f;
|
|
||||||
info.textureFX=anim;
|
|
||||||
if (animationSet.contains(info)) {
|
|
||||||
animationSet.remove(info);
|
|
||||||
}
|
|
||||||
animationSet.add(info);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void profileStart(String profileLabel) {
|
public void profileStart(String profileLabel) {
|
||||||
Profiler.func_40663_a(profileLabel);
|
client.field_71424_I.func_76320_a(profileLabel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void profileEnd() {
|
public void profileEnd() {
|
||||||
Profiler.func_40662_b();
|
client.field_71424_I.func_76319_b();
|
||||||
}
|
|
||||||
|
|
||||||
public void onTexturePackChange(RenderEngine engine, TexturePackBase texturepack, List<TextureFX> effects)
|
|
||||||
{
|
|
||||||
FMLClientHandler.instance().pruneOldTextureFX(texturepack, effects);
|
|
||||||
|
|
||||||
for (TextureFX tex : effects)
|
|
||||||
{
|
|
||||||
if (tex instanceof ITextureFX)
|
|
||||||
{
|
|
||||||
((ITextureFX)tex).onTexturePackChanged(engine, texturepack, getTextureDimensions(tex));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
FMLClientHandler.instance().loadTextures(texturepack);
|
|
||||||
}
|
|
||||||
|
|
||||||
private HashMap<Integer, Dimension> textureDims = new HashMap<Integer, Dimension>();
|
|
||||||
private IdentityHashMap<TextureFX, Integer> effectTextures = new IdentityHashMap<TextureFX, Integer>();
|
|
||||||
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 int getEffectTexture(TextureFX effect)
|
|
||||||
{
|
|
||||||
Integer id = effectTextures.get(effect);
|
|
||||||
if (id != null)
|
|
||||||
{
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
int old = GL11.glGetInteger(GL_TEXTURE_BINDING_2D);
|
|
||||||
|
|
||||||
effect.func_782_a(client.field_6315_n);
|
|
||||||
|
|
||||||
id = GL11.glGetInteger(GL_TEXTURE_BINDING_2D);
|
|
||||||
|
|
||||||
GL11.glBindTexture(GL_TEXTURE_2D, old);
|
|
||||||
|
|
||||||
effectTextures.put(effect, id);
|
|
||||||
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
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();
|
|
||||||
Profiler.func_40663_a(name);
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (optifineContainer == null)
|
|
||||||
{
|
|
||||||
effect.func_783_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);
|
|
||||||
}
|
|
||||||
Profiler.func_40662_b();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
Profiler.func_40662_b();
|
|
||||||
|
|
||||||
if (ifx != null)
|
|
||||||
{
|
|
||||||
Dimension dim = getTextureDimensions(effect);
|
|
||||||
int target = ((dim.width >> 4) * (dim.height >> 4)) << 2;
|
|
||||||
if (effect.field_1127_a.length != target)
|
|
||||||
{
|
|
||||||
FMLLog.warning("Detected a texture FX sizing discrepancy in %s (%d, %d)", name, effect.field_1127_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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
@ -1089,29 +383,26 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* @param biome
|
public String getCurrentLanguage()
|
||||||
*/
|
|
||||||
public void removeBiomeFromDefaultWorldGenerator(BiomeGenBase biome)
|
|
||||||
{
|
{
|
||||||
WorldType.field_48635_b.removeBiome(biome);
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Handle a login
|
public Properties getCurrentLanguageTable()
|
||||||
*
|
|
||||||
* @param loginPacket
|
|
||||||
* @param networkManager
|
|
||||||
*/
|
|
||||||
public void handleClientLogin(NetworkManager networkManager)
|
|
||||||
{
|
{
|
||||||
Packet250CustomPayload packet = new Packet250CustomPayload();
|
return null;
|
||||||
packet.field_44012_a = "REGISTER";
|
}
|
||||||
packet.field_44011_c = FMLCommonHandler.instance().getPacketRegistry();
|
|
||||||
packet.field_44010_b = packet.field_44011_c.length;
|
@Override
|
||||||
if (packet.field_44010_b > 0)
|
public String getObjectName(Object minecraftObject)
|
||||||
{
|
{
|
||||||
networkManager.func_972_a(packet);
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasOptifine()
|
||||||
|
{
|
||||||
|
return optifineContainer!=null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class FMLTextureFX extends TextureFX implements ITextureFX
|
||||||
|
|
||||||
protected void setup()
|
protected void setup()
|
||||||
{
|
{
|
||||||
field_1127_a = new byte[tileSizeSquare << 2];
|
field_76852_a = new byte[tileSizeSquare << 2];
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean unregister(RenderEngine engine, List<TextureFX> effects)
|
public boolean unregister(RenderEngine engine, List<TextureFX> effects)
|
||||||
|
|
|
@ -39,7 +39,6 @@ import net.minecraft.src.Tessellator;
|
||||||
*/
|
*/
|
||||||
public class GuiModList extends GuiScreen
|
public class GuiModList extends GuiScreen
|
||||||
{
|
{
|
||||||
|
|
||||||
private GuiScreen mainMenu;
|
private GuiScreen mainMenu;
|
||||||
private GuiSlotModList modList;
|
private GuiSlotModList modList;
|
||||||
private int selected = -1;
|
private int selected = -1;
|
||||||
|
@ -63,63 +62,67 @@ public class GuiModList extends GuiScreen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void func_6448_a()
|
@Override
|
||||||
|
public void func_73866_w_()
|
||||||
{
|
{
|
||||||
for (ModContainer mod : mods) {
|
for (ModContainer mod : mods) {
|
||||||
listWidth=Math.max(listWidth,getFontRenderer().func_871_a(mod.getName()) + 10);
|
listWidth=Math.max(listWidth,getFontRenderer().func_78256_a(mod.getName()) + 10);
|
||||||
listWidth=Math.max(listWidth,getFontRenderer().func_871_a(mod.getVersion()) + 10);
|
listWidth=Math.max(listWidth,getFontRenderer().func_78256_a(mod.getVersion()) + 10);
|
||||||
}
|
}
|
||||||
listWidth=Math.min(listWidth, 150);
|
listWidth=Math.min(listWidth, 150);
|
||||||
StringTranslate translations = StringTranslate.func_20162_a();
|
StringTranslate translations = StringTranslate.func_74808_a();
|
||||||
this.field_949_e.add(new GuiSmallButton(6, this.field_951_c / 2 - 75, this.field_950_d - 38, translations.func_20163_a("gui.done")));
|
this.field_73887_h.add(new GuiSmallButton(6, this.field_73880_f / 2 - 75, this.field_73881_g - 38, translations.func_74805_b("gui.done")));
|
||||||
this.modList=new GuiSlotModList(this, mods, listWidth);
|
this.modList=new GuiSlotModList(this, mods, listWidth);
|
||||||
this.modList.registerScrollButtons(this.field_949_e, 7, 8);
|
this.modList.registerScrollButtons(this.field_73887_h, 7, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void func_572_a(GuiButton button) {
|
@Override
|
||||||
if (button.field_937_g)
|
protected void func_73875_a(GuiButton button) {
|
||||||
|
if (button.field_73742_g)
|
||||||
{
|
{
|
||||||
switch (button.field_938_f)
|
switch (button.field_73741_f)
|
||||||
{
|
{
|
||||||
case 6:
|
case 6:
|
||||||
this.field_945_b.func_6272_a(this.mainMenu);
|
this.field_73882_e.func_71373_a(this.mainMenu);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
super.func_572_a(button);
|
super.func_73875_a(button);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int drawLine(String line, int offset, int shifty)
|
public int drawLine(String line, int offset, int shifty)
|
||||||
{
|
{
|
||||||
this.field_6451_g.func_873_b(line, offset, shifty, 0xd7edea);
|
this.field_73886_k.func_78276_b(line, offset, shifty, 0xd7edea);
|
||||||
return shifty + 10;
|
return shifty + 10;
|
||||||
}
|
}
|
||||||
public void func_571_a(int p_571_1_, int p_571_2_, float p_571_3_)
|
|
||||||
|
@Override
|
||||||
|
public void func_73863_a(int p_571_1_, int p_571_2_, float p_571_3_)
|
||||||
{
|
{
|
||||||
this.modList.drawScreen(p_571_1_, p_571_2_, p_571_3_);
|
this.modList.drawScreen(p_571_1_, p_571_2_, p_571_3_);
|
||||||
this.func_548_a(this.field_6451_g, "Mod List", this.field_951_c / 2, 16, 0xFFFFFF);
|
this.func_73732_a(this.field_73886_k, "Mod List", this.field_73880_f / 2, 16, 0xFFFFFF);
|
||||||
int offset = this.listWidth + 20;
|
int offset = this.listWidth + 20;
|
||||||
if (selectedMod != null) {
|
if (selectedMod != null) {
|
||||||
if (!selectedMod.getMetadata().autogenerated) {
|
if (!selectedMod.getMetadata().autogenerated) {
|
||||||
int shifty = 35;
|
int shifty = 35;
|
||||||
if (!selectedMod.getMetadata().logoFile.isEmpty())
|
if (!selectedMod.getMetadata().logoFile.isEmpty())
|
||||||
{
|
{
|
||||||
int texture = this.field_945_b.field_6315_n.func_1070_a(selectedMod.getMetadata().logoFile);
|
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);
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
this.field_945_b.field_6315_n.func_1076_b(texture);
|
this.field_73882_e.field_71446_o.func_78342_b(texture);
|
||||||
Dimension dim = FMLClientHandler.instance().getTextureDimensions(texture);
|
Dimension dim = TextureFXManager.instance().getTextureDimensions(texture);
|
||||||
int top = 32;
|
int top = 32;
|
||||||
Tessellator tess = Tessellator.field_1512_a;
|
Tessellator tess = Tessellator.field_78398_a;
|
||||||
tess.func_977_b();
|
tess.func_78382_b();
|
||||||
tess.func_983_a(offset, top + dim.height, field_923_k, 0, 1);
|
tess.func_78374_a(offset, top + dim.height, field_73735_i, 0, 1);
|
||||||
tess.func_983_a(offset + dim.width, top + dim.height, field_923_k, 1, 1);
|
tess.func_78374_a(offset + dim.width, top + dim.height, field_73735_i, 1, 1);
|
||||||
tess.func_983_a(offset + dim.width, top, field_923_k, 1, 0);
|
tess.func_78374_a(offset + dim.width, top, field_73735_i, 1, 0);
|
||||||
tess.func_983_a(offset, top, field_923_k, 0, 0);
|
tess.func_78374_a(offset, top, field_73735_i, 0, 0);
|
||||||
tess.func_982_a();
|
tess.func_78381_a();
|
||||||
|
|
||||||
shifty += 65;
|
shifty += 65;
|
||||||
}
|
}
|
||||||
this.field_6451_g.func_50103_a(selectedMod.getMetadata().name, offset, shifty, 0xFFFFFF);
|
this.field_73886_k.func_78261_a(selectedMod.getMetadata().name, offset, shifty, 0xFFFFFF);
|
||||||
shifty += 12;
|
shifty += 12;
|
||||||
|
|
||||||
shifty = drawLine(String.format("Version: %s (%s)", selectedMod.getMetadata().version, selectedMod.getVersion()), offset, shifty);
|
shifty = drawLine(String.format("Version: %s (%s)", selectedMod.getMetadata().version, selectedMod.getVersion()), offset, shifty);
|
||||||
|
@ -130,25 +133,25 @@ public class GuiModList extends GuiScreen
|
||||||
shifty = drawLine(String.format("Authors: %s", selectedMod.getMetadata().getAuthorList()), offset, shifty);
|
shifty = drawLine(String.format("Authors: %s", selectedMod.getMetadata().getAuthorList()), offset, shifty);
|
||||||
shifty = drawLine(String.format("URL: %s", selectedMod.getMetadata().url), offset, shifty);
|
shifty = drawLine(String.format("URL: %s", selectedMod.getMetadata().url), offset, shifty);
|
||||||
shifty = drawLine(selectedMod.getMetadata().childMods.isEmpty() ? "No child mods for this mod" : String.format("Child mods: %s", selectedMod.getMetadata().getChildModList()), offset, shifty);
|
shifty = drawLine(selectedMod.getMetadata().childMods.isEmpty() ? "No child mods for this mod" : String.format("Child mods: %s", selectedMod.getMetadata().getChildModList()), offset, shifty);
|
||||||
this.getFontRenderer().func_27278_a(selectedMod.getMetadata().description, offset, shifty + 10, this.field_951_c - offset - 20, 0xDDDDDD);
|
this.getFontRenderer().func_78279_b(selectedMod.getMetadata().description, offset, shifty + 10, this.field_73880_f - offset - 20, 0xDDDDDD);
|
||||||
} else {
|
} else {
|
||||||
offset = ( this.listWidth + this.field_951_c ) / 2;
|
offset = ( this.listWidth + this.field_73880_f ) / 2;
|
||||||
this.func_548_a(this.field_6451_g, selectedMod.getName(), offset, 35, 0xFFFFFF);
|
this.func_73732_a(this.field_73886_k, selectedMod.getName(), offset, 35, 0xFFFFFF);
|
||||||
this.func_548_a(this.field_6451_g, String.format("Version: %s",selectedMod.getVersion()), offset, 45, 0xFFFFFF);
|
this.func_73732_a(this.field_73886_k, String.format("Version: %s",selectedMod.getVersion()), offset, 45, 0xFFFFFF);
|
||||||
this.func_548_a(this.field_6451_g, String.format("Mod State: %s",Loader.instance().getModState(selectedMod)), offset, 55, 0xFFFFFF);
|
this.func_73732_a(this.field_73886_k, String.format("Mod State: %s",Loader.instance().getModState(selectedMod)), offset, 55, 0xFFFFFF);
|
||||||
this.func_548_a(this.field_6451_g, "No mod information found", offset, 65, 0xDDDDDD);
|
this.func_73732_a(this.field_73886_k, "No mod information found", offset, 65, 0xDDDDDD);
|
||||||
this.func_548_a(this.field_6451_g, "Ask your mod author to provide a mod mcmod.info file", offset, 75, 0xDDDDDD);
|
this.func_73732_a(this.field_73886_k, "Ask your mod author to provide a mod mcmod.info file", offset, 75, 0xDDDDDD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
super.func_571_a(p_571_1_, p_571_2_, p_571_3_);
|
super.func_73863_a(p_571_1_, p_571_2_, p_571_3_);
|
||||||
}
|
}
|
||||||
|
|
||||||
Minecraft getMinecraftInstance() {
|
Minecraft getMinecraftInstance() {
|
||||||
return field_945_b;
|
return field_73882_e;
|
||||||
}
|
}
|
||||||
|
|
||||||
FontRenderer getFontRenderer() {
|
FontRenderer getFontRenderer() {
|
||||||
return field_6451_g;
|
return field_73886_k;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -117,15 +117,15 @@ public abstract class GuiScrollingList
|
||||||
|
|
||||||
public void actionPerformed(GuiButton button)
|
public void actionPerformed(GuiButton button)
|
||||||
{
|
{
|
||||||
if (button.field_937_g)
|
if (button.field_73742_g)
|
||||||
{
|
{
|
||||||
if (button.field_938_f == this.scrollUpActionId)
|
if (button.field_73741_f == this.scrollUpActionId)
|
||||||
{
|
{
|
||||||
this.scrollDistance -= (float)(this.slotHeight * 2 / 3);
|
this.scrollDistance -= (float)(this.slotHeight * 2 / 3);
|
||||||
this.initialMouseClickY = -2.0F;
|
this.initialMouseClickY = -2.0F;
|
||||||
this.applyScrollLimits();
|
this.applyScrollLimits();
|
||||||
}
|
}
|
||||||
else if (button.field_938_f == this.scrollDownActionId)
|
else if (button.field_73741_f == this.scrollDownActionId)
|
||||||
{
|
{
|
||||||
this.scrollDistance += (float)(this.slotHeight * 2 / 3);
|
this.scrollDistance += (float)(this.slotHeight * 2 / 3);
|
||||||
this.initialMouseClickY = -2.0F;
|
this.initialMouseClickY = -2.0F;
|
||||||
|
@ -249,17 +249,17 @@ public abstract class GuiScrollingList
|
||||||
this.applyScrollLimits();
|
this.applyScrollLimits();
|
||||||
GL11.glDisable(GL11.GL_LIGHTING);
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
GL11.glDisable(GL11.GL_FOG);
|
GL11.glDisable(GL11.GL_FOG);
|
||||||
Tessellator var18 = Tessellator.field_1512_a;
|
Tessellator var18 = Tessellator.field_78398_a;
|
||||||
GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.client.field_6315_n.func_1070_a("/gui/background.png"));
|
GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.client.field_71446_o.func_78341_b("/gui/background.png"));
|
||||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
float var17 = 32.0F;
|
float var17 = 32.0F;
|
||||||
var18.func_977_b();
|
var18.func_78382_b();
|
||||||
var18.func_990_b(2105376);
|
var18.func_78378_d(2105376);
|
||||||
var18.func_983_a((double)this.left, (double)this.bottom, 0.0D, (double)((float)this.left / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17));
|
var18.func_78374_a((double)this.left, (double)this.bottom, 0.0D, (double)((float)this.left / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17));
|
||||||
var18.func_983_a((double)this.right, (double)this.bottom, 0.0D, (double)((float)this.right / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17));
|
var18.func_78374_a((double)this.right, (double)this.bottom, 0.0D, (double)((float)this.right / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17));
|
||||||
var18.func_983_a((double)this.right, (double)this.top, 0.0D, (double)((float)this.right / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17));
|
var18.func_78374_a((double)this.right, (double)this.top, 0.0D, (double)((float)this.right / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17));
|
||||||
var18.func_983_a((double)this.left, (double)this.top, 0.0D, (double)((float)this.left / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17));
|
var18.func_78374_a((double)this.left, (double)this.top, 0.0D, (double)((float)this.left / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17));
|
||||||
var18.func_982_a();
|
var18.func_78381_a();
|
||||||
// boxRight = this.listWidth / 2 - 92 - 16;
|
// boxRight = this.listWidth / 2 - 92 - 16;
|
||||||
var10 = this.top + 4 - (int)this.scrollDistance;
|
var10 = this.top + 4 - (int)this.scrollDistance;
|
||||||
|
|
||||||
|
@ -283,18 +283,18 @@ public abstract class GuiScrollingList
|
||||||
int var15 = boxRight;
|
int var15 = boxRight;
|
||||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||||
var18.func_977_b();
|
var18.func_78382_b();
|
||||||
var18.func_990_b(8421504);
|
var18.func_78378_d(8421504);
|
||||||
var18.func_983_a((double)var14, (double)(var19 + var13 + 2), 0.0D, 0.0D, 1.0D);
|
var18.func_78374_a((double)var14, (double)(var19 + var13 + 2), 0.0D, 0.0D, 1.0D);
|
||||||
var18.func_983_a((double)var15, (double)(var19 + var13 + 2), 0.0D, 1.0D, 1.0D);
|
var18.func_78374_a((double)var15, (double)(var19 + var13 + 2), 0.0D, 1.0D, 1.0D);
|
||||||
var18.func_983_a((double)var15, (double)(var19 - 2), 0.0D, 1.0D, 0.0D);
|
var18.func_78374_a((double)var15, (double)(var19 - 2), 0.0D, 1.0D, 0.0D);
|
||||||
var18.func_983_a((double)var14, (double)(var19 - 2), 0.0D, 0.0D, 0.0D);
|
var18.func_78374_a((double)var14, (double)(var19 - 2), 0.0D, 0.0D, 0.0D);
|
||||||
var18.func_990_b(0);
|
var18.func_78378_d(0);
|
||||||
var18.func_983_a((double)(var14 + 1), (double)(var19 + var13 + 1), 0.0D, 0.0D, 1.0D);
|
var18.func_78374_a((double)(var14 + 1), (double)(var19 + var13 + 1), 0.0D, 0.0D, 1.0D);
|
||||||
var18.func_983_a((double)(var15 - 1), (double)(var19 + var13 + 1), 0.0D, 1.0D, 1.0D);
|
var18.func_78374_a((double)(var15 - 1), (double)(var19 + var13 + 1), 0.0D, 1.0D, 1.0D);
|
||||||
var18.func_983_a((double)(var15 - 1), (double)(var19 - 1), 0.0D, 1.0D, 0.0D);
|
var18.func_78374_a((double)(var15 - 1), (double)(var19 - 1), 0.0D, 1.0D, 0.0D);
|
||||||
var18.func_983_a((double)(var14 + 1), (double)(var19 - 1), 0.0D, 0.0D, 0.0D);
|
var18.func_78374_a((double)(var14 + 1), (double)(var19 - 1), 0.0D, 0.0D, 0.0D);
|
||||||
var18.func_982_a();
|
var18.func_78381_a();
|
||||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -311,22 +311,22 @@ public abstract class GuiScrollingList
|
||||||
GL11.glDisable(GL11.GL_ALPHA_TEST);
|
GL11.glDisable(GL11.GL_ALPHA_TEST);
|
||||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||||
var18.func_977_b();
|
var18.func_78382_b();
|
||||||
var18.func_6513_a(0, 0);
|
var18.func_78384_a(0, 0);
|
||||||
var18.func_983_a((double)this.left, (double)(this.top + var20), 0.0D, 0.0D, 1.0D);
|
var18.func_78374_a((double)this.left, (double)(this.top + var20), 0.0D, 0.0D, 1.0D);
|
||||||
var18.func_983_a((double)this.right, (double)(this.top + var20), 0.0D, 1.0D, 1.0D);
|
var18.func_78374_a((double)this.right, (double)(this.top + var20), 0.0D, 1.0D, 1.0D);
|
||||||
var18.func_6513_a(0, 255);
|
var18.func_78384_a(0, 255);
|
||||||
var18.func_983_a((double)this.right, (double)this.top, 0.0D, 1.0D, 0.0D);
|
var18.func_78374_a((double)this.right, (double)this.top, 0.0D, 1.0D, 0.0D);
|
||||||
var18.func_983_a((double)this.left, (double)this.top, 0.0D, 0.0D, 0.0D);
|
var18.func_78374_a((double)this.left, (double)this.top, 0.0D, 0.0D, 0.0D);
|
||||||
var18.func_982_a();
|
var18.func_78381_a();
|
||||||
var18.func_977_b();
|
var18.func_78382_b();
|
||||||
var18.func_6513_a(0, 255);
|
var18.func_78384_a(0, 255);
|
||||||
var18.func_983_a((double)this.left, (double)this.bottom, 0.0D, 0.0D, 1.0D);
|
var18.func_78374_a((double)this.left, (double)this.bottom, 0.0D, 0.0D, 1.0D);
|
||||||
var18.func_983_a((double)this.right, (double)this.bottom, 0.0D, 1.0D, 1.0D);
|
var18.func_78374_a((double)this.right, (double)this.bottom, 0.0D, 1.0D, 1.0D);
|
||||||
var18.func_6513_a(0, 0);
|
var18.func_78384_a(0, 0);
|
||||||
var18.func_983_a((double)this.right, (double)(this.bottom - var20), 0.0D, 1.0D, 0.0D);
|
var18.func_78374_a((double)this.right, (double)(this.bottom - var20), 0.0D, 1.0D, 0.0D);
|
||||||
var18.func_983_a((double)this.left, (double)(this.bottom - var20), 0.0D, 0.0D, 0.0D);
|
var18.func_78374_a((double)this.left, (double)(this.bottom - var20), 0.0D, 0.0D, 0.0D);
|
||||||
var18.func_982_a();
|
var18.func_78381_a();
|
||||||
var19 = this.getContentHeight() - (this.bottom - this.top - 4);
|
var19 = this.getContentHeight() - (this.bottom - this.top - 4);
|
||||||
|
|
||||||
if (var19 > 0)
|
if (var19 > 0)
|
||||||
|
@ -350,27 +350,27 @@ public abstract class GuiScrollingList
|
||||||
var14 = this.top;
|
var14 = this.top;
|
||||||
}
|
}
|
||||||
|
|
||||||
var18.func_977_b();
|
var18.func_78382_b();
|
||||||
var18.func_6513_a(0, 255);
|
var18.func_78384_a(0, 255);
|
||||||
var18.func_983_a((double)scrollBarXStart, (double)this.bottom, 0.0D, 0.0D, 1.0D);
|
var18.func_78374_a((double)scrollBarXStart, (double)this.bottom, 0.0D, 0.0D, 1.0D);
|
||||||
var18.func_983_a((double)scrollBarXEnd, (double)this.bottom, 0.0D, 1.0D, 1.0D);
|
var18.func_78374_a((double)scrollBarXEnd, (double)this.bottom, 0.0D, 1.0D, 1.0D);
|
||||||
var18.func_983_a((double)scrollBarXEnd, (double)this.top, 0.0D, 1.0D, 0.0D);
|
var18.func_78374_a((double)scrollBarXEnd, (double)this.top, 0.0D, 1.0D, 0.0D);
|
||||||
var18.func_983_a((double)scrollBarXStart, (double)this.top, 0.0D, 0.0D, 0.0D);
|
var18.func_78374_a((double)scrollBarXStart, (double)this.top, 0.0D, 0.0D, 0.0D);
|
||||||
var18.func_982_a();
|
var18.func_78381_a();
|
||||||
var18.func_977_b();
|
var18.func_78382_b();
|
||||||
var18.func_6513_a(8421504, 255);
|
var18.func_78384_a(8421504, 255);
|
||||||
var18.func_983_a((double)scrollBarXStart, (double)(var14 + var13), 0.0D, 0.0D, 1.0D);
|
var18.func_78374_a((double)scrollBarXStart, (double)(var14 + var13), 0.0D, 0.0D, 1.0D);
|
||||||
var18.func_983_a((double)scrollBarXEnd, (double)(var14 + var13), 0.0D, 1.0D, 1.0D);
|
var18.func_78374_a((double)scrollBarXEnd, (double)(var14 + var13), 0.0D, 1.0D, 1.0D);
|
||||||
var18.func_983_a((double)scrollBarXEnd, (double)var14, 0.0D, 1.0D, 0.0D);
|
var18.func_78374_a((double)scrollBarXEnd, (double)var14, 0.0D, 1.0D, 0.0D);
|
||||||
var18.func_983_a((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D);
|
var18.func_78374_a((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D);
|
||||||
var18.func_982_a();
|
var18.func_78381_a();
|
||||||
var18.func_977_b();
|
var18.func_78382_b();
|
||||||
var18.func_6513_a(12632256, 255);
|
var18.func_78384_a(12632256, 255);
|
||||||
var18.func_983_a((double)scrollBarXStart, (double)(var14 + var13 - 1), 0.0D, 0.0D, 1.0D);
|
var18.func_78374_a((double)scrollBarXStart, (double)(var14 + var13 - 1), 0.0D, 0.0D, 1.0D);
|
||||||
var18.func_983_a((double)(scrollBarXEnd - 1), (double)(var14 + var13 - 1), 0.0D, 1.0D, 1.0D);
|
var18.func_78374_a((double)(scrollBarXEnd - 1), (double)(var14 + var13 - 1), 0.0D, 1.0D, 1.0D);
|
||||||
var18.func_983_a((double)(scrollBarXEnd - 1), (double)var14, 0.0D, 1.0D, 0.0D);
|
var18.func_78374_a((double)(scrollBarXEnd - 1), (double)var14, 0.0D, 1.0D, 0.0D);
|
||||||
var18.func_983_a((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D);
|
var18.func_78374_a((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D);
|
||||||
var18.func_982_a();
|
var18.func_78381_a();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.func_27257_b(mouseX, mouseY);
|
this.func_27257_b(mouseX, mouseY);
|
||||||
|
@ -382,17 +382,17 @@ public abstract class GuiScrollingList
|
||||||
|
|
||||||
private void overlayBackground(int p_22239_1_, int p_22239_2_, int p_22239_3_, int p_22239_4_)
|
private void overlayBackground(int p_22239_1_, int p_22239_2_, int p_22239_3_, int p_22239_4_)
|
||||||
{
|
{
|
||||||
Tessellator var5 = Tessellator.field_1512_a;
|
Tessellator var5 = Tessellator.field_78398_a;
|
||||||
GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.client.field_6315_n.func_1070_a("/gui/background.png"));
|
GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.client.field_71446_o.func_78341_b("/gui/background.png"));
|
||||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
float var6 = 32.0F;
|
float var6 = 32.0F;
|
||||||
var5.func_977_b();
|
var5.func_78382_b();
|
||||||
var5.func_6513_a(4210752, p_22239_4_);
|
var5.func_78384_a(4210752, p_22239_4_);
|
||||||
var5.func_983_a(0.0D, (double)p_22239_2_, 0.0D, 0.0D, (double)((float)p_22239_2_ / var6));
|
var5.func_78374_a(0.0D, (double)p_22239_2_, 0.0D, 0.0D, (double)((float)p_22239_2_ / var6));
|
||||||
var5.func_983_a((double)this.listWidth + 30, (double)p_22239_2_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_2_ / var6));
|
var5.func_78374_a((double)this.listWidth + 30, (double)p_22239_2_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_2_ / var6));
|
||||||
var5.func_6513_a(4210752, p_22239_3_);
|
var5.func_78384_a(4210752, p_22239_3_);
|
||||||
var5.func_983_a((double)this.listWidth + 30, (double)p_22239_1_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_1_ / var6));
|
var5.func_78374_a((double)this.listWidth + 30, (double)p_22239_1_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_1_ / var6));
|
||||||
var5.func_983_a(0.0D, (double)p_22239_1_, 0.0D, 0.0D, (double)((float)p_22239_1_ / var6));
|
var5.func_78374_a(0.0D, (double)p_22239_1_, 0.0D, 0.0D, (double)((float)p_22239_1_ / var6));
|
||||||
var5.func_982_a();
|
var5.func_78381_a();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ public class GuiSlotModList extends GuiScrollingList
|
||||||
|
|
||||||
public GuiSlotModList(GuiModList parent, ArrayList<ModContainer> mods, int listWidth)
|
public GuiSlotModList(GuiModList parent, ArrayList<ModContainer> mods, int listWidth)
|
||||||
{
|
{
|
||||||
super(parent.getMinecraftInstance(), listWidth, parent.field_950_d, 32, parent.field_950_d - 65 + 4, 10, 35);
|
super(parent.getMinecraftInstance(), listWidth, parent.field_73881_g, 32, parent.field_73881_g - 65 + 4, 10, 35);
|
||||||
this.parent=parent;
|
this.parent=parent;
|
||||||
this.mods=mods;
|
this.mods=mods;
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ public class GuiSlotModList extends GuiScrollingList
|
||||||
@Override
|
@Override
|
||||||
protected void drawBackground()
|
protected void drawBackground()
|
||||||
{
|
{
|
||||||
this.parent.func_578_i();
|
this.parent.func_73873_v_();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -78,15 +78,15 @@ public class GuiSlotModList extends GuiScrollingList
|
||||||
ModContainer mc=mods.get(listIndex);
|
ModContainer mc=mods.get(listIndex);
|
||||||
if (Loader.instance().getModState(mc)==ModState.DISABLED)
|
if (Loader.instance().getModState(mc)==ModState.DISABLED)
|
||||||
{
|
{
|
||||||
this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a(mc.getName(), listWidth - 11), this.left + 3 , var3 + 2, 0xFF2222);
|
this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a(mc.getName(), listWidth - 11), this.left + 3 , var3 + 2, 0xFF2222);
|
||||||
this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a(mc.getVersion(), listWidth - 11), this.left + 3 , var3 + 12, 0xFF2222);
|
this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a(mc.getVersion(), listWidth - 11), this.left + 3 , var3 + 12, 0xFF2222);
|
||||||
this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a("DISABLED", listWidth - 11), this.left + 3 , var3 + 22, 0xFF2222);
|
this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a("DISABLED", listWidth - 11), this.left + 3 , var3 + 22, 0xFF2222);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a(mc.getName(), listWidth - 11), this.left + 3 , var3 + 2, 0xFFFFFF);
|
this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a(mc.getName(), listWidth - 11), this.left + 3 , var3 + 2, 0xFFFFFF);
|
||||||
this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a(mc.getVersion(), listWidth - 11), this.left + 3 , var3 + 12, 0xCCCCCC);
|
this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a(mc.getVersion(), listWidth - 11), this.left + 3 , var3 + 12, 0xCCCCCC);
|
||||||
this.parent.getFontRenderer().func_873_b(this.parent.getFontRenderer().func_50107_a(mc.getMetadata() !=null ? mc.getMetadata().getChildModCountString() : "Metadata not found", listWidth - 9), this.left + 3 , var3 + 22, 0xCCCCCC);
|
this.parent.getFontRenderer().func_78276_b(this.parent.getFontRenderer().func_78269_a(mc.getMetadata() !=null ? mc.getMetadata().getChildModCountString() : "Metadata not found", listWidth - 9), this.left + 3 , var3 + 22, 0xCCCCCC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -99,6 +99,6 @@ public class ModLoaderKeyBindingHandler extends KeyBindingRegistry.KeyHandler
|
||||||
@Override
|
@Override
|
||||||
public String getLabel()
|
public String getLabel()
|
||||||
{
|
{
|
||||||
return modContainer.getModId() +" KB "+keyBinding.field_1371_a;
|
return modContainer.getModId() +" KB "+keyBinding.field_74512_d;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,342 @@
|
||||||
|
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 org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import com.google.common.collect.ArrayListMultimap;
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
|
import com.google.common.collect.Multimap;
|
||||||
|
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.src.KeyBinding;
|
||||||
|
import net.minecraft.src.ModTextureStatic;
|
||||||
|
import net.minecraft.src.Profiler;
|
||||||
|
import net.minecraft.src.RenderEngine;
|
||||||
|
import net.minecraft.src.TextureFX;
|
||||||
|
import net.minecraft.src.TexturePackBase;
|
||||||
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
|
import cpw.mods.fml.common.FMLLog;
|
||||||
|
import cpw.mods.fml.common.Loader;
|
||||||
|
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;
|
||||||
|
|
||||||
|
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();
|
||||||
|
FMLClientHandler.instance().profileStart(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);
|
||||||
|
}
|
||||||
|
FMLClientHandler.instance().profileEnd();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
FMLClientHandler.instance().profileEnd();
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onTexturePackChange(RenderEngine engine, TexturePackBase 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 TexturePackBase 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param anim
|
||||||
|
*/
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param p_6531_1_
|
||||||
|
*/
|
||||||
|
public void loadTextures(TexturePackBase texturePack)
|
||||||
|
{
|
||||||
|
registerTextureOverrides(client.field_71446_o);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void registerTextureOverrides(RenderEngine renderer) {
|
||||||
|
for (ModContainer mod : Loader.instance().getActiveModList()) {
|
||||||
|
registerAnimatedTexturesFor(mod);
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param mod
|
||||||
|
*/
|
||||||
|
private void registerAnimatedTexturesFor(ModContainer mod)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param field_6539_c
|
||||||
|
*/
|
||||||
|
public void onEarlyTexturePackLoad(TexturePackBase fallback)
|
||||||
|
{
|
||||||
|
if (client==null) {
|
||||||
|
// We're far too early- let's wait
|
||||||
|
this.earlyTexturePack = fallback;
|
||||||
|
} else {
|
||||||
|
loadTextures(fallback);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void pruneOldTextureFX(TexturePackBase 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));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param renderEngine
|
||||||
|
* @param path
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public BufferedImage loadImageFromTexturePack(RenderEngine renderEngine, String path) throws IOException
|
||||||
|
{
|
||||||
|
InputStream image=client.field_71418_C.func_77292_e().func_77532_a(path);
|
||||||
|
if (image==null) {
|
||||||
|
throw new RuntimeException(String.format("The requested image path %s is not found",path));
|
||||||
|
}
|
||||||
|
BufferedImage result=ImageIO.read(image);
|
||||||
|
if (result==null)
|
||||||
|
{
|
||||||
|
throw new RuntimeException(String.format("The requested image path %s appears to be corrupted",path));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TextureFXManager instance()
|
||||||
|
{
|
||||||
|
return INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -49,7 +49,7 @@ public class KeyBindingRegistry
|
||||||
|
|
||||||
private void keyTick(EnumSet<TickType> type, boolean tickEnd)
|
private void keyTick(EnumSet<TickType> type, boolean tickEnd)
|
||||||
{
|
{
|
||||||
int keyCode = keyBinding.field_1370_b;
|
int keyCode = keyBinding.field_74512_d;
|
||||||
boolean state = (keyCode < 0 ? Mouse.isButtonDown(keyCode + 100) : Keyboard.isKeyDown(keyCode));
|
boolean state = (keyCode < 0 ? Mouse.isButtonDown(keyCode + 100) : Keyboard.isKeyDown(keyCode));
|
||||||
if (state != keyDown || (state && repeating))
|
if (state != keyDown || (state && repeating))
|
||||||
{
|
{
|
||||||
|
@ -83,10 +83,10 @@ public class KeyBindingRegistry
|
||||||
harvestedBindings.add(key.keyBinding);
|
harvestedBindings.add(key.keyBinding);
|
||||||
}
|
}
|
||||||
KeyBinding[] modKeyBindings = harvestedBindings.toArray(new KeyBinding[harvestedBindings.size()]);
|
KeyBinding[] modKeyBindings = harvestedBindings.toArray(new KeyBinding[harvestedBindings.size()]);
|
||||||
KeyBinding[] allKeys = new KeyBinding[settings.field_1564_t.length + modKeyBindings.length];
|
KeyBinding[] allKeys = new KeyBinding[settings.field_74324_K.length + modKeyBindings.length];
|
||||||
System.arraycopy(settings.field_1564_t, 0, allKeys, 0, settings.field_1564_t.length);
|
System.arraycopy(settings.field_74324_K, 0, allKeys, 0, settings.field_74324_K.length);
|
||||||
System.arraycopy(modKeyBindings, 0, allKeys, settings.field_1564_t.length, modKeyBindings.length);
|
System.arraycopy(modKeyBindings, 0, allKeys, settings.field_74324_K.length, modKeyBindings.length);
|
||||||
settings.field_1564_t = allKeys;
|
settings.field_74324_K = allKeys;
|
||||||
settings.func_6519_a();
|
settings.func_74300_a();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@ public abstract class BaseMod implements cpw.mods.fml.common.modloader.BaseMod
|
||||||
{
|
{
|
||||||
Minecraft mc = (Minecraft) minecraftInstance;
|
Minecraft mc = (Minecraft) minecraftInstance;
|
||||||
if (tickEnd && ( tick==TickType.RENDER || tick==TickType.GAME ) || tick == TickType.GUILOAD) {
|
if (tickEnd && ( tick==TickType.RENDER || tick==TickType.GAME ) || tick == TickType.GUILOAD) {
|
||||||
return onTickInGUI((Float) data[0], mc, mc.field_6313_p);
|
return onTickInGUI((Float) data[0], mc, mc.field_71462_r);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,7 @@ public abstract class BaseMod implements cpw.mods.fml.common.modloader.BaseMod
|
||||||
@Override
|
@Override
|
||||||
public final boolean onChat(Object... data)
|
public final boolean onChat(Object... data)
|
||||||
{
|
{
|
||||||
receiveChatPacket(((Packet3Chat)data[0]).field_517_a);
|
receiveChatPacket(((Packet3Chat)data[0]).field_73476_b);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,7 +140,7 @@ public abstract class BaseMod implements cpw.mods.fml.common.modloader.BaseMod
|
||||||
{
|
{
|
||||||
EntityItem item = (EntityItem) pickupData[0];
|
EntityItem item = (EntityItem) pickupData[0];
|
||||||
EntityPlayer player = (EntityPlayer) pickupData[1];
|
EntityPlayer player = (EntityPlayer) pickupData[1];
|
||||||
onItemPickup(player, item.field_801_a);
|
onItemPickup(player, item.field_70294_a);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -17,25 +17,25 @@ public class ClientRegistry implements IMinecraftRegistry
|
||||||
@Override
|
@Override
|
||||||
public void addRecipe(ItemStack output, Object... params)
|
public void addRecipe(ItemStack output, Object... params)
|
||||||
{
|
{
|
||||||
CraftingManager.func_1120_a().func_1121_a(output, params);
|
CraftingManager.func_77594_a().func_77595_a(output, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addShapelessRecipe(ItemStack output, Object... params)
|
public void addShapelessRecipe(ItemStack output, Object... params)
|
||||||
{
|
{
|
||||||
CraftingManager.func_1120_a().func_21187_b(output, params);
|
CraftingManager.func_77594_a().func_77596_b(output, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addRecipe(IRecipe recipe)
|
public void addRecipe(IRecipe recipe)
|
||||||
{
|
{
|
||||||
CraftingManager.func_1120_a().func_25193_b().add(recipe);
|
CraftingManager.func_77594_a().func_77592_b().add(recipe);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addSmelting(int input, ItemStack output)
|
public void addSmelting(int input, ItemStack output, float xp)
|
||||||
{
|
{
|
||||||
FurnaceRecipes.func_21200_a().func_21199_a(input, output);
|
FurnaceRecipes.func_77602_a().func_77600_a(input, output, xp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -28,9 +28,9 @@ public class EntityRendererProxy extends EntityRenderer
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void func_4136_b(float tick)
|
public void func_78480_b(float tick)
|
||||||
{
|
{
|
||||||
super.func_4136_b(tick);
|
super.func_78480_b(tick);
|
||||||
//This is where ModLoader does all of it's ticking
|
//This is where ModLoader does all of it's ticking
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,9 @@ import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import cpw.mods.fml.client.BlockRenderManager;
|
||||||
import cpw.mods.fml.client.FMLClientHandler;
|
import cpw.mods.fml.client.FMLClientHandler;
|
||||||
|
import cpw.mods.fml.client.TextureFXManager;
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -48,41 +50,41 @@ public class FMLRenderAccessLibrary
|
||||||
|
|
||||||
public static void setTextureDimensions(int textureId, int width, int height, List<TextureFX> textureFXList)
|
public static void setTextureDimensions(int textureId, int width, int height, List<TextureFX> textureFXList)
|
||||||
{
|
{
|
||||||
FMLClientHandler.instance().setTextureDimensions(textureId, width, height, textureFXList);
|
TextureFXManager.instance().setTextureDimensions(textureId, width, height, textureFXList);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void preRegisterEffect(TextureFX textureFX)
|
public static void preRegisterEffect(TextureFX textureFX)
|
||||||
{
|
{
|
||||||
FMLClientHandler.instance().onPreRegisterEffect(textureFX);
|
TextureFXManager.instance().onPreRegisterEffect(textureFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean onUpdateTextureEffect(TextureFX textureFX)
|
public static boolean onUpdateTextureEffect(TextureFX textureFX)
|
||||||
{
|
{
|
||||||
return FMLClientHandler.instance().onUpdateTextureEffect(textureFX);
|
return TextureFXManager.instance().onUpdateTextureEffect(textureFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Dimension getTextureDimensions(TextureFX textureFX)
|
public static Dimension getTextureDimensions(TextureFX textureFX)
|
||||||
{
|
{
|
||||||
return FMLClientHandler.instance().getTextureDimensions(textureFX);
|
return TextureFXManager.instance().getTextureDimensions(textureFX);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void onTexturePackChange(RenderEngine engine, TexturePackBase texturePack, List<TextureFX> textureFXList)
|
public static void onTexturePackChange(RenderEngine engine, TexturePackBase texturePack, List<TextureFX> textureFXList)
|
||||||
{
|
{
|
||||||
FMLClientHandler.instance().onTexturePackChange(engine, texturePack, textureFXList);
|
TextureFXManager.instance().onTexturePackChange(engine, texturePack, textureFXList);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelId)
|
public static boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelId)
|
||||||
{
|
{
|
||||||
return FMLClientHandler.instance().renderWorldBlock(renderer, world, x, y, z, block, modelId);
|
return BlockRenderManager.instance().renderWorldBlock(renderer, world, x, y, z, block, modelId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void renderInventoryBlock(RenderBlocks renderer, Block block, int metadata, int modelID)
|
public static void renderInventoryBlock(RenderBlocks renderer, Block block, int metadata, int modelID)
|
||||||
{
|
{
|
||||||
FMLClientHandler.instance().renderInventoryBlock(renderer, block, metadata, modelID);
|
BlockRenderManager.instance().renderInventoryBlock(renderer, block, metadata, modelID);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean renderItemAsFull3DBlock(int modelId)
|
public static boolean renderItemAsFull3DBlock(int modelId)
|
||||||
{
|
{
|
||||||
return FMLClientHandler.instance().renderItemAsFull3DBlock(modelId);
|
return BlockRenderManager.instance().renderItemAsFull3DBlock(modelId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,8 +22,10 @@ import java.util.logging.Logger;
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
|
||||||
|
import cpw.mods.fml.client.BlockRenderManager;
|
||||||
import cpw.mods.fml.client.FMLClientHandler;
|
import cpw.mods.fml.client.FMLClientHandler;
|
||||||
import cpw.mods.fml.client.SpriteHelper;
|
import cpw.mods.fml.client.SpriteHelper;
|
||||||
|
import cpw.mods.fml.client.TextureFXManager;
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.common.Loader;
|
import cpw.mods.fml.common.Loader;
|
||||||
import cpw.mods.fml.common.modloader.ModLoaderHelper;
|
import cpw.mods.fml.common.modloader.ModLoaderHelper;
|
||||||
|
@ -72,7 +74,7 @@ public class ModLoader
|
||||||
|
|
||||||
public static void addAnimation(TextureFX anim)
|
public static void addAnimation(TextureFX anim)
|
||||||
{
|
{
|
||||||
FMLClientHandler.instance().addAnimation(anim);
|
TextureFXManager.instance().addAnimation(anim);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -165,7 +167,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void addOverride(String path, String overlayPath, int index)
|
public static void addOverride(String path, String overlayPath, int index)
|
||||||
{
|
{
|
||||||
FMLClientHandler.instance().addNewTextureOverride(path, overlayPath, index);
|
TextureFXManager.instance().addNewTextureOverride(path, overlayPath, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -288,7 +290,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void genericContainerRemoval(World world, int x, int y, int z)
|
public static void genericContainerRemoval(World world, int x, int y, int z)
|
||||||
{
|
{
|
||||||
TileEntity te = world.func_603_b(x, y, z);
|
/* TileEntity te = world.func_603_b(x, y, z);
|
||||||
|
|
||||||
if (!(te instanceof IInventory))
|
if (!(te instanceof IInventory))
|
||||||
{
|
{
|
||||||
|
@ -334,7 +336,7 @@ public class ModLoader
|
||||||
world.func_674_a(entityitem);
|
world.func_674_a(entityitem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
*/ }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of all BaseMod loaded into the system
|
* Get a list of all BaseMod loaded into the system
|
||||||
|
@ -407,7 +409,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static int getUniqueBlockModelID(BaseMod mod, boolean inventoryRenderer)
|
public static int getUniqueBlockModelID(BaseMod mod, boolean inventoryRenderer)
|
||||||
{
|
{
|
||||||
return FMLClientHandler.instance().obtainBlockModelIdFor(mod, inventoryRenderer);
|
return BlockRenderManager.instance().obtainBlockModelIdFor(mod, inventoryRenderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -441,7 +443,7 @@ public class ModLoader
|
||||||
|
|
||||||
public static boolean isGUIOpen(Class<? extends GuiScreen> gui)
|
public static boolean isGUIOpen(Class<? extends GuiScreen> gui)
|
||||||
{
|
{
|
||||||
return FMLClientHandler.instance().getClient().field_6313_p!=null && FMLClientHandler.instance().getClient().field_6313_p.equals(gui);
|
return FMLClientHandler.instance().getClient().field_71462_r != null && FMLClientHandler.instance().getClient().field_71462_r.equals(gui);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -466,7 +468,7 @@ public class ModLoader
|
||||||
|
|
||||||
public static BufferedImage loadImage(RenderEngine renderEngine, String path) throws Exception
|
public static BufferedImage loadImage(RenderEngine renderEngine, String path) throws Exception
|
||||||
{
|
{
|
||||||
return FMLClientHandler.instance().loadImageFromTexturePack(renderEngine, path);
|
return TextureFXManager.instance().loadImageFromTexturePack(renderEngine, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -659,19 +661,19 @@ public class ModLoader
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static boolean renderBlockIsItemFull3D(int modelID)
|
public static boolean renderBlockIsItemFull3D(int modelID)
|
||||||
{
|
{
|
||||||
return FMLClientHandler.instance().renderItemAsFull3DBlock(modelID);
|
return BlockRenderManager.instance().renderItemAsFull3DBlock(modelID);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static void renderInvBlock(RenderBlocks renderer, Block block, int metadata, int modelID)
|
public static void renderInvBlock(RenderBlocks renderer, Block block, int metadata, int modelID)
|
||||||
{
|
{
|
||||||
FMLClientHandler.instance().renderInventoryBlock(renderer, block, metadata, modelID);
|
BlockRenderManager.instance().renderInventoryBlock(renderer, block, metadata, modelID);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelID)
|
public static boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelID)
|
||||||
{
|
{
|
||||||
return FMLClientHandler.instance().renderWorldBlock(renderer, world, x, y, z, block, modelID);
|
return BlockRenderManager.instance().renderWorldBlock(renderer, world, x, y, z, block, modelID);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -38,8 +38,6 @@ import java.util.zip.ZipException;
|
||||||
import java.util.zip.ZipFile;
|
import java.util.zip.ZipFile;
|
||||||
import java.util.zip.ZipInputStream;
|
import java.util.zip.ZipInputStream;
|
||||||
|
|
||||||
import net.minecraft.src.CallableMinecraftVersion;
|
|
||||||
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableList.Builder;
|
import com.google.common.collect.ImmutableList.Builder;
|
||||||
|
@ -310,10 +308,6 @@ public class FMLCommonHandler
|
||||||
return sidedDelegate.getMinecraftLogger();
|
return sidedDelegate.getMinecraftLogger();
|
||||||
}
|
}
|
||||||
|
|
||||||
public File getMinecraftRootDirectory() {
|
|
||||||
return sidedDelegate.getMinecraftRootDirectory();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ -455,9 +449,8 @@ public class FMLCommonHandler
|
||||||
if (brandings == null)
|
if (brandings == null)
|
||||||
{
|
{
|
||||||
Builder brd = ImmutableList.<String>builder();
|
Builder brd = ImmutableList.<String>builder();
|
||||||
brd.add("Minecraft "+CallableMinecraftVersion.func_55337_a());
|
brd.add(Loader.instance().getMCVersionString());
|
||||||
brd.add(Loader.instance().getFMLVersionString());
|
brd.add(Loader.instance().getFMLVersionString());
|
||||||
brd.add(Strings.nullToEmpty((String)callForgeMethod("getVersionString")));
|
|
||||||
brd.addAll(sidedDelegate.getAdditionalBrandingInformation());
|
brd.addAll(sidedDelegate.getAdditionalBrandingInformation());
|
||||||
try {
|
try {
|
||||||
Properties props=new Properties();
|
Properties props=new Properties();
|
||||||
|
|
|
@ -13,16 +13,26 @@ import cpw.mods.fml.common.modloader.ModProperty;
|
||||||
public interface IFMLSidedHandler
|
public interface IFMLSidedHandler
|
||||||
{
|
{
|
||||||
Logger getMinecraftLogger();
|
Logger getMinecraftLogger();
|
||||||
File getMinecraftRootDirectory();
|
|
||||||
Object getMinecraftInstance();
|
Object getMinecraftInstance();
|
||||||
|
|
||||||
String getCurrentLanguage();
|
String getCurrentLanguage();
|
||||||
|
|
||||||
Properties getCurrentLanguageTable();
|
Properties getCurrentLanguageTable();
|
||||||
|
|
||||||
String getObjectName(Object minecraftObject);
|
String getObjectName(Object minecraftObject);
|
||||||
|
|
||||||
void profileStart(String profileLabel);
|
void profileStart(String profileLabel);
|
||||||
|
|
||||||
void profileEnd();
|
void profileEnd();
|
||||||
|
|
||||||
ModProperty getModLoaderPropertyFor(Field f);
|
ModProperty getModLoaderPropertyFor(Field f);
|
||||||
|
|
||||||
List<String> getAdditionalBrandingInformation();
|
List<String> getAdditionalBrandingInformation();
|
||||||
|
|
||||||
Side getSide();
|
Side getSide();
|
||||||
|
|
||||||
ProxyInjector findSidedProxyOn(BaseMod mod);
|
ProxyInjector findSidedProxyOn(BaseMod mod);
|
||||||
|
|
||||||
void haltGame(String message, Throwable exception);
|
void haltGame(String message, Throwable exception);
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,6 +132,8 @@ public class Loader
|
||||||
private File canonicalModsDir;
|
private File canonicalModsDir;
|
||||||
private LoadController modController;
|
private LoadController modController;
|
||||||
|
|
||||||
|
private static File minecraftDir;
|
||||||
|
|
||||||
public static Loader instance()
|
public static Loader instance()
|
||||||
{
|
{
|
||||||
if (instance == null)
|
if (instance == null)
|
||||||
|
@ -142,33 +144,19 @@ public class Loader
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void injectData(Object... data)
|
||||||
|
{
|
||||||
|
major = (String) data[0];
|
||||||
|
minor = (String) data[1];
|
||||||
|
rev = (String) data[2];
|
||||||
|
build = (String) data[3];
|
||||||
|
mccversion = (String) data[4];
|
||||||
|
mcsversion = (String) data[5];
|
||||||
|
minecraftDir = (File) data[6];
|
||||||
|
}
|
||||||
|
|
||||||
private Loader()
|
private Loader()
|
||||||
{
|
{
|
||||||
InputStream stream = getClass().getClassLoader().getResourceAsStream("fmlversion.properties");
|
|
||||||
Properties properties = new Properties();
|
|
||||||
|
|
||||||
if (stream != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
properties.load(stream);
|
|
||||||
}
|
|
||||||
catch (IOException ex)
|
|
||||||
{
|
|
||||||
FMLLog.log(Level.SEVERE, "Could not get FML version information - corrupted installation detected!", ex);
|
|
||||||
throw new LoaderException(ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
major = properties.getProperty("fmlbuild.major.number", "missing");
|
|
||||||
minor = properties.getProperty("fmlbuild.minor.number", "missing");
|
|
||||||
rev = properties.getProperty("fmlbuild.revision.number", "missing");
|
|
||||||
build = properties.getProperty("fmlbuild.build.number", "missing");
|
|
||||||
mccversion = properties.getProperty("fmlbuild.mcclientversion", "missing");
|
|
||||||
mcsversion = properties.getProperty("fmlbuild.mcserverversion", "missing");
|
|
||||||
|
|
||||||
FMLLog.info("Forge Mod Loader version %s.%s.%s.%s for Minecraft client:%s, server:%s loading", major, minor, rev, build, mccversion, mcsversion);
|
|
||||||
|
|
||||||
modClassLoader = new ModClassLoader(getClass().getClassLoader());
|
modClassLoader = new ModClassLoader(getClass().getClassLoader());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -279,7 +267,6 @@ public class Loader
|
||||||
*/
|
*/
|
||||||
private void initializeLoader()
|
private void initializeLoader()
|
||||||
{
|
{
|
||||||
File minecraftDir = FMLCommonHandler.instance().getMinecraftRootDirectory();
|
|
||||||
File modsDir = new File(minecraftDir, "mods");
|
File modsDir = new File(minecraftDir, "mods");
|
||||||
File configDir = new File(minecraftDir, "config");
|
File configDir = new File(minecraftDir, "config");
|
||||||
String canonicalModsPath;
|
String canonicalModsPath;
|
||||||
|
@ -295,9 +282,8 @@ public class Loader
|
||||||
}
|
}
|
||||||
catch (IOException ioe)
|
catch (IOException ioe)
|
||||||
{
|
{
|
||||||
FMLLog.log(Level.SEVERE,
|
FMLLog.log(Level.SEVERE, ioe, "Failed to resolve loader directories: mods : %s ; config %s", canonicalModsDir.getAbsolutePath(),
|
||||||
String.format("Failed to resolve loader directories: mods : %s ; config %s", canonicalModsDir.getAbsolutePath(),
|
configDir.getAbsolutePath());
|
||||||
configDir.getAbsolutePath()), ioe);
|
|
||||||
throw new LoaderException(ioe);
|
throw new LoaderException(ioe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -572,4 +558,9 @@ public class Loader
|
||||||
{
|
{
|
||||||
return modController.getModState(selectedMod);
|
return modController.getModState(selectedMod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getMCVersionString()
|
||||||
|
{
|
||||||
|
return "Minecraft " + mccversion;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,8 +38,7 @@ public class ObfuscationReflectionHelper
|
||||||
}
|
}
|
||||||
catch (UnableToAccessFieldException e)
|
catch (UnableToAccessFieldException e)
|
||||||
{
|
{
|
||||||
FMLCommonHandler.instance().getFMLLogger()
|
FMLLog.log(Level.SEVERE, e, "There was a problem getting field index %d from %s", fieldIndex, classToAccess.getName());
|
||||||
.log(Level.SEVERE, String.format("There was a problem getting field index %d from %s", fieldIndex, classToAccess.getName()), e);
|
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,14 +52,12 @@ public class ObfuscationReflectionHelper
|
||||||
}
|
}
|
||||||
catch (UnableToFindFieldException e)
|
catch (UnableToFindFieldException e)
|
||||||
{
|
{
|
||||||
FMLCommonHandler.instance().getFMLLogger()
|
FMLLog.log(Level.SEVERE,e,"Unable to locate any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName());
|
||||||
.log(Level.SEVERE, String.format("Unable to locate any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()), e);
|
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
catch (UnableToAccessFieldException e)
|
catch (UnableToAccessFieldException e)
|
||||||
{
|
{
|
||||||
FMLCommonHandler.instance().getFMLLogger()
|
FMLLog.log(Level.SEVERE, e, "Unable to access any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName());
|
||||||
.log(Level.SEVERE, String.format("Unable to access any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()), e);
|
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,8 +76,7 @@ public class ObfuscationReflectionHelper
|
||||||
}
|
}
|
||||||
catch (UnableToAccessFieldException e)
|
catch (UnableToAccessFieldException e)
|
||||||
{
|
{
|
||||||
FMLCommonHandler.instance().getFMLLogger()
|
FMLLog.log(Level.SEVERE, e, "There was a problem setting field index %d on type %s", fieldIndex, classToAccess.getName());
|
||||||
.log(Level.SEVERE, String.format("There was a problem setting field index %d on type %s", fieldIndex, classToAccess.getName()));
|
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -99,14 +95,12 @@ public class ObfuscationReflectionHelper
|
||||||
}
|
}
|
||||||
catch (UnableToFindFieldException e)
|
catch (UnableToFindFieldException e)
|
||||||
{
|
{
|
||||||
FMLCommonHandler.instance().getFMLLogger()
|
FMLLog.log(Level.SEVERE, e, "Unable to locate any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName());
|
||||||
.log(Level.SEVERE, String.format("Unable to locate any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()), e);
|
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
catch (UnableToAccessFieldException e)
|
catch (UnableToAccessFieldException e)
|
||||||
{
|
{
|
||||||
FMLCommonHandler.instance().getFMLLogger()
|
FMLLog.log(Level.SEVERE, e, "Unable to set any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName());
|
||||||
.log(Level.SEVERE, String.format("Unable to set any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()), e);
|
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,12 +5,15 @@ import java.applet.AppletStub;
|
||||||
import java.awt.Dialog.ModalityType;
|
import java.awt.Dialog.ModalityType;
|
||||||
import java.awt.HeadlessException;
|
import java.awt.HeadlessException;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.net.URLClassLoader;
|
import java.net.URLClassLoader;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import javax.swing.JDialog;
|
import javax.swing.JDialog;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
|
@ -18,8 +21,6 @@ import javax.swing.JLabel;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.ProgressMonitorInputStream;
|
import javax.swing.ProgressMonitorInputStream;
|
||||||
|
|
||||||
import net.minecraft.src.WorldSettings;
|
|
||||||
|
|
||||||
public class FMLEmbeddingRelauncher
|
public class FMLEmbeddingRelauncher
|
||||||
{
|
{
|
||||||
private static FMLEmbeddingRelauncher INSTANCE;
|
private static FMLEmbeddingRelauncher INSTANCE;
|
||||||
|
@ -74,7 +75,7 @@ public class FMLEmbeddingRelauncher
|
||||||
File minecraftHome = setupHome();
|
File minecraftHome = setupHome();
|
||||||
|
|
||||||
client = ReflectionHelper.getClass(clientLoader, "net.minecraft.client.Minecraft");
|
client = ReflectionHelper.getClass(clientLoader, "net.minecraft.client.Minecraft");
|
||||||
ReflectionHelper.setPrivateValue(client, null, minecraftHome, "field_6275_Z", "ap", "minecraftDir");
|
ReflectionHelper.setPrivateValue(client, null, minecraftHome, "field_71463_am", "am", "minecraftDir");
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
@ -100,7 +101,7 @@ public class FMLEmbeddingRelauncher
|
||||||
{
|
{
|
||||||
Class<? super Object> mcMaster = ReflectionHelper.getClass(getClass().getClassLoader(), "net.minecraft.client.Minecraft");
|
Class<? super Object> mcMaster = ReflectionHelper.getClass(getClass().getClassLoader(), "net.minecraft.client.Minecraft");
|
||||||
// We force minecraft to setup it's homedir very early on so we can inject stuff into it
|
// We force minecraft to setup it's homedir very early on so we can inject stuff into it
|
||||||
Method setupHome = ReflectionHelper.findMethod(mcMaster, null, new String[] { "func_6240_b", "getMinecraftDir", "b"} );
|
Method setupHome = ReflectionHelper.findMethod(mcMaster, null, new String[] { "func_71380_b", "getMinecraftDir", "b"} );
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
setupHome.invoke(null);
|
setupHome.invoke(null);
|
||||||
|
@ -109,9 +110,9 @@ public class FMLEmbeddingRelauncher
|
||||||
{
|
{
|
||||||
// Hmmm
|
// Hmmm
|
||||||
}
|
}
|
||||||
File minecraftHome = ReflectionHelper.getPrivateValue(mcMaster, null, "field_6275_Z", "ap", "minecraftDir");
|
File minecraftHome = ReflectionHelper.getPrivateValue(mcMaster, null, "field_71463_am", "am", "minecraftDir");
|
||||||
FMLLog.minecraftHome = minecraftHome;
|
FMLVersionData.build(minecraftHome, clientLoader);
|
||||||
FMLLog.info("FML relaunch active");
|
FMLLog.info("Forge Mod Loader version %s.%s.%s.%s for Minecraft client:%s, server:%s loading", FMLVersionData.major, FMLVersionData.minor, FMLVersionData.rev, FMLVersionData.build, FMLVersionData.mccversion, FMLVersionData.mcsversion);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
package cpw.mods.fml.relauncher;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
public class FMLVersionData
|
||||||
|
{
|
||||||
|
static File minecraftHome;
|
||||||
|
static String major;
|
||||||
|
static String minor;
|
||||||
|
static String rev;
|
||||||
|
static String build;
|
||||||
|
static String mccversion;
|
||||||
|
static String mcsversion;
|
||||||
|
|
||||||
|
static void build(File mcHome, RelaunchClassLoader classLoader)
|
||||||
|
{
|
||||||
|
minecraftHome = mcHome;
|
||||||
|
InputStream stream = classLoader.getResourceAsStream("fmlversion.properties");
|
||||||
|
Properties properties = new Properties();
|
||||||
|
|
||||||
|
if (stream != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
properties.load(stream);
|
||||||
|
}
|
||||||
|
catch (IOException ex)
|
||||||
|
{
|
||||||
|
FMLLog.log(Level.SEVERE, ex, "Could not get FML version information - corrupted installation detected!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
major = properties.getProperty("fmlbuild.major.number", "missing");
|
||||||
|
minor = properties.getProperty("fmlbuild.minor.number", "missing");
|
||||||
|
rev = properties.getProperty("fmlbuild.revision.number", "missing");
|
||||||
|
build = properties.getProperty("fmlbuild.build.number", "missing");
|
||||||
|
mccversion = properties.getProperty("fmlbuild.mcclientversion", "missing");
|
||||||
|
mcsversion = properties.getProperty("fmlbuild.mcserverversion", "missing");
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Object[] data()
|
||||||
|
{
|
||||||
|
return new Object[] { major, minor, rev, build, mccversion, mcsversion, minecraftHome };
|
||||||
|
}
|
||||||
|
}
|
|
@ -8,6 +8,7 @@ import java.io.FileOutputStream;
|
||||||
import java.io.FilenameFilter;
|
import java.io.FilenameFilter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
@ -191,6 +192,8 @@ public class RelaunchLibraryManager
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Class<?> loaderClazz = Class.forName("cpw.mods.fml.common.Loader", true, actualClassLoader);
|
Class<?> loaderClazz = Class.forName("cpw.mods.fml.common.Loader", true, actualClassLoader);
|
||||||
|
Method m = loaderClazz.getMethod("injectData", Object[].class);
|
||||||
|
m.invoke(null, (Object)FMLVersionData.data());
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -96,6 +96,6 @@ public class mod_testMod extends BaseMod {
|
||||||
@Override
|
@Override
|
||||||
public String getPriorities()
|
public String getPriorities()
|
||||||
{
|
{
|
||||||
return "after:MockMod@[1.1,1.2),[1.3,)";
|
return "after:MockMod";
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
+++ ../src-work/minecraft/net/minecraft/client/ClientBrandRetriever.java 0000-00-00 00:00:00.000000000 -0000
|
+++ ../src-work/minecraft/net/minecraft/client/ClientBrandRetriever.java 0000-00-00 00:00:00.000000000 -0000
|
||||||
@@ -4,6 +4,6 @@
|
@@ -4,6 +4,6 @@
|
||||||
{
|
{
|
||||||
public static String func_56462_getClientModName()
|
public static String getClientModName()
|
||||||
{
|
{
|
||||||
- return "vanilla";
|
- return "vanilla";
|
||||||
+ return "fml";
|
+ return "fml";
|
||||||
|
|
|
@ -1,83 +1,32 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/client/Minecraft.java 0000-00-00 00:00:00.000000000 -0000
|
--- ../src-base/minecraft/net/minecraft/client/Minecraft.java 0000-00-00 00:00:00.000000000 -0000
|
||||||
+++ ../src-work/minecraft/net/minecraft/client/Minecraft.java 0000-00-00 00:00:00.000000000 -0000
|
+++ ../src-work/minecraft/net/minecraft/client/Minecraft.java 0000-00-00 00:00:00.000000000 -0000
|
||||||
@@ -120,6 +120,11 @@
|
@@ -126,6 +126,10 @@
|
||||||
import org.lwjgl.opengl.PixelFormat;
|
import org.lwjgl.opengl.PixelFormat;
|
||||||
import org.lwjgl.util.glu.GLU;
|
import org.lwjgl.util.glu.GLU;
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
+import cpw.mods.fml.client.FMLClientHandler;
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
+import cpw.mods.fml.relauncher.ArgsWrapper;
|
+import cpw.mods.fml.relauncher.ArgsWrapper;
|
||||||
+import cpw.mods.fml.relauncher.FMLEmbeddingRelauncher;
|
+import cpw.mods.fml.relauncher.FMLEmbeddingRelauncher;
|
||||||
+
|
+
|
||||||
public abstract class Minecraft implements IPlayerUsage, Runnable
|
public abstract class Minecraft implements Runnable, IPlayerUsage
|
||||||
{
|
{
|
||||||
public static byte[] field_28006_b = new byte[10485760];
|
public static byte[] field_71444_a = new byte[10485760];
|
||||||
@@ -301,6 +306,7 @@
|
@@ -305,7 +309,7 @@
|
||||||
this.field_6315_n = new RenderEngine(this.field_6298_C, this.field_6304_y);
|
this.func_71357_I();
|
||||||
this.func_6257_q();
|
this.field_71466_p = new FontRenderer(this.field_71474_y, "/font/default.png", this.field_71446_o, false);
|
||||||
this.field_6314_o = new FontRenderer(this.field_6304_y, "/font/default.png", this.field_6315_n, false);
|
this.field_71464_q = new FontRenderer(this.field_71474_y, "/font/alternate.png", this.field_71446_o, false);
|
||||||
+ FMLClientHandler.instance().onPreLoad(this);
|
-
|
||||||
this.field_40007_r = new FontRenderer(this.field_6304_y, "/font/alternate.png", this.field_6315_n, false);
|
+ FMLClientHandler.instance().beginMinecraftLoading(this);
|
||||||
|
if (this.field_71474_y.field_74363_ab != null)
|
||||||
if (this.field_6304_y.field_44018_Q != null)
|
|
||||||
@@ -332,6 +338,9 @@
|
|
||||||
GL11.glMatrixMode(GL11.GL_PROJECTION);
|
|
||||||
GL11.glLoadIdentity();
|
|
||||||
GL11.glMatrixMode(GL11.GL_MODELVIEW);
|
|
||||||
+ FMLClientHandler.instance().onLoadComplete();
|
|
||||||
+ this.field_9231_Y.setup();
|
|
||||||
+ this.field_9232_X.setup();
|
|
||||||
this.func_6250_c("Startup");
|
|
||||||
this.field_6301_A.func_340_a(this.field_6304_y);
|
|
||||||
this.field_6315_n.func_1066_a(this.field_9231_Y);
|
|
||||||
@@ -729,9 +738,11 @@
|
|
||||||
|
|
||||||
if (!this.field_6307_v)
|
|
||||||
{
|
|
||||||
+ FMLClientHandler.instance().onRenderTickStart(this.field_9237_P.field_1378_c);
|
|
||||||
Profiler.func_40661_c("gameRenderer");
|
|
||||||
this.field_9243_r.func_4136_b(this.field_9237_P.field_1378_c);
|
|
||||||
Profiler.func_40662_b();
|
|
||||||
+ FMLClientHandler.instance().onRenderTickEnd(this.field_9237_P.field_1378_c);
|
|
||||||
}
|
|
||||||
|
|
||||||
GL11.glFlush();
|
|
||||||
@@ -1318,11 +1329,13 @@
|
|
||||||
|
|
||||||
public void func_6246_i()
|
|
||||||
{
|
|
||||||
+ FMLCommonHandler.instance().rescheduleTicks();
|
|
||||||
if (this.field_35001_ab > 0)
|
|
||||||
{
|
{
|
||||||
--this.field_35001_ab;
|
StringTranslate.func_74808_a().func_74810_a(this.field_71474_y.field_74363_ab);
|
||||||
}
|
@@ -1883,6 +1887,12 @@
|
||||||
|
|
||||||
+ FMLClientHandler.instance().onPreWorldTick();
|
|
||||||
Profiler.func_40663_a("stats");
|
|
||||||
this.field_25001_G.func_27178_d();
|
|
||||||
Profiler.func_40661_c("gui");
|
|
||||||
@@ -1691,6 +1704,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
Profiler.func_40662_b();
|
|
||||||
+ FMLClientHandler.instance().onPostWorldTick();
|
|
||||||
this.field_6287_N = System.currentTimeMillis();
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1849,6 +1863,7 @@
|
|
||||||
|
|
||||||
System.gc();
|
|
||||||
this.field_6287_N = 0L;
|
|
||||||
+ FMLClientHandler.instance().onWorldLoadTick();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_6268_a(String p_6268_1_, File p_6268_2_)
|
|
||||||
@@ -1940,6 +1955,11 @@
|
|
||||||
|
|
||||||
public static void main(String[] p_main_0_)
|
public static void main(String[] p_main_0_)
|
||||||
{
|
{
|
||||||
+ FMLEmbeddingRelauncher.relaunch(new ArgsWrapper(p_main_0_));
|
+ FMLEmbeddingRelauncher.relaunch(new ArgsWrapper(p_main_0_));
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
+ public static void fmlReentry(ArgsWrapper wrapper)
|
+ public static void fmlReentry(ArgsWrapper wrapper)
|
||||||
+ {
|
+ {
|
||||||
+ String[] p_main_0_ = wrapper.args;
|
+ String[] p_main_0_ = wrapper.args;
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/client/MinecraftApplet.java 0000-00-00 00:00:00.000000000 -0000
|
--- ../src-base/minecraft/net/minecraft/client/MinecraftApplet.java 0000-00-00 00:00:00.000000000 -0000
|
||||||
+++ ../src-work/minecraft/net/minecraft/client/MinecraftApplet.java 0000-00-00 00:00:00.000000000 -0000
|
+++ ../src-work/minecraft/net/minecraft/client/MinecraftApplet.java 0000-00-00 00:00:00.000000000 -0000
|
||||||
@@ -4,6 +4,8 @@
|
@@ -3,6 +3,8 @@
|
||||||
|
import java.applet.Applet;
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.Canvas;
|
import java.awt.Canvas;
|
||||||
import java.io.File;
|
|
||||||
+
|
+
|
||||||
+import cpw.mods.fml.relauncher.FMLEmbeddingRelauncher;
|
+import cpw.mods.fml.relauncher.FMLEmbeddingRelauncher;
|
||||||
import net.minecraft.src.CanvasMinecraftApplet;
|
import net.minecraft.src.CanvasMinecraftApplet;
|
||||||
import net.minecraft.src.MinecraftAppletImpl;
|
import net.minecraft.src.MinecraftAppletImpl;
|
||||||
import net.minecraft.src.Session;
|
import net.minecraft.src.Session;
|
||||||
@@ -16,6 +18,11 @@
|
@@ -15,6 +17,11 @@
|
||||||
|
|
||||||
public void init()
|
public void init()
|
||||||
{
|
{
|
||||||
|
@ -18,10 +18,10 @@
|
||||||
+
|
+
|
||||||
+ public void fmlInitReentry()
|
+ public void fmlInitReentry()
|
||||||
+ {
|
+ {
|
||||||
this.field_6235_a = new CanvasMinecraftApplet(this);
|
this.field_71483_a = new CanvasMinecraftApplet(this);
|
||||||
boolean var1 = "true".equalsIgnoreCase(this.getParameter("fullscreen"));
|
boolean var1 = "true".equalsIgnoreCase(this.getParameter("fullscreen"));
|
||||||
this.field_6234_b = new MinecraftAppletImpl(this, this.field_6235_a, this, this.getWidth(), this.getHeight(), var1);
|
this.field_71481_b = new MinecraftAppletImpl(this, this.field_71483_a, this, this.getWidth(), this.getHeight(), var1);
|
||||||
@@ -72,6 +79,11 @@
|
@@ -60,6 +67,11 @@
|
||||||
|
|
||||||
public void start()
|
public void start()
|
||||||
{
|
{
|
||||||
|
@ -30,6 +30,6 @@
|
||||||
+
|
+
|
||||||
+ public void fmlStartReentry()
|
+ public void fmlStartReentry()
|
||||||
+ {
|
+ {
|
||||||
if (this.field_6234_b != null)
|
if (this.field_71481_b != null)
|
||||||
{
|
{
|
||||||
this.field_6234_b.field_6316_m = false;
|
this.field_71481_b.field_71445_n = false;
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/BlockDispenser.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/BlockDispenser.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -2,6 +2,8 @@
|
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+
|
|
||||||
public class BlockDispenser extends BlockContainer
|
|
||||||
{
|
|
||||||
private Random field_28035_a = new Random();
|
|
||||||
@@ -276,7 +278,12 @@
|
|
||||||
float var15 = 1.1F;
|
|
||||||
byte var16 = 6;
|
|
||||||
|
|
||||||
- if (p_56784_2_.field_1617_c == Item.field_226_j.field_291_aS)
|
|
||||||
+ if (FMLClientHandler.instance().tryDispensingEntity(p_56784_1_, p_56784_9_, p_56784_11_, p_56784_13_, p_56784_7_, p_56784_8_, p_56784_2_))
|
|
||||||
+ {
|
|
||||||
+ //TODO revisit
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+ else if (p_56784_2_.field_1617_c == Item.field_226_j.field_291_aS)
|
|
||||||
{
|
|
||||||
EntityArrow var28 = new EntityArrow(p_56784_1_, p_56784_9_, p_56784_11_, p_56784_13_);
|
|
||||||
var28.func_408_a((double)p_56784_7_, 0.10000000149011612D, (double)p_56784_8_, var15, (float)var16);
|
|
|
@ -1,20 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/CallableMinecraftVersion.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/CallableMinecraftVersion.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
|
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
|
|
||||||
-class CallableMinecraftVersion implements Callable
|
|
||||||
+public class CallableMinecraftVersion implements Callable
|
|
||||||
{
|
|
||||||
final CrashReport field_55338_a;
|
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@
|
|
||||||
this.field_55338_a = p_i1418_1_;
|
|
||||||
}
|
|
||||||
|
|
||||||
- public String func_55337_a()
|
|
||||||
+ public static String func_55337_a()
|
|
||||||
{
|
|
||||||
return "12w26a";
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/ChunkProviderServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/ChunkProviderServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -7,6 +7,8 @@
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+
|
|
||||||
public class ChunkProviderServer implements IChunkProvider
|
|
||||||
{
|
|
||||||
private Set field_56907_b = new HashSet();
|
|
||||||
@@ -177,6 +179,7 @@
|
|
||||||
if (this.field_56905_d != null)
|
|
||||||
{
|
|
||||||
this.field_56905_d.func_534_a(p_534_1_, p_534_2_, p_534_3_);
|
|
||||||
+ FMLClientHandler.instance().onChunkPopulate(p_534_1_, p_534_2_, p_534_3_, this.field_56910_h, this.field_56905_d);
|
|
||||||
var4.func_1006_f();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/CrashReport.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/CrashReport.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -12,9 +12,12 @@
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Map.Entry;
|
|
||||||
import java.util.concurrent.Callable;
|
|
||||||
+import java.util.concurrent.Executors;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.common.Loader;
|
|
||||||
+
|
|
||||||
public class CrashReport
|
|
||||||
{
|
|
||||||
private final String field_55376_a;
|
|
||||||
@@ -36,6 +39,7 @@
|
|
||||||
this.func_55366_a("Java Version", new CallableJavaInfo(this));
|
|
||||||
this.func_55366_a("Java VM Version", new CallableJavaInfo2(this));
|
|
||||||
this.func_55366_a("Memory", new CallableMemoryInfo(this));
|
|
||||||
+ this.func_55366_a("FML", Loader.instance().getCallableCrashInformation());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_55366_a(String p_55366_1_, Callable p_55366_2_)
|
|
|
@ -1,20 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/DedicatedServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/DedicatedServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -33,6 +33,8 @@
|
|
||||||
var1.start();
|
|
||||||
ConsoleLogManager.func_57436_a();
|
|
||||||
field_56394_a.info("Starting minecraft server version 12w26a");
|
|
||||||
+ // TODO
|
|
||||||
+// FMLServerHandler.instance().onPreLoad(this);
|
|
||||||
|
|
||||||
if (Runtime.getRuntime().maxMemory() / 1024L / 1024L < 512L)
|
|
||||||
{
|
|
||||||
@@ -98,6 +100,8 @@
|
|
||||||
field_56394_a.warning("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // TODO
|
|
||||||
+// FMLServerHandler.instance().onLoadComplete();
|
|
||||||
this.func_56309_a(new DedicatedPlayerList(this));
|
|
||||||
long var4 = System.nanoTime();
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/EntityItem.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/EntityItem.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -2,6 +2,8 @@
|
|
||||||
|
|
||||||
import java.util.Iterator;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+
|
|
||||||
public class EntityItem extends Entity
|
|
||||||
{
|
|
||||||
public ItemStack field_801_a;
|
|
||||||
@@ -198,6 +200,7 @@
|
|
||||||
|
|
||||||
if (this.field_805_c == 0 && p_6378_1_.field_778_b.func_504_a(this.field_801_a))
|
|
||||||
{
|
|
||||||
+ FMLClientHandler.instance().notifyItemPickup(this, p_6378_1_);
|
|
||||||
if (this.field_801_a.field_1617_c == Block.field_385_K.field_376_bc)
|
|
||||||
{
|
|
||||||
p_6378_1_.func_27026_a(AchievementList.field_25198_c);
|
|
|
@ -1,20 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/EntityList.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/EntityList.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -174,4 +174,17 @@
|
|
||||||
func_46152_a(EntityVillager.class, "Villager", 120, 5651507, 12422002);
|
|
||||||
func_1080_a(EntityEnderCrystal.class, "EnderCrystal", 200);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static void addNewEntityListMapping(Class<? extends Entity> entityClass, String entityName, int id) {
|
|
||||||
+ func_1080_a(entityClass,entityName,id);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public static void addNewEntityListMapping(Class<? extends Entity> entityClass, String entityName, int id, int backgroundEggColour, int foregroundEggColour) {
|
|
||||||
+ func_46152_a(entityClass,entityName,id,backgroundEggColour,foregroundEggColour);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @SuppressWarnings("unchecked")
|
|
||||||
+ public static Map<String,Class<? extends Entity>> getEntityToClassMapping() {
|
|
||||||
+ return field_1611_a;
|
|
||||||
+ }
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/EntityPlayer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/EntityPlayer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,8 +1,12 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import java.util.EnumSet;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
+import cpw.mods.fml.common.TickType;
|
|
||||||
+
|
|
||||||
public abstract class EntityPlayer extends EntityLiving implements ICommandSender
|
|
||||||
{
|
|
||||||
public InventoryPlayer field_778_b = new InventoryPlayer(this);
|
|
||||||
@@ -123,6 +127,7 @@
|
|
||||||
|
|
||||||
public void func_370_e_()
|
|
||||||
{
|
|
||||||
+ FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.PLAYER), this, this.field_615_ag);
|
|
||||||
if (this.field_34907_d != null)
|
|
||||||
{
|
|
||||||
ItemStack var1 = this.field_778_b.func_494_a();
|
|
||||||
@@ -246,6 +251,7 @@
|
|
||||||
{
|
|
||||||
this.field_35217_av.func_35768_a(this);
|
|
||||||
}
|
|
||||||
+ FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.PLAYER), this, this.field_615_ag);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void func_35201_a(ItemStack p_35201_1_, int p_35201_2_)
|
|
|
@ -1,17 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/GenLayerBiome.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/GenLayerBiome.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -7,13 +7,8 @@
|
|
||||||
public GenLayerBiome(long p_i1011_1_, GenLayer p_i1011_3_, WorldType p_i1011_4_)
|
|
||||||
{
|
|
||||||
super(p_i1011_1_);
|
|
||||||
- this.field_35509_b = new BiomeGenBase[] {BiomeGenBase.field_4249_h, BiomeGenBase.field_4253_d, BiomeGenBase.field_35483_e, BiomeGenBase.field_4255_b, BiomeGenBase.field_35485_c, BiomeGenBase.field_4250_g, BiomeGenBase.field_48416_w};
|
|
||||||
+ this.field_35509_b = p_i1011_4_.getBiomesForWorldType();
|
|
||||||
this.field_35504_a = p_i1011_3_;
|
|
||||||
-
|
|
||||||
- if (p_i1011_4_ == WorldType.field_48634_d)
|
|
||||||
- {
|
|
||||||
- this.field_35509_b = new BiomeGenBase[] {BiomeGenBase.field_4249_h, BiomeGenBase.field_4253_d, BiomeGenBase.field_35483_e, BiomeGenBase.field_4255_b, BiomeGenBase.field_35485_c, BiomeGenBase.field_4250_g};
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
|
|
||||||
public int[] func_35500_a(int p_35500_1_, int p_35500_2_, int p_35500_3_, int p_35500_4_)
|
|
|
@ -1,14 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/GuiCreateWorld.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/GuiCreateWorld.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -197,9 +197,11 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ WorldType.field_48637_a[this.field_46030_z].onGUICreateWorldPress();
|
|
||||||
EnumGameType var9 = EnumGameType.func_57535_a(this.field_35364_f);
|
|
||||||
WorldSettings var6 = new WorldSettings(var2, var9, this.field_35365_g, this.field_40232_h, WorldType.field_48637_a[this.field_46030_z]);
|
|
||||||
|
|
||||||
+
|
|
||||||
if (this.field_55144_j && !this.field_40232_h)
|
|
||||||
{
|
|
||||||
var6.func_55250_a();
|
|
|
@ -1,11 +1,12 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/GuiMainMenu.java 0000-00-00 00:00:00.000000000 -0000
|
--- ../src-base/minecraft/net/minecraft/src/GuiMainMenu.java 0000-00-00 00:00:00.000000000 -0000
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/GuiMainMenu.java 0000-00-00 00:00:00.000000000 -0000
|
+++ ../src-work/minecraft/net/minecraft/src/GuiMainMenu.java 0000-00-00 00:00:00.000000000 -0000
|
||||||
@@ -8,10 +8,18 @@
|
@@ -8,11 +8,18 @@
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
+import java.util.List;
|
+import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
import org.lwjgl.util.glu.GLU;
|
import org.lwjgl.util.glu.GLU;
|
||||||
|
|
||||||
|
@ -14,56 +15,45 @@
|
||||||
+
|
+
|
||||||
+import cpw.mods.fml.client.GuiModList;
|
+import cpw.mods.fml.client.GuiModList;
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
+import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
+import cpw.mods.fml.common.Loader;
|
|
||||||
+
|
+
|
||||||
public class GuiMainMenu extends GuiScreen
|
public class GuiMainMenu extends GuiScreen
|
||||||
{
|
{
|
||||||
private static final Random field_6463_h = new Random();
|
private static final Random field_73976_a = new Random();
|
||||||
@@ -117,7 +125,9 @@
|
@@ -118,7 +125,8 @@
|
||||||
this.func_55154_a(var4, 24, var2);
|
this.func_73969_a(var4, 24, var2);
|
||||||
}
|
}
|
||||||
|
|
||||||
- this.field_949_e.add(new GuiButton(3, this.field_951_c / 2 - 100, var4 + 48, var2.func_20163_a("menu.mods")));
|
- this.field_73887_h.add(new GuiButton(3, this.field_73880_f / 2 - 100, var4 + 48, var2.func_74805_b("menu.mods")));
|
||||||
+// this.field_949_e.add(new GuiButton(3, this.field_951_c / 2 - 100, var4 + 48, var2.func_20163_a("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_949_e.add(new GuiButton(3, this.field_951_c / 2 - 100, var4 + 48, 98, 20, var2.func_20163_a("menu.mods")));
|
+ this.field_73887_h.add(new GuiButton(6, this.field_73880_f / 2 + 2, var4 + 48, 98, 20, "Mods"));
|
||||||
+ this.field_949_e.add(new GuiButton(6, this.field_951_c / 2 + 2, var4 + 48, 98, 20, "Mods"));
|
|
||||||
|
|
||||||
if (this.field_945_b.field_6317_l)
|
if (this.field_73882_e.field_71448_m)
|
||||||
{
|
{
|
||||||
@@ -149,6 +159,7 @@
|
@@ -184,6 +192,11 @@
|
||||||
{
|
this.field_73882_e.func_71400_g();
|
||||||
this.field_55155_d.field_937_g = false;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void func_572_a(GuiButton p_572_1_)
|
|
||||||
@@ -183,6 +194,10 @@
|
|
||||||
this.field_945_b.func_6244_d();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (p_572_1_.field_938_f == 6)
|
+ if (p_73875_1_.field_73741_f == 6)
|
||||||
+ {
|
+ {
|
||||||
+ this.field_945_b.func_6272_a(new GuiModList(this));
|
+ this.field_73882_e.func_71373_a(new GuiModList(this));
|
||||||
+ }
|
+ }
|
||||||
if (p_572_1_.field_938_f == 11)
|
+
|
||||||
{
|
if (p_73875_1_.field_73741_f == 11)
|
||||||
this.field_945_b.func_58039_a("Demo_World", "Demo_World", DemoWorldServer.field_56874_a);
|
|
||||||
@@ -398,8 +413,15 @@
|
|
||||||
{
|
{
|
||||||
|
this.field_73882_e.func_71371_a("Demo_World", "Demo_World", DemoWorldServer.field_73071_a);
|
||||||
|
@@ -400,7 +413,14 @@
|
||||||
var9 = var9 + " Demo";
|
var9 = var9 + " Demo";
|
||||||
}
|
}
|
||||||
-
|
|
||||||
- this.func_547_b(this.field_6451_g, var9, 2, this.field_950_d - 10, 16777215);
|
- this.func_73731_b(this.field_73886_k, var9, 2, this.field_73881_g - 10, 16777215);
|
||||||
+ List<String> brandings=Lists.reverse(FMLCommonHandler.instance().getBrandings());
|
+ List<String> brandings=Lists.reverse(FMLCommonHandler.instance().getBrandings());
|
||||||
+ for (int i=0; i<brandings.size(); i++) {
|
+ for (int i=0; i<brandings.size(); i++) {
|
||||||
+ String brd = brandings.get(i);
|
+ String brd = brandings.get(i);
|
||||||
+ if (!Strings.isNullOrEmpty(brd))
|
+ if (!Strings.isNullOrEmpty(brd))
|
||||||
+ {
|
+ {
|
||||||
+ this.func_547_b(this.field_6451_g, brd, 2, this.field_950_d - ( 10 + i * (this.field_6451_g.field_41063_b +1)), 16777215);
|
+ this.func_73731_b(this.field_73886_k, brd, 2, this.field_73881_g - ( 10 + i * (this.field_73886_k.field_78288_b + 1)), 16777215);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+// this.func_547_b(this.field_6451_g, var9, 2, this.field_950_d - 10, 16777215);
|
|
||||||
String var10 = "Copyright Mojang AB. Do not distribute!";
|
String var10 = "Copyright Mojang AB. Do not distribute!";
|
||||||
this.func_547_b(this.field_6451_g, var10, this.field_951_c - this.field_6451_g.func_871_a(var10) - 2, this.field_950_d - 10, 16777215);
|
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);
|
||||||
super.func_571_a(p_571_1_, p_571_2_, p_571_3_);
|
super.func_73863_a(p_73863_1_, p_73863_2_, p_73863_3_);
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/MinecraftServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/MinecraftServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -12,6 +12,8 @@
|
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
+
|
|
||||||
public abstract class MinecraftServer implements ICommandSender, IPlayerUsage, Runnable
|
|
||||||
{
|
|
||||||
public static Logger field_56394_a = Logger.getLogger("Minecraft");
|
|
||||||
@@ -317,6 +319,8 @@
|
|
||||||
{
|
|
||||||
long var1 = System.currentTimeMillis();
|
|
||||||
|
|
||||||
+ FMLCommonHandler.instance().onWorldLoadTick();
|
|
||||||
+
|
|
||||||
for (long var50 = 0L; this.field_56406_t; this.field_56383_O = true)
|
|
||||||
{
|
|
||||||
long var5 = System.currentTimeMillis();
|
|
||||||
@@ -407,9 +411,11 @@
|
|
||||||
|
|
||||||
protected void func_56322_n()
|
|
||||||
{
|
|
||||||
+ FMLCommonHandler.instance().rescheduleTicks();
|
|
||||||
long var1 = System.nanoTime();
|
|
||||||
AxisAlignedBB.func_58144_a().func_58151_a();
|
|
||||||
Vec3.func_58128_a().func_58135_a();
|
|
||||||
+ FMLCommonHandler.instance().onPreServerTick();
|
|
||||||
++this.field_56404_v;
|
|
||||||
this.func_56292_o();
|
|
||||||
|
|
||||||
@@ -439,6 +445,7 @@
|
|
||||||
{
|
|
||||||
this.field_56398_m.func_57207_b();
|
|
||||||
}
|
|
||||||
+ FMLCommonHandler.instance().onPostServerTick();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void func_56292_o()
|
|
||||||
@@ -456,7 +463,9 @@
|
|
||||||
this.field_56407_s.func_57105_a(new Packet4UpdateTime(var4.func_22139_r()), var4.field_4209_q.field_4218_e);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ FMLCommonHandler.instance().onPreWorldTick(var4);
|
|
||||||
var4.func_649_g();
|
|
||||||
+ FMLCommonHandler.instance().onPostWorldTick(var4);
|
|
||||||
|
|
||||||
while (true)
|
|
||||||
{
|
|
|
@ -1,41 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/NetClientHandler.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/NetClientHandler.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -20,6 +20,8 @@
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import org.lwjgl.input.Keyboard;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+
|
|
||||||
public class NetClientHandler extends NetHandler
|
|
||||||
{
|
|
||||||
private boolean field_55324_f = false;
|
|
||||||
@@ -132,6 +134,7 @@
|
|
||||||
this.field_35785_d = p_4115_1_.field_35251_h;
|
|
||||||
this.field_1212_e.field_56453_c.func_57521_a(p_4115_1_.field_56535_d);
|
|
||||||
this.func_847_a(new Packet204ClientInfo(this.field_1212_e.field_6304_y.field_44018_Q, this.field_1212_e.field_6304_y.field_1580_e, this.field_1212_e.field_6304_y.field_55382_n, this.field_1212_e.field_6304_y.field_55383_o, this.field_1212_e.field_6304_y.field_1561_w));
|
|
||||||
+ FMLClientHandler.instance().handleServerLogin(p_4115_1_, this, field_1213_d);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_832_a(Packet21PickupSpawn p_832_1_)
|
|
||||||
@@ -593,6 +596,7 @@
|
|
||||||
|
|
||||||
public void func_4113_a(Packet3Chat p_4113_1_)
|
|
||||||
{
|
|
||||||
+ FMLClientHandler.instance().handleChatPacket(p_4113_1_);
|
|
||||||
this.field_1212_e.field_6308_u.func_55092_b().func_55106_a(p_4113_1_.field_517_a);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1165,4 +1169,13 @@
|
|
||||||
{
|
|
||||||
return this.field_1213_d;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ /* (non-Javadoc)
|
|
||||||
+ * @see net.minecraft.src.NetHandler#func_44028_a(net.minecraft.src.Packet250CustomPayload)
|
|
||||||
+ */
|
|
||||||
+// @Override
|
|
||||||
+// public void func_44028_a(Packet250CustomPayload p_44028_1_)
|
|
||||||
+// {
|
|
||||||
+// FMLClientHandler.instance().handlePacket250(p_44028_1_);
|
|
||||||
+// }
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/NetServerHandler.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/NetServerHandler.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -8,6 +8,8 @@
|
|
||||||
import java.util.Random;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+
|
|
||||||
public class NetServerHandler extends NetHandler
|
|
||||||
{
|
|
||||||
public static Logger field_56728_a = Logger.getLogger("Minecraft");
|
|
||||||
@@ -601,7 +603,10 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (var2.startsWith("/"))
|
|
||||||
+ if (FMLClientHandler.instance().handleChatPacket(p_4113_1_,field_56725_e)) {
|
|
||||||
+ // We handled it
|
|
||||||
+ }
|
|
||||||
+ else if (var2.startsWith("/"))
|
|
||||||
{
|
|
||||||
this.func_56721_b(var2);
|
|
||||||
}
|
|
||||||
@@ -1013,4 +1018,11 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+//TODO
|
|
||||||
+ /*
|
|
||||||
+ @Override
|
|
||||||
+ public void func_44001_a(Packet250CustomPayload p_44001_1_) {
|
|
||||||
+ FMLServerHandler.instance().handlePacket250(p_44001_1_, field_16_e);
|
|
||||||
+ }
|
|
||||||
+ */
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/PanelCrashReport.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/PanelCrashReport.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -10,13 +10,22 @@
|
|
||||||
import java.io.StringWriter;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Date;
|
|
||||||
+import java.util.logging.Level;
|
|
||||||
+
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import org.lwjgl.opengl.GL11;
|
|
||||||
|
|
||||||
+import com.google.common.base.Joiner;
|
|
||||||
+
|
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
+import cpw.mods.fml.common.Loader;
|
|
||||||
+
|
|
||||||
public class PanelCrashReport extends Panel
|
|
||||||
{
|
|
||||||
public PanelCrashReport(CrashReport p_i1401_1_)
|
|
||||||
{
|
|
||||||
+ FMLCommonHandler.instance().getFMLLogger().log(Level.SEVERE, "A critical error has occurred.", p_i1401_1_.func_55363_b());
|
|
||||||
+ FMLCommonHandler.instance().getFMLLogger().log(Level.SEVERE, Loader.instance().getCrashInformation());
|
|
||||||
this.setBackground(new Color(3028036));
|
|
||||||
this.setLayout(new BorderLayout());
|
|
||||||
StringWriter var2 = new StringWriter();
|
|
||||||
@@ -69,6 +78,9 @@
|
|
||||||
var6 = var6 + " Minecraft has crashed! \n";
|
|
||||||
var6 = var6 + " ---------------------- \n";
|
|
||||||
var6 = var6 + "\n";
|
|
||||||
+ var6 = var6 + " ****** Mod related errors will have more detail in the file ForgeModLoader-0.log\n";
|
|
||||||
+ var6 = var6 + " ---------------------- \n";
|
|
||||||
+ var6 = var6 + "\n";
|
|
||||||
var6 = var6 + "Minecraft has stopped running because it encountered a problem; " + p_i1401_1_.func_55365_a() + "\n";
|
|
||||||
File var7 = p_i1401_1_.func_57261_f();
|
|
||||||
|
|
|
@ -1,478 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/RenderBlocks.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/RenderBlocks.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -4,97 +4,100 @@
|
|
||||||
import org.lwjgl.opengl.GL11;
|
|
||||||
import org.lwjgl.opengl.GL12;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+
|
|
||||||
public class RenderBlocks
|
|
||||||
{
|
|
||||||
public IBlockAccess field_1772_a;
|
|
||||||
- private int field_1771_b = -1;
|
|
||||||
- private boolean field_1774_c = false;
|
|
||||||
- private boolean field_1773_d = false;
|
|
||||||
+ public int field_1771_b = -1;
|
|
||||||
+ public boolean field_1774_c = false;
|
|
||||||
+ public boolean field_1773_d = false;
|
|
||||||
public static boolean field_27406_a = true;
|
|
||||||
+ public static boolean cfgGrassFix = true;
|
|
||||||
public boolean field_31088_b = true;
|
|
||||||
- private int field_31087_g = 0;
|
|
||||||
- private int field_31086_h = 0;
|
|
||||||
- private int field_31085_i = 0;
|
|
||||||
- private int field_31084_j = 0;
|
|
||||||
- private int field_31083_k = 0;
|
|
||||||
- private int field_31082_l = 0;
|
|
||||||
- private boolean field_22385_e;
|
|
||||||
- private float field_22384_f;
|
|
||||||
- private float field_22383_g;
|
|
||||||
- private float field_22382_h;
|
|
||||||
- private float field_22381_i;
|
|
||||||
- private float field_22380_j;
|
|
||||||
- private float field_22379_k;
|
|
||||||
- private float field_22378_l;
|
|
||||||
- private float field_22377_m;
|
|
||||||
- private float field_22376_n;
|
|
||||||
- private float field_22375_o;
|
|
||||||
- private float field_22374_p;
|
|
||||||
- private float field_22373_q;
|
|
||||||
- private float field_22372_r;
|
|
||||||
- private float field_22371_s;
|
|
||||||
- private float field_22370_t;
|
|
||||||
- private float field_22369_u;
|
|
||||||
- private float field_22368_v;
|
|
||||||
- private float field_22367_w;
|
|
||||||
- private float field_22366_x;
|
|
||||||
- private float field_22365_y;
|
|
||||||
- private float field_22364_z;
|
|
||||||
- private float field_22362_A;
|
|
||||||
- private float field_22360_B;
|
|
||||||
- private float field_22358_C;
|
|
||||||
- private float field_22356_D;
|
|
||||||
- private float field_22354_E;
|
|
||||||
- private float field_22353_F;
|
|
||||||
- private int field_35936_P;
|
|
||||||
- private int field_35935_Q;
|
|
||||||
- private int field_35938_R;
|
|
||||||
- private int field_35937_S;
|
|
||||||
- private int field_35932_T;
|
|
||||||
- private int field_35931_U;
|
|
||||||
- private int field_35934_V;
|
|
||||||
- private int field_35933_W;
|
|
||||||
- private int field_35940_X;
|
|
||||||
- private int field_35939_Y;
|
|
||||||
- private int field_35941_Z;
|
|
||||||
- private int field_35951_aa;
|
|
||||||
- private int field_35952_ab;
|
|
||||||
- private int field_35949_ac;
|
|
||||||
- private int field_35950_ad;
|
|
||||||
- private int field_35955_ae;
|
|
||||||
- private int field_35956_af;
|
|
||||||
- private int field_35953_ag;
|
|
||||||
- private int field_35954_ah;
|
|
||||||
- private int field_35945_ai;
|
|
||||||
- private int field_35946_aj = 1;
|
|
||||||
- private int field_35943_ak;
|
|
||||||
- private int field_35944_al;
|
|
||||||
- private int field_35947_am;
|
|
||||||
- private int field_35948_an;
|
|
||||||
- private float field_22351_H;
|
|
||||||
- private float field_22350_I;
|
|
||||||
- private float field_22349_J;
|
|
||||||
- private float field_22348_K;
|
|
||||||
- private float field_22347_L;
|
|
||||||
- private float field_22346_M;
|
|
||||||
- private float field_22345_N;
|
|
||||||
- private float field_22344_O;
|
|
||||||
- private float field_22343_P;
|
|
||||||
- private float field_22342_Q;
|
|
||||||
- private float field_22341_R;
|
|
||||||
- private float field_22340_S;
|
|
||||||
- private boolean field_22339_T;
|
|
||||||
- private boolean field_22338_U;
|
|
||||||
- private boolean field_22337_V;
|
|
||||||
- private boolean field_22336_W;
|
|
||||||
- private boolean field_22335_X;
|
|
||||||
- private boolean field_22334_Y;
|
|
||||||
- private boolean field_22333_Z;
|
|
||||||
- private boolean field_22363_aa;
|
|
||||||
- private boolean field_22361_ab;
|
|
||||||
- private boolean field_22359_ac;
|
|
||||||
- private boolean field_22357_ad;
|
|
||||||
- private boolean field_22355_ae;
|
|
||||||
+ public int field_31087_g = 0;
|
|
||||||
+ public int field_31086_h = 0;
|
|
||||||
+ public int field_31085_i = 0;
|
|
||||||
+ public int field_31084_j = 0;
|
|
||||||
+ public int field_31083_k = 0;
|
|
||||||
+ public int field_31082_l = 0;
|
|
||||||
+ public boolean field_22385_e;
|
|
||||||
+ public float field_22384_f;
|
|
||||||
+ public float field_22383_g;
|
|
||||||
+ public float field_22382_h;
|
|
||||||
+ public float field_22381_i;
|
|
||||||
+ public float field_22380_j;
|
|
||||||
+ public float field_22379_k;
|
|
||||||
+ public float field_22378_l;
|
|
||||||
+ public float field_22377_m;
|
|
||||||
+ public float field_22376_n;
|
|
||||||
+ public float field_22375_o;
|
|
||||||
+ public float field_22374_p;
|
|
||||||
+ public float field_22373_q;
|
|
||||||
+ public float field_22372_r;
|
|
||||||
+ public float field_22371_s;
|
|
||||||
+ public float field_22370_t;
|
|
||||||
+ public float field_22369_u;
|
|
||||||
+ public float field_22368_v;
|
|
||||||
+ public float field_22367_w;
|
|
||||||
+ public float field_22366_x;
|
|
||||||
+ public float field_22365_y;
|
|
||||||
+ public float field_22364_z;
|
|
||||||
+ public float field_22362_A;
|
|
||||||
+ public float field_22360_B;
|
|
||||||
+ public float field_22358_C;
|
|
||||||
+ public float field_22356_D;
|
|
||||||
+ public float field_22354_E;
|
|
||||||
+ public float field_22353_F;
|
|
||||||
+ public int field_35936_P;
|
|
||||||
+ public int field_35935_Q;
|
|
||||||
+ public int field_35938_R;
|
|
||||||
+ public int field_35937_S;
|
|
||||||
+ public int field_35932_T;
|
|
||||||
+ public int field_35931_U;
|
|
||||||
+ public int field_35934_V;
|
|
||||||
+ public int field_35933_W;
|
|
||||||
+ public int field_35940_X;
|
|
||||||
+ public int field_35939_Y;
|
|
||||||
+ public int field_35941_Z;
|
|
||||||
+ public int field_35951_aa;
|
|
||||||
+ public int field_35952_ab;
|
|
||||||
+ public int field_35949_ac;
|
|
||||||
+ public int field_35950_ad;
|
|
||||||
+ public int field_35955_ae;
|
|
||||||
+ public int field_35956_af;
|
|
||||||
+ public int field_35953_ag;
|
|
||||||
+ public int field_35954_ah;
|
|
||||||
+ public int field_35945_ai;
|
|
||||||
+ public int field_35946_aj = 1;
|
|
||||||
+ public int field_35943_ak;
|
|
||||||
+ public int field_35944_al;
|
|
||||||
+ public int field_35947_am;
|
|
||||||
+ public int field_35948_an;
|
|
||||||
+ public float field_22351_H;
|
|
||||||
+ public float field_22350_I;
|
|
||||||
+ public float field_22349_J;
|
|
||||||
+ public float field_22348_K;
|
|
||||||
+ public float field_22347_L;
|
|
||||||
+ public float field_22346_M;
|
|
||||||
+ public float field_22345_N;
|
|
||||||
+ public float field_22344_O;
|
|
||||||
+ public float field_22343_P;
|
|
||||||
+ public float field_22342_Q;
|
|
||||||
+ public float field_22341_R;
|
|
||||||
+ public float field_22340_S;
|
|
||||||
+ public boolean field_22339_T;
|
|
||||||
+ public boolean field_22338_U;
|
|
||||||
+ public boolean field_22337_V;
|
|
||||||
+ public boolean field_22336_W;
|
|
||||||
+ public boolean field_22335_X;
|
|
||||||
+ public boolean field_22334_Y;
|
|
||||||
+ public boolean field_22333_Z;
|
|
||||||
+ public boolean field_22363_aa;
|
|
||||||
+ public boolean field_22361_ab;
|
|
||||||
+ public boolean field_22359_ac;
|
|
||||||
+ public boolean field_22357_ad;
|
|
||||||
+ public boolean field_22355_ae;
|
|
||||||
|
|
||||||
public RenderBlocks(IBlockAccess p_i647_1_)
|
|
||||||
{
|
|
||||||
@@ -126,10 +129,74 @@
|
|
||||||
{
|
|
||||||
int var5 = p_1234_1_.func_210_f();
|
|
||||||
p_1234_1_.func_238_a(this.field_1772_a, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
- return var5 == 0 ? this.func_1228_k(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 4 ? this.func_1222_j(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 13 ? this.func_1233_l(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 1 ? this.func_1226_h(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 19 ? this.func_1232_i(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 23 ? this.func_40726_m(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 6 ? this.func_35930_l(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 2 ? this.func_1241_b(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 3 ? this.func_1235_d(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 5 ? this.func_1242_e(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 8 ? this.func_1221_g(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 7 ? this.func_1218_o(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 9 ? this.func_1216_f((BlockRail)p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 10 ? this.func_1214_n(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 27 ? this.func_41088_a((BlockDragonEgg)p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 11 ? this.func_35925_a((BlockFence)p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 12 ? this.func_1229_c(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 29 ? this.func_57334_f(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 30 ? this.func_57336_g(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 14 ? this.func_22331_p(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 15 ? this.func_22332_q(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 16 ? this.func_31074_b(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_, false) : (var5 == 17 ? this.func_31080_c(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_, true) : (var5 == 18 ? this.func_35922_a((BlockPane)p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 20 ? this.func_35929_i(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 21 ? this.func_35923_a((BlockFenceGate)p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 24 ? this.func_40728_a((BlockCauldron)p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 25 ? this.func_40730_a((BlockBrewingStand)p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 26 ? this.func_40729_s(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : (var5 == 28 ? this.func_57333_a((BlockCocoa)p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_) : false)))))))))))))))))))))))))))));
|
|
||||||
+ switch (var5)
|
|
||||||
+ {
|
|
||||||
+ case 0:
|
|
||||||
+ return this.func_1228_k(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 4:
|
|
||||||
+ return this.func_1222_j(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 13:
|
|
||||||
+ return this.func_1233_l(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 1:
|
|
||||||
+ return this.func_1226_h(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 19:
|
|
||||||
+ return this.func_1232_i(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 23:
|
|
||||||
+ return this.func_40726_m(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 6:
|
|
||||||
+ return this.func_35930_l(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 2:
|
|
||||||
+ return this.func_1241_b(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 3:
|
|
||||||
+ return this.func_1235_d(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 5:
|
|
||||||
+ return this.func_1242_e(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 8:
|
|
||||||
+ return this.func_1221_g(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 7:
|
|
||||||
+ return this.func_1218_o(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 9:
|
|
||||||
+ return this.func_1216_f((BlockRail) p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 10:
|
|
||||||
+ return this.func_1214_n(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 27:
|
|
||||||
+ return this.func_41088_a((BlockDragonEgg) p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 11:
|
|
||||||
+ return this.func_35925_a((BlockFence) p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 12:
|
|
||||||
+ return this.func_1229_c(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 29:
|
|
||||||
+ return this.func_57334_f(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 30:
|
|
||||||
+ return this.func_57336_g(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 14:
|
|
||||||
+ return this.func_22331_p(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 15:
|
|
||||||
+ return this.func_22332_q(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 16:
|
|
||||||
+ return this.func_31074_b(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_, false);
|
|
||||||
+ case 17:
|
|
||||||
+ return this.func_31080_c(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_, true);
|
|
||||||
+ case 18:
|
|
||||||
+ return this.func_35922_a((BlockPane) p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 20:
|
|
||||||
+ return this.func_35929_i(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 21:
|
|
||||||
+ return this.func_35923_a((BlockFenceGate) p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 24:
|
|
||||||
+ return this.func_40728_a((BlockCauldron) p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 25:
|
|
||||||
+ return this.func_40730_a((BlockBrewingStand) p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 26:
|
|
||||||
+ return this.func_40729_s(p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ case 28:
|
|
||||||
+ return this.func_57333_a((BlockCocoa) p_1234_1_, p_1234_2_, p_1234_3_, p_1234_4_);
|
|
||||||
+ default:
|
|
||||||
+ return FMLClientHandler.instance().renderWorldBlock(this, field_1772_a, p_1234_2_, p_1234_3_, p_1234_4_, p_1234_1_, var5);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
- private boolean func_40729_s(Block p_40729_1_, int p_40729_2_, int p_40729_3_, int p_40729_4_)
|
|
||||||
+ public boolean func_40729_s(Block p_40729_1_, int p_40729_2_, int p_40729_3_, int p_40729_4_)
|
|
||||||
{
|
|
||||||
int var5 = this.field_1772_a.func_602_e(p_40729_2_, p_40729_3_, p_40729_4_);
|
|
||||||
int var6 = var5 & 3;
|
|
||||||
@@ -169,7 +236,7 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- private boolean func_22331_p(Block p_22331_1_, int p_22331_2_, int p_22331_3_, int p_22331_4_)
|
|
||||||
+ public boolean func_22331_p(Block p_22331_1_, int p_22331_2_, int p_22331_3_, int p_22331_4_)
|
|
||||||
{
|
|
||||||
Tessellator var5 = Tessellator.field_1512_a;
|
|
||||||
int var6 = this.field_1772_a.func_602_e(p_22331_2_, p_22331_3_, p_22331_4_);
|
|
||||||
@@ -310,7 +377,7 @@
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
- private boolean func_40730_a(BlockBrewingStand p_40730_1_, int p_40730_2_, int p_40730_3_, int p_40730_4_)
|
|
||||||
+ public boolean func_40730_a(BlockBrewingStand p_40730_1_, int p_40730_2_, int p_40730_3_, int p_40730_4_)
|
|
||||||
{
|
|
||||||
p_40730_1_.func_213_a(0.4375F, 0.0F, 0.4375F, 0.5625F, 0.875F, 0.5625F);
|
|
||||||
this.func_1228_k(p_40730_1_, p_40730_2_, p_40730_3_, p_40730_4_);
|
|
||||||
@@ -384,7 +451,7 @@
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
- private boolean func_40728_a(BlockCauldron p_40728_1_, int p_40728_2_, int p_40728_3_, int p_40728_4_)
|
|
||||||
+ public boolean func_40728_a(BlockCauldron p_40728_1_, int p_40728_2_, int p_40728_3_, int p_40728_4_)
|
|
||||||
{
|
|
||||||
this.func_1228_k(p_40728_1_, p_40728_2_, p_40728_3_, p_40728_4_);
|
|
||||||
Tessellator var5 = Tessellator.field_1512_a;
|
|
||||||
@@ -467,7 +534,7 @@
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
- private boolean func_22332_q(Block p_22332_1_, int p_22332_2_, int p_22332_3_, int p_22332_4_)
|
|
||||||
+ public boolean func_22332_q(Block p_22332_1_, int p_22332_2_, int p_22332_3_, int p_22332_4_)
|
|
||||||
{
|
|
||||||
int var5 = this.field_1772_a.func_602_e(p_22332_2_, p_22332_3_, p_22332_4_);
|
|
||||||
int var6 = var5 & 3;
|
|
||||||
@@ -557,7 +624,7 @@
|
|
||||||
this.field_1773_d = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
- private boolean func_31074_b(Block p_31074_1_, int p_31074_2_, int p_31074_3_, int p_31074_4_, boolean p_31074_5_)
|
|
||||||
+ public boolean func_31074_b(Block p_31074_1_, int p_31074_2_, int p_31074_3_, int p_31074_4_, boolean p_31074_5_)
|
|
||||||
{
|
|
||||||
int var6 = this.field_1772_a.func_602_e(p_31074_2_, p_31074_3_, p_31074_4_);
|
|
||||||
boolean var7 = p_31074_5_ || (var6 & 8) != 0;
|
|
||||||
@@ -660,7 +727,7 @@
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
- private void func_31076_a(double p_31076_1_, double p_31076_3_, double p_31076_5_, double p_31076_7_, double p_31076_9_, double p_31076_11_, float p_31076_13_, double p_31076_14_)
|
|
||||||
+ public void func_31076_a(double p_31076_1_, double p_31076_3_, double p_31076_5_, double p_31076_7_, double p_31076_9_, double p_31076_11_, float p_31076_13_, double p_31076_14_)
|
|
||||||
{
|
|
||||||
int var16 = 108;
|
|
||||||
|
|
||||||
@@ -683,7 +750,7 @@
|
|
||||||
var19.func_983_a(p_31076_3_, p_31076_7_, p_31076_11_, var24, var26);
|
|
||||||
}
|
|
||||||
|
|
||||||
- private void func_31081_b(double p_31081_1_, double p_31081_3_, double p_31081_5_, double p_31081_7_, double p_31081_9_, double p_31081_11_, float p_31081_13_, double p_31081_14_)
|
|
||||||
+ public void func_31081_b(double p_31081_1_, double p_31081_3_, double p_31081_5_, double p_31081_7_, double p_31081_9_, double p_31081_11_, float p_31081_13_, double p_31081_14_)
|
|
||||||
{
|
|
||||||
int var16 = 108;
|
|
||||||
|
|
||||||
@@ -706,7 +773,7 @@
|
|
||||||
var19.func_983_a(p_31081_3_, p_31081_7_, p_31081_11_, var24, var26);
|
|
||||||
}
|
|
||||||
|
|
||||||
- private void func_31077_c(double p_31077_1_, double p_31077_3_, double p_31077_5_, double p_31077_7_, double p_31077_9_, double p_31077_11_, float p_31077_13_, double p_31077_14_)
|
|
||||||
+ public void func_31077_c(double p_31077_1_, double p_31077_3_, double p_31077_5_, double p_31077_7_, double p_31077_9_, double p_31077_11_, float p_31077_13_, double p_31077_14_)
|
|
||||||
{
|
|
||||||
int var16 = 108;
|
|
||||||
|
|
||||||
@@ -736,7 +803,7 @@
|
|
||||||
this.field_1773_d = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
- private boolean func_31080_c(Block p_31080_1_, int p_31080_2_, int p_31080_3_, int p_31080_4_, boolean p_31080_5_)
|
|
||||||
+ public boolean func_31080_c(Block p_31080_1_, int p_31080_2_, int p_31080_3_, int p_31080_4_, boolean p_31080_5_)
|
|
||||||
{
|
|
||||||
int var6 = this.field_1772_a.func_602_e(p_31080_2_, p_31080_3_, p_31080_4_);
|
|
||||||
int var7 = BlockPistonExtension.func_31050_c(var6);
|
|
||||||
@@ -3244,7 +3311,7 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- private float func_1224_a(int p_1224_1_, int p_1224_2_, int p_1224_3_, Material p_1224_4_)
|
|
||||||
+ public float func_1224_a(int p_1224_1_, int p_1224_2_, int p_1224_3_, Material p_1224_4_)
|
|
||||||
{
|
|
||||||
int var5 = 0;
|
|
||||||
float var6 = 0.0F;
|
|
||||||
@@ -3776,7 +3843,7 @@
|
|
||||||
var27 = p_22330_1_.func_211_a(this.field_1772_a, p_22330_2_, p_22330_3_, p_22330_4_, 2);
|
|
||||||
this.func_1220_c(p_22330_1_, (double)p_22330_2_, (double)p_22330_3_, (double)p_22330_4_, var27);
|
|
||||||
|
|
||||||
- if (field_27406_a && var27 == 3 && this.field_1771_b < 0)
|
|
||||||
+ if (cfgGrassFix && var27 == 3 && this.field_1771_b < 0)
|
|
||||||
{
|
|
||||||
this.field_22351_H *= p_22330_5_;
|
|
||||||
this.field_22350_I *= p_22330_5_;
|
|
||||||
@@ -3899,7 +3966,7 @@
|
|
||||||
var27 = p_22330_1_.func_211_a(this.field_1772_a, p_22330_2_, p_22330_3_, p_22330_4_, 3);
|
|
||||||
this.func_1225_d(p_22330_1_, (double)p_22330_2_, (double)p_22330_3_, (double)p_22330_4_, p_22330_1_.func_211_a(this.field_1772_a, p_22330_2_, p_22330_3_, p_22330_4_, 3));
|
|
||||||
|
|
||||||
- if (field_27406_a && var27 == 3 && this.field_1771_b < 0)
|
|
||||||
+ if (cfgGrassFix && var27 == 3 && this.field_1771_b < 0)
|
|
||||||
{
|
|
||||||
this.field_22351_H *= p_22330_5_;
|
|
||||||
this.field_22350_I *= p_22330_5_;
|
|
||||||
@@ -4022,7 +4089,7 @@
|
|
||||||
var27 = p_22330_1_.func_211_a(this.field_1772_a, p_22330_2_, p_22330_3_, p_22330_4_, 4);
|
|
||||||
this.func_1231_e(p_22330_1_, (double)p_22330_2_, (double)p_22330_3_, (double)p_22330_4_, var27);
|
|
||||||
|
|
||||||
- if (field_27406_a && var27 == 3 && this.field_1771_b < 0)
|
|
||||||
+ if (cfgGrassFix && var27 == 3 && this.field_1771_b < 0)
|
|
||||||
{
|
|
||||||
this.field_22351_H *= p_22330_5_;
|
|
||||||
this.field_22350_I *= p_22330_5_;
|
|
||||||
@@ -4145,7 +4212,7 @@
|
|
||||||
var27 = p_22330_1_.func_211_a(this.field_1772_a, p_22330_2_, p_22330_3_, p_22330_4_, 5);
|
|
||||||
this.func_1236_f(p_22330_1_, (double)p_22330_2_, (double)p_22330_3_, (double)p_22330_4_, var27);
|
|
||||||
|
|
||||||
- if (field_27406_a && var27 == 3 && this.field_1771_b < 0)
|
|
||||||
+ if (cfgGrassFix && var27 == 3 && this.field_1771_b < 0)
|
|
||||||
{
|
|
||||||
this.field_22351_H *= p_22330_5_;
|
|
||||||
this.field_22350_I *= p_22330_5_;
|
|
||||||
@@ -4169,7 +4236,7 @@
|
|
||||||
return var8;
|
|
||||||
}
|
|
||||||
|
|
||||||
- private int func_35924_c(int p_35924_1_, int p_35924_2_, int p_35924_3_, int p_35924_4_)
|
|
||||||
+ public int func_35924_c(int p_35924_1_, int p_35924_2_, int p_35924_3_, int p_35924_4_)
|
|
||||||
{
|
|
||||||
if (p_35924_1_ == 0)
|
|
||||||
{
|
|
||||||
@@ -4251,7 +4318,7 @@
|
|
||||||
var28 = p_4152_1_.func_211_a(this.field_1772_a, p_4152_2_, p_4152_3_, p_4152_4_, 2);
|
|
||||||
this.func_1220_c(p_4152_1_, (double)p_4152_2_, (double)p_4152_3_, (double)p_4152_4_, var28);
|
|
||||||
|
|
||||||
- if (field_27406_a && var28 == 3 && this.field_1771_b < 0)
|
|
||||||
+ if (cfgGrassFix && var28 == 3 && this.field_1771_b < 0)
|
|
||||||
{
|
|
||||||
var8.func_987_a(var18 * p_4152_5_, var21 * p_4152_6_, var24 * p_4152_7_);
|
|
||||||
this.func_1220_c(p_4152_1_, (double)p_4152_2_, (double)p_4152_3_, (double)p_4152_4_, 38);
|
|
||||||
@@ -4267,7 +4334,7 @@
|
|
||||||
var28 = p_4152_1_.func_211_a(this.field_1772_a, p_4152_2_, p_4152_3_, p_4152_4_, 3);
|
|
||||||
this.func_1225_d(p_4152_1_, (double)p_4152_2_, (double)p_4152_3_, (double)p_4152_4_, var28);
|
|
||||||
|
|
||||||
- if (field_27406_a && var28 == 3 && this.field_1771_b < 0)
|
|
||||||
+ if (cfgGrassFix && var28 == 3 && this.field_1771_b < 0)
|
|
||||||
{
|
|
||||||
var8.func_987_a(var18 * p_4152_5_, var21 * p_4152_6_, var24 * p_4152_7_);
|
|
||||||
this.func_1225_d(p_4152_1_, (double)p_4152_2_, (double)p_4152_3_, (double)p_4152_4_, 38);
|
|
||||||
@@ -4283,7 +4350,7 @@
|
|
||||||
var28 = p_4152_1_.func_211_a(this.field_1772_a, p_4152_2_, p_4152_3_, p_4152_4_, 4);
|
|
||||||
this.func_1231_e(p_4152_1_, (double)p_4152_2_, (double)p_4152_3_, (double)p_4152_4_, var28);
|
|
||||||
|
|
||||||
- if (field_27406_a && var28 == 3 && this.field_1771_b < 0)
|
|
||||||
+ if (cfgGrassFix && var28 == 3 && this.field_1771_b < 0)
|
|
||||||
{
|
|
||||||
var8.func_987_a(var19 * p_4152_5_, var22 * p_4152_6_, var25 * p_4152_7_);
|
|
||||||
this.func_1231_e(p_4152_1_, (double)p_4152_2_, (double)p_4152_3_, (double)p_4152_4_, 38);
|
|
||||||
@@ -4299,7 +4366,7 @@
|
|
||||||
var28 = p_4152_1_.func_211_a(this.field_1772_a, p_4152_2_, p_4152_3_, p_4152_4_, 5);
|
|
||||||
this.func_1236_f(p_4152_1_, (double)p_4152_2_, (double)p_4152_3_, (double)p_4152_4_, var28);
|
|
||||||
|
|
||||||
- if (field_27406_a && var28 == 3 && this.field_1771_b < 0)
|
|
||||||
+ if (cfgGrassFix && var28 == 3 && this.field_1771_b < 0)
|
|
||||||
{
|
|
||||||
var8.func_987_a(var19 * p_4152_5_, var22 * p_4152_6_, var25 * p_4152_7_);
|
|
||||||
this.func_1236_f(p_4152_1_, (double)p_4152_2_, (double)p_4152_3_, (double)p_4152_4_, 38);
|
|
||||||
@@ -5963,6 +6030,10 @@
|
|
||||||
|
|
||||||
p_1227_1_.func_213_a(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
|
||||||
}
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ FMLClientHandler.instance().renderInventoryBlock(this, p_1227_1_, p_1227_2_, var6);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
@@ -6020,6 +6091,28 @@
|
|
||||||
|
|
||||||
public static boolean func_1219_a(int p_1219_0_)
|
|
||||||
{
|
|
||||||
- return p_1219_0_ == 0 ? true : (p_1219_0_ == 13 ? true : (p_1219_0_ == 10 ? true : (p_1219_0_ == 11 ? true : (p_1219_0_ == 27 ? true : (p_1219_0_ == 22 ? true : (p_1219_0_ == 21 ? true : (p_1219_0_ == 16 ? true : p_1219_0_ == 26)))))));
|
|
||||||
+ switch (p_1219_0_)
|
|
||||||
+ {
|
|
||||||
+ case 0:
|
|
||||||
+ return true;
|
|
||||||
+ case 13:
|
|
||||||
+ return true;
|
|
||||||
+ case 10:
|
|
||||||
+ return true;
|
|
||||||
+ case 11:
|
|
||||||
+ return true;
|
|
||||||
+ case 27:
|
|
||||||
+ return true;
|
|
||||||
+ case 22:
|
|
||||||
+ return true;
|
|
||||||
+ case 21:
|
|
||||||
+ return true;
|
|
||||||
+ case 16:
|
|
||||||
+ return true;
|
|
||||||
+ case 26:
|
|
||||||
+ return true;
|
|
||||||
+ default:
|
|
||||||
+ return FMLClientHandler.instance().renderItemAsFull3DBlock(p_1219_0_);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/RenderEngine.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/RenderEngine.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,6 +1,10 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import static org.lwjgl.opengl.GL11.GL_TEXTURE_2D;
|
|
||||||
+import static org.lwjgl.opengl.GL11.GL_TEXTURE_WIDTH;
|
|
||||||
+
|
|
||||||
import java.awt.Color;
|
|
||||||
+import java.awt.Dimension;
|
|
||||||
import java.awt.Graphics;
|
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import java.awt.image.ImageObserver;
|
|
||||||
@@ -13,9 +17,16 @@
|
|
||||||
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 org.lwjgl.opengl.GL11;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
+
|
|
||||||
public class RenderEngine
|
|
||||||
{
|
|
||||||
private HashMap field_6528_b = new HashMap();
|
|
||||||
@@ -23,13 +34,14 @@
|
|
||||||
private IntHashMap field_1607_c = new IntHashMap();
|
|
||||||
private IntBuffer field_1606_d = GLAllocation.func_1125_c(1);
|
|
||||||
private ByteBuffer field_1605_e = GLAllocation.func_1127_b(16777216);
|
|
||||||
- private List field_1604_f = new ArrayList();
|
|
||||||
+ public List field_1604_f = new ArrayList();
|
|
||||||
private Map field_1603_g = new HashMap();
|
|
||||||
private GameSettings field_1602_h;
|
|
||||||
public boolean field_4281_i = false;
|
|
||||||
public boolean field_4280_j = false;
|
|
||||||
private TexturePackList field_6527_k;
|
|
||||||
private BufferedImage field_25189_l = new BufferedImage(64, 64, 2);
|
|
||||||
+ public static Logger log = FMLCommonHandler.instance().getFMLLogger();
|
|
||||||
|
|
||||||
public RenderEngine(TexturePackList p_i754_1_, GameSettings p_i754_2_)
|
|
||||||
{
|
|
||||||
@@ -94,8 +106,9 @@
|
|
||||||
this.field_28151_c.put(p_28149_1_, var7);
|
|
||||||
return var7;
|
|
||||||
}
|
|
||||||
- catch (IOException var6)
|
|
||||||
+ catch (Exception var6)
|
|
||||||
{
|
|
||||||
+ log.log(Level.INFO,String.format("An error occured reading texture file %s (getTexture)", p_28149_1_),var6);
|
|
||||||
var6.printStackTrace();
|
|
||||||
int[] var5 = this.func_28148_b(this.field_25189_l);
|
|
||||||
this.field_28151_c.put(p_28149_1_, var5);
|
|
||||||
@@ -242,6 +255,7 @@
|
|
||||||
|
|
||||||
int var3 = p_1068_1_.getWidth();
|
|
||||||
int var4 = p_1068_1_.getHeight();
|
|
||||||
+ FMLClientHandler.instance().setTextureDimensions(p_1068_2_, var3, var4, (List<TextureFX>)field_1604_f);
|
|
||||||
int[] var5 = new int[var3 * var4];
|
|
||||||
byte[] var6 = new byte[var3 * var4 * 4];
|
|
||||||
p_1068_1_.getRGB(0, 0, var3, var4, var5, 0, var3);
|
|
||||||
@@ -397,6 +411,7 @@
|
|
||||||
|
|
||||||
public void func_1066_a(TextureFX p_1066_1_)
|
|
||||||
{
|
|
||||||
+ FMLClientHandler.instance().onPreRegisterEffect(p_1066_1_);
|
|
||||||
this.field_1604_f.add(p_1066_1_);
|
|
||||||
p_1066_1_.func_783_a();
|
|
||||||
}
|
|
||||||
@@ -410,10 +425,26 @@
|
|
||||||
{
|
|
||||||
TextureFX var3 = (TextureFX)var2.next();
|
|
||||||
var3.field_1131_c = this.field_1602_h.field_1578_g;
|
|
||||||
- var3.func_783_a();
|
|
||||||
- this.field_1605_e.clear();
|
|
||||||
- this.field_1605_e.put(var3.field_1127_a);
|
|
||||||
- this.field_1605_e.position(0).limit(var3.field_1127_a.length);
|
|
||||||
+ if (!FMLClientHandler.instance().onUpdateTextureEffect(var3))
|
|
||||||
+ {
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ Dimension dim = FMLClientHandler.instance().getTextureDimensions(var3);
|
|
||||||
+ int tWidth = dim.width / 16;
|
|
||||||
+ int tHeight = dim.height / 16;
|
|
||||||
+ int tLen = tWidth * tHeight * 4;
|
|
||||||
+
|
|
||||||
+ if (var3.field_1127_a.length == tLen)
|
|
||||||
+ {
|
|
||||||
+ this.field_1605_e.clear();
|
|
||||||
+ this.field_1605_e.put(var3.field_1127_a);
|
|
||||||
+ this.field_1605_e.position(0).limit(var3.field_1127_a.length);
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ FMLClientHandler.instance().scaleTextureFXData(var3.field_1127_a, field_1605_e, tWidth, tLen);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if (var3.field_1126_b != var1)
|
|
||||||
{
|
|
||||||
@@ -423,9 +454,11 @@
|
|
||||||
|
|
||||||
for (int var4 = 0; var4 < var3.field_1129_e; ++var4)
|
|
||||||
{
|
|
||||||
+ int xOffset = var3.field_1126_b % 16 * tWidth + var4 * tWidth;
|
|
||||||
for (int var5 = 0; var5 < var3.field_1129_e; ++var5)
|
|
||||||
{
|
|
||||||
- GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, var3.field_1126_b % 16 * 16 + var4 * 16, var3.field_1126_b / 16 * 16 + var5 * 16, 16, 16, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, this.field_1605_e);
|
|
||||||
+ int yOffset = var3.field_1126_b / 16 * tHeight + var5 * tHeight;
|
|
||||||
+ GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, xOffset, yOffset, tWidth, tHeight, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, this.field_1605_e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -490,8 +523,9 @@
|
|
||||||
this.field_4280_j = false;
|
|
||||||
this.field_4281_i = false;
|
|
||||||
}
|
|
||||||
- catch (IOException var7)
|
|
||||||
+ catch (Exception var7)
|
|
||||||
{
|
|
||||||
+ log.log(Level.INFO,String.format("An error occured reading texture file %s (refreshTexture)", var9),var7);
|
|
||||||
var7.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -527,11 +561,13 @@
|
|
||||||
this.field_4280_j = false;
|
|
||||||
this.field_4281_i = false;
|
|
||||||
}
|
|
||||||
- catch (IOException var6)
|
|
||||||
+ catch (Exception var6)
|
|
||||||
{
|
|
||||||
+ log.log(Level.INFO,String.format("An error occured reading texture file data %s (refreshTexture)", var9),var6);
|
|
||||||
var6.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ FMLClientHandler.instance().onTexturePackChange(this, var1, (List<TextureFX>)field_1604_f);
|
|
||||||
}
|
|
||||||
|
|
||||||
private BufferedImage func_6526_a(InputStream p_6526_1_) throws IOException
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/RenderManager.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/RenderManager.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -183,4 +183,8 @@
|
|
||||||
{
|
|
||||||
return this.field_1218_p;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public Map<Class<? extends Entity>, Render> getRendererList() {
|
|
||||||
+ return field_6501_o;
|
|
||||||
+ }
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/RenderPlayer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/RenderPlayer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,5 +1,9 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import java.util.ArrayList;
|
|
||||||
+import java.util.Arrays;
|
|
||||||
+import java.util.List;
|
|
||||||
+
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import org.lwjgl.opengl.GL11;
|
|
||||||
|
|
||||||
@@ -8,7 +12,7 @@
|
|
||||||
private ModelBiped field_209_f;
|
|
||||||
private ModelBiped field_208_g;
|
|
||||||
private ModelBiped field_207_h;
|
|
||||||
- private static final String[] field_206_i = new String[] {"cloth", "chain", "iron", "diamond", "gold"};
|
|
||||||
+ private static String[] field_206_i = new String[] {"cloth", "chain", "iron", "diamond", "gold"};
|
|
||||||
|
|
||||||
public RenderPlayer()
|
|
||||||
{
|
|
||||||
@@ -404,4 +408,11 @@
|
|
||||||
{
|
|
||||||
this.func_188_a((EntityPlayer)p_147_1_, p_147_2_, p_147_4_, p_147_6_, p_147_8_, p_147_9_);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static int addNewArmourPrefix(String prefix) {
|
|
||||||
+ List<String> armours=new ArrayList(Arrays.asList(field_206_i));
|
|
||||||
+ armours.add(prefix);
|
|
||||||
+ field_206_i=armours.toArray(new String[0]);
|
|
||||||
+ return armours.indexOf(prefix);
|
|
||||||
+ }
|
|
||||||
}
|
|
|
@ -1,37 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/ServerConfigurationManager.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/ServerConfigurationManager.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -10,6 +10,8 @@
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+
|
|
||||||
public abstract class ServerConfigurationManager
|
|
||||||
{
|
|
||||||
private static final SimpleDateFormat field_57132_e = new SimpleDateFormat("yyyy-MM-dd \'at\' HH:mm:ss z");
|
|
||||||
@@ -70,6 +72,8 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
p_57113_2_.func_56256_h();
|
|
||||||
+ FMLClientHandler.instance().handleClientLogin(p_57113_1_);
|
|
||||||
+ FMLClientHandler.instance().announceLogin(p_57113_2_);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_57096_a(WorldServer[] p_57096_1_)
|
|
||||||
@@ -143,6 +147,7 @@
|
|
||||||
|
|
||||||
public void func_57093_e(EntityPlayerMP p_57093_1_)
|
|
||||||
{
|
|
||||||
+ FMLClientHandler.instance().announceLogout(p_57093_1_);
|
|
||||||
this.func_57118_b(p_57093_1_);
|
|
||||||
WorldServer var2 = p_57093_1_.func_56260_H();
|
|
||||||
var2.func_607_d(p_57093_1_);
|
|
||||||
@@ -354,6 +359,8 @@
|
|
||||||
p_57125_1_.field_56267_c.func_57360_a(var5);
|
|
||||||
this.func_57120_b(p_57125_1_, var5);
|
|
||||||
this.func_57124_f(p_57125_1_);
|
|
||||||
+
|
|
||||||
+ FMLClientHandler.instance().announceDimensionChange(p_57125_1_);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_57104_b()
|
|
|
@ -1,18 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/SlotCrafting.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/SlotCrafting.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,5 +1,7 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+
|
|
||||||
public class SlotCrafting extends Slot
|
|
||||||
{
|
|
||||||
private final IInventory field_1125_c;
|
|
||||||
@@ -83,6 +85,7 @@
|
|
||||||
|
|
||||||
public void func_4103_a(ItemStack p_4103_1_)
|
|
||||||
{
|
|
||||||
+ FMLClientHandler.instance().onItemCrafted(field_25015_e, p_4103_1_, field_1125_c);
|
|
||||||
this.func_48434_c(p_4103_1_);
|
|
||||||
|
|
||||||
for (int var2 = 0; var2 < this.field_1125_c.func_469_c(); ++var2)
|
|
|
@ -1,19 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/SlotFurnace.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/SlotFurnace.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,5 +1,7 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+
|
|
||||||
public class SlotFurnace extends Slot
|
|
||||||
{
|
|
||||||
private EntityPlayer field_27011_d;
|
|
||||||
@@ -56,6 +58,8 @@
|
|
||||||
|
|
||||||
this.field_48437_f = 0;
|
|
||||||
|
|
||||||
+ FMLClientHandler.instance().onItemSmelted(field_27011_d, p_48434_1_);
|
|
||||||
+
|
|
||||||
if (p_48434_1_.field_1617_c == Item.field_223_m.field_291_aS)
|
|
||||||
{
|
|
||||||
this.field_27011_d.func_25058_a(AchievementList.field_27385_k, 1);
|
|
|
@ -4,31 +4,31 @@
|
||||||
{
|
{
|
||||||
String var2 = "local";
|
String var2 = "local";
|
||||||
StringBuilder var3 = new StringBuilder();
|
StringBuilder var3 = new StringBuilder();
|
||||||
- JsonRootNode var4 = (new JdomParser()).func_27367_a(p_27177_0_);
|
- JsonRootNode var4 = (new JdomParser()).func_74789_a(p_77453_0_);
|
||||||
- List var5 = var4.func_27217_b(new Object[] {"stats-change"});
|
- List var5 = var4.func_74612_b(new Object[] {"stats-change"});
|
||||||
+ JsonRootNode var4 = (new JdomParser()).parse(p_27177_0_);
|
+ JsonRootNode var4 = (new JdomParser()).parse(p_77453_0_);
|
||||||
+ List var5 = var4.getArrayNode(new Object[] {"stats-change"});
|
+ List var5 = var4.getArrayNode(new Object[] {"stats-change"});
|
||||||
Iterator var6 = var5.iterator();
|
Iterator var6 = var5.iterator();
|
||||||
|
|
||||||
while (var6.hasNext())
|
while (var6.hasNext())
|
||||||
{
|
{
|
||||||
JsonNode var7 = (JsonNode)var6.next();
|
JsonNode var7 = (JsonNode)var6.next();
|
||||||
- Map var8 = var7.func_27214_c();
|
- Map var8 = var7.func_74614_d();
|
||||||
+ Map var8 = var7.getFields();
|
+ Map var8 = var7.getFields();
|
||||||
Entry var9 = (Entry)var8.entrySet().iterator().next();
|
Entry var9 = (Entry)var8.entrySet().iterator().next();
|
||||||
- int var10 = Integer.parseInt(((JsonStringNode)var9.getKey()).func_27216_b());
|
- int var10 = Integer.parseInt(((JsonStringNode)var9.getKey()).func_74615_c());
|
||||||
- int var11 = Integer.parseInt(((JsonNode)var9.getValue()).func_27216_b());
|
- int var11 = Integer.parseInt(((JsonNode)var9.getValue()).func_74615_c());
|
||||||
+ int var10 = Integer.parseInt(((JsonStringNode)var9.getKey()).getText());
|
+ int var10 = Integer.parseInt(((JsonStringNode)var9.getKey()).getText());
|
||||||
+ int var11 = Integer.parseInt(((JsonNode)var9.getValue()).getText());
|
+ int var11 = Integer.parseInt(((JsonNode)var9.getValue()).getText());
|
||||||
StatBase var12 = StatList.func_27361_a(var10);
|
StatBase var12 = StatList.func_75923_a(var10);
|
||||||
|
|
||||||
if (var12 == null)
|
if (var12 == null)
|
||||||
@@ -152,7 +152,7 @@
|
@@ -152,7 +152,7 @@
|
||||||
MD5String var14 = new MD5String(var2);
|
MD5String var14 = new MD5String(var2);
|
||||||
String var15 = var14.func_27369_a(var3.toString());
|
String var15 = var14.func_75899_a(var3.toString());
|
||||||
|
|
||||||
- if (!var15.equals(var4.func_27213_a(new Object[] {"checksum"})))
|
- if (!var15.equals(var4.func_74611_a(new Object[] {"checksum"})))
|
||||||
+ if (!var15.equals(var4.getNode(new Object[] {"checksum"})))
|
+ if (!var15.equals(var4.getStringValue(new Object[] {"checksum"})))
|
||||||
{
|
{
|
||||||
System.out.println("CHECKSUM MISMATCH");
|
System.out.println("CHECKSUM MISMATCH");
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/StringTranslate.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/StringTranslate.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -7,6 +7,9 @@
|
|
||||||
import java.util.Properties;
|
|
||||||
import java.util.TreeMap;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
+
|
|
||||||
public class StringTranslate
|
|
||||||
{
|
|
||||||
private static StringTranslate field_20165_a = new StringTranslate("en_US");
|
|
||||||
@@ -77,6 +80,7 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ FMLCommonHandler.instance().handleLanguageLoad(p_44025_1_,p_44025_2_);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_44023_a(String p_44023_1_)
|
|
||||||
@@ -165,4 +169,8 @@
|
|
||||||
{
|
|
||||||
return "ar_SA".equals(p_46109_0_) || "he_IL".equals(p_46109_0_);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public Properties getTranslationTable() {
|
|
||||||
+ return field_20164_b;
|
|
||||||
+ }
|
|
||||||
}
|
|
|
@ -1,85 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TextureCompassFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TextureCompassFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -3,12 +3,14 @@
|
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import java.io.IOException;
|
|
||||||
import javax.imageio.ImageIO;
|
|
||||||
+
|
|
||||||
+import cpw.mods.fml.client.FMLTextureFX;
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
|
|
||||||
-public class TextureCompassFX extends TextureFX
|
|
||||||
+public class TextureCompassFX extends FMLTextureFX
|
|
||||||
{
|
|
||||||
private Minecraft field_4231_g;
|
|
||||||
- private int[] field_4230_h = new int[256];
|
|
||||||
+ private int[] field_4230_h;
|
|
||||||
private double field_4229_i;
|
|
||||||
private double field_4228_j;
|
|
||||||
|
|
||||||
@@ -17,13 +19,20 @@
|
|
||||||
super(Item.field_4025_aO.func_27009_a(0));
|
|
||||||
this.field_4231_g = p_i617_1_;
|
|
||||||
this.field_1128_f = 1;
|
|
||||||
+ setup();
|
|
||||||
+ }
|
|
||||||
|
|
||||||
+ @Override
|
|
||||||
+ public void setup()
|
|
||||||
+ {
|
|
||||||
+ super.setup();
|
|
||||||
+ field_4230_h = new int[tileSizeSquare];
|
|
||||||
try
|
|
||||||
{
|
|
||||||
- BufferedImage var2 = ImageIO.read(Minecraft.class.getResource("/gui/items.png"));
|
|
||||||
- int var3 = this.field_1126_b % 16 * 16;
|
|
||||||
- int var4 = this.field_1126_b / 16 * 16;
|
|
||||||
- var2.getRGB(var3, var4, 16, 16, this.field_4230_h, 0, 16);
|
|
||||||
+ BufferedImage var2 = ImageIO.read(field_4231_g.field_6298_C.field_6534_a.func_6481_a("/gui/items.png"));
|
|
||||||
+ int var3 = this.field_1126_b % 16 * tileSizeBase;
|
|
||||||
+ int var4 = this.field_1126_b / 16 * tileSizeBase;
|
|
||||||
+ var2.getRGB(var3, var4, tileSizeBase, tileSizeBase, this.field_4230_h, 0, tileSizeBase);
|
|
||||||
}
|
|
||||||
catch (IOException var5)
|
|
||||||
{
|
|
||||||
@@ -33,7 +42,7 @@
|
|
||||||
|
|
||||||
public void func_783_a()
|
|
||||||
{
|
|
||||||
- for (int var1 = 0; var1 < 256; ++var1)
|
|
||||||
+ for (int var1 = 0; var1 < tileSizeSquare; ++var1)
|
|
||||||
{
|
|
||||||
int var2 = this.field_4230_h[var1] >> 24 & 255;
|
|
||||||
int var3 = this.field_4230_h[var1] >> 16 & 255;
|
|
||||||
@@ -110,11 +119,11 @@
|
|
||||||
int var19;
|
|
||||||
int var18;
|
|
||||||
|
|
||||||
- for (var9 = -4; var9 <= 4; ++var9)
|
|
||||||
+ for (var9 = -(tileSizeBase >> 2); var9 <= (tileSizeBase >> 2); ++var9)
|
|
||||||
{
|
|
||||||
- var10 = (int)(8.5D + var26 * (double)var9 * 0.3D);
|
|
||||||
- var11 = (int)(7.5D - var24 * (double)var9 * 0.3D * 0.5D);
|
|
||||||
- var12 = var11 * 16 + var10;
|
|
||||||
+ var10 = (int)((tileSizeBase >> 1) + 0.5D + var26 * (double)var9 * 0.3D);
|
|
||||||
+ var11 = (int)((tileSizeBase >> 1) - 0.5D - var24 * (double)var9 * 0.3D * 0.5D);
|
|
||||||
+ var12 = var11 * tileSizeBase + var10;
|
|
||||||
var13 = 100;
|
|
||||||
var14 = 100;
|
|
||||||
var15 = 100;
|
|
||||||
@@ -136,11 +145,11 @@
|
|
||||||
this.field_1127_a[var12 * 4 + 3] = (byte)var16;
|
|
||||||
}
|
|
||||||
|
|
||||||
- for (var9 = -8; var9 <= 16; ++var9)
|
|
||||||
+ for (var9 = -(tileSizeBase>>2); var9 <= tileSizeBase; ++var9)
|
|
||||||
{
|
|
||||||
- var10 = (int)(8.5D + var24 * (double)var9 * 0.3D);
|
|
||||||
- var11 = (int)(7.5D + var26 * (double)var9 * 0.3D * 0.5D);
|
|
||||||
- var12 = var11 * 16 + var10;
|
|
||||||
+ var10 = (int)((tileSizeBase >> 1) + 0.5D + var24 * (double)var9 * 0.3D);
|
|
||||||
+ var11 = (int)((tileSizeBase >> 1) - 0.5D + var26 * (double)var9 * 0.3D * 0.5D);
|
|
||||||
+ var12 = var11 * tileSizeBase + var10;
|
|
||||||
var13 = var9 >= 0 ? 255 : 100;
|
|
||||||
var14 = var9 >= 0 ? 20 : 100;
|
|
||||||
var15 = var9 >= 0 ? 20 : 100;
|
|
|
@ -1,87 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TextureFlamesFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TextureFlamesFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,13 +1,28 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
-public class TextureFlamesFX extends TextureFX
|
|
||||||
+import cpw.mods.fml.client.FMLTextureFX;
|
|
||||||
+
|
|
||||||
+public class TextureFlamesFX extends FMLTextureFX
|
|
||||||
{
|
|
||||||
protected float[] field_1133_g = new float[320];
|
|
||||||
protected float[] field_1132_h = new float[320];
|
|
||||||
+ private int fireTileSize = 20;
|
|
||||||
+ private int fireGridSize = 320;
|
|
||||||
|
|
||||||
public TextureFlamesFX(int p_i474_1_)
|
|
||||||
{
|
|
||||||
super(Block.field_402_as.field_378_bb + p_i474_1_ * 16);
|
|
||||||
+ setup();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void setup()
|
|
||||||
+ {
|
|
||||||
+ super.setup();
|
|
||||||
+ fireTileSize = tileSizeBase + (tileSizeBase >> 2);
|
|
||||||
+ fireGridSize = fireTileSize * tileSizeBase;
|
|
||||||
+ field_1133_g = new float[fireGridSize];
|
|
||||||
+ field_1132_h = new float[fireGridSize];
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_783_a()
|
|
||||||
@@ -16,31 +31,36 @@
|
|
||||||
float var4;
|
|
||||||
int var6;
|
|
||||||
|
|
||||||
- for (int var1 = 0; var1 < 16; ++var1)
|
|
||||||
+ float fireFactor1 = 3.0F + (float)(tileSizeBase >> 4);
|
|
||||||
+
|
|
||||||
+ float fireFactor2 = 1.01F + (0.8F / tileSizeBase);
|
|
||||||
+
|
|
||||||
+ 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_1133_g[var1 + (var2 + 1) % 20 * 16] * (float)var3;
|
|
||||||
+ var3 = fireTileSize - (tileSizeBase >> 3);
|
|
||||||
+
|
|
||||||
+ var4 = this.field_1133_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_1133_g[var5 + var6 * 16];
|
|
||||||
+ var4 += this.field_1133_g[var5 + var6 * tileSizeBase];
|
|
||||||
}
|
|
||||||
|
|
||||||
++var3;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- this.field_1132_h[var1 + var2 * 16] = var4 / ((float)var3 * 1.0600001F);
|
|
||||||
+ this.field_1132_h[var1 + var2 * tileSizeBase] = var4 / ((float)var3 * fireFactor2);
|
|
||||||
|
|
||||||
- if (var2 >= 19)
|
|
||||||
+ if (var2 >= fireTileSize - (tileSizeBase >> 4))
|
|
||||||
{
|
|
||||||
- this.field_1132_h[var1 + var2 * 16] = (float)(Math.random() * Math.random() * Math.random() * 4.0D + Math.random() * 0.10000000149011612D + 0.20000000298023224D);
|
|
||||||
+ this.field_1132_h[var1 + var2 * tileSizeBase] = (float)(Math.random() * Math.random() * Math.random() * fireFactor1 + Math.random() * 0.1F + 0.2F);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -49,7 +69,7 @@
|
|
||||||
this.field_1132_h = this.field_1133_g;
|
|
||||||
this.field_1133_g = var13;
|
|
||||||
|
|
||||||
- for (var3 = 0; var3 < 256; ++var3)
|
|
||||||
+ for (var3 = 0; var3 < tileSizeSquare; ++var3)
|
|
||||||
{
|
|
||||||
var4 = this.field_1133_g[var3] * 1.8F;
|
|
||||||
|
|
|
@ -1,92 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TextureLavaFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TextureLavaFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,15 +1,28 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
-public class TextureLavaFX extends TextureFX
|
|
||||||
+import cpw.mods.fml.client.FMLTextureFX;
|
|
||||||
+
|
|
||||||
+public class TextureLavaFX extends FMLTextureFX
|
|
||||||
{
|
|
||||||
- protected float[] field_1147_g = new float[256];
|
|
||||||
- protected float[] field_1146_h = new float[256];
|
|
||||||
- protected float[] field_1145_i = new float[256];
|
|
||||||
- protected float[] field_1144_j = new float[256];
|
|
||||||
+ protected float[] field_1147_g;
|
|
||||||
+ protected float[] field_1146_h;
|
|
||||||
+ protected float[] field_1145_i;
|
|
||||||
+ protected float[] field_1144_j;
|
|
||||||
|
|
||||||
public TextureLavaFX()
|
|
||||||
{
|
|
||||||
super(Block.field_397_D.field_378_bb);
|
|
||||||
+ setup();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void setup()
|
|
||||||
+ {
|
|
||||||
+ super.setup();
|
|
||||||
+ field_1147_g = new float[tileSizeSquare];
|
|
||||||
+ field_1146_h = new float[tileSizeSquare];
|
|
||||||
+ field_1145_i = new float[tileSizeSquare];
|
|
||||||
+ field_1144_j = new float[tileSizeSquare];
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_783_a()
|
|
||||||
@@ -22,9 +35,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_1106_a((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F);
|
|
||||||
@@ -34,25 +47,25 @@
|
|
||||||
{
|
|
||||||
for (var7 = var2 - 1; var7 <= var2 + 1; ++var7)
|
|
||||||
{
|
|
||||||
- var8 = var6 + var4 & 15;
|
|
||||||
- var9 = var7 + var5 & 15;
|
|
||||||
- var3 += this.field_1147_g[var8 + var9 * 16];
|
|
||||||
+ var8 = var6 + var4 & tileSizeMask;
|
|
||||||
+ var9 = var7 + var5 & tileSizeMask;
|
|
||||||
+ var3 += this.field_1147_g[var8 + var9 * tileSizeBase];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- this.field_1146_h[var1 + var2 * 16] = var3 / 10.0F + (this.field_1145_i[(var1 + 0 & 15) + (var2 + 0 & 15) * 16] + this.field_1145_i[(var1 + 1 & 15) + (var2 + 0 & 15) * 16] + this.field_1145_i[(var1 + 1 & 15) + (var2 + 1 & 15) * 16] + this.field_1145_i[(var1 + 0 & 15) + (var2 + 1 & 15) * 16]) / 4.0F * 0.8F;
|
|
||||||
- this.field_1145_i[var1 + var2 * 16] += this.field_1144_j[var1 + var2 * 16] * 0.01F;
|
|
||||||
+ this.field_1146_h[var1 + var2 * tileSizeBase] = var3 / 10.0F + (this.field_1145_i[(var1 + 0 & 15) + (var2 + 0 & 15) * tileSizeBase] + this.field_1145_i[(var1 + 1 & 15) + (var2 + 0 & 15) * tileSizeBase] + this.field_1145_i[(var1 + 1 & 15) + (var2 + 1 & 15) * tileSizeBase] + this.field_1145_i[(var1 + 0 & 15) + (var2 + 1 & 15) * tileSizeBase]) / 4.0F * 0.8F;
|
|
||||||
+ this.field_1145_i[var1 + var2 * tileSizeBase] += this.field_1144_j[var1 + var2 * tileSizeBase] * 0.01F;
|
|
||||||
|
|
||||||
- if (this.field_1145_i[var1 + var2 * 16] < 0.0F)
|
|
||||||
+ if (this.field_1145_i[var1 + var2 * tileSizeBase] < 0.0F)
|
|
||||||
{
|
|
||||||
- this.field_1145_i[var1 + var2 * 16] = 0.0F;
|
|
||||||
+ this.field_1145_i[var1 + var2 * tileSizeBase] = 0.0F;
|
|
||||||
}
|
|
||||||
|
|
||||||
- this.field_1144_j[var1 + var2 * 16] -= 0.06F;
|
|
||||||
+ this.field_1144_j[var1 + var2 * tileSizeBase] -= 0.06F;
|
|
||||||
|
|
||||||
if (Math.random() < 0.005D)
|
|
||||||
{
|
|
||||||
- this.field_1144_j[var1 + var2 * 16] = 1.5F;
|
|
||||||
+ this.field_1144_j[var1 + var2 * tileSizeBase] = 1.5F;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -61,7 +74,7 @@
|
|
||||||
this.field_1146_h = this.field_1147_g;
|
|
||||||
this.field_1147_g = var11;
|
|
||||||
|
|
||||||
- for (var2 = 0; var2 < 256; ++var2)
|
|
||||||
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
|
|
||||||
{
|
|
||||||
var3 = this.field_1147_g[var2] * 2.0F;
|
|
||||||
|
|
|
@ -1,90 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TextureLavaFlowFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TextureLavaFlowFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,6 +1,8 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
-public class TextureLavaFlowFX extends TextureFX
|
|
||||||
+import cpw.mods.fml.client.FMLTextureFX;
|
|
||||||
+
|
|
||||||
+public class TextureLavaFlowFX extends FMLTextureFX
|
|
||||||
{
|
|
||||||
protected float[] field_1143_g = new float[256];
|
|
||||||
protected float[] field_1142_h = new float[256];
|
|
||||||
@@ -12,6 +14,18 @@
|
|
||||||
{
|
|
||||||
super(Block.field_397_D.field_378_bb + 1);
|
|
||||||
this.field_1129_e = 2;
|
|
||||||
+ setup();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void setup()
|
|
||||||
+ {
|
|
||||||
+ super.setup();
|
|
||||||
+ field_1143_g = new float[tileSizeSquare];
|
|
||||||
+ field_1142_h = new float[tileSizeSquare];
|
|
||||||
+ field_1141_i = new float[tileSizeSquare];
|
|
||||||
+ field_1140_j = new float[tileSizeSquare];
|
|
||||||
+ field_1139_k = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_783_a()
|
|
||||||
@@ -25,9 +39,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_1106_a((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F);
|
|
||||||
@@ -37,25 +51,25 @@
|
|
||||||
{
|
|
||||||
for (var7 = var2 - 1; var7 <= var2 + 1; ++var7)
|
|
||||||
{
|
|
||||||
- var8 = var6 + var4 & 15;
|
|
||||||
- var9 = var7 + var5 & 15;
|
|
||||||
- var3 += this.field_1143_g[var8 + var9 * 16];
|
|
||||||
+ var8 = var6 + var4 & tileSizeMask;
|
|
||||||
+ var9 = var7 + var5 & tileSizeMask;
|
|
||||||
+ var3 += this.field_1143_g[var8 + var9 * tileSizeBase];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- this.field_1142_h[var1 + var2 * 16] = var3 / 10.0F + (this.field_1141_i[(var1 + 0 & 15) + (var2 + 0 & 15) * 16] + this.field_1141_i[(var1 + 1 & 15) + (var2 + 0 & 15) * 16] + this.field_1141_i[(var1 + 1 & 15) + (var2 + 1 & 15) * 16] + this.field_1141_i[(var1 + 0 & 15) + (var2 + 1 & 15) * 16]) / 4.0F * 0.8F;
|
|
||||||
- this.field_1141_i[var1 + var2 * 16] += this.field_1140_j[var1 + var2 * 16] * 0.01F;
|
|
||||||
+ this.field_1142_h[var1 + var2 * tileSizeBase] = var3 / 10.0F + (this.field_1141_i[(var1 + 0 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_1141_i[(var1 + 1 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_1141_i[(var1 + 1 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase] + this.field_1141_i[(var1 + 0 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase]) / 4.0F * 0.8F;
|
|
||||||
+ this.field_1141_i[var1 + var2 * tileSizeBase] += this.field_1140_j[var1 + var2 * tileSizeBase] * 0.01F;
|
|
||||||
|
|
||||||
- if (this.field_1141_i[var1 + var2 * 16] < 0.0F)
|
|
||||||
+ if (this.field_1141_i[var1 + var2 * tileSizeBase] < 0.0F)
|
|
||||||
{
|
|
||||||
- this.field_1141_i[var1 + var2 * 16] = 0.0F;
|
|
||||||
+ this.field_1141_i[var1 + var2 * tileSizeBase] = 0.0F;
|
|
||||||
}
|
|
||||||
|
|
||||||
- this.field_1140_j[var1 + var2 * 16] -= 0.06F;
|
|
||||||
+ this.field_1140_j[var1 + var2 * tileSizeBase] -= 0.06F;
|
|
||||||
|
|
||||||
if (Math.random() < 0.005D)
|
|
||||||
{
|
|
||||||
- this.field_1140_j[var1 + var2 * 16] = 1.5F;
|
|
||||||
+ this.field_1140_j[var1 + var2 * tileSizeBase] = 1.5F;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -64,9 +78,9 @@
|
|
||||||
this.field_1142_h = this.field_1143_g;
|
|
||||||
this.field_1143_g = var11;
|
|
||||||
|
|
||||||
- for (var2 = 0; var2 < 256; ++var2)
|
|
||||||
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
|
|
||||||
{
|
|
||||||
- var3 = this.field_1143_g[var2 - this.field_1139_k / 3 * 16 & 255] * 2.0F;
|
|
||||||
+ var3 = this.field_1143_g[(var2 - this.field_1139_k / 3 * tileSizeBase) & tileSizeSquareMask] * 2.0F;
|
|
||||||
|
|
||||||
if (var3 > 1.0F)
|
|
||||||
{
|
|
|
@ -1,28 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TexturePackList.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TexturePackList.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -8,6 +8,8 @@
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
+
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
|
|
||||||
public class TexturePackList
|
|
||||||
@@ -18,7 +20,7 @@
|
|
||||||
private final File field_57507_d;
|
|
||||||
private List field_6533_b = new ArrayList();
|
|
||||||
private Map field_55280_f = new HashMap();
|
|
||||||
- private TexturePackBase field_6534_a;
|
|
||||||
+ public TexturePackBase field_6534_a;
|
|
||||||
private boolean field_57509_h;
|
|
||||||
|
|
||||||
public TexturePackList(File p_i1506_1_, Minecraft p_i1506_2_)
|
|
||||||
@@ -131,6 +133,7 @@
|
|
||||||
var1.add(var5);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ FMLClientHandler.instance().onEarlyTexturePackLoad(this.field_6534_a);
|
|
||||||
|
|
||||||
this.field_6533_b.removeAll(var1);
|
|
||||||
var2 = this.field_6533_b.iterator();
|
|
|
@ -1,78 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TexturePortalFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TexturePortalFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -2,31 +2,41 @@
|
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
-public class TexturePortalFX extends TextureFX
|
|
||||||
+import cpw.mods.fml.client.FMLTextureFX;
|
|
||||||
+
|
|
||||||
+public class TexturePortalFX extends FMLTextureFX
|
|
||||||
{
|
|
||||||
private int field_4227_g = 0;
|
|
||||||
- private byte[][] field_4226_h = new byte[32][1024];
|
|
||||||
+ private byte[][] field_4226_h;
|
|
||||||
|
|
||||||
public TexturePortalFX()
|
|
||||||
{
|
|
||||||
super(Block.field_4047_bf.field_378_bb);
|
|
||||||
+ setup();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void setup()
|
|
||||||
+ {
|
|
||||||
+ super.setup();
|
|
||||||
+ field_4226_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)
|
|
||||||
{
|
|
||||||
@@ -60,7 +70,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_4226_h[var2][var16 * 4 + 0] = (byte)var13;
|
|
||||||
this.field_4226_h[var2][var16 * 4 + 1] = (byte)var14;
|
|
||||||
this.field_4226_h[var2][var16 * 4 + 2] = (byte)var6;
|
|
||||||
@@ -68,6 +78,7 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ field_4227_g = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_783_a()
|
|
||||||
@@ -75,7 +86,7 @@
|
|
||||||
++this.field_4227_g;
|
|
||||||
byte[] var1 = this.field_4226_h[this.field_4227_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,94 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TextureWatchFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TextureWatchFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,11 +1,18 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+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 cpw.mods.fml.client.FMLTextureFX;
|
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
|
|
||||||
-public class TextureWatchFX extends TextureFX
|
|
||||||
+public class TextureWatchFX extends FMLTextureFX
|
|
||||||
{
|
|
||||||
private Minecraft field_4225_g;
|
|
||||||
private int[] field_4224_h = new int[256];
|
|
||||||
@@ -18,19 +25,36 @@
|
|
||||||
super(Item.field_4023_aQ.func_27009_a(0));
|
|
||||||
this.field_4225_g = p_i364_1_;
|
|
||||||
this.field_1128_f = 1;
|
|
||||||
+ setup();
|
|
||||||
+ }
|
|
||||||
|
|
||||||
+ @Override
|
|
||||||
+ public void setup()
|
|
||||||
+ {
|
|
||||||
+ super.setup();
|
|
||||||
+ field_4224_h = new int[tileSizeSquare];
|
|
||||||
+ field_4223_i = new int[tileSizeSquare];
|
|
||||||
try
|
|
||||||
{
|
|
||||||
- BufferedImage var2 = ImageIO.read(Minecraft.class.getResource("/gui/items.png"));
|
|
||||||
- int var3 = this.field_1126_b % 16 * 16;
|
|
||||||
- int var4 = this.field_1126_b / 16 * 16;
|
|
||||||
- var2.getRGB(var3, var4, 16, 16, this.field_4224_h, 0, 16);
|
|
||||||
- var2 = ImageIO.read(Minecraft.class.getResource("/misc/dial.png"));
|
|
||||||
- var2.getRGB(0, 0, 16, 16, this.field_4223_i, 0, 16);
|
|
||||||
+ BufferedImage var2 = ImageIO.read(field_4225_g.field_6298_C.field_6534_a.func_6481_a("/gui/items.png"));
|
|
||||||
+ int var3 = this.field_1126_b % 16 * tileSizeBase;
|
|
||||||
+ int var4 = this.field_1126_b / 16 * tileSizeBase;
|
|
||||||
+ var2.getRGB(var3, var4, tileSizeBase, tileSizeBase, this.field_4224_h, 0, tileSizeBase);
|
|
||||||
+ var2 = ImageIO.read(field_4225_g.field_6298_C.field_6534_a.func_6481_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_4223_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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -77,7 +101,7 @@
|
|
||||||
double var5 = Math.sin(this.field_4222_j);
|
|
||||||
double var7 = Math.cos(this.field_4222_j);
|
|
||||||
|
|
||||||
- for (int var9 = 0; var9 < 256; ++var9)
|
|
||||||
+ for (int var9 = 0; var9 < tileSizeSquare; ++var9)
|
|
||||||
{
|
|
||||||
int var10 = this.field_4224_h[var9] >> 24 & 255;
|
|
||||||
int var11 = this.field_4224_h[var9] >> 16 & 255;
|
|
||||||
@@ -86,12 +110,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_4223_i[var21] >> 24 & 255;
|
|
||||||
var11 = (this.field_4223_i[var21] >> 16 & 255) * var11 / 255;
|
|
||||||
var12 = (this.field_4223_i[var21] >> 8 & 255) * var18 / 255;
|
|
|
@ -1,95 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TextureWaterFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TextureWaterFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,6 +1,8 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
-public class TextureWaterFX extends TextureFX
|
|
||||||
+import cpw.mods.fml.client.FMLTextureFX;
|
|
||||||
+
|
|
||||||
+public class TextureWaterFX extends FMLTextureFX
|
|
||||||
{
|
|
||||||
protected float[] field_1158_g = new float[256];
|
|
||||||
protected float[] field_1157_h = new float[256];
|
|
||||||
@@ -11,8 +13,20 @@
|
|
||||||
public TextureWaterFX()
|
|
||||||
{
|
|
||||||
super(Block.field_401_B.field_378_bb);
|
|
||||||
+ setup();
|
|
||||||
}
|
|
||||||
|
|
||||||
+ @Override
|
|
||||||
+ public void setup()
|
|
||||||
+ {
|
|
||||||
+ super.setup();
|
|
||||||
+ field_1158_g = new float[tileSizeSquare];
|
|
||||||
+ field_1157_h = new float[tileSizeSquare];
|
|
||||||
+ field_1156_i = new float[tileSizeSquare];
|
|
||||||
+ field_1155_j = new float[tileSizeSquare];
|
|
||||||
+ field_1154_k = 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public void func_783_a()
|
|
||||||
{
|
|
||||||
++this.field_1154_k;
|
|
||||||
@@ -22,39 +36,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_1158_g[var5 + var6 * 16];
|
|
||||||
+ var5 = var4 & tileSizeMask;
|
|
||||||
+ var6 = var2 & tileSizeMask;
|
|
||||||
+ var3 += this.field_1158_g[var5 + var6 * tileSizeBase];
|
|
||||||
}
|
|
||||||
|
|
||||||
- this.field_1157_h[var1 + var2 * 16] = var3 / 3.3F + this.field_1156_i[var1 + var2 * 16] * 0.8F;
|
|
||||||
+ this.field_1157_h[var1 + var2 * tileSizeBase] = var3 / 3.3F + this.field_1156_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_1156_i[var1 + var2 * 16] += this.field_1155_j[var1 + var2 * 16] * 0.05F;
|
|
||||||
+ this.field_1156_i[var1 + var2 * tileSizeBase] += this.field_1155_j[var1 + var2 * tileSizeBase] * 0.05F;
|
|
||||||
|
|
||||||
- if (this.field_1156_i[var1 + var2 * 16] < 0.0F)
|
|
||||||
+ if (this.field_1156_i[var1 + var2 * tileSizeBase] < 0.0F)
|
|
||||||
{
|
|
||||||
- this.field_1156_i[var1 + var2 * 16] = 0.0F;
|
|
||||||
+ this.field_1156_i[var1 + var2 * tileSizeBase] = 0.0F;
|
|
||||||
}
|
|
||||||
|
|
||||||
- this.field_1155_j[var1 + var2 * 16] -= 0.1F;
|
|
||||||
+ this.field_1155_j[var1 + var2 * tileSizeBase] -= 0.1F;
|
|
||||||
|
|
||||||
if (Math.random() < 0.05D)
|
|
||||||
{
|
|
||||||
- this.field_1155_j[var1 + var2 * 16] = 0.5F;
|
|
||||||
+ this.field_1155_j[var1 + var2 * tileSizeBase] = 0.5F;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -63,7 +77,7 @@
|
|
||||||
this.field_1157_h = this.field_1158_g;
|
|
||||||
this.field_1158_g = var12;
|
|
||||||
|
|
||||||
- for (var2 = 0; var2 < 256; ++var2)
|
|
||||||
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
|
|
||||||
{
|
|
||||||
var3 = this.field_1158_g[var2];
|
|
||||||
|
|
|
@ -1,98 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TextureWaterFlowFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TextureWaterFlowFX.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,6 +1,8 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
-public class TextureWaterFlowFX extends TextureFX
|
|
||||||
+import cpw.mods.fml.client.FMLTextureFX;
|
|
||||||
+
|
|
||||||
+public class TextureWaterFlowFX extends FMLTextureFX
|
|
||||||
{
|
|
||||||
protected float[] field_1138_g = new float[256];
|
|
||||||
protected float[] field_1137_h = new float[256];
|
|
||||||
@@ -12,6 +14,18 @@
|
|
||||||
{
|
|
||||||
super(Block.field_401_B.field_378_bb + 1);
|
|
||||||
this.field_1129_e = 2;
|
|
||||||
+ setup();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void setup()
|
|
||||||
+ {
|
|
||||||
+ super.setup();
|
|
||||||
+ field_1138_g = new float[tileSizeSquare];
|
|
||||||
+ field_1137_h = new float[tileSizeSquare];
|
|
||||||
+ field_1136_i = new float[tileSizeSquare];
|
|
||||||
+ field_1135_j = new float[tileSizeSquare];
|
|
||||||
+ field_1134_k = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_783_a()
|
|
||||||
@@ -22,40 +36,40 @@
|
|
||||||
float var3;
|
|
||||||
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_1138_g[var5 + var6 * 16];
|
|
||||||
+ var5 = var1 & tileSizeMask;
|
|
||||||
+ var6 = var4 & tileSizeMask;
|
|
||||||
+ var3 += this.field_1138_g[var5 + var6 * tileSizeBase];
|
|
||||||
}
|
|
||||||
|
|
||||||
- this.field_1137_h[var1 + var2 * 16] = var3 / 3.2F + this.field_1136_i[var1 + var2 * 16] * 0.8F;
|
|
||||||
+ this.field_1137_h[var1 + var2 * tileSizeBase] = var3 / 3.2F + this.field_1136_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_1136_i[var1 + var2 * 16] += this.field_1135_j[var1 + var2 * 16] * 0.05F;
|
|
||||||
+ this.field_1136_i[var1 + var2 * tileSizeBase] += this.field_1135_j[var1 + var2 * tileSizeBase] * 0.05F;
|
|
||||||
|
|
||||||
- if (this.field_1136_i[var1 + var2 * 16] < 0.0F)
|
|
||||||
+ if (this.field_1136_i[var1 + var2 * tileSizeBase] < 0.0F)
|
|
||||||
{
|
|
||||||
- this.field_1136_i[var1 + var2 * 16] = 0.0F;
|
|
||||||
+ this.field_1136_i[var1 + var2 * tileSizeBase] = 0.0F;
|
|
||||||
}
|
|
||||||
|
|
||||||
- this.field_1135_j[var1 + var2 * 16] -= 0.3F;
|
|
||||||
+ this.field_1135_j[var1 + var2 * tileSizeBase] -= 0.3F;
|
|
||||||
|
|
||||||
if (Math.random() < 0.2D)
|
|
||||||
{
|
|
||||||
- this.field_1135_j[var1 + var2 * 16] = 0.5F;
|
|
||||||
+ this.field_1135_j[var1 + var2 * tileSizeBase] = 0.5F;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -64,9 +78,9 @@
|
|
||||||
this.field_1137_h = this.field_1138_g;
|
|
||||||
this.field_1138_g = var12;
|
|
||||||
|
|
||||||
- for (var2 = 0; var2 < 256; ++var2)
|
|
||||||
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
|
|
||||||
{
|
|
||||||
- var3 = this.field_1138_g[var2 - this.field_1134_k * 16 & 255];
|
|
||||||
+ var3 = this.field_1138_g[var2 - this.field_1134_k * tileSizeBase & tileSizeSquareMask];
|
|
||||||
|
|
||||||
if (var3 > 1.0F)
|
|
||||||
{
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TileEntity.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TileEntity.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -179,4 +179,8 @@
|
|
||||||
func_476_a(TileEntityEnchantmentTable.class, "EnchantTable");
|
|
||||||
func_476_a(TileEntityEndPortal.class, "Airportal");
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static void addNewTileEntityMapping(Class<? extends TileEntity> tileEntityClass, String id) {
|
|
||||||
+ func_476_a(tileEntityClass, id);
|
|
||||||
+ }
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,5 +1,8 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.client.FMLClientHandler;
|
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
+
|
|
||||||
public class TileEntityFurnace extends TileEntity implements IInventory
|
|
||||||
{
|
|
||||||
private ItemStack[] field_833_a = new ItemStack[3];
|
|
||||||
@@ -268,8 +271,15 @@
|
|
||||||
return 300;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- return var2 instanceof ItemTool && ((ItemTool)var2).func_56820_c().equals("WOOD") ? 200 : (var2 instanceof ItemSword && ((ItemSword)var2).func_56828_d().equals("WOOD") ? 200 : (var2 instanceof ItemHoe && ((ItemHoe)var2).func_56829_d().equals("WOOD") ? 200 : (var1 == Item.field_266_B.field_291_aS ? 100 : (var1 == Item.field_225_k.field_291_aS ? 1600 : (var1 == Item.field_258_aw.field_291_aS ? 20000 : (var1 == Block.field_333_z.field_376_bc ? 100 : (var1 == Item.field_40417_bo.field_291_aS ? 2400 : 0)))))));
|
|
||||||
+ if (var2 instanceof ItemTool && ((ItemTool) var2).func_56820_c().equals("WOOD")) return 200;
|
|
||||||
+ if (var2 instanceof ItemSword && ((ItemSword) var2).func_56828_d().equals("WOOD")) return 200;
|
|
||||||
+ if (var2 instanceof ItemHoe && ((ItemHoe) var2).func_56829_d().equals("WOOD")) return 200;
|
|
||||||
+ if (var1 == Item.field_266_B.field_291_aS) return 100;
|
|
||||||
+ if (var1 == Item.field_225_k.field_291_aS) return 1600;
|
|
||||||
+ if (var1 == Item.field_258_aw.field_291_aS) return 20000;
|
|
||||||
+ if (var1 == Block.field_333_z.field_376_bc) return 100;
|
|
||||||
+ if (var1 == Item.field_40417_bo.field_291_aS) return 2400;
|
|
||||||
+ return FMLCommonHandler.instance().fuelLookup(var1, p_488_0_.func_21179_h());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/TileEntityRenderer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/TileEntityRenderer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -123,4 +123,9 @@
|
|
||||||
{
|
|
||||||
return this.field_1541_n;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static void setTileEntityRenderer(Class<? extends TileEntity> tileEntityClass, TileEntitySpecialRenderer renderer) {
|
|
||||||
+ field_1554_a.field_6517_m.put(tileEntityClass,renderer);
|
|
||||||
+ renderer.func_928_a(field_1554_a);
|
|
||||||
+ }
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/World.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/World.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -3322,7 +3322,7 @@
|
|
||||||
|
|
||||||
public double func_46068_G()
|
|
||||||
{
|
|
||||||
- return this.field_22145_q.func_46133_t() == WorldType.field_48636_c ? 0.0D : 63.0D;
|
|
||||||
+ return this.field_22145_q.func_46133_t().getHorizon(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public CrashReport func_55266_a(CrashReport p_55266_1_)
|
|
|
@ -1,45 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -32,19 +32,12 @@
|
|
||||||
|
|
||||||
protected void func_4098_a()
|
|
||||||
{
|
|
||||||
- if (this.field_4216_a.func_22144_v().func_46133_t() == WorldType.field_48636_c)
|
|
||||||
- {
|
|
||||||
- this.field_4215_b = new WorldChunkManagerHell(BiomeGenBase.field_35485_c, 0.5F, 0.5F);
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- {
|
|
||||||
- this.field_4215_b = new WorldChunkManager(this.field_4216_a);
|
|
||||||
- }
|
|
||||||
+ this.field_4215_b=this.field_46067_b.getChunkManager(field_4216_a);
|
|
||||||
}
|
|
||||||
|
|
||||||
public IChunkProvider func_4094_c()
|
|
||||||
{
|
|
||||||
- return (IChunkProvider)(this.field_46067_b == WorldType.field_48636_c ? new ChunkProviderFlat(this.field_4216_a, this.field_4216_a.func_22138_q(), this.field_4216_a.func_22144_v().func_35917_r()) : new ChunkProviderGenerate(this.field_4216_a, this.field_4216_a.func_22138_q(), this.field_4216_a.func_22144_v().func_35917_r()));
|
|
||||||
+ return this.field_46067_b.getChunkGenerator(field_4216_a);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean func_4102_a(int p_4102_1_, int p_4102_2_)
|
|
||||||
@@ -157,17 +150,17 @@
|
|
||||||
|
|
||||||
public int func_46066_g()
|
|
||||||
{
|
|
||||||
- return this.field_46067_b == WorldType.field_48636_c ? 4 : 64;
|
|
||||||
+ return this.field_46067_b.getMinimumSpawnHeight(field_4216_a);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean func_46064_i()
|
|
||||||
{
|
|
||||||
- return this.field_46067_b != WorldType.field_48636_c && !this.field_6478_e;
|
|
||||||
+ return this.field_46067_b.hasVoidParticles(this.field_6478_e);
|
|
||||||
}
|
|
||||||
|
|
||||||
public double func_46065_j()
|
|
||||||
{
|
|
||||||
- return this.field_46067_b == WorldType.field_48636_c ? 1.0D : 0.03125D;
|
|
||||||
+ return this.field_46067_b.voidFadeMagnitude();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean func_48218_b(int p_48218_1_, int p_48218_2_)
|
|
|
@ -1,111 +0,0 @@
|
||||||
--- ../src-base/minecraft/net/minecraft/src/WorldType.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft/net/minecraft/src/WorldType.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,5 +1,9 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import java.util.ArrayList;
|
|
||||||
+import java.util.Arrays;
|
|
||||||
+import java.util.List;
|
|
||||||
+
|
|
||||||
public class WorldType
|
|
||||||
{
|
|
||||||
public static final WorldType[] field_48637_a = new WorldType[16];
|
|
||||||
@@ -12,17 +16,26 @@
|
|
||||||
private boolean field_48633_g;
|
|
||||||
private boolean field_48638_h;
|
|
||||||
|
|
||||||
- private WorldType(int p_i1080_1_, String p_i1080_2_)
|
|
||||||
+ protected BiomeGenBase[] biomesForWorldType;
|
|
||||||
+
|
|
||||||
+ protected WorldType(int p_i1080_1_, String p_i1080_2_)
|
|
||||||
{
|
|
||||||
this(p_i1080_1_, p_i1080_2_, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
- private WorldType(int p_i1081_1_, String p_i1081_2_, int p_i1081_3_)
|
|
||||||
+ protected WorldType(int p_i1081_1_, String p_i1081_2_, int p_i1081_3_)
|
|
||||||
{
|
|
||||||
this.field_46139_c = p_i1081_2_;
|
|
||||||
this.field_48632_f = p_i1081_3_;
|
|
||||||
this.field_48633_g = true;
|
|
||||||
field_48637_a[p_i1081_1_] = this;
|
|
||||||
+ switch (p_i1081_1_) {
|
|
||||||
+ case 8:
|
|
||||||
+ biomesForWorldType = new BiomeGenBase[] {BiomeGenBase.field_4249_h, BiomeGenBase.field_4253_d, BiomeGenBase.field_35483_e, BiomeGenBase.field_4255_b, BiomeGenBase.field_35485_c, BiomeGenBase.field_4250_g};
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ biomesForWorldType = new BiomeGenBase[] {BiomeGenBase.field_4249_h, BiomeGenBase.field_4253_d, BiomeGenBase.field_35483_e, BiomeGenBase.field_4255_b, BiomeGenBase.field_35485_c, BiomeGenBase.field_4250_g, BiomeGenBase.field_48416_w};
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
public String func_48628_a()
|
|
||||||
@@ -84,4 +97,69 @@
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public WorldChunkManager getChunkManager(World var1)
|
|
||||||
+ {
|
|
||||||
+ return this == field_48636_c ? new WorldChunkManagerHell(BiomeGenBase.field_35485_c, 0.5F, 0.5F) : new WorldChunkManager(var1);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public IChunkProvider getChunkGenerator(World var1)
|
|
||||||
+ {
|
|
||||||
+ return this == field_48636_c ? new ChunkProviderFlat(var1, var1.func_22138_q(), var1.func_22144_v().func_35917_r()) : new ChunkProviderGenerate(var1, var1.func_22138_q(), var1.func_22144_v().func_35917_r());
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * @deprecated Use {@link #getMinimumSpawnHeight(World)} instead
|
|
||||||
+ */
|
|
||||||
+ public int getSeaLevel(World var1)
|
|
||||||
+ {
|
|
||||||
+ return getMinimumSpawnHeight(var1);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public int getMinimumSpawnHeight(World world)
|
|
||||||
+ {
|
|
||||||
+ return this == field_48636_c ? 4 : 64;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public double getHorizon(World world)
|
|
||||||
+ {
|
|
||||||
+ return this == field_48636_c ? 0.0D : 63.0D;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public boolean hasVoidParticles(boolean var1)
|
|
||||||
+ {
|
|
||||||
+ return this != field_48636_c && !var1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public double voidFadeMagnitude()
|
|
||||||
+ {
|
|
||||||
+ return this == field_48636_c ? 1.0D : 0.03125D;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public BiomeGenBase[] getBiomesForWorldType() {
|
|
||||||
+ return biomesForWorldType;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void addNewBiome(BiomeGenBase biome) {
|
|
||||||
+ List<BiomeGenBase> newBiomesForWorld = new ArrayList<BiomeGenBase>();
|
|
||||||
+ newBiomesForWorld.addAll(Arrays.asList(biomesForWorldType));
|
|
||||||
+
|
|
||||||
+ if (!newBiomesForWorld.contains(biome))
|
|
||||||
+ newBiomesForWorld.add(biome);
|
|
||||||
+ biomesForWorldType = newBiomesForWorld.toArray(new BiomeGenBase[0]);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void removeBiome(BiomeGenBase biome) {
|
|
||||||
+ List<BiomeGenBase> newBiomesForWorld = new ArrayList<BiomeGenBase>();
|
|
||||||
+ newBiomesForWorld.addAll(Arrays.asList(biomesForWorldType));
|
|
||||||
+
|
|
||||||
+ newBiomesForWorld.remove(biome);
|
|
||||||
+ biomesForWorldType = newBiomesForWorld.toArray(new BiomeGenBase[0]);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Called when 'Create New World' button is pressed before starting game
|
|
||||||
+ */
|
|
||||||
+ public void onGUICreateWorldPress() { }
|
|
||||||
+
|
|
||||||
}
|
|
|
@ -1,51 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/server/MinecraftServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/server/MinecraftServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -11,6 +11,9 @@
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
+
|
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
+import cpw.mods.fml.server.FMLServerHandler;
|
|
||||||
import net.minecraft.src.AnvilSaveConverter;
|
|
||||||
import net.minecraft.src.AxisAlignedBB;
|
|
||||||
import net.minecraft.src.CallableMCS5;
|
|
||||||
@@ -350,6 +353,8 @@
|
|
||||||
{
|
|
||||||
long var1 = System.currentTimeMillis();
|
|
||||||
|
|
||||||
+ FMLCommonHandler.instance().onWorldLoadTick();
|
|
||||||
+
|
|
||||||
for (long var50 = 0L; this.field_6025_n; this.field_56215_O = true)
|
|
||||||
{
|
|
||||||
long var5 = System.currentTimeMillis();
|
|
||||||
@@ -440,9 +445,11 @@
|
|
||||||
|
|
||||||
protected void func_56174_n()
|
|
||||||
{
|
|
||||||
+ FMLCommonHandler.instance().rescheduleTicks();
|
|
||||||
long var1 = System.nanoTime();
|
|
||||||
AxisAlignedBB.func_58089_a().func_58066_a();
|
|
||||||
Vec3.func_58052_a().func_58075_a();
|
|
||||||
+ FMLCommonHandler.instance().onPreServerTick();
|
|
||||||
++this.field_9014_h;
|
|
||||||
this.func_56160_o();
|
|
||||||
|
|
||||||
@@ -472,6 +479,7 @@
|
|
||||||
{
|
|
||||||
this.field_56221_m.func_56622_b();
|
|
||||||
}
|
|
||||||
+ FMLCommonHandler.instance().onPostServerTick();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_56160_o()
|
|
||||||
@@ -489,7 +497,9 @@
|
|
||||||
this.field_6033_f.func_28169_a(new Packet4UpdateTime(var4.func_22080_k()), var4.field_4272_q.field_6165_g);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ FMLCommonHandler.instance().onPreWorldTick(var4);
|
|
||||||
var4.func_22077_g();
|
|
||||||
+ FMLCommonHandler.instance().onPostWorldTick(var4);
|
|
||||||
|
|
||||||
while (true)
|
|
||||||
{
|
|
|
@ -1,24 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/BlockDispenser.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/BlockDispenser.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -2,6 +2,8 @@
|
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.server.FMLServerHandler;
|
|
||||||
+
|
|
||||||
public class BlockDispenser extends BlockContainer
|
|
||||||
{
|
|
||||||
private Random field_28032_a = new Random();
|
|
||||||
@@ -259,7 +261,11 @@
|
|
||||||
float var15 = 1.1F;
|
|
||||||
byte var16 = 6;
|
|
||||||
|
|
||||||
- if (p_56353_2_.field_855_c == Item.field_4148_j.field_234_aS)
|
|
||||||
+ if (FMLServerHandler.instance().tryDispensingEntity(p_56353_1_, p_56353_9_, p_56353_11_, p_56353_13_, p_56353_7_, p_56353_8_, p_56353_2_))
|
|
||||||
+ {
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+ else if (p_56353_2_.field_855_c == Item.field_4148_j.field_234_aS)
|
|
||||||
{
|
|
||||||
EntityArrow var28 = new EntityArrow(p_56353_1_, p_56353_9_, p_56353_11_, p_56353_13_);
|
|
||||||
var28.func_177_a((double)p_56353_7_, 0.10000000149011612D, (double)p_56353_8_, var15, (float)var16);
|
|
|
@ -1,19 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/ChunkProviderServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/ChunkProviderServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -7,6 +7,8 @@
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.server.FMLServerHandler;
|
|
||||||
+
|
|
||||||
public class ChunkProviderServer implements IChunkProvider
|
|
||||||
{
|
|
||||||
private Set field_725_a = new HashSet();
|
|
||||||
@@ -177,6 +179,7 @@
|
|
||||||
if (this.field_730_c != null)
|
|
||||||
{
|
|
||||||
this.field_730_c.func_4055_a(p_4055_1_, p_4055_2_, p_4055_3_);
|
|
||||||
+ FMLServerHandler.instance().onChunkPopulate(p_4055_1_, p_4055_2_, p_4055_3_, this.field_726_g, this.field_730_c);
|
|
||||||
var4.func_336_e();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/DedicatedServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/DedicatedServer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -8,6 +8,8 @@
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Random;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
+
|
|
||||||
+import cpw.mods.fml.server.FMLServerHandler;
|
|
||||||
import net.minecraft.server.MinecraftServer;
|
|
||||||
|
|
||||||
public class DedicatedServer extends MinecraftServer implements IServer
|
|
||||||
@@ -34,6 +36,7 @@
|
|
||||||
var1.start();
|
|
||||||
ConsoleLogManager.func_641_a();
|
|
||||||
field_6038_a.info("Starting minecraft server version 12w26a");
|
|
||||||
+ FMLServerHandler.instance().onPreLoad(this);
|
|
||||||
|
|
||||||
if (Runtime.getRuntime().maxMemory() / 1024L / 1024L < 512L)
|
|
||||||
{
|
|
||||||
@@ -99,6 +102,7 @@
|
|
||||||
field_6038_a.warning("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
|
|
||||||
}
|
|
||||||
|
|
||||||
+ FMLServerHandler.instance().onLoadComplete();
|
|
||||||
this.func_56197_a(new DedicatedPlayerList(this));
|
|
||||||
long var4 = System.nanoTime();
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/Entity.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/Entity.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1539,4 +1539,8 @@
|
|
||||||
{
|
|
||||||
return String.format("%s[\'%s\'/%d, l=\'%s\', x=%.2f, y=%.2f, z=%.2f]", new Object[] {this.getClass().getSimpleName(), this.func_35150_Y(), Integer.valueOf(this.field_331_c), this.field_9093_l == null ? "~NULL~" : this.field_9093_l.func_22081_n().func_55310_h(), Double.valueOf(this.field_322_l), Double.valueOf(this.field_321_m), Double.valueOf(this.field_320_n)});
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static int getNextId() {
|
|
||||||
+ return field_384_a++;
|
|
||||||
+ }
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/EntityItem.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/EntityItem.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -2,6 +2,8 @@
|
|
||||||
|
|
||||||
import java.util.Iterator;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.server.FMLServerHandler;
|
|
||||||
+
|
|
||||||
public class EntityItem extends Entity
|
|
||||||
{
|
|
||||||
public ItemStack field_429_a;
|
|
||||||
@@ -198,6 +200,7 @@
|
|
||||||
|
|
||||||
if (this.field_433_ad == 0 && p_6093_1_.field_416_aj.func_201_a(this.field_429_a))
|
|
||||||
{
|
|
||||||
+ FMLServerHandler.instance().notifyItemPickup(this,p_6093_1_);
|
|
||||||
if (this.field_429_a.field_855_c == Block.field_582_K.field_573_bc)
|
|
||||||
{
|
|
||||||
p_6093_1_.func_27017_a(AchievementList.field_25131_c);
|
|
|
@ -1,20 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/EntityList.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/EntityList.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -168,4 +168,17 @@
|
|
||||||
func_46122_a(EntityVillager.class, "Villager", 120, 5651507, 12422002);
|
|
||||||
func_563_a(EntityEnderCrystal.class, "EnderCrystal", 200);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static void addNewEntityListMapping(Class<? extends Entity> entityClass, String entityName, int id) {
|
|
||||||
+ func_563_a(entityClass,entityName,id);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public static void addNewEntityListMapping(Class<? extends Entity> entityClass, String entityName, int id, int backgroundEggColour, int foregroundEggColour) {
|
|
||||||
+ func_46122_a(entityClass,entityName,id,backgroundEggColour,foregroundEggColour);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @SuppressWarnings("unchecked")
|
|
||||||
+ public static Map<String,Class<? extends Entity>> getEntityToClassMapping() {
|
|
||||||
+ return field_849_a;
|
|
||||||
+ }
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/EntityPlayer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/EntityPlayer.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,8 +1,12 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import java.util.EnumSet;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
+import cpw.mods.fml.common.TickType;
|
|
||||||
+
|
|
||||||
public abstract class EntityPlayer extends EntityLiving implements ICommandSender
|
|
||||||
{
|
|
||||||
public InventoryPlayer field_416_aj = new InventoryPlayer(this);
|
|
||||||
@@ -105,6 +109,7 @@
|
|
||||||
|
|
||||||
public void func_106_b_()
|
|
||||||
{
|
|
||||||
+ FMLCommonHandler.instance().tickStart(EnumSet.of(TickType.PLAYER), this, this.field_9093_l);
|
|
||||||
if (this.field_34908_d != null)
|
|
||||||
{
|
|
||||||
ItemStack var1 = this.field_416_aj.func_213_b();
|
|
||||||
@@ -228,6 +233,7 @@
|
|
||||||
{
|
|
||||||
this.field_35217_m.func_35584_a(this);
|
|
||||||
}
|
|
||||||
+ FMLCommonHandler.instance().tickEnd(EnumSet.of(TickType.PLAYER), this, this.field_9093_l);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void func_35208_b(ItemStack p_35208_1_, int p_35208_2_)
|
|
|
@ -1,17 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/GenLayerBiome.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/GenLayerBiome.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -7,13 +7,8 @@
|
|
||||||
public GenLayerBiome(long p_i1078_1_, GenLayer p_i1078_3_, WorldType p_i1078_4_)
|
|
||||||
{
|
|
||||||
super(p_i1078_1_);
|
|
||||||
- this.field_35029_b = new BiomeGenBase[] {BiomeGenBase.field_4293_h, BiomeGenBase.field_4297_d, BiomeGenBase.field_35518_e, BiomeGenBase.field_4299_b, BiomeGenBase.field_35520_c, BiomeGenBase.field_4294_g, BiomeGenBase.field_48443_w};
|
|
||||||
+ this.field_35029_b = p_i1078_4_.getBiomesForWorldType();
|
|
||||||
this.field_35023_a = p_i1078_3_;
|
|
||||||
-
|
|
||||||
- if (p_i1078_4_ == WorldType.field_48456_d)
|
|
||||||
- {
|
|
||||||
- this.field_35029_b = new BiomeGenBase[] {BiomeGenBase.field_4293_h, BiomeGenBase.field_4297_d, BiomeGenBase.field_35518_e, BiomeGenBase.field_4299_b, BiomeGenBase.field_35520_c, BiomeGenBase.field_4294_g};
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
|
|
||||||
public int[] func_35018_a(int p_35018_1_, int p_35018_2_, int p_35018_3_, int p_35018_4_)
|
|
|
@ -1,35 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/NetServerHandler.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/NetServerHandler.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -7,6 +7,8 @@
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.Random;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
+
|
|
||||||
+import cpw.mods.fml.server.FMLServerHandler;
|
|
||||||
import net.minecraft.server.MinecraftServer;
|
|
||||||
|
|
||||||
public class NetServerHandler extends NetHandler
|
|
||||||
@@ -602,7 +604,10 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (var2.startsWith("/"))
|
|
||||||
+ if (FMLServerHandler.instance().handleChatPacket(p_23_1_,field_16_e)) {
|
|
||||||
+ // We handled it
|
|
||||||
+ }
|
|
||||||
+ else if (var2.startsWith("/"))
|
|
||||||
{
|
|
||||||
this.func_4010_d(var2);
|
|
||||||
}
|
|
||||||
@@ -1014,4 +1019,11 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+//TODO
|
|
||||||
+ /*
|
|
||||||
+ @Override
|
|
||||||
+ public void func_44001_a(Packet250CustomPayload p_44001_1_) {
|
|
||||||
+ FMLServerHandler.instance().handlePacket250(p_44001_1_, field_16_e);
|
|
||||||
+ }
|
|
||||||
+ */
|
|
||||||
}
|
|
|
@ -1,37 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/ServerConfigurationManager.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/ServerConfigurationManager.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -9,6 +9,8 @@
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
+
|
|
||||||
+import cpw.mods.fml.server.FMLServerHandler;
|
|
||||||
import net.minecraft.server.MinecraftServer;
|
|
||||||
|
|
||||||
public abstract class ServerConfigurationManager
|
|
||||||
@@ -71,6 +73,8 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
p_56432_2_.func_20057_k();
|
|
||||||
+ FMLServerHandler.instance().handleClientLogin(p_56432_1_);
|
|
||||||
+ FMLServerHandler.instance().announceLogin(p_56432_2_);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_618_a(WorldServer[] p_618_1_)
|
|
||||||
@@ -144,6 +148,7 @@
|
|
||||||
|
|
||||||
public void func_616_c(EntityPlayerMP p_616_1_)
|
|
||||||
{
|
|
||||||
+ FMLServerHandler.instance().announceLogout(p_616_1_);
|
|
||||||
this.func_56430_b(p_616_1_);
|
|
||||||
WorldServer var2 = p_616_1_.func_55080_H();
|
|
||||||
var2.func_22085_d(p_616_1_);
|
|
||||||
@@ -355,6 +360,8 @@
|
|
||||||
p_28168_1_.field_425_ad.func_35694_a(var5);
|
|
||||||
this.func_28170_a(p_28168_1_, var5);
|
|
||||||
this.func_30008_g(p_28168_1_);
|
|
||||||
+
|
|
||||||
+ FMLServerHandler.instance().announceDimensionChange(p_28168_1_);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_637_b()
|
|
|
@ -1,21 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/ServerGUI.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/ServerGUI.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -3,6 +3,7 @@
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
import java.awt.Component;
|
|
||||||
import java.awt.Dimension;
|
|
||||||
+import java.util.logging.Level;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
import javax.swing.JComponent;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
@@ -79,7 +80,9 @@
|
|
||||||
{
|
|
||||||
JPanel var1 = new JPanel(new BorderLayout());
|
|
||||||
JTextArea var2 = new JTextArea();
|
|
||||||
- field_22_a.addHandler(new GuiLogOutputHandler(var2));
|
|
||||||
+ GuiLogOutputHandler guihandler=new GuiLogOutputHandler(var2);
|
|
||||||
+ guihandler.setLevel(Level.FINE);
|
|
||||||
+ field_22_a.addHandler(guihandler);
|
|
||||||
JScrollPane var3 = new JScrollPane(var2, 22, 30);
|
|
||||||
var2.setEditable(false);
|
|
||||||
JTextField var4 = new JTextField();
|
|
|
@ -1,18 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/SlotCrafting.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/SlotCrafting.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,5 +1,7 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.server.FMLServerHandler;
|
|
||||||
+
|
|
||||||
public class SlotCrafting extends Slot
|
|
||||||
{
|
|
||||||
private final IInventory field_20103_a;
|
|
||||||
@@ -83,6 +85,7 @@
|
|
||||||
|
|
||||||
public void func_20091_b(ItemStack p_20091_1_)
|
|
||||||
{
|
|
||||||
+ FMLServerHandler.instance().onItemCrafted(field_25004_e, p_20091_1_, field_20103_a);
|
|
||||||
this.func_48416_b(p_20091_1_);
|
|
||||||
|
|
||||||
for (int var2 = 0; var2 < this.field_20103_a.func_83_a(); ++var2)
|
|
|
@ -1,19 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/SlotFurnace.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/SlotFurnace.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,5 +1,7 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.server.FMLServerHandler;
|
|
||||||
+
|
|
||||||
public class SlotFurnace extends Slot
|
|
||||||
{
|
|
||||||
private EntityPlayer field_27007_d;
|
|
||||||
@@ -56,6 +58,8 @@
|
|
||||||
|
|
||||||
this.field_48419_f = 0;
|
|
||||||
|
|
||||||
+ FMLServerHandler.instance().onItemSmelted(field_27007_d, p_48416_1_);
|
|
||||||
+
|
|
||||||
if (p_48416_1_.field_855_c == Item.field_166_m.field_234_aS)
|
|
||||||
{
|
|
||||||
this.field_27007_d.func_25046_a(AchievementList.field_27108_k, 1);
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/StatBase.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/StatBase.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -55,4 +55,8 @@
|
|
||||||
{
|
|
||||||
return StatCollector.func_25136_a(this.field_25062_e);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public String getName() {
|
|
||||||
+ return field_25062_e;
|
|
||||||
+ }
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/StringTranslate.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/StringTranslate.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -7,6 +7,8 @@
|
|
||||||
import java.util.Properties;
|
|
||||||
import java.util.TreeMap;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
+
|
|
||||||
public class StringTranslate
|
|
||||||
{
|
|
||||||
private static StringTranslate field_25082_a = new StringTranslate("en_US");
|
|
||||||
@@ -77,6 +79,7 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ FMLCommonHandler.instance().handleLanguageLoad(p_44011_1_, p_44011_2_);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void func_44010_a(String p_44010_1_)
|
|
||||||
@@ -145,4 +148,13 @@
|
|
||||||
String var3 = this.field_25081_b.getProperty(p_25078_1_, p_25078_1_);
|
|
||||||
return String.format(var3, p_25078_2_);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public String getCurrentLanguage() {
|
|
||||||
+ return this.field_44012_d;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public Properties getCurrentLanguageTable()
|
|
||||||
+ {
|
|
||||||
+ return this.field_25081_b;
|
|
||||||
+ }
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/TileEntity.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/TileEntity.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -156,4 +156,8 @@
|
|
||||||
func_187_a(TileEntityEnchantmentTable.class, "EnchantTable");
|
|
||||||
func_187_a(TileEntityEndPortal.class, "Airportal");
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static void addNewTileEntityMapping(Class<? extends TileEntity> tileEntityClass, String id) {
|
|
||||||
+ func_187_a(tileEntityClass, id);
|
|
||||||
+ }
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/TileEntityFurnace.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,5 +1,7 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import cpw.mods.fml.common.FMLCommonHandler;
|
|
||||||
+
|
|
||||||
public class TileEntityFurnace extends TileEntity implements IInventory
|
|
||||||
{
|
|
||||||
private ItemStack[] field_489_e = new ItemStack[3];
|
|
||||||
@@ -254,7 +256,15 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- return var2 instanceof ItemTool && ((ItemTool)var2).func_56458_b().equals("WOOD") ? 200 : (var2 instanceof ItemSword && ((ItemSword)var2).func_56462_b().equals("WOOD") ? 200 : (var2 instanceof ItemHoe && ((ItemHoe)var2).func_56463_b().equals("WOOD") ? 200 : (var1 == Item.field_209_B.field_234_aS ? 100 : (var1 == Item.field_168_k.field_234_aS ? 1600 : (var1 == Item.field_201_aw.field_234_aS ? 20000 : (var1 == Block.field_6047_y.field_573_bc ? 100 : (var1 == Item.field_40239_bm.field_234_aS ? 2400 : 0)))))));
|
|
||||||
+ if (var2 instanceof ItemTool && ((ItemTool) var2).func_56458_b().equals("WOOD")) return 200;
|
|
||||||
+ if (var2 instanceof ItemSword && ((ItemSword) var2).func_56462_b().equals("WOOD")) return 200;
|
|
||||||
+ if (var2 instanceof ItemHoe && ((ItemHoe) var2).func_56463_b().equals("WOOD")) return 200;
|
|
||||||
+ if (var1 == Item.field_209_B.field_234_aS) return 100;
|
|
||||||
+ if (var1 == Item.field_168_k.field_234_aS) return 1600;
|
|
||||||
+ if (var1 == Item.field_201_aw.field_234_aS) return 20000;
|
|
||||||
+ if (var1 == Block.field_6047_y.field_573_bc) return 100;
|
|
||||||
+ if (var1 == Item.field_40239_bm.field_234_aS) return 2400;
|
|
||||||
+ return FMLCommonHandler.instance().fuelLookup(var1, p_194_0_.func_21125_h());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/WorldProvider.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -32,19 +32,12 @@
|
|
||||||
|
|
||||||
protected void func_4090_a()
|
|
||||||
{
|
|
||||||
- if (this.field_4302_a.func_22081_n().func_46069_q() == WorldType.field_48458_c)
|
|
||||||
- {
|
|
||||||
- this.field_4301_b = new WorldChunkManagerHell(BiomeGenBase.field_35520_c, 0.5F, 0.5F);
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- {
|
|
||||||
- this.field_4301_b = new WorldChunkManager(this.field_4302_a);
|
|
||||||
- }
|
|
||||||
+ this.field_4301_b = this.field_4302_a.func_22081_n().func_46069_q().getChunkManager(field_4302_a);
|
|
||||||
}
|
|
||||||
|
|
||||||
public IChunkProvider func_4087_c()
|
|
||||||
{
|
|
||||||
- return (IChunkProvider)(this.field_46120_b == WorldType.field_48458_c ? new ChunkProviderFlat(this.field_4302_a, this.field_4302_a.func_22079_j(), this.field_4302_a.func_22081_n().func_35499_o()) : new ChunkProviderGenerate(this.field_4302_a, this.field_4302_a.func_22079_j(), this.field_4302_a.func_22081_n().func_35499_o()));
|
|
||||||
+ return this.field_46120_b.getChunkGenerator(this.field_4302_a);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean func_4092_a(int p_4092_1_, int p_4092_2_)
|
|
||||||
@@ -96,6 +89,6 @@
|
|
||||||
|
|
||||||
public int func_46119_e()
|
|
||||||
{
|
|
||||||
- return this.field_46120_b == WorldType.field_48458_c ? 4 : 64;
|
|
||||||
+ return this.field_46120_b.getMinimumSpawnHeight(field_4302_a);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,85 +0,0 @@
|
||||||
--- ../src-base/minecraft_server/net/minecraft/src/WorldType.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
+++ ../src-work/minecraft_server/net/minecraft/src/WorldType.java 0000-00-00 00:00:00.000000000 -0000
|
|
||||||
@@ -1,5 +1,9 @@
|
|
||||||
package net.minecraft.src;
|
|
||||||
|
|
||||||
+import java.util.ArrayList;
|
|
||||||
+import java.util.Arrays;
|
|
||||||
+import java.util.List;
|
|
||||||
+
|
|
||||||
public class WorldType
|
|
||||||
{
|
|
||||||
public static final WorldType[] field_48459_a = new WorldType[16];
|
|
||||||
@@ -12,17 +16,28 @@
|
|
||||||
private boolean field_48455_g;
|
|
||||||
private boolean field_48460_h;
|
|
||||||
|
|
||||||
- private WorldType(int p_i1025_1_, String p_i1025_2_)
|
|
||||||
+ protected BiomeGenBase[] biomesForWorldType;
|
|
||||||
+
|
|
||||||
+ protected WorldType(int p_i1025_1_, String p_i1025_2_)
|
|
||||||
{
|
|
||||||
this(p_i1025_1_, p_i1025_2_, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
- private WorldType(int p_i1026_1_, String p_i1026_2_, int p_i1026_3_)
|
|
||||||
+ protected WorldType(int p_i1026_1_, String p_i1026_2_, int p_i1026_3_)
|
|
||||||
{
|
|
||||||
this.field_46052_c = p_i1026_2_;
|
|
||||||
this.field_48454_f = p_i1026_3_;
|
|
||||||
this.field_48455_g = true;
|
|
||||||
field_48459_a[p_i1026_1_] = this;
|
|
||||||
+ switch (p_i1026_1_) {
|
|
||||||
+ case 8:
|
|
||||||
+ biomesForWorldType = new BiomeGenBase[] { BiomeGenBase.field_4293_h, BiomeGenBase.field_4297_d, BiomeGenBase.field_35518_e,
|
|
||||||
+ BiomeGenBase.field_4299_b, BiomeGenBase.field_35520_c, BiomeGenBase.field_4294_g };
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ biomesForWorldType = new BiomeGenBase[] { BiomeGenBase.field_4293_h, BiomeGenBase.field_4297_d, BiomeGenBase.field_35518_e,
|
|
||||||
+ BiomeGenBase.field_4299_b, BiomeGenBase.field_35520_c, BiomeGenBase.field_4294_g, BiomeGenBase.field_48443_w };
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
public String func_48449_a()
|
|
||||||
@@ -74,4 +89,41 @@
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public WorldChunkManager getChunkManager(World world)
|
|
||||||
+ {
|
|
||||||
+ return this == field_48458_c ? new WorldChunkManagerHell(BiomeGenBase.field_35520_c, 0.5F, 0.5F) : new WorldChunkManager(world);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public IChunkProvider getChunkGenerator(World var1)
|
|
||||||
+ {
|
|
||||||
+ return this == field_48458_c ? new ChunkProviderFlat(var1, var1.func_22079_j(), var1.func_22081_n().func_35499_o()) : new ChunkProviderGenerate(var1, var1.func_22079_j(), var1.func_22081_n().func_35499_o());
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public int getMinimumSpawnHeight(World world)
|
|
||||||
+ {
|
|
||||||
+ return this == field_48458_c ? 4 : 64;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public BiomeGenBase[] getBiomesForWorldType() {
|
|
||||||
+ return biomesForWorldType;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void addNewBiome(BiomeGenBase biome) {
|
|
||||||
+ List<BiomeGenBase> newBiomesForWorld = new ArrayList<BiomeGenBase>();
|
|
||||||
+ newBiomesForWorld.addAll(Arrays.asList(biomesForWorldType));
|
|
||||||
+
|
|
||||||
+ if (!newBiomesForWorld.contains(biome))
|
|
||||||
+ newBiomesForWorld.add(biome);
|
|
||||||
+ biomesForWorldType = newBiomesForWorld.toArray(new BiomeGenBase[0]);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void removeBiome(BiomeGenBase biome) {
|
|
||||||
+ List<BiomeGenBase> newBiomesForWorld = new ArrayList<BiomeGenBase>();
|
|
||||||
+ newBiomesForWorld.addAll(Arrays.asList(biomesForWorldType));
|
|
||||||
+
|
|
||||||
+ newBiomesForWorld.remove(biome);
|
|
||||||
+ biomesForWorldType = newBiomesForWorld.toArray(new BiomeGenBase[0]);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
}
|
|
Loading…
Reference in New Issue