Skip to content

Instantly share code, notes, and snippets.

@SanAndreaP
Created August 14, 2012 09:50
mod class of Clay Soldiers Mod
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