Support for custom item rarity types. Works in SMP.
This commit is contained in:
parent
f73271d6b6
commit
1c1ceb162a
|
@ -4,11 +4,14 @@ import java.io.File;
|
|||
import java.lang.reflect.Field;
|
||||
|
||||
import ee3.core.interfaces.IProxy;
|
||||
import static ee3.lib.CustomItemRarity.*;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.src.EntityPlayer;
|
||||
import net.minecraft.src.EnumRarity;
|
||||
import net.minecraft.src.ModLoader;
|
||||
import net.minecraft.src.NetworkManager;
|
||||
import net.minecraft.src.World;
|
||||
import net.minecraft.src.forge.EnumHelperClient;
|
||||
import net.minecraft.src.forge.MinecraftForgeClient;
|
||||
|
||||
/**
|
||||
|
@ -106,4 +109,21 @@ public class EEProxy implements IProxy {
|
|||
ModLoader.getMinecraftInstance().sndManager.playSound(soundName, x, y, z, volume, pitch);
|
||||
}
|
||||
|
||||
public void addCustomEnumRarityTypes() {
|
||||
EnumHelperClient.addRarity(JUNK, COLOR_JUNK, DISPLAY_NAME_JUNK);
|
||||
EnumHelperClient.addRarity(NORMAL, COLOR_NORMAL, DISPLAY_NAME_NORMAL);
|
||||
EnumHelperClient.addRarity(MAGICAL, COLOR_MAGICAL, DISPLAY_NAME_MAGICAL);
|
||||
EnumHelperClient.addRarity(RARE, COLOR_RARE, DISPLAY_NAME_RARE);
|
||||
EnumHelperClient.addRarity(LEGENDARY, COLOR_LEGENDARY, DISPLAY_NAME_LEGENDARY);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getCustomEnumRarityType(String custom) {
|
||||
for (EnumRarity eRare : EnumRarity.class.getEnumConstants()) {
|
||||
if (eRare.name().equals(custom))
|
||||
return eRare;
|
||||
}
|
||||
return EnumRarity.common;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -40,12 +40,12 @@ public class RecipesPhilStone {
|
|||
|
||||
|
||||
public static void initRecipes() {
|
||||
determineBaseMaterials();
|
||||
//initTransmutationRecipes();
|
||||
//initEquivalenceRecipes();
|
||||
//initReconstructiveRecipes();
|
||||
//initDestructorRecipes();
|
||||
//initPortableSmeltingRecipes();
|
||||
//determineBaseMaterials();
|
||||
initTransmutationRecipes();
|
||||
initEquivalenceRecipes();
|
||||
initReconstructiveRecipes();
|
||||
initDestructorRecipes();
|
||||
initPortableSmeltingRecipes();
|
||||
}
|
||||
|
||||
public static void determineBaseMaterials() {
|
||||
|
|
|
@ -3,6 +3,7 @@ package ee3.core.interfaces;
|
|||
import java.io.File;
|
||||
|
||||
import net.minecraft.src.EntityPlayer;
|
||||
import net.minecraft.src.EnumRarity;
|
||||
import net.minecraft.src.NetworkManager;
|
||||
import net.minecraft.src.ShapedRecipes;
|
||||
import net.minecraft.src.World;
|
||||
|
@ -44,5 +45,8 @@ public interface IProxy {
|
|||
public abstract Object handleGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z);
|
||||
|
||||
public abstract void playSound(String soundName, float x, float y, float z, float volume, float pitch);
|
||||
|
||||
public abstract void addCustomEnumRarityTypes();
|
||||
|
||||
public abstract EnumRarity getCustomEnumRarityType(String custom);
|
||||
}
|
||||
|
|
|
@ -2,8 +2,10 @@ package ee3.item;
|
|||
|
||||
import ee3.core.interfaces.IItemChargeable;
|
||||
import ee3.core.interfaces.IItemModal;
|
||||
import ee3.lib.CustomItemRarity;
|
||||
import net.minecraft.src.EnumRarity;
|
||||
import net.minecraft.src.ItemStack;
|
||||
import net.minecraft.src.mod_EE3;
|
||||
|
||||
/**
|
||||
* TODO Class Description
|
||||
|
@ -24,7 +26,7 @@ public class ItemPhilosopherStone extends ItemEE implements IItemChargeable, IIt
|
|||
}
|
||||
|
||||
public EnumRarity getRarity(ItemStack par1ItemStack) {
|
||||
return EnumRarity.uncommon;
|
||||
return mod_EE3.proxy.getCustomEnumRarityType(CustomItemRarity.RARE);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -20,8 +20,6 @@ public class ModItems {
|
|||
if (initialized)
|
||||
initialized = true;
|
||||
|
||||
System.out.println("philStone: " + ItemIds.PHIL_STONE);
|
||||
|
||||
/* Initialise each mod item individually */
|
||||
philStone = new ItemPhilosopherStone(ItemIds.PHIL_STONE).setIconCoord(0, 0).setItemName("philStone");
|
||||
|
||||
|
|
50
ee3_common/ee3/lib/CustomItemRarity.java
Normal file
50
ee3_common/ee3/lib/CustomItemRarity.java
Normal file
|
@ -0,0 +1,50 @@
|
|||
package ee3.lib;
|
||||
|
||||
/**
|
||||
* TODO Class Description
|
||||
* @author pahimar
|
||||
*
|
||||
*/
|
||||
public class CustomItemRarity {
|
||||
|
||||
/**
|
||||
* Colour Value Guide
|
||||
*
|
||||
* 0 = Black
|
||||
* 1 = Dark Blue
|
||||
* 2 = Green
|
||||
* 3 = Cyan
|
||||
* 4 = Dark Red
|
||||
* 5 = Purple
|
||||
* 6 = Orange
|
||||
* 7 = Light Grey
|
||||
* 8 = Dark Grey
|
||||
* 9 = Blue
|
||||
* 10 = Light Green
|
||||
* 11 = Light Cyan
|
||||
* 12 = Light Red
|
||||
* 13 = Pink
|
||||
* 14 = Yellow
|
||||
* 15 = White
|
||||
*
|
||||
**/
|
||||
|
||||
public static final int COLOR_JUNK = 7;
|
||||
public static final int COLOR_NORMAL = 15;
|
||||
public static final int COLOR_MAGICAL = 9;
|
||||
public static final int COLOR_RARE = 14;
|
||||
public static final int COLOR_LEGENDARY = 6;
|
||||
|
||||
public static final String JUNK = "custom_junk";
|
||||
public static final String NORMAL = "custom_normal";
|
||||
public static final String MAGICAL = "custom_magical";
|
||||
public static final String RARE = "custom_rare";
|
||||
public static final String LEGENDARY = "custom_legendary";
|
||||
|
||||
public static final String DISPLAY_NAME_JUNK = "Junk";
|
||||
public static final String DISPLAY_NAME_NORMAL = "Normal";
|
||||
public static final String DISPLAY_NAME_MAGICAL = "Magical";
|
||||
public static final String DISPLAY_NAME_RARE = "Rare";
|
||||
public static final String DISPLAY_NAME_LEGENDARY = "Legendary";
|
||||
|
||||
}
|
|
@ -53,7 +53,10 @@ public class mod_EE3 extends NetworkMod {
|
|||
this.proxy.registerSoundHandler();
|
||||
|
||||
// Initialise the configuration settings from file
|
||||
config.init();
|
||||
this.config.init();
|
||||
|
||||
// Add in the custom Item rarity types
|
||||
this.proxy.addCustomEnumRarityTypes();
|
||||
|
||||
// Initialise the mod items
|
||||
ModItems.init();
|
||||
|
@ -61,9 +64,8 @@ public class mod_EE3 extends NetworkMod {
|
|||
// Initialise the Philosopher Stone recipes
|
||||
RecipesPhilStone.initRecipes();
|
||||
|
||||
BuildCraftAddon.init();
|
||||
|
||||
emcList.initEMCList();
|
||||
// Initialise the EMC List
|
||||
this.emcList.initEMCList();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -7,6 +7,7 @@ import cpw.mods.fml.common.FMLCommonHandler;
|
|||
import cpw.mods.fml.common.ReflectionHelper;
|
||||
|
||||
import net.minecraft.src.EntityPlayer;
|
||||
import net.minecraft.src.EnumRarity;
|
||||
import net.minecraft.src.ModLoader;
|
||||
import net.minecraft.src.NetworkManager;
|
||||
import net.minecraft.src.World;
|
||||
|
@ -74,7 +75,6 @@ public class EEProxy implements IProxy {
|
|||
public void handleTEPacket(int x, int y, int z, byte direction, String player) { }
|
||||
|
||||
@Override
|
||||
// Stub, no need for a Sound Handler on the server
|
||||
public void registerSoundHandler() { }
|
||||
|
||||
@Override
|
||||
|
@ -86,4 +86,11 @@ public class EEProxy implements IProxy {
|
|||
@Override
|
||||
public void playSound(String soundName, float x, float y, float z, float volume, float pitch) { }
|
||||
|
||||
@Override
|
||||
public void addCustomEnumRarityTypes() { }
|
||||
|
||||
@Override
|
||||
public EnumRarity getCustomEnumRarityType(String custom) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
9
ee3_server/net/minecraft/src/EnumRarity.java
Normal file
9
ee3_server/net/minecraft/src/EnumRarity.java
Normal file
|
@ -0,0 +1,9 @@
|
|||
package net.minecraft.src;
|
||||
|
||||
/**
|
||||
* EnumRarity
|
||||
* Stubbed in server side to allow for EE item code to be common and not client/server specific
|
||||
* @author pahimar
|
||||
*
|
||||
*/
|
||||
public enum EnumRarity { }
|
Loading…
Reference in a new issue