nxminetilities.modules.AdditionalFacades.java Source code

Java tutorial

Introduction

Here is the source code for nxminetilities.modules.AdditionalFacades.java

Source

/**
 * This work is licensed under the Creative Commons
 * Attribution-ShareAlike 3.0 Unported License. To view a copy of this
 * license, visit http://creativecommons.org/licenses/by-sa/3.0/.
 */

package nxminetilities.modules;

import java.util.Set;

import net.minecraft.item.ItemStack;
import nxminetilities.Minetilities;
import nxminetilities.helpers.FacadeHelper;

import com.google.common.base.Strings;
import com.google.common.collect.Sets;

public class AdditionalFacades {
    private static int facadeCount = 0;

    public static void LoadFacades(String facadeIdList) {
        Set<Integer> facadeBlockIds = Sets.newHashSet();
        for (String id : facadeIdList.trim().split("\\s*,\\s*")) {
            try {
                facadeBlockIds.add(Integer.parseInt(id));
            } catch (Exception e) {
                continue;
            }
        }

        // Add nxMinetilities blocks
        if (Minetilities.bColouredStone.blockID != 0) {
            facadeBlockIds.add(Minetilities.bColouredStone.blockID);
        }
        if (Minetilities.bColouredBrick.blockID != 0) {
            facadeBlockIds.add(Minetilities.bColouredBrick.blockID);
        }
        if (Minetilities.bColouredChiselledStone.blockID != 0) {
            facadeBlockIds.add(Minetilities.bColouredChiselledStone.blockID);
        }

        for (int blockId : facadeBlockIds) {
            ItemStack is = new ItemStack(blockId, 1, -1);

            try {
                if (is.getHasSubtypes()) {
                    Set<String> names = Sets.newHashSet();
                    for (int meta = 0; meta < 15; meta++) {
                        ItemStack metaIs = new ItemStack(blockId, 1, meta);
                        if (!Strings.isNullOrEmpty(metaIs.getItemName()) && names.add(metaIs.getItemName())) {
                            FacadeHelper.addBuildcraftFacade(metaIs);
                            facadeCount++;
                        }
                    }
                } else {
                    FacadeHelper.addBuildcraftFacade(is);
                    facadeCount++;
                }
            } catch (Exception e) {
                Minetilities.nxLog.severe("[AdditionalFacades] ERROR! Exception thrown adding block: " + blockId);
            }
        }

        Minetilities.nxLog.info("[AdditionalFacades] Successfully added " + facadeCount + " facades.");
    }
}