/mod_ClayMan.java Secret
Created
August 14, 2012 09:50
mod class of Clay Soldiers Mod
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package net.minecraft.src; | |
import java.io.File; | |
import java.util.ArrayList; | |
import java.util.Map; | |
import java.util.List; | |
import java.util.Random; | |
import org.lwjgl.opengl.GL11; | |
import cpw.mods.fml.client.FMLClientHandler; | |
import cpw.mods.fml.client.registry.RenderingRegistry; | |
import cpw.mods.fml.common.FMLCommonHandler; | |
import cpw.mods.fml.common.Mod; | |
import cpw.mods.fml.common.SidedProxy; | |
import cpw.mods.fml.common.Mod.*; | |
import cpw.mods.fml.common.event.FMLInitializationEvent; | |
import cpw.mods.fml.common.event.FMLPostInitializationEvent; | |
import cpw.mods.fml.common.event.FMLPreInitializationEvent; | |
import cpw.mods.fml.common.network.NetworkMod; | |
import cpw.mods.fml.common.network.NetworkRegistry; | |
import cpw.mods.fml.common.registry.EntityRegistry; | |
import cpw.mods.fml.common.registry.GameRegistry; | |
import cpw.mods.fml.common.registry.LanguageRegistry; | |
import cpw.mods.fml.common.registry.EntityRegistry.EntityRegistration; | |
import net.minecraft.client.Minecraft; | |
import net.minecraftforge.classloading.FMLForgePlugin; | |
import net.minecraftforge.client.MinecraftForgeClient; | |
import net.minecraftforge.common.MinecraftForge; | |
@Mod(modid = "ClaySoldiersMod", name = "Clay Soldiers Mod", version = "7.9") | |
@NetworkMod(clientSideRequired = true, serverSideRequired = false) | |
public class mod_ClayMan { | |
@Instance public static mod_ClayMan instance; | |
@SidedProxy(clientSide = "net.minecraft.src.CSM_ClientProxy", serverSide = "net.minecraft.src.CSM_CommonProxy") | |
public static CSM_CommonProxy proxy; | |
public static Item clayDisruptor; | |
public static Item greyDoll; | |
public static Item horseDoll; | |
public static Item pegasusDoll; | |
public static Item bunnyDoll; | |
public static Item geckoDoll; | |
public static Item brickDoll; | |
public static Item clayCookie; | |
public static Item shield; /*DEBUG ONLY*/ | |
public static Item shields; /*DEBUG ONLY*/ | |
public static Item turtle; | |
public static Item nexus; | |
public static Item shearBlade; | |
public static String modName = "ClaySoldierMod"; | |
public static final String textureFile = "/claymans/CSMItems.png"; | |
public static int[] itemIDs = new int[] { | |
6849, // disruptor | |
6850, // soldier doll | |
6851, // horse doll | |
6852, // pegasus doll | |
6853, // brick doll | |
6854, // clay cookie | |
6855, // turtle doll | |
6856, // bunny doll | |
6857, // gecko doll | |
6860, // shield | |
6861, // studded shield | |
6862, // ClayNexus | |
6863 // shearBlade | |
}; | |
public static final String[] itemNames = new String[] { | |
"disruptor", | |
"soldierDoll", | |
"horseDoll", | |
"pegasusDoll", | |
"brickDoll", | |
"clayCookie", | |
"turtleDoll", | |
"bunnyDoll", | |
"geckoDoll", | |
"shield", | |
"studdedShield", | |
"clayNexus", | |
"shearBlade" | |
}; | |
private static void setIDs() { | |
SAP_ConfigManager cfg = new SAP_ConfigManager("Clay Soldiers Mod", "1.1"); | |
cfg.setVar_IN_A(itemNames, itemIDs, cfg.getGroupIdFromName("Item IDs")); | |
cfg.loadConfig(); | |
itemIDs = cfg.getVar_IN_A(itemNames); | |
} | |
@PreInit public void preInit(FMLPreInitializationEvent event) { | |
setIDs(); | |
} | |
@Init public void load(FMLInitializationEvent event) { | |
proxy.registerRenderInformation(); | |
clayDisruptor = (new CSM_ItemClayDisruptor(itemIDs[0]-Block.blocksList.length)).setItemName("claydisruptor").setIconIndex(64); | |
greyDoll = (new CSM_ItemClayMan(itemIDs[1]-Block.blocksList.length, 0)).setItemName("claydoll").setIconIndex(0); | |
horseDoll = (new CSM_ItemHorses(itemIDs[2]-Block.blocksList.length, 0)).setItemName("horsedoll"); | |
pegasusDoll = (new CSM_ItemHorses(itemIDs[3]-Block.blocksList.length, 1)).setItemName("pegasusdoll"); | |
bunnyDoll = (new CSM_ItemBunny(itemIDs[4]-Block.blocksList.length)).setItemName("bunnydoll"); | |
geckoDoll = (new CSM_ItemGecko(itemIDs[5]-Block.blocksList.length)).setItemName("geckodoll"); | |
brickDoll = (new Item(itemIDs[6]-Block.blocksList.length)).setItemName("brickDoll"); | |
clayCookie = (new Item(itemIDs[7]-Block.blocksList.length)).setItemName("clayCookie"); | |
turtle = (new CSM_ItemTurtle(itemIDs[8]-Block.blocksList.length)).setItemName("clayturtle"); | |
shield = (new Item(itemIDs[9]-Block.blocksList.length)).setItemName("clayshield"); | |
shields = (new Item(itemIDs[10]-Block.blocksList.length)).setItemName("clayshields"); | |
nexus = (new CSM_ItemNexus(itemIDs[11]-Block.blocksList.length)).setItemName("claynexus"); | |
shearBlade = (new Item(itemIDs[12]-Block.blocksList.length)).setItemName("clayShearBlade"); | |
// english item names | |
LanguageRegistry.instance().addStringLocalization(clayDisruptor.getItemName() + ".name", "en_US", "Clay Disruptor"); | |
LanguageRegistry.instance().addStringLocalization(brickDoll.getItemName() + ".name", "en_US", "Lifeless Brick Doll"); | |
LanguageRegistry.instance().addStringLocalization(clayCookie.getItemName() + ".name", "en_US", "Clay Cookie"); | |
LanguageRegistry.instance().addStringLocalization(nexus.getItemName() + ".name", "en_US", "Clay Nexus"); | |
LanguageRegistry.instance().addStringLocalization(shearBlade.getItemName() + ".name", "en_US", "Shear Blade"); | |
// german item names | |
LanguageRegistry.instance().addStringLocalization(clayDisruptor.getItemName() + ".name", "de_DE", "Lehm Disruptor"); | |
LanguageRegistry.instance().addStringLocalization(brickDoll.getItemName() + ".name", "de_DE", "Leblose Ziegelpuppe"); | |
LanguageRegistry.instance().addStringLocalization(clayCookie.getItemName() + ".name", "de_DE", "Lehmkeks"); | |
LanguageRegistry.instance().addStringLocalization(nexus.getItemName() + ".name", "de_DE", "Lehm-Nexus"); | |
LanguageRegistry.instance().addStringLocalization(shearBlade.getItemName() + ".name", "de_DE", "Schermesser"); | |
String soldierNames_EN[] = new String[] {"Clay Soldier", "Red Soldier", "Yellow Soldier", "Green Soldier", "Blue Soldier", "Orange Soldier", "Purple Soldier", "Pink Soldier", "Brown Soldier", "White Soldier", "Black Soldier", "Cyan Soldier", "Light Grey Soldier", "Lime Soldier", "Light Blue Soldier", "Magenta Soldier", "Melon Soldier", "Pumpkin Soldier", "Coal Soldier", "Redstone Soldier"}; | |
String soldierNames_DE[] = new String[] {"Lehmsoldat", "Roter Soldat", "Gelber Soldat", "Grüner Soldat", "Blauer Soldat", "Oranger Soldat", "Lilaner Soldat", "Rosaner Soldat", "Brauner Soldat", "Weißer Soldat", "Schwarzer Soldat", "Türkiser Soldat", "Hellgrauer Soldat", "Hellgrüner Soldat", "Hellblauer Soldat", "Magenta Soldat", "Melonen-Soldat", "Kürbis-Soldat", "Kohle-Soldat", "Redstone-Soldat"}; | |
String horseNames[] = new String[] {"Dirt Horse", "Sand Horse", "Gravel Horse", "Snow Horse", "Grass Horse", "Lapis Horse", "Clay Horse"}; | |
String pegasiNames[] = new String[] {"Dirt Pegasus", "Sand Pegasus", "Gravel Pegasus", "Snow Pegasus", "Grass Pegasus", "Lapis Pegasus", "Clay Pegasus"}; | |
String turtleNames[] = new String[] {"Stone Turtle", "Mossy Turtle", "Netherrack Turtle", "Melon Turtle", "Sandstone Turtle", "Endstone Turtle", "Pumpkin Turtle"}; | |
try { | |
if(soldierNames_EN.length != soldierNames_DE.length) | |
throw new MinecraftException("Translated name count not equal: Soldier Names!"); | |
for(int i = 0; i < soldierNames_EN.length; i++) { | |
LanguageRegistry.instance().addStringLocalization(greyDoll.getItemNameIS(new ItemStack(0,0,i)) + ".name", "en_US", soldierNames_EN[i]); | |
LanguageRegistry.instance().addStringLocalization(greyDoll.getItemNameIS(new ItemStack(0,0,i)) + ".name", "de_DE", soldierNames_DE[i]); | |
} | |
} catch(MinecraftException e) { | |
e.printStackTrace(); | |
for(int i = 0; i < soldierNames_EN.length; i++) { | |
LanguageRegistry.instance().addStringLocalization(greyDoll.getItemNameIS(new ItemStack(0,0,i)) + ".name", "en_US", soldierNames_EN[i]); | |
} | |
} | |
// for(int i = 0; i < 7; i++) { | |
// LanguageRegistry.instance().addStringLocalization("item." + (new ItemStack(turtle, 1, i)).getItemName() + ".name", "en_US", turtle.getItemNameIS(new ItemStack(turtle, 1, i))); | |
// } | |
// for(int i = 0; i < 16; i++) { | |
// ModLoader.addName(new ItemStack(bunnyDoll, 1, i), bunnyDoll.getItemNameIS(new ItemStack(bunnyDoll, 1, i))); | |
// } | |
// for(int i = 0; i < 16; i++) { | |
// ModLoader.addName(new ItemStack(geckoDoll, 1, i), geckoDoll.getItemNameIS(new ItemStack(geckoDoll, 1, i))); | |
// } | |
// for(int i = 0; i < horseNames.length; i++) | |
// ModLoader.addName(new ItemStack(horseDoll, 1, i), horseNames[i]); | |
// for(int i = 0; i < pegasiNames.length; i++) | |
// ModLoader.addName(new ItemStack(pegasusDoll, 1, i), pegasiNames[i]); | |
// for(int i = 0; i < turtleNames.length; i++) | |
// ModLoader.addName(new ItemStack(turtle, 1, i), turtleNames[i]); | |
EntityRegistry.registerGlobalEntityID(CSM_EntityClayMan.class, "CSM_ClaySoldier", EntityRegistry.findGlobalUniqueEntityId()); | |
EntityRegistry.registerModEntity(CSM_EntityClayMan.class, "CSM_ClaySoldier", 0, this, 64, 1, true); | |
// ModLoader.registerEntityID(CSM_EntityHorse.class, "CSM_ClayHorse", ModLoader.getUniqueEntityId()); | |
// ModLoader.registerEntityID(CSM_EntityTurtle.class, "CSM_ClayTurtle", ModLoader.getUniqueEntityId()); | |
// ModLoader.registerEntityID(CSM_EntityGravelChunk.class, "CSM_GravelChunk", ModLoader.getUniqueEntityId()); | |
// ModLoader.registerEntityID(CSM_EntitySnowball.class, "CSM_SnowChunk", ModLoader.getUniqueEntityId()); | |
// ModLoader.registerEntityID(CSM_EntityFireball.class, "CSM_FireChunk", ModLoader.getUniqueEntityId()); | |
// ModLoader.registerEntityID(CSM_EntityPegasus.class, "CSM_ClayPegasus", ModLoader.getUniqueEntityId()); | |
// ModLoader.registerEntityID(CSM_EntityClayNexus.class, "CSM_ClayNexus", ModLoader.getUniqueEntityId()); | |
// ModLoader.registerEntityID(CSM_EntityBunny.class, "CSM_Bunny", ModLoader.getUniqueEntityId()); | |
// ModLoader.registerEntityID(CSM_EntityGecko.class, "CSM_Gecko", ModLoader.getUniqueEntityId()); | |
// RenderingRegistry.instance().registerEntityRenderingHandler(net.minecraft.src.CSM_EntityHorse.class, new net.minecraft.src.CSM_RenderHorse(new net.minecraft.src.CSM_ModelHorse(0F, 12.75F), 0.15F)); | |
// MinecraftForge.registerEntity(CSM_EntityClayMan.class, this, 0, 64, 1, true); | |
/* many recipes, which I'll rewrite */ | |
} | |
@PostInit | |
public void modsLoaded(FMLPostInitializationEvent evt) { | |
} | |
// @Override | |
// public boolean onTickInGame(float f, Minecraft game) { | |
// | |
// if(waveTime > 0) { | |
// waveTime --; | |
// } | |
// | |
// if(placeholder != null) { | |
// game.gameSettings.hideGUI = true; | |
// game.gameSettings.thirdPersonView = 0; | |
// if(placeholder.isSneaking()) { | |
// cameraReset(game); | |
// } else if(game.renderViewEntity instanceof EntityPlayerSP && !(game.renderViewEntity instanceof CSM_EntityClayCam)) { | |
// placeholder = (EntityPlayerSP)game.renderViewEntity; | |
// cameraReset(game); | |
// } | |
// } | |
// return true; | |
// } | |
// | |
public static void cameraReset() { | |
cameraReset(ModLoader.getMinecraftInstance()); | |
} | |
public static void cameraReset(Minecraft game) { | |
if(placeholder != null) { | |
game.renderViewEntity = placeholder; | |
placeholder = null; | |
game.gameSettings.hideGUI = showTheHUD; | |
game.gameSettings.thirdPersonView = (showTheGUY ? 0 : 1); | |
claycam.setDead(); | |
int cnt = game.theWorld.playerEntities.size(); | |
for(int i = 0; i < cnt; i++) { | |
if(game.theWorld.playerEntities.get(i).equals(claycam)) | |
game.theWorld.playerEntities.remove(i); | |
} | |
claycam = null; | |
} | |
} | |
public static EntityPlayer placeholder; | |
public static CSM_EntityClayCam claycam; | |
public static int waveTime; | |
public static boolean showTheHUD, showTheGUY; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment