shapes
@ -9,6 +9,7 @@
|
||||
* Updated basalt textures
|
||||
* Scaffold blocks can now be placed horizontally
|
||||
* Updated the shredder's textures
|
||||
* The strand caster will now cast its remaining buffer after 10 seconds of inactivity, even if the buffer is not full enough for a batch of 9
|
||||
|
||||
## Fixed
|
||||
* The conveyor grabber should no longer skip over items when used in long lines
|
||||
|
||||
@ -48,7 +48,7 @@ credits=HbMinecraft,\
|
||||
\ Voxelstice (OpenComputers integration, turbine spinup),\
|
||||
\ BallOfEnergy1 (OpenComputers integration),\
|
||||
\ sdddddf80 (recipe configs, chinese localization, custom machine holograms),\
|
||||
\ Abel1502 (optimization, crate upgrade recipes),\
|
||||
\ Abel1502 (optimization, crate upgrade recipes, strand caster improvements),\
|
||||
\ SuperCraftAlex (tooltips)\
|
||||
\ Ice-Arrow (research reactor tweaks),\
|
||||
\ 245tt (anvil GUI improvements),\
|
||||
|
||||
@ -2,6 +2,7 @@ package com.hbm.crafting;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.BlockEnums.EnumStoneType;
|
||||
import com.hbm.inventory.material.MaterialShapes;
|
||||
import com.hbm.items.ItemEnums.EnumCokeType;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial;
|
||||
@ -106,31 +107,31 @@ public class MineralRecipes {
|
||||
|
||||
addBillet(ModItems.billet_cobalt, ModItems.ingot_cobalt, ModItems.nugget_cobalt);
|
||||
addBillet(ModItems.billet_co60, ModItems.ingot_co60, ModItems.nugget_co60);
|
||||
addBillet(ModItems.billet_sr90, ModItems.ingot_sr90, ModItems.nugget_sr90, SR90.allNuggets());
|
||||
addBillet(ModItems.billet_uranium, ModItems.ingot_uranium, ModItems.nugget_uranium, U.allNuggets());
|
||||
addBillet(ModItems.billet_u233, ModItems.ingot_u233, ModItems.nugget_u233, U233.allNuggets());
|
||||
addBillet(ModItems.billet_u235, ModItems.ingot_u235, ModItems.nugget_u235, U235.allNuggets());
|
||||
addBillet(ModItems.billet_u238, ModItems.ingot_u238, ModItems.nugget_u238, U238.allNuggets());
|
||||
addBillet(ModItems.billet_th232, ModItems.ingot_th232, ModItems.nugget_th232, TH232.allNuggets());
|
||||
addBillet(ModItems.billet_plutonium, ModItems.ingot_plutonium, ModItems.nugget_plutonium, PU.allNuggets());
|
||||
addBillet(ModItems.billet_pu238, ModItems.ingot_pu238, ModItems.nugget_pu238, PU238.allNuggets());
|
||||
addBillet(ModItems.billet_pu239, ModItems.ingot_pu239, ModItems.nugget_pu239, PU239.allNuggets());
|
||||
addBillet(ModItems.billet_pu240, ModItems.ingot_pu240, ModItems.nugget_pu240, PU240.allNuggets());
|
||||
addBillet(ModItems.billet_pu241, ModItems.ingot_pu241, ModItems.nugget_pu241, PU241.allNuggets());
|
||||
addBillet(ModItems.billet_sr90, ModItems.ingot_sr90, ModItems.nugget_sr90, SR90.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_uranium, ModItems.ingot_uranium, ModItems.nugget_uranium, U.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_u233, ModItems.ingot_u233, ModItems.nugget_u233, U233.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_u235, ModItems.ingot_u235, ModItems.nugget_u235, U235.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_u238, ModItems.ingot_u238, ModItems.nugget_u238, U238.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_th232, ModItems.ingot_th232, ModItems.nugget_th232, TH232.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_plutonium, ModItems.ingot_plutonium, ModItems.nugget_plutonium, PU.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_pu238, ModItems.ingot_pu238, ModItems.nugget_pu238, PU238.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_pu239, ModItems.ingot_pu239, ModItems.nugget_pu239, PU239.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_pu240, ModItems.ingot_pu240, ModItems.nugget_pu240, PU240.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_pu241, ModItems.ingot_pu241, ModItems.nugget_pu241, PU241.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_pu_mix, ModItems.ingot_pu_mix, ModItems.nugget_pu_mix);
|
||||
addBillet(ModItems.billet_am241, ModItems.ingot_am241, ModItems.nugget_am241, AM241.allNuggets());
|
||||
addBillet(ModItems.billet_am242, ModItems.ingot_am242, ModItems.nugget_am242, AM242.allNuggets());
|
||||
addBillet(ModItems.billet_am241, ModItems.ingot_am241, ModItems.nugget_am241, AM241.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_am242, ModItems.ingot_am242, ModItems.nugget_am242, AM242.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_am_mix, ModItems.ingot_am_mix, ModItems.nugget_am_mix);
|
||||
addBillet(ModItems.billet_neptunium, ModItems.ingot_neptunium, ModItems.nugget_neptunium, NP237.allNuggets());
|
||||
addBillet(ModItems.billet_polonium, ModItems.ingot_polonium, ModItems.nugget_polonium, PO210.allNuggets());
|
||||
addBillet(ModItems.billet_technetium, ModItems.ingot_technetium, ModItems.nugget_technetium, TC99.allNuggets());
|
||||
addBillet(ModItems.billet_au198, ModItems.ingot_au198, ModItems.nugget_au198, AU198.allNuggets());
|
||||
addBillet(ModItems.billet_pb209, ModItems.ingot_pb209, ModItems.nugget_pb209, PB209.allNuggets()); //and so forth
|
||||
addBillet(ModItems.billet_ra226, ModItems.ingot_ra226, ModItems.nugget_ra226, RA226.allNuggets());
|
||||
addBillet(ModItems.billet_actinium, ModItems.ingot_actinium, ModItems.nugget_actinium, AC227.allNuggets());
|
||||
addBillet(ModItems.billet_neptunium, ModItems.ingot_neptunium, ModItems.nugget_neptunium, NP237.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_polonium, ModItems.ingot_polonium, ModItems.nugget_polonium, PO210.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_technetium, ModItems.ingot_technetium, ModItems.nugget_technetium, TC99.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_au198, ModItems.ingot_au198, ModItems.nugget_au198, AU198.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_pb209, ModItems.ingot_pb209, ModItems.nugget_pb209, PB209.all(MaterialShapes.NUGGET)); //and so forth
|
||||
addBillet(ModItems.billet_ra226, ModItems.ingot_ra226, ModItems.nugget_ra226, RA226.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_actinium, ModItems.ingot_actinium, ModItems.nugget_actinium, AC227.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_schrabidium, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, SA326.nugget());
|
||||
addBillet(ModItems.billet_solinium, ModItems.ingot_solinium, ModItems.nugget_solinium, SA327.nugget());
|
||||
addBillet(ModItems.billet_gh336, ModItems.ingot_gh336, ModItems.nugget_gh336, GH336.allNuggets());
|
||||
addBillet(ModItems.billet_gh336, ModItems.ingot_gh336, ModItems.nugget_gh336, GH336.all(MaterialShapes.NUGGET));
|
||||
addBillet(ModItems.billet_uranium_fuel, ModItems.ingot_uranium_fuel, ModItems.nugget_uranium_fuel);
|
||||
addBillet(ModItems.billet_thorium_fuel, ModItems.ingot_thorium_fuel, ModItems.nugget_thorium_fuel);
|
||||
addBillet(ModItems.billet_plutonium_fuel, ModItems.ingot_plutonium_fuel, ModItems.nugget_plutonium_fuel);
|
||||
|
||||
@ -498,8 +498,8 @@ public class HazardRegistry {
|
||||
/*
|
||||
* Blacklist
|
||||
*/
|
||||
for(String ore : TH232.ores()) HazardSystem.blacklist(ore);
|
||||
for(String ore : U.ores()) HazardSystem.blacklist(ore);
|
||||
for(String ore : TH232.all(MaterialShapes.ORE)) HazardSystem.blacklist(ore);
|
||||
for(String ore : U.all(MaterialShapes.ORE)) HazardSystem.blacklist(ore);
|
||||
|
||||
|
||||
/*
|
||||
@ -523,7 +523,7 @@ public class HazardRegistry {
|
||||
};
|
||||
|
||||
for(MaterialShapes shape : MaterialShapes.allShapes) {
|
||||
for(String prefix : shape.prefixes) {
|
||||
if(!shape.noAutogen) for(String prefix : shape.prefixes) {
|
||||
for(Object[] o : data) {
|
||||
HazardSystem.register(prefix + o[0], new HazardData().setMutex(0b1).addEntry(new HazardEntry(RADIATION, (float) o[1] * shape.q(1) / MaterialShapes.INGOT.q(1))));
|
||||
}
|
||||
|
||||
@ -9,7 +9,7 @@ import java.util.List;
|
||||
import static com.hbm.items.ModItems.*;
|
||||
import static com.hbm.blocks.ModBlocks.*;
|
||||
import static com.hbm.inventory.OreDictManager.DictFrame.*;
|
||||
import static com.hbm.inventory.OreNames.*;
|
||||
import static com.hbm.inventory.material.MaterialShapes.*;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockOreBasalt.EnumBasaltOreType;
|
||||
@ -205,6 +205,8 @@ public class OreDictManager {
|
||||
public static final DictFrame CMB = new DictFrame("CMBSteel");
|
||||
public static final DictFrame DESH = new DictFrame("WorkersAlloy");
|
||||
public static final DictFrame STAR = new DictFrame("Starmetal");
|
||||
public static final DictFrame GUNMETAL = new DictFrame("GunMetal");
|
||||
public static final DictFrame WEAPONSTEEL = new DictFrame("WeaponSteel");
|
||||
public static final DictFrame BIGMT = new DictFrame("Saturnite");
|
||||
public static final DictFrame FERRO = new DictFrame("Ferrouranium");
|
||||
public static final DictFrame EUPH = new DictFrame("Euphemium");
|
||||
@ -409,6 +411,8 @@ public class OreDictManager {
|
||||
CMB .ingot(ingot_combine_steel) .dust(powder_combine_steel) .plate(plate_combine_steel) .block(block_combine_steel);
|
||||
DESH .nugget(nugget_desh) .ingot(ingot_desh) .dust(powder_desh) .block(block_desh);
|
||||
STAR .ingot(ingot_starmetal) .block(block_starmetal);
|
||||
GUNMETAL .ingot(ingot_gunmetal);
|
||||
WEAPONSTEEL .ingot(ingot_weaponsteel);
|
||||
BIGMT .ingot(ingot_saturnite) .plate(plate_saturnite);
|
||||
FERRO .ingot(ingot_ferrouranium);
|
||||
EUPH .nugget(nugget_euphemium) .ingot(ingot_euphemium) .dust(powder_euphemium) .block(block_euphemium);
|
||||
@ -548,6 +552,14 @@ public class OreDictManager {
|
||||
}
|
||||
if(mat.shapes.contains(MaterialShapes.FRAGMENT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.FRAGMENT.name() + name, new ItemStack(ModItems.bedrock_ore_fragment, 1, mat.id));
|
||||
if(mat.shapes.contains(MaterialShapes.WIRE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.WIRE.name() + name, new ItemStack(ModItems.wire_fine, 1, mat.id));
|
||||
|
||||
if(mat.shapes.contains(MaterialShapes.LIGHTBARREL)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.LIGHTBARREL.name() + name, new ItemStack(ModItems.part_barrel_light, 1, mat.id));
|
||||
if(mat.shapes.contains(MaterialShapes.HEAVYBARREL)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.HEAVYBARREL.name() + name, new ItemStack(ModItems.part_barrel_heavy, 1, mat.id));
|
||||
if(mat.shapes.contains(MaterialShapes.LIGHTRECEIVER)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.LIGHTRECEIVER.name() + name, new ItemStack(ModItems.part_receiver_light, 1, mat.id));
|
||||
if(mat.shapes.contains(MaterialShapes.HEAVYRECEIVER)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.HEAVYRECEIVER.name() + name, new ItemStack(ModItems.part_receiver_heavy, 1, mat.id));
|
||||
if(mat.shapes.contains(MaterialShapes.MECHANISM)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.MECHANISM.name() + name, new ItemStack(ModItems.part_mechanism, 1, mat.id));
|
||||
if(mat.shapes.contains(MaterialShapes.STOCK)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.STOCK.name() + name, new ItemStack(ModItems.part_stock, 1, mat.id));
|
||||
if(mat.shapes.contains(MaterialShapes.GRIP)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.GRIP.name() + name, new ItemStack(ModItems.part_grip, 1, mat.id));
|
||||
}
|
||||
|
||||
for(EnumBedrockOre ore : EnumBedrockOre.values()) {
|
||||
@ -669,8 +681,8 @@ public class OreDictManager {
|
||||
ANY_RUBBER.addPrefix(INGOT, true);
|
||||
ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(BLOCK, true);
|
||||
ANY_HARDPLASTIC.addPrefix(INGOT, true);
|
||||
ANY_RESISTANTALLOY.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(PLATECAST, true).addPrefix(PLATEWELDED, true).addPrefix(HEAVY_COMPONENT, true).addPrefix(BLOCK, true);
|
||||
ANY_BISMOIDBRONZE.addPrefix(INGOT, true).addPrefix(PLATECAST, true);
|
||||
ANY_RESISTANTALLOY.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(CASTPLATE, true).addPrefix(WELDEDPLATE, true).addPrefix(HEAVY_COMPONENT, true).addPrefix(BLOCK, true);
|
||||
ANY_BISMOIDBRONZE.addPrefix(INGOT, true).addPrefix(CASTPLATE, true);
|
||||
ANY_TAR.addPrefix(ANY, false);
|
||||
}
|
||||
|
||||
@ -737,44 +749,28 @@ public class OreDictManager {
|
||||
/*
|
||||
* Quick access methods to grab ore names for recipes.
|
||||
*/
|
||||
public String any() { return ANY + mats[0]; }
|
||||
public String nugget() { return NUGGET + mats[0]; }
|
||||
public String tiny() { return TINY + mats[0]; }
|
||||
public String bolt() { return BOLT + mats[0]; }
|
||||
public String ingot() { return INGOT + mats[0]; }
|
||||
public String dustTiny() { return DUSTTINY + mats[0]; }
|
||||
public String dust() { return DUST + mats[0]; }
|
||||
public String gem() { return GEM + mats[0]; }
|
||||
public String crystal() { return CRYSTAL + mats[0]; }
|
||||
public String plate() { return PLATE + mats[0]; }
|
||||
public String plateCast() { return PLATECAST + mats[0]; }
|
||||
public String plateWelded() { return PLATEWELDED + mats[0]; }
|
||||
public String heavyComp() { return HEAVY_COMPONENT + mats[0]; }
|
||||
public String wireFine() { return WIRE + mats[0]; }
|
||||
public String wireDense() { return WIREDENSE + mats[0]; }
|
||||
public String shell() { return SHELL + mats[0]; }
|
||||
public String pipe() { return PIPE + mats[0]; }
|
||||
public String billet() { return BILLET + mats[0]; }
|
||||
public String block() { return BLOCK + mats[0]; }
|
||||
public String ore() { return ORE + mats[0]; }
|
||||
public String fragment() { return FRAGMENT + mats[0]; }
|
||||
public String[] anys() { return appendToAll(ANY); }
|
||||
public String[] nuggets() { return appendToAll(NUGGET); }
|
||||
public String[] tinys() { return appendToAll(TINY); }
|
||||
public String[] allNuggets() { return appendToAll(NUGGET, TINY); }
|
||||
public String[] ingots() { return appendToAll(INGOT); }
|
||||
public String[] dustTinys() { return appendToAll(DUSTTINY); }
|
||||
public String[] dusts() { return appendToAll(DUST); }
|
||||
public String[] gems() { return appendToAll(GEM); }
|
||||
public String[] crystals() { return appendToAll(CRYSTAL); }
|
||||
public String[] plates() { return appendToAll(PLATE); }
|
||||
public String[] plateCasts() { return appendToAll(PLATECAST); }
|
||||
public String[] shells() { return appendToAll(SHELL); }
|
||||
public String[] pipes() { return appendToAll(PIPE); }
|
||||
public String[] billets() { return appendToAll(BILLET); }
|
||||
public String[] blocks() { return appendToAll(BLOCK); }
|
||||
public String[] ores() { return appendToAll(ORE); }
|
||||
public String[] fragments() { return appendToAll(FRAGMENT); }
|
||||
public String any() { return ANY.name() + mats[0]; }
|
||||
public String nugget() { return NUGGET.name() + mats[0]; }
|
||||
public String tiny() { return TINY.name() + mats[0]; }
|
||||
public String bolt() { return BOLT.name() + mats[0]; }
|
||||
public String ingot() { return INGOT.name() + mats[0]; }
|
||||
public String dustTiny() { return DUSTTINY.name() + mats[0]; }
|
||||
public String dust() { return DUST.name() + mats[0]; }
|
||||
public String gem() { return GEM.name() + mats[0]; }
|
||||
public String crystal() { return CRYSTAL.name() + mats[0]; }
|
||||
public String plate() { return PLATE.name() + mats[0]; }
|
||||
public String plateCast() { return CASTPLATE.name() + mats[0]; }
|
||||
public String plateWelded() { return WELDEDPLATE.name() + mats[0]; }
|
||||
public String heavyComp() { return HEAVY_COMPONENT.name() + mats[0]; }
|
||||
public String wireFine() { return WIRE.name() + mats[0]; }
|
||||
public String wireDense() { return DENSEWIRE.name() + mats[0]; }
|
||||
public String shell() { return SHELL.name() + mats[0]; }
|
||||
public String pipe() { return PIPE.name() + mats[0]; }
|
||||
public String billet() { return BILLET.name() + mats[0]; }
|
||||
public String block() { return BLOCK.name() + mats[0]; }
|
||||
public String ore() { return ORE.name() + mats[0]; }
|
||||
public String fragment() { return FRAGMENT.name() + mats[0]; }
|
||||
public String[] all(MaterialShapes shape) { return appendToAll(shape.prefixes); }
|
||||
|
||||
/** Returns cast (triple) plates if 528 mode is enabled or normal plates if not */
|
||||
public String plate528() { return GeneralConfig.enable528 ? plateCast() : plate(); }
|
||||
@ -868,7 +864,7 @@ public class OreDictManager {
|
||||
}
|
||||
public DictFrame plateCast(Object... plate) {
|
||||
hazMult = HazardRegistry.plateCast;
|
||||
return makeObject(PLATECAST, plate);
|
||||
return makeObject(CASTPLATE, plate);
|
||||
}
|
||||
public DictFrame billet(Object... billet) {
|
||||
hazMult = HazardRegistry.billet;
|
||||
@ -888,8 +884,9 @@ public class OreDictManager {
|
||||
return makeObject(ORENETHER, oreNether);
|
||||
}
|
||||
|
||||
public DictFrame makeObject(String tag, Object... objects) {
|
||||
public DictFrame makeObject(MaterialShapes shape, Object... objects) {
|
||||
|
||||
String tag = shape.name();
|
||||
for(Object o : objects) {
|
||||
if(o instanceof Item) registerStack(tag, new ItemStack((Item) o));
|
||||
if(o instanceof Block) registerStack(tag, new ItemStack((Block) o));
|
||||
@ -974,8 +971,9 @@ public class OreDictManager {
|
||||
* @param prefix The prefix of both the input and result of the reregistration
|
||||
* @return
|
||||
*/
|
||||
public DictGroup addPrefix(String prefix, boolean inputPrefix) {
|
||||
public DictGroup addPrefix(MaterialShapes shape, boolean inputPrefix) {
|
||||
|
||||
String prefix = shape.name();
|
||||
String group = prefix + groupName;
|
||||
|
||||
for(String name : names) {
|
||||
@ -998,24 +996,24 @@ public class OreDictManager {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String any() { return ANY + groupName; }
|
||||
public String nugget() { return NUGGET + groupName; }
|
||||
public String tiny() { return TINY + groupName; }
|
||||
public String bolt() { return BOLT + groupName; }
|
||||
public String ingot() { return INGOT + groupName; }
|
||||
public String dustTiny() { return DUSTTINY + groupName; }
|
||||
public String dust() { return DUST + groupName; }
|
||||
public String gem() { return GEM + groupName; }
|
||||
public String crystal() { return CRYSTAL + groupName; }
|
||||
public String plate() { return PLATE + groupName; }
|
||||
public String plateCast() { return PLATECAST + groupName; }
|
||||
public String plateWelded() { return PLATEWELDED + groupName; }
|
||||
public String heavyComp() { return HEAVY_COMPONENT + groupName; }
|
||||
public String wireFine() { return WIRE + groupName; }
|
||||
public String wireDense() { return WIREDENSE + groupName; }
|
||||
public String billet() { return BILLET + groupName; }
|
||||
public String block() { return BLOCK + groupName; }
|
||||
public String ore() { return ORE + groupName; }
|
||||
public String any() { return ANY.name() + groupName; }
|
||||
public String nugget() { return NUGGET.name() + groupName; }
|
||||
public String tiny() { return TINY.name() + groupName; }
|
||||
public String bolt() { return BOLT.name() + groupName; }
|
||||
public String ingot() { return INGOT.name() + groupName; }
|
||||
public String dustTiny() { return DUSTTINY .name() + groupName; }
|
||||
public String dust() { return DUST.name() + groupName; }
|
||||
public String gem() { return GEM.name() + groupName; }
|
||||
public String crystal() { return CRYSTAL.name() + groupName; }
|
||||
public String plate() { return PLATE.name() + groupName; }
|
||||
public String plateCast() { return CASTPLATE.name() + groupName; }
|
||||
public String plateWelded() { return WELDEDPLATE.name() + groupName; }
|
||||
public String heavyComp() { return HEAVY_COMPONENT.name() + groupName; }
|
||||
public String wireFine() { return WIRE.name() + groupName; }
|
||||
public String wireDense() { return DENSEWIRE.name() + groupName; }
|
||||
public String billet() { return BILLET.name() + groupName; }
|
||||
public String block() { return BLOCK.name() + groupName; }
|
||||
public String ore() { return ORE.name() + groupName; }
|
||||
}
|
||||
|
||||
private static void addReRegistration(String original, String additional) {
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
package com.hbm.inventory;
|
||||
|
||||
public class OreNames {
|
||||
|
||||
/*
|
||||
* PREFIXES
|
||||
*/
|
||||
public static final String ANY = "any";
|
||||
public static final String NUGGET = "nugget";
|
||||
public static final String TINY = "tiny";
|
||||
public static final String FRAGMENT = "bedrockorefragment";
|
||||
public static final String BOLT = "bolt";
|
||||
public static final String INGOT = "ingot";
|
||||
public static final String DUSTTINY = "dustTiny";
|
||||
public static final String DUST = "dust";
|
||||
public static final String GEM = "gem";
|
||||
public static final String CRYSTAL = "crystal";
|
||||
public static final String PLATE = "plate";
|
||||
public static final String PLATECAST = "plateTriple"; //cast plates are solid plates made from 3 ingots, turns out that's literally just a GT triple plate
|
||||
public static final String PLATEWELDED = "plateSextuple";
|
||||
public static final String SHELL = "shell";
|
||||
public static final String PIPE = "ntmpipe";
|
||||
public static final String WIRE = "wireFine";
|
||||
public static final String WIREDENSE = "wireDense";
|
||||
public static final String BILLET = "billet";
|
||||
public static final String BLOCK = "block";
|
||||
public static final String ORE = "ore";
|
||||
public static final String ORENETHER = "oreNether";
|
||||
public static final String HEAVY_COMPONENT = "componentHeavy";
|
||||
|
||||
public static final String[] prefixes = new String[] {
|
||||
ANY, NUGGET, TINY, FRAGMENT, BOLT, INGOT, DUSTTINY, DUST, GEM, CRYSTAL, PLATE, PLATECAST, BILLET, BLOCK, ORE, ORENETHER, HEAVY_COMPONENT, WIRE, WIREDENSE
|
||||
};
|
||||
}
|
||||
@ -4,11 +4,16 @@ import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.container.ContainerMachineSolderingStation;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.toserver.NBTControlPacket;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSolderingStation;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIMachineSolderingStation extends GuiInfoContainer {
|
||||
@ -32,6 +37,24 @@ public class GUIMachineSolderingStation extends GuiInfoContainer {
|
||||
this.drawElectricityInfo(this, x, y, guiLeft + 152, guiTop + 18, 16, 52, solderer.getPower(), solderer.getMaxPower());
|
||||
|
||||
this.drawCustomInfoStat(x, y, guiLeft + 78, guiTop + 67, 8, 8, guiLeft + 78, guiTop + 67, this.getUpgradeInfo(solderer));
|
||||
|
||||
|
||||
this.drawCustomInfoStat(x, y, guiLeft + 5, guiTop + 66, 10, 10, x, y,
|
||||
"Recipe Collision Prevention: " + (solderer.collisionPrevention ? EnumChatFormatting.GREEN + "ON" : EnumChatFormatting.RED + "OFF"),
|
||||
"Prevents no-fluid recipes from being processed",
|
||||
"when fluid is present.");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void mouseClicked(int x, int y, int i) {
|
||||
super.mouseClicked(x, y, i);
|
||||
|
||||
if(guiLeft + 5 <= x && guiLeft + 5 + 10 > x && guiTop + 66 < y && guiTop + 66 + 10 >= y) {
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setBoolean("collision", true);
|
||||
PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, solderer.xCoord, solderer.yCoord, solderer.zCoord));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -9,8 +9,13 @@ public class MaterialShapes {
|
||||
|
||||
public static final List<MaterialShapes> allShapes = new ArrayList();
|
||||
|
||||
public static final MaterialShapes ANY = new MaterialShapes(0).noAutogen();
|
||||
public static final MaterialShapes ORE = new MaterialShapes(0, "ore", "oreNether").noAutogen();
|
||||
public static final MaterialShapes ORENETHER = new MaterialShapes(0, "oreNether").noAutogen();
|
||||
|
||||
public static final MaterialShapes QUANTUM = new MaterialShapes(1); // 1/72 of an ingot, allows the ingot to be divisible through 2, 4, 6, 8, 9, 12, 24 and 36
|
||||
public static final MaterialShapes NUGGET = new MaterialShapes(8, "nugget");
|
||||
public static final MaterialShapes NUGGET = new MaterialShapes(8, "nugget", "tiny");
|
||||
public static final MaterialShapes TINY = new MaterialShapes(8, "tiny").noAutogen();
|
||||
public static final MaterialShapes FRAGMENT = new MaterialShapes(8, "bedrockorefragment");
|
||||
public static final MaterialShapes DUSTTINY = new MaterialShapes(NUGGET.quantity, "dustTiny");
|
||||
public static final MaterialShapes WIRE = new MaterialShapes(9, "wireFine");
|
||||
@ -29,28 +34,37 @@ public class MaterialShapes {
|
||||
public static final MaterialShapes QUART = new MaterialShapes(162);
|
||||
public static final MaterialShapes BLOCK = new MaterialShapes(INGOT.quantity * 9, "block");
|
||||
public static final MaterialShapes HEAVY_COMPONENT = new MaterialShapes(CASTPLATE.quantity * 256, "componentHeavy");
|
||||
|
||||
public static final MaterialShapes LIGHTBARREL = new MaterialShapes(INGOT.quantity * 3, "barrelLight");
|
||||
public static final MaterialShapes HEAVYBARREL = new MaterialShapes(INGOT.quantity * 6, "barrelHeavy");
|
||||
public static final MaterialShapes LIGHTRECEIVER = new MaterialShapes(INGOT.quantity * 4, "receiverLight");
|
||||
public static final MaterialShapes HEAVYRECEIVER = new MaterialShapes(INGOT.quantity * 9, "receiverHeavy");
|
||||
public static final MaterialShapes MECHANISM = new MaterialShapes(INGOT.quantity * 4, "gunMechanism");
|
||||
public static final MaterialShapes STOCK = new MaterialShapes(INGOT.quantity * 4, "stock");
|
||||
public static final MaterialShapes GRIP = new MaterialShapes(INGOT.quantity * 2, "grip");
|
||||
|
||||
public static void registerCompatShapes() {
|
||||
|
||||
if(Compat.isModLoaded(Compat.MOD_GT6)) {
|
||||
new MaterialShapes(BLOCK.q(1), "blockDust");
|
||||
new MaterialShapes(BLOCK.q(1), "blockGem");
|
||||
new MaterialShapes(BLOCK.q(1), "blockIngot");
|
||||
new MaterialShapes(BLOCK.q(1), "blockSolid");
|
||||
new MaterialShapes(INGOT.q(9, 8), "crushed");
|
||||
new MaterialShapes(INGOT.q(9, 72), "crushedTiny");
|
||||
new MaterialShapes(INGOT.q(10, 8), "crushedPurified");
|
||||
new MaterialShapes(INGOT.q(10, 72), "crushedPurifiedTiny");
|
||||
new MaterialShapes(INGOT.q(11, 8), "crushedCentrifuged");
|
||||
new MaterialShapes(INGOT.q(11, 72), "crushedCentrifugedTiny");
|
||||
new MaterialShapes(INGOT.q(1, 4), "dustSmall");
|
||||
new MaterialShapes(INGOT.q(1, 72), "dustDiv72");
|
||||
new MaterialShapes(INGOT.q(10, 9), "dustImpure");
|
||||
new MaterialShapes(INGOT.q(11, 9), "dustPure");
|
||||
new MaterialShapes(INGOT.q(12, 9), "dustRefined");
|
||||
new MaterialShapes(BLOCK.q(1), "blockDust").noAutogen();
|
||||
new MaterialShapes(BLOCK.q(1), "blockGem").noAutogen();
|
||||
new MaterialShapes(BLOCK.q(1), "blockIngot").noAutogen();
|
||||
new MaterialShapes(BLOCK.q(1), "blockSolid").noAutogen();
|
||||
new MaterialShapes(INGOT.q(9, 8), "crushed").noAutogen();
|
||||
new MaterialShapes(INGOT.q(9, 72), "crushedTiny").noAutogen();
|
||||
new MaterialShapes(INGOT.q(10, 8), "crushedPurified").noAutogen();
|
||||
new MaterialShapes(INGOT.q(10, 72), "crushedPurifiedTiny").noAutogen();
|
||||
new MaterialShapes(INGOT.q(11, 8), "crushedCentrifuged").noAutogen();
|
||||
new MaterialShapes(INGOT.q(11, 72), "crushedCentrifugedTiny").noAutogen();
|
||||
new MaterialShapes(INGOT.q(1, 4), "dustSmall").noAutogen();
|
||||
new MaterialShapes(INGOT.q(1, 72), "dustDiv72").noAutogen();
|
||||
new MaterialShapes(INGOT.q(10, 9), "dustImpure").noAutogen();
|
||||
new MaterialShapes(INGOT.q(11, 9), "dustPure").noAutogen();
|
||||
new MaterialShapes(INGOT.q(12, 9), "dustRefined").noAutogen();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean noAutogen = false;
|
||||
private int quantity;
|
||||
public final String[] prefixes;
|
||||
|
||||
@ -65,6 +79,12 @@ public class MaterialShapes {
|
||||
allShapes.add(this);
|
||||
}
|
||||
|
||||
/** Disables recipe autogen for special cases like compatibility prefixes (TINY, ORENETHER), technical prefixes (ANY) or prefixes that have to be handled manually (ORE) */
|
||||
public MaterialShapes noAutogen() {
|
||||
this.noAutogen = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int q(int amount) {
|
||||
return this.quantity * amount;
|
||||
}
|
||||
@ -76,4 +96,8 @@ public class MaterialShapes {
|
||||
public String name() {
|
||||
return (prefixes != null && prefixes.length > 0) ? prefixes[0] : "unknown";
|
||||
}
|
||||
|
||||
public String make(NTMMaterial mat) {
|
||||
return this.name() + mat.names[0];
|
||||
}
|
||||
}
|
||||
|
||||
@ -131,25 +131,27 @@ public class Mats {
|
||||
public static final NTMMaterial MAT_OSMIRIDIUM = makeSmeltable(7699, OSMIRIDIUM, 0xDBE3EF, 0x7891BE, 0xACBDD9).setShapes(NUGGET, INGOT, CASTPLATE, WELDEDPLATE).m();
|
||||
|
||||
//Alloys
|
||||
public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0xAFAFAF, 0x0F0F0F, 0x4A4A4A).setShapes(DUSTTINY, BOLT, WIRE, INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m();
|
||||
public static final NTMMaterial MAT_MINGRADE = makeSmeltable(_AS + 1, MINGRADE, 0xFFBA7D, 0xAF1700, 0xE44C0F).setShapes(WIRE, INGOT, DUST, BLOCK).m();
|
||||
public static final NTMMaterial MAT_ALLOY = makeSmeltable(_AS + 2, ALLOY, 0xFF8330, 0x700000, 0xFF7318).setShapes(WIRE, INGOT, DUST, DENSEWIRE, PLATE, CASTPLATE, BLOCK, HEAVY_COMPONENT).m();
|
||||
public static final NTMMaterial MAT_DURA = makeSmeltable(_AS + 3, DURA, 0x183039, 0x030B0B, 0x376373).setShapes(BOLT, INGOT, DUST, PIPE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_SATURN = makeSmeltable(_AS + 4, BIGMT, 0x4DA3AF, 0x00000C, 0x4DA3AF).setShapes(INGOT, DUST, PLATE, CASTPLATE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setShapes(INGOT, DUST, CASTPLATE, BLOCK, HEAVY_COMPONENT).m();
|
||||
public static final NTMMaterial MAT_STAR = makeSmeltable(_AS + 5, STAR, 0xCCCCEA, 0x11111A, 0xA5A5D3).setShapes(INGOT, DUST, DENSEWIRE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0xB7B7C9, 0x101022, 0x6B6B8B).setShapes(INGOT).m();
|
||||
public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setShapes(INGOT, DUST, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT).m();
|
||||
public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setShapes(INGOT, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT).m();
|
||||
public static final NTMMaterial MAT_BBRONZE = makeSmeltable(_AS + 16, BBRONZE, 0xE19A69, 0x485353, 0x987D65).setShapes(INGOT, CASTPLATE).m();
|
||||
public static final NTMMaterial MAT_ABRONZE = makeSmeltable(_AS + 17, ABRONZE, 0xDB9462, 0x203331, 0x77644D).setShapes(INGOT, CASTPLATE).m();
|
||||
public static final NTMMaterial MAT_BSCCO = makeSmeltable(_AS + 18, BSCCO, 0x767BF1, 0x000000, 0x5E62C0).setShapes(INGOT, DENSEWIRE).m();
|
||||
public static final NTMMaterial MAT_MAGTUNG = makeSmeltable(_AS + 8, MAGTUNG, 0x22A2A2, 0x0F0F0F, 0x22A2A2).setShapes(WIRE, INGOT, DUST, DENSEWIRE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_DNT = makeSmeltable(_AS + 15, DNT, 0x7582B9, 0x16000E, 0x455289).setShapes(INGOT, DUST, DENSEWIRE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0xF1E0BB, 0x6F6256, 0xDECCAD).setShapes(DUST).n();
|
||||
public static final NTMMaterial MAT_SLAG = makeSmeltable(_AS + 11, SLAG, 0x554940, 0x34281F, 0x6C6562).setShapes(BLOCK).n();
|
||||
public static final NTMMaterial MAT_MUD = makeSmeltable(_AS + 14, MUD, 0xBCB5A9, 0x481213, 0x96783B).setShapes(INGOT).n();
|
||||
public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0xAFAFAF, 0x0F0F0F, 0x4A4A4A).setShapes(DUSTTINY, BOLT, WIRE, INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT).m();
|
||||
public static final NTMMaterial MAT_MINGRADE = makeSmeltable(_AS + 1, MINGRADE, 0xFFBA7D, 0xAF1700, 0xE44C0F).setShapes(WIRE, INGOT, DUST, BLOCK).m();
|
||||
public static final NTMMaterial MAT_ALLOY = makeSmeltable(_AS + 2, ALLOY, 0xFF8330, 0x700000, 0xFF7318).setShapes(WIRE, INGOT, DUST, DENSEWIRE, PLATE, CASTPLATE, BLOCK, HEAVY_COMPONENT).m();
|
||||
public static final NTMMaterial MAT_DURA = makeSmeltable(_AS + 3, DURA, 0x183039, 0x030B0B, 0x376373).setShapes(BOLT, INGOT, DUST, PIPE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setShapes(INGOT, DUST, CASTPLATE, BLOCK, HEAVY_COMPONENT).m();
|
||||
public static final NTMMaterial MAT_STAR = makeSmeltable(_AS + 5, STAR, 0xCCCCEA, 0x11111A, 0xA5A5D3).setShapes(INGOT, DUST, DENSEWIRE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0xB7B7C9, 0x101022, 0x6B6B8B).setShapes(INGOT).m();
|
||||
public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setShapes(INGOT, DUST, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT).m();
|
||||
public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setShapes(INGOT, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT).m();
|
||||
public static final NTMMaterial MAT_BBRONZE = makeSmeltable(_AS + 16, BBRONZE, 0xE19A69, 0x485353, 0x987D65).setShapes(INGOT, CASTPLATE).m();
|
||||
public static final NTMMaterial MAT_ABRONZE = makeSmeltable(_AS + 17, ABRONZE, 0xDB9462, 0x203331, 0x77644D).setShapes(INGOT, CASTPLATE).m();
|
||||
public static final NTMMaterial MAT_BSCCO = makeSmeltable(_AS + 18, BSCCO, 0x767BF1, 0x000000, 0x5E62C0).setShapes(INGOT, DENSEWIRE).m();
|
||||
public static final NTMMaterial MAT_MAGTUNG = makeSmeltable(_AS + 8, MAGTUNG, 0x22A2A2, 0x0F0F0F, 0x22A2A2).setShapes(WIRE, INGOT, DUST, DENSEWIRE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_DNT = makeSmeltable(_AS + 15, DNT, 0x7582B9, 0x16000E, 0x455289).setShapes(INGOT, DUST, DENSEWIRE, BLOCK).m();
|
||||
public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0xF1E0BB, 0x6F6256, 0xDECCAD).setShapes(DUST).n();
|
||||
public static final NTMMaterial MAT_SLAG = makeSmeltable(_AS + 11, SLAG, 0x554940, 0x34281F, 0x6C6562).setShapes(BLOCK).n();
|
||||
public static final NTMMaterial MAT_MUD = makeSmeltable(_AS + 14, MUD, 0xBCB5A9, 0x481213, 0x96783B).setShapes(INGOT).n();
|
||||
public static final NTMMaterial MAT_GUNMETAL = makeSmeltable(_AS + 19, GUNMETAL, 0xFFEF3F, 0xAD3600, 0xF9C62C).setShapes(INGOT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER, MECHANISM, STOCK, GRIP).n();
|
||||
public static final NTMMaterial MAT_WEAPONSTEEL = makeSmeltable(_AS + 20, WEAPONSTEEL, 0xA0A0A0, 0x000000, 0x808080).setShapes(INGOT, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER, MECHANISM, STOCK, GRIP).n();
|
||||
public static final NTMMaterial MAT_SATURN = makeSmeltable(_AS + 4, BIGMT, 0x3AC4DA, 0x09282C, 0x30A4B7).setShapes(INGOT, PLATE, CASTPLATE, BLOCK, LIGHTBARREL, HEAVYBARREL, LIGHTRECEIVER, HEAVYRECEIVER, MECHANISM, STOCK, GRIP).m();
|
||||
|
||||
//Extension
|
||||
public static final NTMMaterial MAT_RAREEARTH = makeNonSmeltable(_ES + 00, RAREEARTH, 0xC1BDBD, 0x384646, 0x7B7F7F).setShapes(FRAGMENT, INGOT).n();
|
||||
|
||||
@ -82,14 +82,16 @@ public class ArcFurnaceRecipes extends SerializableRecipe {
|
||||
NTMMaterial convert = material.smeltsInto;
|
||||
if(convert.smeltable == SmeltingBehavior.SMELTABLE) {
|
||||
for(MaterialShapes shape : MaterialShapes.allShapes) {
|
||||
String name = shape.name() + material.names[0];
|
||||
if(!OreDictionary.getOres(name).isEmpty()) {
|
||||
OreDictStack dict = new OreDictStack(name);
|
||||
ArcFurnaceRecipe recipe = recipes.get(dict);
|
||||
if(recipe == null) recipe = new ArcFurnaceRecipe();
|
||||
if(recipe.fluidOutput == null) {
|
||||
recipe.fluid(new MaterialStack(convert, (int) (shape.q(1) * out / in)));
|
||||
recipes.put(dict, recipe);
|
||||
if(!shape.noAutogen) {
|
||||
String name = shape.name() + material.names[0];
|
||||
if(!OreDictionary.getOres(name).isEmpty()) {
|
||||
OreDictStack dict = new OreDictStack(name);
|
||||
ArcFurnaceRecipe recipe = recipes.get(dict);
|
||||
if(recipe == null) recipe = new ArcFurnaceRecipe();
|
||||
if(recipe.fluidOutput == null) {
|
||||
recipe.fluid(new MaterialStack(convert, (int) (shape.q(1) * out / in)));
|
||||
recipes.put(dict, recipe);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -258,14 +258,15 @@ public class CrucibleRecipes extends SerializableRecipe {
|
||||
NTMMaterial convert = material.smeltsInto;
|
||||
if(convert.smeltable == SmeltingBehavior.SMELTABLE || convert.smeltable == SmeltingBehavior.ADDITIVE) for(MaterialShapes shape : MaterialShapes.allShapes) {
|
||||
//TODO: buffer these
|
||||
|
||||
String name = shape.name() + material.names[0];
|
||||
List<ItemStack> ores = OreDictionary.getOres(name);
|
||||
|
||||
if(!ores.isEmpty()) {
|
||||
List<ItemStack> stacks = new ArrayList();
|
||||
stacks.add(ItemScraps.create(new MaterialStack(convert, (int) (shape.q(1) * out / in)), true));
|
||||
map.put(new OreDictStack(name), stacks);
|
||||
if(!shape.noAutogen) {
|
||||
String name = shape.make(material);
|
||||
List<ItemStack> ores = OreDictionary.getOres(name);
|
||||
|
||||
if(!ores.isEmpty()) {
|
||||
List<ItemStack> stacks = new ArrayList();
|
||||
stacks.add(ItemScraps.create(new MaterialStack(convert, (int) (shape.q(1) * out / in)), true));
|
||||
map.put(new OreDictStack(name), stacks);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,7 +10,6 @@ import static com.hbm.inventory.OreDictManager.*;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import com.hbm.inventory.OreNames;
|
||||
import com.hbm.inventory.RecipesCommon.AStack;
|
||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
import com.hbm.inventory.RecipesCommon.OreDictStack;
|
||||
@ -88,7 +87,7 @@ public class PressRecipes extends SerializableRecipe {
|
||||
|
||||
for(NTMMaterial mat : Mats.orderedList) {
|
||||
if(mat.shapes.contains(MaterialShapes.WIRE) && mat.shapes.contains(MaterialShapes.INGOT)) {
|
||||
makeRecipe(StampType.WIRE, new OreDictStack(OreNames.INGOT + mat.names[0]), new ItemStack(ModItems.wire_fine, 8, mat.id));
|
||||
makeRecipe(StampType.WIRE, new OreDictStack(MaterialShapes.INGOT.make(mat)), new ItemStack(ModItems.wire_fine, 8, mat.id));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -6,7 +6,6 @@ import java.util.List;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.inventory.OreDictManager;
|
||||
import com.hbm.inventory.OreNames;
|
||||
import com.hbm.inventory.OreDictManager.DictFrame;
|
||||
|
||||
import static com.hbm.inventory.OreDictManager.*;
|
||||
@ -110,8 +109,8 @@ public class AnvilRecipes {
|
||||
new ItemStack(ModItems.stamp_titanium_flat),
|
||||
new ItemStack(ModItems.stamp_obsidian_flat)
|
||||
}));
|
||||
smithingRecipes.add(new AnvilSmithingMold(8, new OreDictStack(STEEL.shell()), new OreDictStack(OreNames.SHELL)));
|
||||
smithingRecipes.add(new AnvilSmithingMold(9, new OreDictStack(STEEL.pipe()), new OreDictStack(OreNames.PIPE)));
|
||||
smithingRecipes.add(new AnvilSmithingMold(8, new OreDictStack(STEEL.shell()), new OreDictStack(MaterialShapes.SHELL.name())));
|
||||
smithingRecipes.add(new AnvilSmithingMold(9, new OreDictStack(STEEL.pipe()), new OreDictStack(MaterialShapes.PIPE.name())));
|
||||
smithingRecipes.add(new AnvilSmithingMold(10, new OreDictStack(IRON.ingot(), 9), new OreDictStack("ingot", 9)));
|
||||
smithingRecipes.add(new AnvilSmithingMold(11, new OreDictStack(IRON.plate(), 9), new OreDictStack("plate", 9)));
|
||||
smithingRecipes.add(new AnvilSmithingMold(12, new OreDictStack(IRON.block()), new OreDictStack("block")));
|
||||
@ -152,7 +151,7 @@ public class AnvilRecipes {
|
||||
|
||||
for(NTMMaterial mat : Mats.orderedList) {
|
||||
if(mat.shapes.contains(MaterialShapes.WIRE) && mat.shapes.contains(MaterialShapes.INGOT)) {
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(OreNames.INGOT + mat.names[0]), new AnvilOutput(new ItemStack(ModItems.wire_fine, 8, mat.id))).setTier(4));
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(MaterialShapes.INGOT.name() + mat.names[0]), new AnvilOutput(new ItemStack(ModItems.wire_fine, 8, mat.id))).setTier(4));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2,10 +2,10 @@ package com.hbm.inventory.recipes.anvil;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.inventory.OreNames;
|
||||
import com.hbm.inventory.RecipesCommon.AStack;
|
||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
import com.hbm.inventory.RecipesCommon.OreDictStack;
|
||||
import com.hbm.inventory.material.MaterialShapes;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.util.ItemStackUtil;
|
||||
|
||||
@ -34,7 +34,7 @@ public class AnvilSmithingMold extends AnvilSmithingRecipe {
|
||||
|
||||
for(String name : names) {
|
||||
|
||||
for(String otherPrefix : OreNames.prefixes) {
|
||||
for(MaterialShapes shape : MaterialShapes.allShapes) for(String otherPrefix : shape.prefixes) {
|
||||
if(otherPrefix.length() > matchesPrefix.name.length() && name.startsWith(otherPrefix)) {
|
||||
return false; //ignore if there's a longer prefix that matches (i.e. a more accurate match)
|
||||
}
|
||||
|
||||
@ -51,23 +51,27 @@ public class ItemCustomLore extends Item {
|
||||
|
||||
if(this == ModItems.undefined) {
|
||||
|
||||
if(player.worldObj.rand.nextInt(10) == 0) {
|
||||
list.add(EnumChatFormatting.DARK_RED + "UNDEFINED");
|
||||
} else {
|
||||
Random rand = new Random(System.currentTimeMillis() / 500);
|
||||
|
||||
if(setSize == 0)
|
||||
setSize = Item.itemRegistry.getKeys().size();
|
||||
|
||||
int r = rand.nextInt(setSize);
|
||||
|
||||
Item item = Item.getItemById(r);
|
||||
|
||||
if(item != null) {
|
||||
list.add(new ItemStack(item).getDisplayName());
|
||||
try {
|
||||
if(player.worldObj.rand.nextInt(10) == 0) {
|
||||
list.add(EnumChatFormatting.DARK_RED + "UNDEFINED");
|
||||
} else {
|
||||
list.add(EnumChatFormatting.RED + "ERROR #" + r);
|
||||
Random rand = new Random(System.currentTimeMillis() / 500);
|
||||
|
||||
if(setSize == 0)
|
||||
setSize = Item.itemRegistry.getKeys().size();
|
||||
|
||||
int r = rand.nextInt(setSize);
|
||||
|
||||
Item item = Item.getItemById(r);
|
||||
|
||||
if(item != null) {
|
||||
list.add(new ItemStack(item).getDisplayName());
|
||||
} else {
|
||||
list.add(EnumChatFormatting.RED + "ERROR #" + r);
|
||||
}
|
||||
}
|
||||
} catch(Exception ex) {
|
||||
list.add(EnumChatFormatting.DARK_RED + "UNDEFINED");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -768,6 +768,13 @@ public class ModItems {
|
||||
public static Item heavy_component;
|
||||
public static Item wire_fine;
|
||||
public static Item wire_dense;
|
||||
public static Item part_barrel_light;
|
||||
public static Item part_barrel_heavy;
|
||||
public static Item part_receiver_light;
|
||||
public static Item part_receiver_heavy;
|
||||
public static Item part_mechanism;
|
||||
public static Item part_stock;
|
||||
public static Item part_grip;
|
||||
|
||||
public static Item part_lithium;
|
||||
public static Item part_beryllium;
|
||||
@ -3198,6 +3205,14 @@ public class ModItems {
|
||||
.aot(Mats.MAT_CARBON, "wire_carbon").aot(Mats.MAT_SCHRABIDIUM, "wire_schrabidium")
|
||||
.aot(Mats.MAT_MAGTUNG, "wire_magnetized_tungsten").setUnlocalizedName("wire_fine").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wire_fine");
|
||||
wire_dense = new ItemAutogen(MaterialShapes.DENSEWIRE).setUnlocalizedName("wire_dense").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wire_dense");
|
||||
|
||||
part_barrel_light = new ItemAutogen(MaterialShapes.LIGHTBARREL).setUnlocalizedName("part_barrel_light").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_barrel_light");
|
||||
part_barrel_heavy = new ItemAutogen(MaterialShapes.HEAVYBARREL).setUnlocalizedName("part_barrel_heavy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_barrel_heavy");
|
||||
part_receiver_light = new ItemAutogen(MaterialShapes.LIGHTRECEIVER).setUnlocalizedName("part_receiver_light").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_receiver_light");
|
||||
part_receiver_heavy = new ItemAutogen(MaterialShapes.HEAVYRECEIVER).setUnlocalizedName("part_receiver_heavy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_receiver_heavy");
|
||||
part_mechanism = new ItemAutogen(MaterialShapes.MECHANISM).setUnlocalizedName("part_mechanism").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_mechanism");
|
||||
part_stock = new ItemAutogen(MaterialShapes.STOCK).setUnlocalizedName("part_stock").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_stock");
|
||||
part_grip = new ItemAutogen(MaterialShapes.GRIP).setUnlocalizedName("part_grip").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_grip");
|
||||
|
||||
part_lithium = new Item().setUnlocalizedName("part_lithium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_lithium");
|
||||
part_beryllium = new Item().setUnlocalizedName("part_beryllium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_beryllium");
|
||||
@ -6009,15 +6024,9 @@ public class ModItems {
|
||||
GameRegistry.registerItem(motor_desh, motor_desh.getUnlocalizedName());
|
||||
GameRegistry.registerItem(motor_bismuth, motor_bismuth.getUnlocalizedName());
|
||||
GameRegistry.registerItem(centrifuge_element, centrifuge_element.getUnlocalizedName());
|
||||
//GameRegistry.registerItem(centrifuge_tower, centrifuge_tower.getUnlocalizedName());
|
||||
//GameRegistry.registerItem(magnet_dee, magnet_dee.getUnlocalizedName());
|
||||
GameRegistry.registerItem(magnet_circular, magnet_circular.getUnlocalizedName());
|
||||
//GameRegistry.registerItem(cyclotron_tower, cyclotron_tower.getUnlocalizedName());
|
||||
GameRegistry.registerItem(reactor_core, reactor_core.getUnlocalizedName());
|
||||
GameRegistry.registerItem(rtg_unit, rtg_unit.getUnlocalizedName());
|
||||
//GameRegistry.registerItem(thermo_unit_empty, thermo_unit_empty.getUnlocalizedName());
|
||||
//GameRegistry.registerItem(thermo_unit_endo, thermo_unit_endo.getUnlocalizedName());
|
||||
//GameRegistry.registerItem(thermo_unit_exo, thermo_unit_exo.getUnlocalizedName());
|
||||
GameRegistry.registerItem(levitation_unit, levitation_unit.getUnlocalizedName());
|
||||
GameRegistry.registerItem(pipes_steel, pipes_steel.getUnlocalizedName());
|
||||
GameRegistry.registerItem(drill_titanium, drill_titanium.getUnlocalizedName());
|
||||
@ -6032,6 +6041,13 @@ public class ModItems {
|
||||
GameRegistry.registerItem(parts_legendary, parts_legendary.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gear_large, gear_large.getUnlocalizedName());
|
||||
GameRegistry.registerItem(sawblade, sawblade.getUnlocalizedName());
|
||||
GameRegistry.registerItem(part_barrel_light, part_barrel_light.getUnlocalizedName());
|
||||
GameRegistry.registerItem(part_barrel_heavy, part_barrel_heavy.getUnlocalizedName());
|
||||
GameRegistry.registerItem(part_receiver_light, part_receiver_light.getUnlocalizedName());
|
||||
GameRegistry.registerItem(part_receiver_heavy, part_receiver_heavy.getUnlocalizedName());
|
||||
GameRegistry.registerItem(part_mechanism, part_mechanism.getUnlocalizedName());
|
||||
GameRegistry.registerItem(part_stock, part_stock.getUnlocalizedName());
|
||||
GameRegistry.registerItem(part_grip, part_grip.getUnlocalizedName());
|
||||
|
||||
//Plant Products
|
||||
GameRegistry.registerItem(plant_item, plant_item.getUnlocalizedName());
|
||||
|
||||
@ -3,6 +3,7 @@ package com.hbm.tileentity.machine;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.interfaces.IControlReceiver;
|
||||
import com.hbm.inventory.UpgradeManager;
|
||||
import com.hbm.inventory.RecipesCommon.AStack;
|
||||
import com.hbm.inventory.container.ContainerMachineSolderingStation;
|
||||
@ -38,11 +39,12 @@ import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityMachineSolderingStation extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider, IFluidCopiable {
|
||||
public class TileEntityMachineSolderingStation extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider, IFluidCopiable {
|
||||
|
||||
public long power;
|
||||
public long maxPower = 2_000;
|
||||
public long consumption;
|
||||
public boolean collisionPrevention = false;
|
||||
|
||||
public int progress;
|
||||
public int processTime = 1;
|
||||
@ -140,6 +142,7 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp
|
||||
data.setLong("consumption", consumption);
|
||||
data.setInteger("progress", progress);
|
||||
data.setInteger("processTime", processTime);
|
||||
data.setBoolean("collisionPrevention", collisionPrevention);
|
||||
if(recipe != null) {
|
||||
data.setInteger("display", Item.getIdFromItem(recipe.output.getItem()));
|
||||
data.setInteger("displayMeta", recipe.output.getItemDamage());
|
||||
@ -158,7 +161,7 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp
|
||||
if(this.tank.getFill() < recipe.fluid.fill) return false;
|
||||
}
|
||||
|
||||
if(recipe.fluid == null && this.tank.getFill() > 0) return false;
|
||||
if(collisionPrevention && recipe.fluid == null && this.tank.getFill() > 0) return false;
|
||||
|
||||
if(slots[6] != null) {
|
||||
if(slots[6].getItem() != recipe.output.getItem()) return false;
|
||||
@ -248,6 +251,7 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp
|
||||
this.consumption = nbt.getLong("consumption");
|
||||
this.progress = nbt.getInteger("progress");
|
||||
this.processTime = nbt.getInteger("processTime");
|
||||
this.collisionPrevention = nbt.getBoolean("collisionPrevention");
|
||||
|
||||
if(nbt.hasKey("display")) {
|
||||
this.display = new ItemStack(Item.getItemById(nbt.getInteger("display")), 1, nbt.getInteger("displayMeta"));
|
||||
@ -266,6 +270,7 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp
|
||||
this.maxPower = nbt.getLong("maxPower");
|
||||
this.progress = nbt.getInteger("progress");
|
||||
this.processTime = nbt.getInteger("processTime");
|
||||
this.collisionPrevention = nbt.getBoolean("collisionPrevention");
|
||||
tank.readFromNBT(nbt, "t");
|
||||
}
|
||||
|
||||
@ -277,6 +282,7 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp
|
||||
nbt.setLong("maxPower", maxPower);
|
||||
nbt.setInteger("progress", progress);
|
||||
nbt.setInteger("processTime", processTime);
|
||||
nbt.setBoolean("collisionPrevention", collisionPrevention);
|
||||
tank.writeToNBT(nbt, "t");
|
||||
}
|
||||
|
||||
@ -370,4 +376,15 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp
|
||||
public FluidTank getTankToPaste() {
|
||||
return tank;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(EntityPlayer player) {
|
||||
return this.isUseableByPlayer(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveControl(NBTTagCompound data) {
|
||||
this.collisionPrevention = !this.collisionPrevention;
|
||||
this.markDirty();
|
||||
}
|
||||
}
|
||||
|
||||
@ -843,6 +843,7 @@ hbmmat.gold=Gold
|
||||
hbmmat.gold198=Gold-198
|
||||
hbmmat.graphene=Graphen
|
||||
hbmmat.graphite=Graphit
|
||||
hbmmat.gunmetal=Maschinenmetall
|
||||
hbmmat.hematite=Hämatit
|
||||
hbmmat.iron=Eisen
|
||||
hbmmat.lanthanum=Lanthan
|
||||
@ -903,6 +904,7 @@ hbmmat.uranium233=Uran-233
|
||||
hbmmat.uranium235=Uran-235
|
||||
hbmmat.uranium238=Uran-238
|
||||
hbmmat.watzmud=Giftiger Schlamm
|
||||
hbmmat.weaponsteel=Waffenstahl
|
||||
hbmmat.whitephosphorus=Weißer Phosphor
|
||||
hbmmat.workersalloy=Desh
|
||||
hbmmat.wroughtiron=Schmiedeeisen
|
||||
@ -2774,6 +2776,8 @@ item.page_of_.page6.name=Seite 6
|
||||
item.page_of_.page7.name=Seite 7
|
||||
item.page_of_.page8.name=Seite 8
|
||||
item.pancake.name=Pfannkuchen aus Altmetall, Nägeln und Edelsteinpulver
|
||||
item.part_barrel_heavy.name=Schwerer %slauf
|
||||
item.part_barrel_light.name=Leichter %slauf
|
||||
item.part_beryllium.name=Berylliumstaubkiste
|
||||
item.part_carbon.name=Kohlenstoffstaubkiste
|
||||
item.part_copper.name=Kupferstaubkiste
|
||||
@ -2782,8 +2786,13 @@ item.part_generic.lde.name=Leichtbauteil
|
||||
item.part_generic.piston_electric.name=Electrischer Kolben
|
||||
item.part_generic.piston_hydraulic.name=Hydraulischer Kolben
|
||||
item.part_generic.piston_pneumatic.name=Pneumatischer Kolben
|
||||
item.part_grip.name=%sgriff
|
||||
item.part_lithium.name=Lithiumstaubkiste
|
||||
item.part_mechanism.name=%smechanismus
|
||||
item.part_plutonium.name=Plutoniumstaubkiste
|
||||
item.part_receiver_heavy.name=Schwerer %sverschluss
|
||||
item.part_receiver_light.name=Leichter %sverschluss
|
||||
item.part_stock.name=%sschaft
|
||||
item.particle_aelectron.name=Positronenkapsel
|
||||
item.particle_amat.name=Antimaterienkapsel
|
||||
item.particle_aproton.name=Antiprotonenkapsel
|
||||
|
||||
@ -1565,6 +1565,7 @@ hbmmat.gold=Gold
|
||||
hbmmat.gold198=Gold-198
|
||||
hbmmat.graphene=Graphene
|
||||
hbmmat.graphite=Graphite
|
||||
hbmmat.gunmetal=Gunmetal
|
||||
hbmmat.hematite=Hematite
|
||||
hbmmat.iron=Iron
|
||||
hbmmat.lanthanum=Lanthanium
|
||||
@ -1625,6 +1626,7 @@ hbmmat.uranium233=Uranium-233
|
||||
hbmmat.uranium235=Uranium-235
|
||||
hbmmat.uranium238=Uranium-238
|
||||
hbmmat.watzmud=Poisonous Mud
|
||||
hbmmat.weaponsteel=Weapon Steel
|
||||
hbmmat.whitephosphorus=White Phosphorus
|
||||
hbmmat.workersalloy=Desh
|
||||
hbmmat.wroughtiron=Wroght Iron
|
||||
@ -3626,6 +3628,8 @@ item.page_of_.page6.name=Page 6
|
||||
item.page_of_.page7.name=Page 7
|
||||
item.page_of_.page8.name=Page 8
|
||||
item.pancake.name=Pancake made from Scrap Metal, Nails and Gem Dust
|
||||
item.part_barrel_heavy.name=Heavy %s Barrel
|
||||
item.part_barrel_light.name=Light %s Barrel
|
||||
item.part_beryllium.name=Box of Beryllium Dust
|
||||
item.part_carbon.name=Box of Carbon Dust
|
||||
item.part_copper.name=Box of Copper Dust
|
||||
@ -3634,8 +3638,13 @@ item.part_generic.lde.name=Low-Density Element
|
||||
item.part_generic.piston_electric.name=Electric Piston
|
||||
item.part_generic.piston_hydraulic.name=Hydraulic Piston
|
||||
item.part_generic.piston_pneumatic.name=Pneumatic Piston
|
||||
item.part_grip.name=%s Grip
|
||||
item.part_lithium.name=Box of Lithium Dust
|
||||
item.part_mechanism.name=%s Mechanism
|
||||
item.part_plutonium.name=Box of Plutonium Dust
|
||||
item.part_receiver_heavy.name=Heavy %s Receiver
|
||||
item.part_receiver_light.name=Light %s Receiver
|
||||
item.part_stock.name=%s Stock
|
||||
item.particle_aelectron.name=Positron Capsule
|
||||
item.particle_amat.name=Antimatter Capsule
|
||||
item.particle_aproton.name=Antiproton Capsule
|
||||
|
||||
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 183 B |
|
After Width: | Height: | Size: 176 B |
BIN
src/main/resources/assets/hbm/textures/items/part_grip.png
Normal file
|
After Width: | Height: | Size: 239 B |
BIN
src/main/resources/assets/hbm/textures/items/part_mechanism.png
Normal file
|
After Width: | Height: | Size: 359 B |
|
After Width: | Height: | Size: 226 B |
|
After Width: | Height: | Size: 238 B |
BIN
src/main/resources/assets/hbm/textures/items/part_stock.png
Normal file
|
After Width: | Height: | Size: 213 B |