Fix up blacklist for cardboard boxes!
This commit is contained in:
parent
705352e7c4
commit
f5c607bef0
4 changed files with 50 additions and 12 deletions
|
@ -3,12 +3,45 @@ package mekanism.api;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import net.minecraftforge.oredict.OreDictionary;
|
||||||
|
|
||||||
public class MekanismAPI
|
public class MekanismAPI
|
||||||
{
|
{
|
||||||
//Add a BlockInfo value here if you don't want a certain block to be picked up by cardboard boxes
|
//Add a BlockInfo value here if you don't want a certain block to be picked up by cardboard boxes
|
||||||
public static Set<BlockInfo> cardboardBoxIgnore = new HashSet<BlockInfo>();
|
private static Set<BlockInfo> cardboardBoxIgnore = new HashSet<BlockInfo>();
|
||||||
|
|
||||||
public static class BlockInfo
|
public static boolean isBlockCompatible(int id, int meta)
|
||||||
|
{
|
||||||
|
boolean has = false;
|
||||||
|
|
||||||
|
for(BlockInfo i : cardboardBoxIgnore)
|
||||||
|
{
|
||||||
|
if(i.id == id && (i.meta == OreDictionary.WILDCARD_VALUE || i.meta == meta))
|
||||||
|
{
|
||||||
|
has = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!has)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void addBoxBlacklist(int id, int meta)
|
||||||
|
{
|
||||||
|
cardboardBoxIgnore.add(new BlockInfo(id, meta));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void removeBoxBlacklist(int id, int meta)
|
||||||
|
{
|
||||||
|
cardboardBoxIgnore.remove(new BlockInfo(id, meta));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class BlockInfo
|
||||||
{
|
{
|
||||||
public int id;
|
public int id;
|
||||||
public int meta;
|
public int meta;
|
||||||
|
|
|
@ -3,7 +3,6 @@ package mekanism.common;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
import mekanism.api.MekanismAPI;
|
import mekanism.api.MekanismAPI;
|
||||||
import mekanism.api.MekanismAPI.BlockInfo;
|
|
||||||
import mekanism.common.entity.EntityRobit;
|
import mekanism.common.entity.EntityRobit;
|
||||||
import mekanism.common.inventory.container.ContainerAdvancedElectricMachine;
|
import mekanism.common.inventory.container.ContainerAdvancedElectricMachine;
|
||||||
import mekanism.common.inventory.container.ContainerChanceMachine;
|
import mekanism.common.inventory.container.ContainerChanceMachine;
|
||||||
|
@ -209,10 +208,10 @@ public class CommonProxy
|
||||||
|
|
||||||
if(Mekanism.cardboardSpawners)
|
if(Mekanism.cardboardSpawners)
|
||||||
{
|
{
|
||||||
MekanismAPI.cardboardBoxIgnore.remove(new BlockInfo(Block.mobSpawner.blockID, 0));
|
MekanismAPI.removeBoxBlacklist(Block.mobSpawner.blockID, 0);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
MekanismAPI.cardboardBoxIgnore.add(new BlockInfo(Block.mobSpawner.blockID, 0));
|
MekanismAPI.addBoxBlacklist(Block.mobSpawner.blockID, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
Mekanism.enrichmentChamberUsage = Mekanism.configuration.get("usage", "EnrichmentChamberUsage", 50D).getDouble(50D);
|
Mekanism.enrichmentChamberUsage = Mekanism.configuration.get("usage", "EnrichmentChamberUsage", 50D).getDouble(50D);
|
||||||
|
@ -408,10 +407,10 @@ public class CommonProxy
|
||||||
{
|
{
|
||||||
if(Mekanism.cardboardSpawners)
|
if(Mekanism.cardboardSpawners)
|
||||||
{
|
{
|
||||||
MekanismAPI.cardboardBoxIgnore.remove(new BlockInfo(Block.mobSpawner.blockID, 0));
|
MekanismAPI.removeBoxBlacklist(Block.mobSpawner.blockID, 0);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
MekanismAPI.cardboardBoxIgnore.add(new BlockInfo(Block.mobSpawner.blockID, 0));
|
MekanismAPI.addBoxBlacklist(Block.mobSpawner.blockID, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("[Mekanism] Received config from server.");
|
System.out.println("[Mekanism] Received config from server.");
|
||||||
|
|
|
@ -10,12 +10,12 @@ import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import codechicken.multipart.handler.MultipartProxy;
|
||||||
import mekanism.api.ChanceOutput;
|
import mekanism.api.ChanceOutput;
|
||||||
import mekanism.api.ChemicalPair;
|
import mekanism.api.ChemicalPair;
|
||||||
import mekanism.api.Coord4D;
|
import mekanism.api.Coord4D;
|
||||||
import mekanism.api.EnumColor;
|
import mekanism.api.EnumColor;
|
||||||
import mekanism.api.MekanismAPI;
|
import mekanism.api.MekanismAPI;
|
||||||
import mekanism.api.MekanismAPI.BlockInfo;
|
|
||||||
import mekanism.api.gas.Gas;
|
import mekanism.api.gas.Gas;
|
||||||
import mekanism.api.gas.GasNetwork.GasTransferEvent;
|
import mekanism.api.gas.GasNetwork.GasTransferEvent;
|
||||||
import mekanism.api.gas.GasRegistry;
|
import mekanism.api.gas.GasRegistry;
|
||||||
|
@ -1123,8 +1123,15 @@ public class Mekanism
|
||||||
addRecipes();
|
addRecipes();
|
||||||
addEntities();
|
addEntities();
|
||||||
|
|
||||||
MekanismAPI.cardboardBoxIgnore.add(new BlockInfo(BoundingBlock.blockID, 0));
|
MekanismAPI.addBoxBlacklist(BoundingBlock.blockID, OreDictionary.WILDCARD_VALUE);
|
||||||
MekanismAPI.cardboardBoxIgnore.add(new BlockInfo(BoundingBlock.blockID, 1));
|
MekanismAPI.addBoxBlacklist(Block.bedrock.blockID, 0);
|
||||||
|
MekanismAPI.addBoxBlacklist(Block.portal.blockID, 0);
|
||||||
|
MekanismAPI.addBoxBlacklist(Block.endPortal.blockID, 0);
|
||||||
|
MekanismAPI.addBoxBlacklist(Block.endPortalFrame.blockID, OreDictionary.WILDCARD_VALUE);
|
||||||
|
MekanismAPI.addBoxBlacklist(Block.bed.blockID, OreDictionary.WILDCARD_VALUE);
|
||||||
|
MekanismAPI.addBoxBlacklist(Block.doorWood.blockID, OreDictionary.WILDCARD_VALUE);
|
||||||
|
MekanismAPI.addBoxBlacklist(Block.doorIron.blockID, OreDictionary.WILDCARD_VALUE);
|
||||||
|
MekanismAPI.addBoxBlacklist(MultipartProxy.block().blockID, OreDictionary.WILDCARD_VALUE);
|
||||||
|
|
||||||
registerOreDict();
|
registerOreDict();
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@ import java.util.List;
|
||||||
|
|
||||||
import mekanism.api.EnumColor;
|
import mekanism.api.EnumColor;
|
||||||
import mekanism.api.MekanismAPI;
|
import mekanism.api.MekanismAPI;
|
||||||
import mekanism.api.MekanismAPI.BlockInfo;
|
|
||||||
import mekanism.common.Mekanism;
|
import mekanism.common.Mekanism;
|
||||||
import mekanism.common.block.BlockCardboardBox.BlockData;
|
import mekanism.common.block.BlockCardboardBox.BlockData;
|
||||||
import mekanism.common.tile.TileEntityCardboardBox;
|
import mekanism.common.tile.TileEntityCardboardBox;
|
||||||
|
@ -76,7 +75,7 @@ public class ItemBlockCardboardBox extends ItemBlock
|
||||||
int id = world.getBlockId(x, y, z);
|
int id = world.getBlockId(x, y, z);
|
||||||
int meta = world.getBlockMetadata(x, y, z);
|
int meta = world.getBlockMetadata(x, y, z);
|
||||||
|
|
||||||
if(!world.isRemote && !MekanismAPI.cardboardBoxIgnore.contains(new BlockInfo(id, meta)))
|
if(!world.isRemote && !MekanismAPI.isBlockCompatible(id, meta))
|
||||||
{
|
{
|
||||||
BlockData data = new BlockData();
|
BlockData data = new BlockData();
|
||||||
data.id = id;
|
data.id = id;
|
||||||
|
|
Loading…
Reference in a new issue