me so indecisive

This commit is contained in:
Florian Nücke 2014-02-08 19:18:19 +01:00
parent 4dc5be944f
commit f28257a049
14 changed files with 58 additions and 41 deletions

View File

@ -3,7 +3,17 @@ package li.cil.occ;
import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import li.cil.occ.handler.*; import li.cil.occ.handler.Registry;
import li.cil.occ.handler.appeng.ModAppEng;
import li.cil.occ.handler.atomicscience.ModAtomicScience;
import li.cil.occ.handler.buildcraft.ModBuildCraft;
import li.cil.occ.handler.computercraft.ModComputerCraft;
import li.cil.occ.handler.enderstorage.ModEnderStorage;
import li.cil.occ.handler.ic2.ModIndustrialCraft2;
import li.cil.occ.handler.mekanism.ModMekanism;
import li.cil.occ.handler.redstoneinmotion.ModRedstoneInMotion;
import li.cil.occ.handler.thermalexpansion.ModThermalExpansion;
import li.cil.occ.handler.vanilla.ModVanilla;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import java.util.logging.Logger; import java.util.logging.Logger;
@ -37,19 +47,19 @@ public class OpenComponents {
@Mod.EventHandler @Mod.EventHandler
public void init(final FMLInitializationEvent e) { public void init(final FMLInitializationEvent e) {
Registry.add(new HandlerAppEng()); Registry.add(new ModAppEng());
Registry.add(new HandlerAtomicScience()); Registry.add(new ModAtomicScience());
Registry.add(new HandlerBuildCraft()); Registry.add(new ModBuildCraft());
Registry.add(new HandlerEnderStorage()); Registry.add(new ModEnderStorage());
Registry.add(new HandlerIndustrialCraft2()); Registry.add(new ModIndustrialCraft2());
Registry.add(new HandlerMekanism()); Registry.add(new ModMekanism());
Registry.add(new HandlerRedstoneInMotion()); Registry.add(new ModRedstoneInMotion());
Registry.add(new HandlerThermalExpansion()); Registry.add(new ModThermalExpansion());
Registry.add(new HandlerVanilla()); Registry.add(new ModVanilla());
// Register the general IPeripheral driver last, if at all, to avoid it // Register the general IPeripheral driver last, if at all, to avoid it
// being used rather than other more concrete implementations, such as // being used rather than other more concrete implementations, such as
// is the case in the Redstone in Motion driver (replaces 'move'). // is the case in the Redstone in Motion driver (replaces 'move').
Registry.add(new HandlerComputerCraft()); Registry.add(new ModComputerCraft());
} }
} }

View File

@ -4,7 +4,7 @@ import net.minecraft.item.ItemStack;
import java.util.Map; import java.util.Map;
public interface IHandler { public interface IMod {
String getModId(); String getModId();
void initialize(); void initialize();

View File

@ -11,12 +11,12 @@ import java.util.Set;
import java.util.logging.Level; import java.util.logging.Level;
public final class Registry { public final class Registry {
private static final Set<IHandler> handlers = new HashSet<IHandler>(); private static final Set<IMod> handlers = new HashSet<IMod>();
private Registry() { private Registry() {
} }
public static void add(final IHandler mod) { public static void add(final IMod mod) {
final boolean alwaysEnabled = mod.getModId() == null || mod.getModId().isEmpty(); final boolean alwaysEnabled = mod.getModId() == null || mod.getModId().isEmpty();
if ((alwaysEnabled || Loader.isModLoaded(mod.getModId())) && handlers.add(mod)) { if ((alwaysEnabled || Loader.isModLoaded(mod.getModId())) && handlers.add(mod)) {
OpenComponents.Log.info(String.format("Initializing handler for '%s'.", mod.getModId())); OpenComponents.Log.info(String.format("Initializing handler for '%s'.", mod.getModId()));
@ -33,7 +33,7 @@ public final class Registry {
return null; return null;
} }
final Map<String, Object> map = new HashMap<String, Object>(); final Map<String, Object> map = new HashMap<String, Object>();
for (IHandler handler : handlers) { for (IMod handler : handlers) {
handler.populate(map, value); handler.populate(map, value);
} }
return map; return map;

View File

@ -9,7 +9,6 @@ import li.cil.oc.api.network.Callback;
import li.cil.oc.api.network.Context; import li.cil.oc.api.network.Context;
import li.cil.oc.api.network.ManagedEnvironment; import li.cil.oc.api.network.ManagedEnvironment;
import li.cil.oc.api.prefab.DriverTileEntity; import li.cil.oc.api.prefab.DriverTileEntity;
import li.cil.occ.handler.HandlerAppEng;
import li.cil.occ.handler.ManagedTileEntityEnvironment; import li.cil.occ.handler.ManagedTileEntityEnvironment;
import li.cil.occ.handler.Registry; import li.cil.occ.handler.Registry;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -105,7 +104,7 @@ public final class DriverCellProvider extends DriverTileEntity {
} }
final ArrayList<Map> list = new ArrayList<Map>(); final ArrayList<Map> list = new ArrayList<Map>();
for (IAEItemStack stack : cell.getAvailableItems()) { for (IAEItemStack stack : cell.getAvailableItems()) {
list.add(HandlerAppEng.toMap(stack)); list.add(ModAppEng.toMap(stack));
} }
return list.toArray(); return list.toArray();
} }

View File

@ -1,16 +1,15 @@
package li.cil.occ.handler; package li.cil.occ.handler.appeng;
import appeng.api.IAEItemStack; import appeng.api.IAEItemStack;
import li.cil.oc.api.Driver; import li.cil.oc.api.Driver;
import li.cil.occ.handler.appeng.DriverCellProvider; import li.cil.occ.handler.IMod;
import li.cil.occ.handler.appeng.DriverGridTileEntity; import li.cil.occ.handler.Registry;
import li.cil.occ.handler.appeng.DriverTileController;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import java.util.Map; import java.util.Map;
public final class HandlerAppEng implements IHandler { public final class ModAppEng implements IMod {
@Override @Override
public String getModId() { public String getModId() {
return "AppliedEnergistics"; return "AppliedEnergistics";
@ -27,7 +26,7 @@ public final class HandlerAppEng implements IHandler {
public void populate(final Map<String, Object> map, final ItemStack stack) { public void populate(final Map<String, Object> map, final ItemStack stack) {
} }
public static Map<String, Object> toMap(final IAEItemStack stack) { static Map<String, Object> toMap(final IAEItemStack stack) {
// TODO Do we want to add more (isCraftable?) here? If not, inline. // TODO Do we want to add more (isCraftable?) here? If not, inline.
// (Do we even need the 'requestable'?) // (Do we even need the 'requestable'?)
final Map<String, Object> map = Registry.toMap(stack.getItemStack()); final Map<String, Object> map = Registry.toMap(stack.getItemStack());

View File

@ -1,13 +1,14 @@
package li.cil.occ.handler; package li.cil.occ.handler.atomicscience;
import li.cil.oc.api.Driver; import li.cil.oc.api.Driver;
import li.cil.occ.handler.IMod;
import li.cil.occ.handler.atomicscience.DriverReactor; import li.cil.occ.handler.atomicscience.DriverReactor;
import li.cil.occ.handler.atomicscience.DriverTemperature; import li.cil.occ.handler.atomicscience.DriverTemperature;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import java.util.Map; import java.util.Map;
public final class HandlerAtomicScience implements IHandler { public final class ModAtomicScience implements IMod {
@Override @Override
public String getModId() { public String getModId() {
return "AtomicScience"; return "AtomicScience";

View File

@ -1,6 +1,7 @@
package li.cil.occ.handler; package li.cil.occ.handler.buildcraft;
import li.cil.oc.api.Driver; import li.cil.oc.api.Driver;
import li.cil.occ.handler.IMod;
import li.cil.occ.handler.buildcraft.DriverMachine; import li.cil.occ.handler.buildcraft.DriverMachine;
import li.cil.occ.handler.buildcraft.DriverPipe; import li.cil.occ.handler.buildcraft.DriverPipe;
import li.cil.occ.handler.buildcraft.DriverPipeTE; import li.cil.occ.handler.buildcraft.DriverPipeTE;
@ -9,7 +10,7 @@ import net.minecraft.item.ItemStack;
import java.util.Map; import java.util.Map;
public final class HandlerBuildCraft implements IHandler { public final class ModBuildCraft implements IMod {
@Override @Override
public String getModId() { public String getModId() {
return "BuildCraft|Core"; return "BuildCraft|Core";

View File

@ -1,13 +1,14 @@
package li.cil.occ.handler; package li.cil.occ.handler.computercraft;
import li.cil.oc.api.Driver; import li.cil.oc.api.Driver;
import li.cil.occ.OpenComponents; import li.cil.occ.OpenComponents;
import li.cil.occ.handler.IMod;
import li.cil.occ.handler.computercraft.DriverPeripheral; import li.cil.occ.handler.computercraft.DriverPeripheral;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import java.util.Map; import java.util.Map;
public final class HandlerComputerCraft implements IHandler { public final class ModComputerCraft implements IMod {
@Override @Override
public String getModId() { public String getModId() {
return "ComputerCraft"; return "ComputerCraft";

View File

@ -1,12 +1,13 @@
package li.cil.occ.handler; package li.cil.occ.handler.enderstorage;
import li.cil.oc.api.Driver; import li.cil.oc.api.Driver;
import li.cil.occ.handler.IMod;
import li.cil.occ.handler.enderstorage.DriverFrequencyOwner; import li.cil.occ.handler.enderstorage.DriverFrequencyOwner;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import java.util.Map; import java.util.Map;
public final class HandlerEnderStorage implements IHandler { public final class ModEnderStorage implements IMod {
@Override @Override
public String getModId() { public String getModId() {
return "EnderStorage"; return "EnderStorage";

View File

@ -1,15 +1,16 @@
package li.cil.occ.handler; package li.cil.occ.handler.ic2;
import ic2.api.item.ElectricItem; import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem; import ic2.api.item.IElectricItem;
import li.cil.oc.api.Driver; import li.cil.oc.api.Driver;
import li.cil.occ.handler.IMod;
import li.cil.occ.handler.ic2.*; import li.cil.occ.handler.ic2.*;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import java.util.Map; import java.util.Map;
public final class HandlerIndustrialCraft2 implements IHandler { public final class ModIndustrialCraft2 implements IMod {
@Override @Override
public String getModId() { public String getModId() {
return "IC2"; return "IC2";

View File

@ -1,12 +1,13 @@
package li.cil.occ.handler; package li.cil.occ.handler.mekanism;
import li.cil.oc.api.Driver; import li.cil.oc.api.Driver;
import li.cil.occ.handler.IMod;
import li.cil.occ.handler.mekanism.*; import li.cil.occ.handler.mekanism.*;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import java.util.Map; import java.util.Map;
public final class HandlerMekanism implements IHandler { public final class ModMekanism implements IMod {
@Override @Override
public String getModId() { public String getModId() {
return "Mekanism"; return "Mekanism";

View File

@ -1,12 +1,13 @@
package li.cil.occ.handler; package li.cil.occ.handler.redstoneinmotion;
import li.cil.oc.api.Driver; import li.cil.oc.api.Driver;
import li.cil.occ.handler.IMod;
import li.cil.occ.handler.redstoneinmotion.DriverCarriageController; import li.cil.occ.handler.redstoneinmotion.DriverCarriageController;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import java.util.Map; import java.util.Map;
public final class HandlerRedstoneInMotion implements IHandler { public final class ModRedstoneInMotion implements IMod {
@Override @Override
public String getModId() { public String getModId() {
return "JAKJ_RedstoneInMotion"; return "JAKJ_RedstoneInMotion";

View File

@ -1,14 +1,15 @@
package li.cil.occ.handler; package li.cil.occ.handler.thermalexpansion;
import cofh.api.energy.IEnergyContainerItem; import cofh.api.energy.IEnergyContainerItem;
import li.cil.oc.api.Driver; import li.cil.oc.api.Driver;
import li.cil.occ.handler.IMod;
import li.cil.occ.handler.thermalexpansion.*; import li.cil.occ.handler.thermalexpansion.*;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import java.util.Map; import java.util.Map;
public final class HandlerThermalExpansion implements IHandler { public final class ModThermalExpansion implements IMod {
@Override @Override
public String getModId() { public String getModId() {
return "ThermalExpansion"; return "ThermalExpansion";

View File

@ -1,12 +1,13 @@
package li.cil.occ.handler; package li.cil.occ.handler.vanilla;
import li.cil.oc.api.Driver; import li.cil.oc.api.Driver;
import li.cil.occ.handler.IMod;
import li.cil.occ.handler.vanilla.*; import li.cil.occ.handler.vanilla.*;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import java.util.Map; import java.util.Map;
public final class HandlerVanilla implements IHandler { public final class ModVanilla implements IMod {
@Override @Override
public String getModId() { public String getModId() {
return null; return null;