Added ore unifier, disbled by defualt.
This commit is contained in:
parent
c120c37723
commit
85e7bfacde
3 changed files with 23 additions and 8 deletions
|
@ -27,6 +27,7 @@ import techreborn.command.TechRebornDevCommand;
|
|||
import techreborn.compat.CompatManager;
|
||||
import techreborn.compat.ICompatModule;
|
||||
import techreborn.config.ConfigTechReborn;
|
||||
import techreborn.events.OreUnifier;
|
||||
import techreborn.events.TRTickHandler;
|
||||
import techreborn.init.*;
|
||||
import techreborn.lib.ModInfo;
|
||||
|
@ -112,12 +113,13 @@ public class Core {
|
|||
MinecraftForge.EVENT_BUS.register(IDSUManager.INSTANCE);
|
||||
FMLCommonHandler.instance().bus().register(new MultiblockServerTickHandler());
|
||||
FMLCommonHandler.instance().bus().register(new TRTickHandler());
|
||||
FMLCommonHandler.instance().bus().register(new OreUnifier());
|
||||
logHelper.info("Initialization Complete");
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void postinit(FMLPostInitializationEvent event) throws Exception {
|
||||
// Has to be done here as Buildcraft registers there recipes late
|
||||
// Has to be done here as Buildcraft registers their recipes late
|
||||
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) {
|
||||
compatModule.postInit(event);
|
||||
}
|
||||
|
|
|
@ -164,6 +164,7 @@ public class ConfigTechReborn {
|
|||
public static boolean useConnectedTextures;
|
||||
|
||||
public static boolean rainExplosions;
|
||||
public static boolean oreUnifer;
|
||||
|
||||
public static Configuration config;
|
||||
|
||||
|
@ -676,6 +677,9 @@ public class ConfigTechReborn {
|
|||
rainExplosions = config.get(CATEGORY_POWER, StatCollector.translateToLocal("config.techreborn.rainExplosions"),
|
||||
true, StatCollector.translateToLocal("config.techreborn.rainExplosions.tooltip")).getBoolean(true);
|
||||
|
||||
oreUnifer = config.get(CATEGORY_INTEGRATION, StatCollector.translateToLocal("config.techreborn.oreUnifer"),
|
||||
true, StatCollector.translateToLocal("config.techreborn.oreUnifer.tooltip")).getBoolean(false);
|
||||
|
||||
//Integration
|
||||
AllowBOPRecipes = config.get(CATEGORY_INTEGRATION, StatCollector.translateToLocal("config.techreborn.allowBopRecipes"),
|
||||
true, StatCollector.translateToLocal("config.techreborn.allowBopRecipes.tooltip")).getBoolean(true);
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
package techreborn.events;
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.event.entity.player.PlayerUseItemEvent;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import reborncore.common.util.ItemUtils;
|
||||
import techreborn.config.ConfigTechReborn;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
|
@ -15,13 +17,20 @@ public class OreUnifier {
|
|||
public static HashMap<String, ItemStack> oreHash = new HashMap<String, ItemStack>();
|
||||
|
||||
@SubscribeEvent
|
||||
public void itemTick(PlayerUseItemEvent.Tick event) {
|
||||
int[] oreIds = OreDictionary.getOreIDs(event.item);
|
||||
for(int id : oreIds){
|
||||
String oreName = OreDictionary.getOreName(id);
|
||||
if(oreHash.containsKey(oreName)){
|
||||
if(ItemUtils.isItemEqual(event.item, oreHash.get(oreName), true, true, true) && !ItemUtils.isItemEqual(event.item, oreHash.get(oreName), true, true, false)){
|
||||
//TODO set new item
|
||||
public void itemTick(TickEvent.PlayerTickEvent event) {
|
||||
if(ConfigTechReborn.oreUnifer && !event.player.worldObj.isRemote && event.player.worldObj.getTotalWorldTime() % 10 == 0){
|
||||
if(event.player.getHeldItem() != null){
|
||||
int[] oreIds = OreDictionary.getOreIDs(event.player.getHeldItem());
|
||||
for(int id : oreIds){
|
||||
String oreName = OreDictionary.getOreName(id);
|
||||
if(oreHash.containsKey(oreName)){
|
||||
if(ItemUtils.isItemEqual(event.player.getHeldItem(), oreHash.get(oreName), true, true, true) && !ItemUtils.isItemEqual(event.player.getHeldItem(), oreHash.get(oreName), true, true, false)){
|
||||
ItemStack stack = oreHash.get(oreName).copy();
|
||||
stack.stackSize = event.player.getHeldItem().stackSize;
|
||||
stack.setTagCompound(event.player.getHeldItem().getTagCompound());
|
||||
event.player.inventory.setInventorySlotContents(event.player.inventory.currentItem, stack);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue