equivalent-exchange-3/src/main/java/com/pahimar/ee3/api/blacklist/BlacklistRegistryProxy.java
Pahimar 30c0eb46b7 Fix a possible NPE in the FluidStack comparator
Post calculation energy values set by command now send the new energy value mapping to all currently logged in players
Added methods for devs to see what items are currently blacklisted in the blacklist registry proxy
Added methods for devs to see what energy values are currently assigned in the energy value registry proxy
BlacklistRegistry contents are now synchronized with players when they log into a server, enabling players to play on different servers with different blacklist configurations without needing to update their own configs
Fixed issue in synching of all energy values where the incorrect map was used to synch against on the client side
2016-05-24 23:12:49 -04:00

170 lines
3.5 KiB
Java

package com.pahimar.ee3.api.blacklist;
import com.pahimar.ee3.EquivalentExchange3;
import com.pahimar.ee3.exchange.WrappedStack;
import cpw.mods.fml.common.Mod;
import java.util.Set;
public class BlacklistRegistryProxy {
/**
* TODO Finis JavaDoc
*
* @return
*/
public static Set<WrappedStack> getKnowledgeBlacklist() {
return getBlacklist(Blacklist.KNOWLEDGE);
}
/**
* TODO Finish JavaDoc
*
* @return
*/
public static Set<WrappedStack> getExchangeBlacklist() {
return getBlacklist(Blacklist.EXCHANGE);
}
/**
* TODO Finish JavaDoc
*
* @param blacklist
* @return
*/
public static Set<WrappedStack> getBlacklist(Blacklist blacklist) {
init();
if (ee3Mod != null) {
if (blacklist == Blacklist.KNOWLEDGE) {
return EE3Wrapper.ee3mod.getBlacklistRegistry().getKnowledgeBlacklist();
}
else if (blacklist == Blacklist.EXCHANGE) {
return EE3Wrapper.ee3mod.getBlacklistRegistry().getExchangeBlacklist();
}
}
return null;
}
/**
* TODO Finish JavaDoc
*
* @param object
* @return
*/
public static boolean isLearnable(Object object) {
init();
if (ee3Mod != null) {
return EE3Wrapper.ee3mod.getBlacklistRegistry().isLearnable(object);
}
return false;
}
/**
* TODO Finish JavaDoc
*
* @param object
* @return
*/
public static boolean isExchangeable(Object object) {
init();
if (ee3Mod != null) {
return EE3Wrapper.ee3mod.getBlacklistRegistry().isExchangeable(object);
}
return false;
}
/**
* TODO Finish JavaDoc
*
* @param object
*/
public static void setAsLearnable(Object object) {
removeFromBlacklist(object, Blacklist.KNOWLEDGE);
}
/**
* TODO Finish JavaDoc
*
* @param object
*/
public static void setAsNotLearnable(Object object) {
addToBlacklist(object, Blacklist.KNOWLEDGE);
}
/**
* TODO Finish JavaDoc
*
* @param object
*/
public static void setAsExchangeable(Object object) {
removeFromBlacklist(object, Blacklist.EXCHANGE);
}
/**
* TODO Finish JavaDoc
*
* @param object
*/
public static void setAsNotExchangeable(Object object) {
addToBlacklist(object, Blacklist.EXCHANGE);
}
/**
* TODO Finish JavaDoc
*
* @param object
* @param blacklist
*/
public static void addToBlacklist(Object object, Blacklist blacklist) {
init();
if (ee3Mod != null) {
EE3Wrapper.ee3mod.getBlacklistRegistry().addToBlacklist(object, blacklist);
}
}
/**
* TODO Finish JavaDoc
*
* @param object
* @param blacklist
*/
public static void removeFromBlacklist(Object object, Blacklist blacklist) {
init();
if (ee3Mod != null) {
EE3Wrapper.ee3mod.getBlacklistRegistry().removeFromBlacklist(object, blacklist);
}
}
@Mod.Instance("EE3")
private static Object ee3Mod;
private static class EE3Wrapper {
private static EquivalentExchange3 ee3mod;
}
private static void init() {
if (ee3Mod != null) {
BlacklistRegistryProxy.EE3Wrapper.ee3mod = (EquivalentExchange3) ee3Mod;
}
}
public enum Blacklist {
KNOWLEDGE,
EXCHANGE
}
}