More fixes
This commit is contained in:
parent
b51c357d50
commit
6d70a76c95
|
@ -283,18 +283,6 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
{
|
{
|
||||||
return client;
|
return client;
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* @param armor
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public int addNewArmourRendererPrefix(String 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;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* @param player
|
* @param player
|
||||||
* @param gui
|
* @param gui
|
||||||
|
@ -306,16 +294,6 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param mod
|
|
||||||
* @param keyHandler
|
|
||||||
* @param allowRepeat
|
|
||||||
*/
|
|
||||||
public void registerModLoaderKeyHandler(BaseMod mod, KeyBinding keyHandler, boolean allowRepeat)
|
|
||||||
{
|
|
||||||
ModLoaderModContainer mlmc=ModLoaderHelper.registerKeyHelper(mod);
|
|
||||||
KeyBindingRegistry.registerKeyBinding(new ModLoaderKeyBindingHandler(keyHandler, allowRepeat, mlmc));
|
|
||||||
}
|
|
||||||
@Override
|
@Override
|
||||||
public void profileStart(String profileLabel) {
|
public void profileStart(String profileLabel) {
|
||||||
client.field_71424_I.func_76320_a(profileLabel);
|
client.field_71424_I.func_76320_a(profileLabel);
|
||||||
|
|
|
@ -1,6 +1,18 @@
|
||||||
package cpw.mods.fml.client.registry;
|
package cpw.mods.fml.client.registry;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import com.google.common.collect.ObjectArrays;
|
||||||
|
|
||||||
|
import net.minecraft.src.RenderPlayer;
|
||||||
|
import cpw.mods.fml.common.ObfuscationReflectionHelper;
|
||||||
|
|
||||||
public class RenderingRegistry
|
public class RenderingRegistry
|
||||||
{
|
{
|
||||||
|
public static int addNewArmourRendererPrefix(String armor)
|
||||||
|
{
|
||||||
|
RenderPlayer.field_77110_j = ObjectArrays.concat(RenderPlayer.field_77110_j, armor);
|
||||||
|
return RenderPlayer.field_77110_j.length-1;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,16 +21,22 @@ import java.util.Map;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.server.MinecraftServer;
|
||||||
|
|
||||||
import cpw.mods.fml.client.BlockRenderManager;
|
import cpw.mods.fml.client.BlockRenderManager;
|
||||||
import cpw.mods.fml.client.FMLClientHandler;
|
import cpw.mods.fml.client.FMLClientHandler;
|
||||||
|
import cpw.mods.fml.client.ModLoaderKeyBindingHandler;
|
||||||
import cpw.mods.fml.client.SpriteHelper;
|
import cpw.mods.fml.client.SpriteHelper;
|
||||||
import cpw.mods.fml.client.TextureFXManager;
|
import cpw.mods.fml.client.TextureFXManager;
|
||||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||||
|
import cpw.mods.fml.client.registry.KeyBindingRegistry;
|
||||||
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
|
import cpw.mods.fml.common.FMLLog;
|
||||||
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;
|
||||||
import cpw.mods.fml.common.modloader.ModLoaderModContainer;
|
import cpw.mods.fml.common.modloader.ModLoaderModContainer;
|
||||||
|
import cpw.mods.fml.common.registry.EntityRegistry;
|
||||||
import cpw.mods.fml.common.registry.FMLRegistry;
|
import cpw.mods.fml.common.registry.FMLRegistry;
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
import cpw.mods.fml.common.ObfuscationReflectionHelper;
|
import cpw.mods.fml.common.ObfuscationReflectionHelper;
|
||||||
|
@ -49,7 +55,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void addAchievementDesc(Achievement achievement, String name, String description)
|
public static void addAchievementDesc(Achievement achievement, String name, String description)
|
||||||
{
|
{
|
||||||
String achName=achievement.func_44020_i();
|
String achName=achievement.func_75970_i();
|
||||||
addLocalization(achName, name);
|
addLocalization(achName, name);
|
||||||
addLocalization(achName+".desc", description);
|
addLocalization(achName+".desc", description);
|
||||||
}
|
}
|
||||||
|
@ -87,7 +93,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static int addArmor(String armor)
|
public static int addArmor(String armor)
|
||||||
{
|
{
|
||||||
return FMLClientHandler.instance().addNewArmourRendererPrefix(armor);
|
return RenderingRegistry.addNewArmourRendererPrefix(armor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -97,7 +103,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void addBiome(BiomeGenBase biome)
|
public static void addBiome(BiomeGenBase biome)
|
||||||
{
|
{
|
||||||
FMLClientHandler.instance().addBiomeToDefaultWorldGenerator(biome);
|
GameRegistry.addBiome(biome);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -202,7 +208,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void addSmelting(int input, ItemStack output)
|
public static void addSmelting(int input, ItemStack output)
|
||||||
{
|
{
|
||||||
FMLRegistry.addSmelting(input, output);
|
GameRegistry.addSmelting(input, output, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -216,7 +222,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void addSpawn(Class<? extends EntityLiving> entityClass, int weightedProb, int min, int max, EnumCreatureType spawnList)
|
public static void addSpawn(Class<? extends EntityLiving> entityClass, int weightedProb, int min, int max, EnumCreatureType spawnList)
|
||||||
{
|
{
|
||||||
FMLRegistry.addSpawn(entityClass, weightedProb, min, max, spawnList, FMLClientHandler.instance().getDefaultOverworldBiomes());
|
EntityRegistry.addSpawn(entityClass, weightedProb, min, max, spawnList, WorldType.base12Biomes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -231,7 +237,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void addSpawn(Class<? extends EntityLiving> entityClass, int weightedProb, int min, int max, EnumCreatureType spawnList, BiomeGenBase... biomes)
|
public static void addSpawn(Class<? extends EntityLiving> entityClass, int weightedProb, int min, int max, EnumCreatureType spawnList, BiomeGenBase... biomes)
|
||||||
{
|
{
|
||||||
FMLRegistry.addSpawn(entityClass, weightedProb, min, max, spawnList, biomes);
|
EntityRegistry.addSpawn(entityClass, weightedProb, min, max, spawnList, biomes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -245,7 +251,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void addSpawn(String entityName, int weightedProb, int min, int max, EnumCreatureType spawnList)
|
public static void addSpawn(String entityName, int weightedProb, int min, int max, EnumCreatureType spawnList)
|
||||||
{
|
{
|
||||||
FMLRegistry.addSpawn(entityName, weightedProb, min, max, spawnList, FMLClientHandler.instance().getDefaultOverworldBiomes());
|
EntityRegistry.addSpawn(entityName, weightedProb, min, max, spawnList, WorldType.base12Biomes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -260,7 +266,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void addSpawn(String entityName, int weightedProb, int min, int max, EnumCreatureType spawnList, BiomeGenBase... biomes)
|
public static void addSpawn(String entityName, int weightedProb, int min, int max, EnumCreatureType spawnList, BiomeGenBase... biomes)
|
||||||
{
|
{
|
||||||
FMLRegistry.addSpawn(entityName, weightedProb, min, max, spawnList, biomes);
|
EntityRegistry.addSpawn(entityName, weightedProb, min, max, spawnList, biomes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -358,7 +364,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static Logger getLogger()
|
public static Logger getLogger()
|
||||||
{
|
{
|
||||||
return FMLCommonHandler.instance().getFMLLogger();
|
return FMLLog.getLogger();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Minecraft getMinecraftInstance()
|
public static Minecraft getMinecraftInstance()
|
||||||
|
@ -372,9 +378,9 @@ public class ModLoader
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static Object getMinecraftServerInstance()
|
public static MinecraftServer getMinecraftServerInstance()
|
||||||
{
|
{
|
||||||
return getMinecraftInstance();
|
return FMLCommonHandler.instance().getMinecraftServerInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -422,7 +428,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static int getUniqueEntityId()
|
public static int getUniqueEntityId()
|
||||||
{
|
{
|
||||||
return FMLCommonHandler.instance().nextUniqueEntityListId();
|
return EntityRegistry.findGlobalUniqueEntityId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getUniqueSpriteIndex(String path)
|
public static int getUniqueSpriteIndex(String path)
|
||||||
|
@ -529,7 +535,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void registerBlock(Block block)
|
public static void registerBlock(Block block)
|
||||||
{
|
{
|
||||||
FMLRegistry.registerBlock(block);
|
GameRegistry.registerBlock(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -540,7 +546,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void registerBlock(Block block, Class<? extends ItemBlock> itemclass)
|
public static void registerBlock(Block block, Class<? extends ItemBlock> itemclass)
|
||||||
{
|
{
|
||||||
FMLRegistry.registerBlock(block, itemclass);
|
GameRegistry.registerBlock(block, itemclass);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -552,7 +558,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void registerEntityID(Class<? extends Entity> entityClass, String entityName, int id)
|
public static void registerEntityID(Class<? extends Entity> entityClass, String entityName, int id)
|
||||||
{
|
{
|
||||||
FMLRegistry.registerEntityID(entityClass, entityName, id);
|
EntityRegistry.registerEntityID(entityClass, entityName, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -566,12 +572,13 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void registerEntityID(Class<? extends Entity> entityClass, String entityName, int id, int background, int foreground)
|
public static void registerEntityID(Class<? extends Entity> entityClass, String entityName, int id, int background, int foreground)
|
||||||
{
|
{
|
||||||
FMLRegistry.registerEntityID(entityClass, entityName, id, background, foreground);
|
EntityRegistry.registerEntityID(entityClass, entityName, id, background, foreground);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerKey(BaseMod mod, KeyBinding keyHandler, boolean allowRepeat)
|
public static void registerKey(BaseMod mod, KeyBinding keyHandler, boolean allowRepeat)
|
||||||
{
|
{
|
||||||
FMLClientHandler.instance().registerModLoaderKeyHandler(mod, keyHandler, allowRepeat);
|
ModLoaderModContainer mlmc=ModLoaderHelper.registerKeyHelper(mod);
|
||||||
|
KeyBindingRegistry.registerKeyBinding(new ModLoaderKeyBindingHandler(keyHandler, allowRepeat, mlmc));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -596,12 +603,12 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void registerTileEntity(Class<? extends TileEntity> tileEntityClass, String id)
|
public static void registerTileEntity(Class<? extends TileEntity> tileEntityClass, String id)
|
||||||
{
|
{
|
||||||
FMLRegistry.registerTileEntity(tileEntityClass, id);
|
GameRegistry.registerTileEntity(tileEntityClass, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerTileEntity(Class<? extends TileEntity> tileEntityClass, String id, TileEntitySpecialRenderer renderer)
|
public static void registerTileEntity(Class<? extends TileEntity> tileEntityClass, String id, TileEntitySpecialRenderer renderer)
|
||||||
{
|
{
|
||||||
ClientRegistry.instance().registerTileEntity(tileEntityClass, id, renderer);
|
ClientRegistry.registerTileEntity(tileEntityClass, id, renderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -611,7 +618,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void removeBiome(BiomeGenBase biome)
|
public static void removeBiome(BiomeGenBase biome)
|
||||||
{
|
{
|
||||||
FMLRegistry.removeBiome(biome);
|
GameRegistry.removeBiome(biome);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -622,7 +629,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void removeSpawn(Class<? extends EntityLiving> entityClass, EnumCreatureType spawnList)
|
public static void removeSpawn(Class<? extends EntityLiving> entityClass, EnumCreatureType spawnList)
|
||||||
{
|
{
|
||||||
FMLRegistry.removeSpawn(entityClass, spawnList, FMLClientHandler.instance().getDefaultOverworldBiomes());
|
EntityRegistry.removeSpawn(entityClass, spawnList, WorldType.base12Biomes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -634,7 +641,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void removeSpawn(Class<? extends EntityLiving> entityClass, EnumCreatureType spawnList, BiomeGenBase... biomes)
|
public static void removeSpawn(Class<? extends EntityLiving> entityClass, EnumCreatureType spawnList, BiomeGenBase... biomes)
|
||||||
{
|
{
|
||||||
FMLRegistry.removeSpawn(entityClass, spawnList, biomes);
|
EntityRegistry.removeSpawn(entityClass, spawnList, biomes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -645,7 +652,7 @@ public class ModLoader
|
||||||
*/
|
*/
|
||||||
public static void removeSpawn(String entityName, EnumCreatureType spawnList)
|
public static void removeSpawn(String entityName, EnumCreatureType spawnList)
|
||||||
{
|
{
|
||||||
FMLRegistry.removeSpawn(entityName, spawnList, FMLClientHandler.instance().getDefaultOverworldBiomes());
|
EntityRegistry.removeSpawn(entityName, spawnList, WorldType.base12Biomes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -688,7 +695,8 @@ public class ModLoader
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void sendPacket(Packet packet) {
|
public static void sendPacket(Packet packet) {
|
||||||
FMLClientHandler.instance().sendPacket(packet);
|
// TODO
|
||||||
|
// FMLClientHandler.instance().sendPacket(packet);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Send a chat message to the server
|
* Send a chat message to the server
|
||||||
|
|
|
@ -52,11 +52,11 @@ public class ModTextureAnimation extends FMLTextureFX
|
||||||
public ModTextureAnimation(int icon, int size, String target, BufferedImage image, int tickCount)
|
public ModTextureAnimation(int icon, int size, String target, BufferedImage image, int tickCount)
|
||||||
{
|
{
|
||||||
super(icon);
|
super(icon);
|
||||||
RenderEngine re = FMLClientHandler.instance().getClient().field_6315_n;
|
RenderEngine re = FMLClientHandler.instance().getClient().field_71446_o;
|
||||||
|
|
||||||
targetTex = target;
|
targetTex = target;
|
||||||
field_1129_e = size;
|
field_76849_e = size;
|
||||||
field_1128_f = re.func_1070_a(target);
|
field_76847_f = re.func_78341_b(target);
|
||||||
|
|
||||||
tickRate = tickCount;
|
tickRate = tickCount;
|
||||||
ticks = tickCount;
|
ticks = tickCount;
|
||||||
|
@ -121,7 +121,7 @@ public class ModTextureAnimation extends FMLTextureFX
|
||||||
index = 0;
|
index = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
field_1127_a = images[index];
|
field_76852_a = images[index];
|
||||||
ticks = 0;
|
ticks = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,12 +48,12 @@ public class ModTextureStatic extends FMLTextureFX
|
||||||
public ModTextureStatic(int icon, int size, String target, BufferedImage image)
|
public ModTextureStatic(int icon, int size, String target, BufferedImage image)
|
||||||
{
|
{
|
||||||
super(icon);
|
super(icon);
|
||||||
RenderEngine re = FMLClientHandler.instance().getClient().field_6315_n;
|
RenderEngine re = FMLClientHandler.instance().getClient().field_71446_o;
|
||||||
|
|
||||||
targetTex = target;
|
targetTex = target;
|
||||||
storedSize = size;
|
storedSize = size;
|
||||||
field_1129_e = size;
|
field_76849_e = size;
|
||||||
field_1128_f = re.func_1070_a(target);
|
field_76847_f = re.func_78341_b(target);
|
||||||
overrideData = image;
|
overrideData = image;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,14 +83,14 @@ public class ModTextureStatic extends FMLTextureFX
|
||||||
|
|
||||||
public void func_783_a()
|
public void func_783_a()
|
||||||
{
|
{
|
||||||
if (oldanaglyph != field_1131_c)
|
if (oldanaglyph != field_76851_c)
|
||||||
{
|
{
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
// This makes it so we only apply the texture to the target texture when we need to,
|
// This makes it so we only apply the texture to the target texture when we need to,
|
||||||
//due to the fact that update is called when the Effect is first registered, we actually
|
//due to the fact that update is called when the Effect is first registered, we actually
|
||||||
//need to wait for the next one.
|
//need to wait for the next one.
|
||||||
field_1129_e = (needApply == 0 ? 0 : storedSize);
|
field_76849_e = (needApply == 0 ? 0 : storedSize);
|
||||||
if (needApply > 0)
|
if (needApply > 0)
|
||||||
{
|
{
|
||||||
needApply--;
|
needApply--;
|
||||||
|
@ -99,7 +99,7 @@ public class ModTextureStatic extends FMLTextureFX
|
||||||
|
|
||||||
public void func_782_a(RenderEngine p_782_1_)
|
public void func_782_a(RenderEngine p_782_1_)
|
||||||
{
|
{
|
||||||
GL11.glBindTexture(GL_TEXTURE_2D, p_782_1_.func_1070_a(targetTex));
|
GL11.glBindTexture(GL_TEXTURE_2D, p_782_1_.func_78341_b(targetTex));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void update()
|
public void update()
|
||||||
|
@ -113,18 +113,18 @@ public class ModTextureStatic extends FMLTextureFX
|
||||||
int g = pixels[idx] >> 8 & 255;
|
int g = pixels[idx] >> 8 & 255;
|
||||||
int b = pixels[idx] >> 0 & 255;
|
int b = pixels[idx] >> 0 & 255;
|
||||||
|
|
||||||
if (field_1131_c)
|
if (field_76851_c)
|
||||||
{
|
{
|
||||||
r = g = b = (r + g + b) / 3;
|
r = g = b = (r + g + b) / 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
field_1127_a[i + 0] = (byte)r;
|
field_76852_a[i + 0] = (byte)r;
|
||||||
field_1127_a[i + 1] = (byte)g;
|
field_76852_a[i + 1] = (byte)g;
|
||||||
field_1127_a[i + 2] = (byte)b;
|
field_76852_a[i + 2] = (byte)b;
|
||||||
field_1127_a[i + 3] = (byte)a;
|
field_76852_a[i + 3] = (byte)a;
|
||||||
}
|
}
|
||||||
|
|
||||||
oldanaglyph = field_1131_c;
|
oldanaglyph = field_76851_c;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Implementation of http://scale2x.sourceforge.net/algorithm.html
|
//Implementation of http://scale2x.sourceforge.net/algorithm.html
|
||||||
|
@ -174,6 +174,6 @@ public class ModTextureStatic extends FMLTextureFX
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
return String.format("ModTextureStatic %s @ %d", targetTex, field_1126_b);
|
return String.format("ModTextureStatic %s @ %d", targetTex, field_76850_b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -546,4 +546,10 @@ public class FMLCommonHandler
|
||||||
{
|
{
|
||||||
Loader.instance().serverStopping();
|
Loader.instance().serverStopping();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MinecraftServer getMinecraftServerInstance()
|
||||||
|
{
|
||||||
|
//TODO
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
package cpw.mods.fml.common.registry;
|
package cpw.mods.fml.common.registry;
|
||||||
|
|
||||||
|
import java.util.BitSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.google.common.collect.BiMap;
|
||||||
|
|
||||||
import net.minecraft.src.BiomeGenBase;
|
import net.minecraft.src.BiomeGenBase;
|
||||||
import net.minecraft.src.Entity;
|
import net.minecraft.src.Entity;
|
||||||
import net.minecraft.src.EntityList;
|
import net.minecraft.src.EntityList;
|
||||||
|
@ -13,17 +16,47 @@ import net.minecraft.src.SpawnListEntry;
|
||||||
public class EntityRegistry
|
public class EntityRegistry
|
||||||
{
|
{
|
||||||
|
|
||||||
|
private static final EntityRegistry INSTANCE = new EntityRegistry();
|
||||||
|
|
||||||
|
private BitSet availableIndicies;
|
||||||
|
|
||||||
|
public static EntityRegistry instance()
|
||||||
|
{
|
||||||
|
return INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
private EntityRegistry()
|
||||||
|
{
|
||||||
|
availableIndicies = new BitSet(256);
|
||||||
|
availableIndicies.set(0,255);
|
||||||
|
for (Object id : EntityList.field_75623_d.keySet())
|
||||||
|
{
|
||||||
|
availableIndicies.clear((Integer)id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void registerEntityID(Class <? extends Entity > entityClass, String entityName, int id)
|
public static void registerEntityID(Class <? extends Entity > entityClass, String entityName, int id)
|
||||||
{
|
{
|
||||||
|
instance().validateAndClaimId(id);
|
||||||
EntityList.func_75618_a(entityClass, entityName, id);
|
EntityList.func_75618_a(entityClass, entityName, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void registerEntityID(Class <? extends Entity > entityClass, String entityName, int id, int backgroundEggColour, int foregroundEggColour)
|
private void validateAndClaimId(int id)
|
||||||
{
|
{
|
||||||
|
if (!availableIndicies.get(id))
|
||||||
|
{
|
||||||
|
throw new RuntimeException(String.format("Unable to claim entity id %d", id));
|
||||||
|
}
|
||||||
|
availableIndicies.clear(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void registerEntityID(Class <? extends Entity > entityClass, String entityName, int id, int backgroundEggColour, int foregroundEggColour)
|
||||||
|
{
|
||||||
|
instance().validateAndClaimId(id);
|
||||||
EntityList.func_75614_a(entityClass, entityName, id, backgroundEggColour, foregroundEggColour);
|
EntityList.func_75614_a(entityClass, entityName, id, backgroundEggColour, foregroundEggColour);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addSpawn(Class <? extends EntityLiving > entityClass, int weightedProb, int min, int max, EnumCreatureType typeOfCreature, BiomeGenBase... biomes)
|
public static void addSpawn(Class <? extends EntityLiving > entityClass, int weightedProb, int min, int max, EnumCreatureType typeOfCreature, BiomeGenBase... biomes)
|
||||||
{
|
{
|
||||||
for (BiomeGenBase biome : biomes)
|
for (BiomeGenBase biome : biomes)
|
||||||
{
|
{
|
||||||
|
@ -46,7 +79,7 @@ public class EntityRegistry
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addSpawn(String entityName, int weightedProb, int min, int max, EnumCreatureType spawnList, BiomeGenBase... biomes)
|
public static void addSpawn(String entityName, int weightedProb, int min, int max, EnumCreatureType spawnList, BiomeGenBase... biomes)
|
||||||
{
|
{
|
||||||
Class <? extends Entity > entityClazz = (Class<? extends Entity>) EntityList.field_75625_b.get(entityName);
|
Class <? extends Entity > entityClazz = (Class<? extends Entity>) EntityList.field_75625_b.get(entityName);
|
||||||
|
|
||||||
|
@ -56,7 +89,7 @@ public class EntityRegistry
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeSpawn(Class <? extends EntityLiving > entityClass, EnumCreatureType typeOfCreature, BiomeGenBase... biomes)
|
public static void removeSpawn(Class <? extends EntityLiving > entityClass, EnumCreatureType typeOfCreature, BiomeGenBase... biomes)
|
||||||
{
|
{
|
||||||
for (BiomeGenBase biome : biomes)
|
for (BiomeGenBase biome : biomes)
|
||||||
{
|
{
|
||||||
|
@ -74,7 +107,7 @@ public class EntityRegistry
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeSpawn(String entityName, EnumCreatureType spawnList, BiomeGenBase... biomes)
|
public static void removeSpawn(String entityName, EnumCreatureType spawnList, BiomeGenBase... biomes)
|
||||||
{
|
{
|
||||||
Class <? extends Entity > entityClazz = (Class<? extends Entity>) EntityList.field_75625_b.get(entityName);
|
Class <? extends Entity > entityClazz = (Class<? extends Entity>) EntityList.field_75625_b.get(entityName);
|
||||||
|
|
||||||
|
@ -84,4 +117,14 @@ public class EntityRegistry
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int findGlobalUniqueEntityId()
|
||||||
|
{
|
||||||
|
int res = instance().availableIndicies.nextSetBit(0);
|
||||||
|
if (res < 0)
|
||||||
|
{
|
||||||
|
throw new RuntimeException("No more entity indicies left");
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,8 +4,9 @@ public ajh.a(Ljava/lang/Class;Ljava/lang/String;)V
|
||||||
# EntityList addMappings
|
# EntityList addMappings
|
||||||
public jq.a(Ljava/lang/Class;Ljava/lang/String;I)V
|
public jq.a(Ljava/lang/Class;Ljava/lang/String;I)V
|
||||||
public jq.a(Ljava/lang/Class;Ljava/lang/String;III)V
|
public jq.a(Ljava/lang/Class;Ljava/lang/String;III)V
|
||||||
# EntityList nameToClassMap
|
# EntityList nameToClassMap and idToClassMap
|
||||||
public jq.b
|
public jq.b
|
||||||
|
public jq.d
|
||||||
# RenderManager renderers
|
# RenderManager renderers
|
||||||
public avx.o
|
public avx.o
|
||||||
# RenderBlocks - everything
|
# RenderBlocks - everything
|
||||||
|
|
Loading…
Reference in New Issue