Merge remote-tracking branch 'HbmMods/master'
@ -52,7 +52,7 @@ public interface IEnergyConductor extends IEnergyConnector {
|
||||
* Each link has to decide what other links will join the same net.
|
||||
* @param copy
|
||||
*/
|
||||
public default void reevaluate(HashMap<Integer, IEnergyConductor> copy) {
|
||||
public default void reevaluate(HashMap<Integer, IEnergyConductor> copy, HashMap<Integer, Integer> proxies) {
|
||||
|
||||
for(int[] pos : getConnectionPoints()) {
|
||||
int newX = pos[0];
|
||||
@ -62,14 +62,41 @@ public interface IEnergyConductor extends IEnergyConnector {
|
||||
|
||||
IEnergyConductor neighbor = copy.get(id);
|
||||
|
||||
if(neighbor != null && neighbor.getPowerNet() != null && this.canReevaluate() && neighbor.canReevaluate()) {
|
||||
if(neighbor == null) {
|
||||
Integer newId = proxies.get(id);
|
||||
|
||||
if(this.getPowerNet() == null) {
|
||||
neighbor.getPowerNet().joinLink(this);
|
||||
} else {
|
||||
this.getPowerNet().joinNetworks(neighbor.getPowerNet());
|
||||
if(newId != null) {
|
||||
neighbor = copy.get(newId);
|
||||
}
|
||||
}
|
||||
|
||||
if(neighbor != null && this.canReevaluate() && neighbor.canReevaluate()) {
|
||||
|
||||
if(neighbor.getPowerNet() != null) {
|
||||
|
||||
//neighbor net and no self net
|
||||
if(this.getPowerNet() == null) {
|
||||
neighbor.getPowerNet().joinLink(this);
|
||||
//neighbor net and self net
|
||||
} else {
|
||||
this.getPowerNet().joinNetworks(neighbor.getPowerNet());
|
||||
}
|
||||
|
||||
//bidirectional re-eval, experimental and technically optional, only useful as a fallback
|
||||
} /*else {
|
||||
|
||||
//no neighbor net and no self net
|
||||
if(this.getPowerNet() == null) {
|
||||
this.setPowerNet(new PowerNet().joinLink(this));
|
||||
neighbor.setPowerNet(this.getPowerNet().joinLink(neighbor));
|
||||
//no neighbor net and self net
|
||||
} else {
|
||||
neighbor.setPowerNet(this.getPowerNet().joinLink(neighbor));
|
||||
}
|
||||
}*/
|
||||
|
||||
//extensive debugging has shown that bidirectional re-eval ic complete shit
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -114,4 +141,20 @@ public interface IEnergyConductor extends IEnergyConnector {
|
||||
|
||||
return this.getPowerNet().transferPower(power);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the conductor has mutliblock proxies which need to be taken into consideration for re-eval.
|
||||
* @return
|
||||
*/
|
||||
public default boolean hasProxies() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the identities (position-based) of proxies which resolve into the conductor's own identity.
|
||||
* @return
|
||||
*/
|
||||
public default List<Integer> getProxies() {
|
||||
return new ArrayList();
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import com.hbm.packet.PacketDispatcher;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
@ -94,4 +95,10 @@ public interface IEnergyConnector extends ILoadedTile {
|
||||
}
|
||||
|
||||
public static final boolean particleDebug = false;
|
||||
|
||||
public default Vec3 getDebugParticlePos() {
|
||||
TileEntity te = (TileEntity) this;
|
||||
Vec3 vec = Vec3.createVectorHelper(te.xCoord + 0.5, te.yCoord + 1, te.zCoord + 0.5);
|
||||
return vec;
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,6 +15,7 @@ public class PowerNet implements IPowerNet {
|
||||
|
||||
private boolean valid = true;
|
||||
private HashMap<Integer, IEnergyConductor> links = new HashMap();
|
||||
private HashMap<Integer, Integer> proxies = new HashMap();
|
||||
private List<IEnergyConnector> subscribers = new ArrayList();
|
||||
|
||||
@Override
|
||||
@ -42,14 +43,29 @@ public class PowerNet implements IPowerNet {
|
||||
conductor.getPowerNet().leaveLink(conductor);
|
||||
|
||||
conductor.setPowerNet(this);
|
||||
this.links.put(conductor.getIdentity(), conductor);
|
||||
int identity = conductor.getIdentity();
|
||||
this.links.put(identity, conductor);
|
||||
|
||||
if(conductor.hasProxies()) {
|
||||
for(Integer i : conductor.getProxies()) {
|
||||
this.proxies.put(i, identity);
|
||||
}
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void leaveLink(IEnergyConductor conductor) {
|
||||
conductor.setPowerNet(null);
|
||||
this.links.remove(conductor.getIdentity());
|
||||
int identity = conductor.getIdentity();
|
||||
this.links.remove(identity);
|
||||
|
||||
if(conductor.hasProxies()) {
|
||||
for(Integer i : conductor.getProxies()) {
|
||||
this.proxies.remove(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -74,6 +90,11 @@ public class PowerNet implements IPowerNet {
|
||||
return linkList;
|
||||
}
|
||||
|
||||
public HashMap<Integer, Integer> getProxies() {
|
||||
HashMap<Integer, Integer> proxyCopy = new HashMap(proxies);
|
||||
return proxyCopy;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IEnergyConnector> getSubscribers() {
|
||||
return this.subscribers;
|
||||
@ -144,7 +165,10 @@ public class PowerNet implements IPowerNet {
|
||||
@Override
|
||||
public void reevaluate() {
|
||||
|
||||
//this.destroy();//
|
||||
|
||||
HashMap<Integer, IEnergyConductor> copy = new HashMap(links);
|
||||
HashMap<Integer, Integer> proxyCopy = new HashMap(proxies);
|
||||
|
||||
for(IEnergyConductor link : copy.values()) {
|
||||
this.leaveLink(link);
|
||||
@ -153,7 +177,7 @@ public class PowerNet implements IPowerNet {
|
||||
for(IEnergyConductor link : copy.values()) {
|
||||
|
||||
link.setPowerNet(null);
|
||||
link.reevaluate(copy);
|
||||
link.reevaluate(copy, proxyCopy);
|
||||
|
||||
if(link.getPowerNet() == null) {
|
||||
link.setPowerNet(new PowerNet().joinLink(link));
|
||||
|
||||
@ -80,5 +80,5 @@ public interface IFluidConnector {
|
||||
}
|
||||
}
|
||||
|
||||
public static final boolean particleDebug = false;
|
||||
public static final boolean particleDebug = true;
|
||||
}
|
||||
|
||||
@ -37,4 +37,14 @@ public interface IFluidStandardSender extends IFluidUser {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public default long transferFluid(FluidType type, long fluid) {
|
||||
return fluid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public default long getDemand(FluidType type) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -463,6 +463,7 @@ public class ModBlocks {
|
||||
public static Block dirt_oily;
|
||||
public static Block sand_dirty;
|
||||
public static Block sand_dirty_red;
|
||||
public static Block stone_cracked;
|
||||
public static Block burning_earth;
|
||||
public static Block tektite;
|
||||
public static Block ore_tektite_osmiridium;
|
||||
@ -471,6 +472,8 @@ public class ModBlocks {
|
||||
public static Block fallout;
|
||||
public static Block foam_layer;
|
||||
public static Block sand_boron_layer;
|
||||
public static Block leaves_layer;
|
||||
|
||||
|
||||
public static Block sellafield_slaked;
|
||||
public static Block sellafield_0;
|
||||
@ -1498,14 +1501,14 @@ public class ModBlocks {
|
||||
block_cap_sunset = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_sunset_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_sunset").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_sunset");
|
||||
block_cap_star = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_star_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_star").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_star");
|
||||
|
||||
deco_titanium = new BlockOre(Material.iron).setBlockName("deco_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_titanium");
|
||||
deco_red_copper = new BlockDecoCT(Material.iron).setBlockName("deco_red_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_red_copper");
|
||||
deco_tungsten = new BlockDecoCT(Material.iron).setBlockName("deco_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_tungsten");
|
||||
deco_aluminium = new BlockDecoCT(Material.iron).setBlockName("deco_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_aluminium");
|
||||
deco_steel = new BlockDecoCT(Material.iron).setBlockName("deco_steel").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_steel");
|
||||
deco_lead = new BlockDecoCT(Material.iron).setBlockName("deco_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_lead");
|
||||
deco_beryllium = new BlockDecoCT(Material.iron).setBlockName("deco_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_beryllium");
|
||||
deco_asbestos = new BlockOutgas(Material.cloth, true, 5, true).setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos");
|
||||
deco_titanium = new BlockOre(Material.iron).noFortune().setBlockName("deco_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_titanium");
|
||||
deco_red_copper = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_red_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_red_copper");
|
||||
deco_tungsten = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_tungsten");
|
||||
deco_aluminium = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_aluminium");
|
||||
deco_steel = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_steel").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_steel");
|
||||
deco_lead = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_lead");
|
||||
deco_beryllium = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_beryllium");
|
||||
deco_asbestos = new BlockOutgas(Material.cloth, true, 5, true).noFortune().setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos");
|
||||
deco_rbmk = new BlockGeneric(Material.iron).setBlockName("deco_rbmk").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_side");
|
||||
deco_rbmk_smooth = new BlockGeneric(Material.iron).setBlockName("deco_rbmk_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_top");
|
||||
|
||||
@ -1569,11 +1572,11 @@ public class ModBlocks {
|
||||
siege_emergency = new BlockBase(Material.iron).setBlockName("siege_emergency").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(20000.0F).setBlockTextureName(RefStrings.MODID + ":siege_emergency");
|
||||
siege_hole = new SiegeHole(Material.iron).setBlockName("siege_hole").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":siege_hole");
|
||||
|
||||
block_meteor = new BlockOre(Material.rock).setBlockName("block_meteor").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor");
|
||||
block_meteor_cobble = new BlockOre(Material.rock).setBlockName("block_meteor_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble");
|
||||
block_meteor_broken = new BlockOre(Material.rock).setBlockName("block_meteor_broken").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_crushed");
|
||||
block_meteor_molten = new BlockOre(Material.rock, true).setBlockName("block_meteor_molten").setLightLevel(0.75F).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble_molten");
|
||||
block_meteor_treasure = new BlockOre(Material.rock).setBlockName("block_meteor_treasure").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_treasure");
|
||||
block_meteor = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor");
|
||||
block_meteor_cobble = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble");
|
||||
block_meteor_broken = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_broken").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_crushed");
|
||||
block_meteor_molten = new BlockOre(Material.rock, true).noFortune().setBlockName("block_meteor_molten").setLightLevel(0.75F).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble_molten");
|
||||
block_meteor_treasure = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_treasure").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_treasure");
|
||||
meteor_polished = new BlockGeneric(Material.rock).setBlockName("meteor_polished").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_polished");
|
||||
meteor_brick = new BlockGeneric(Material.rock).setBlockName("meteor_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick");
|
||||
meteor_brick_mossy = new BlockGeneric(Material.rock).setBlockName("meteor_brick_mossy").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_mossy");
|
||||
@ -1665,8 +1668,8 @@ public class ModBlocks {
|
||||
|
||||
waste_earth = new WasteEarth(Material.ground, true).setBlockName("waste_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":waste_earth");
|
||||
waste_mycelium = new WasteEarth(Material.ground, true).setBlockName("waste_mycelium").setStepSound(Block.soundTypeGrass).setLightLevel(1F).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":waste_mycelium_side");
|
||||
waste_trinitite = new BlockOre(Material.sand).setBlockName("waste_trinitite").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite");
|
||||
waste_trinitite_red = new BlockOre(Material.sand).setBlockName("waste_trinitite_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite_red");
|
||||
waste_trinitite = new BlockOre(Material.sand).noFortune().setBlockName("waste_trinitite").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite");
|
||||
waste_trinitite_red = new BlockOre(Material.sand).noFortune().setBlockName("waste_trinitite_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite_red");
|
||||
waste_log = new WasteLog(Material.wood).setBlockName("waste_log").setStepSound(Block.soundTypeWood).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(2.5F);
|
||||
waste_leaves = new WasteLeaves(Material.leaves).setBlockName("waste_leaves").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setBlockTextureName(RefStrings.MODID + ":waste_leaves");
|
||||
waste_planks = new BlockOre(Material.wood).setBlockName("waste_planks").setStepSound(Block.soundTypeWood).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_planks");
|
||||
@ -1677,15 +1680,17 @@ public class ModBlocks {
|
||||
fallout = new BlockFallout(Material.snow).setBlockName("fallout").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":ash");
|
||||
foam_layer = new BlockLayering(Material.snow).setBlockName("foam_layer").setStepSound(Block.soundTypeSnow).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":foam");
|
||||
sand_boron_layer = new BlockLayering(Material.sand).setBlockName("sand_boron_layer").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":sand_boron");
|
||||
leaves_layer = new BlockLayering(Material.leaves).setBlockName("leaves_layer").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":waste_leaves");
|
||||
|
||||
burning_earth = new WasteEarth(Material.ground, true).setBlockName("burning_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":burning_earth");
|
||||
tektite = new BlockGeneric(Material.sand).setBlockName("tektite").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":tektite");
|
||||
ore_tektite_osmiridium = new BlockGeneric(Material.sand).setBlockName("ore_tektite_osmiridium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":ore_tektite_osmiridium");
|
||||
impact_dirt = new BlockDirt(Material.ground, true).setBlockName("impact_dirt").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":waste_earth_bottom");
|
||||
dirt_dead = new BlockGeneric(Material.ground).setBlockName("dirt_dead").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":dirt_dead");
|
||||
dirt_oily = new BlockGeneric(Material.ground).setBlockName("dirt_oily").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":dirt_oily");
|
||||
dirt_dead = new BlockFalling(Material.ground).setBlockName("dirt_dead").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":dirt_dead");
|
||||
dirt_oily = new BlockFalling(Material.ground).setBlockName("dirt_oily").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":dirt_oily");
|
||||
sand_dirty = new BlockFalling(Material.sand).setBlockName("sand_dirty").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_dirty");
|
||||
sand_dirty_red = new BlockFalling(Material.sand).setBlockName("sand_dirty_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_dirty_red");
|
||||
stone_cracked = new BlockFalling(Material.rock).setBlockName("stone_cracked").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":stone_cracked");
|
||||
|
||||
sellafield_slaked = new BlockGeneric(Material.rock).setBlockName("sellafield_slaked").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_slaked");
|
||||
sellafield_0 = new BlockHazard(Material.rock).setBlockName("sellafield_0").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_0");
|
||||
@ -2704,9 +2709,11 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(dirt_oily, dirt_oily.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(sand_dirty, sand_dirty.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(sand_dirty_red, sand_dirty_red.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(stone_cracked, stone_cracked.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(fallout, fallout.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(foam_layer, foam_layer.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(sand_boron_layer, sand_boron_layer.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(leaves_layer, leaves_layer.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(burning_earth, burning_earth.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(tektite, tektite.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(ore_tektite_osmiridium, ore_tektite_osmiridium.getUnlocalizedName());
|
||||
|
||||
@ -2,9 +2,7 @@ package com.hbm.blocks.fluid;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.util.ArmorUtil;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@ -12,8 +10,6 @@ import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.passive.EntitySquid;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
@ -61,6 +57,7 @@ public class GenericFluidBlock extends BlockFluidClassic {
|
||||
flowingIcon = register.registerIcon(RefStrings.MODID + ":" + flowingName);
|
||||
}
|
||||
|
||||
/** Only temporary, will be moved into a subclass */
|
||||
@Override
|
||||
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
|
||||
|
||||
|
||||
@ -5,9 +5,6 @@ import java.util.Random;
|
||||
import com.hbm.extprop.HbmLivingProps;
|
||||
import com.hbm.util.ArmorRegistry;
|
||||
import com.hbm.util.ArmorRegistry.HazardClass;
|
||||
import com.hbm.util.ContaminationUtil;
|
||||
import com.hbm.util.ContaminationUtil.ContaminationType;
|
||||
import com.hbm.util.ContaminationUtil.HazardType;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
@ -10,7 +10,6 @@ import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
@ -15,7 +15,6 @@ import com.hbm.util.ContaminationUtil.HazardType;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.init.Blocks;
|
||||
|
||||
@ -6,9 +6,6 @@ import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.util.ArmorRegistry;
|
||||
import com.hbm.util.ArmorRegistry.HazardClass;
|
||||
import com.hbm.util.ArmorUtil;
|
||||
import com.hbm.util.ContaminationUtil;
|
||||
import com.hbm.util.ContaminationUtil.ContaminationType;
|
||||
import com.hbm.util.ContaminationUtil.HazardType;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
|
||||
@ -12,7 +12,6 @@ import com.hbm.util.ContaminationUtil.HazardType;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
|
||||
@ -4,7 +4,6 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.extprop.HbmLivingProps;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
import com.hbm.util.ArmorRegistry;
|
||||
import com.hbm.util.ArmorUtil;
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.extprop.HbmLivingProps;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
import com.hbm.util.ContaminationUtil;
|
||||
import com.hbm.util.ContaminationUtil.ContaminationType;
|
||||
import com.hbm.util.ContaminationUtil.HazardType;
|
||||
@ -52,8 +53,13 @@ public class BlockGasRadonTomb extends BlockGasBase {
|
||||
public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) {
|
||||
|
||||
if(entity instanceof EntityLivingBase) {
|
||||
ContaminationUtil.contaminate((EntityLivingBase)entity, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 0.5F);
|
||||
HbmLivingProps.incrementFibrosis((EntityLivingBase)entity, 10);
|
||||
EntityLivingBase living = (EntityLivingBase) entity;
|
||||
|
||||
living.removePotionEffect(HbmPotion.radaway.id); //get fucked
|
||||
living.removePotionEffect(HbmPotion.radx.id);
|
||||
|
||||
ContaminationUtil.contaminate(living, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 0.5F);
|
||||
HbmLivingProps.incrementFibrosis(living, 10);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -84,9 +84,9 @@ public class BlockLayering extends Block {
|
||||
}
|
||||
|
||||
public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_) {
|
||||
if(p_149674_1_.getSavedLightValue(EnumSkyBlock.Block, p_149674_2_, p_149674_3_, p_149674_4_) > 11) {
|
||||
/*if(p_149674_1_.getSavedLightValue(EnumSkyBlock.Block, p_149674_2_, p_149674_3_, p_149674_4_) > 11) {
|
||||
p_149674_1_.setBlockToAir(p_149674_2_, p_149674_3_, p_149674_4_);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
||||
@ -241,10 +241,17 @@ public class BlockOre extends Block {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public boolean allowFortune = true;
|
||||
|
||||
public BlockOre noFortune() {
|
||||
this.allowFortune = false;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int quantityDroppedWithBonus(int fortune, Random rand) {
|
||||
|
||||
if(fortune > 0 && Item.getItemFromBlock(this) != this.getItemDropped(0, rand, fortune)) {
|
||||
if(fortune > 0 && Item.getItemFromBlock(this) != this.getItemDropped(0, rand, fortune) && allowFortune) {
|
||||
int mult = rand.nextInt(fortune + 2) - 1;
|
||||
|
||||
if(mult < 0) {
|
||||
|
||||
@ -4,8 +4,8 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.config.RadiationConfig;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@ -159,7 +159,7 @@ public class WasteEarth extends Block {
|
||||
|
||||
if(this == ModBlocks.waste_earth || this == ModBlocks.waste_mycelium) {
|
||||
|
||||
if(GeneralConfig.enableAutoCleanup || (world.getBlockLightValue(x, y + 1, z) < 4 && world.getBlockLightOpacity(x, y + 1, z) > 2)) {
|
||||
if(RadiationConfig.cleanupDeadDirt || (world.getBlockLightValue(x, y + 1, z) < 4 && world.getBlockLightOpacity(x, y + 1, z) > 2)) {
|
||||
world.setBlock(x, y, z, Blocks.dirt);
|
||||
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package com.hbm.blocks.generic;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
@ -10,16 +11,17 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.item.EntityFallingBlock;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class WasteLeaves extends Block {
|
||||
|
||||
public WasteLeaves(Material mat) {
|
||||
super(mat);
|
||||
this.setTickRandomly(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -36,8 +38,15 @@ public class WasteLeaves extends Block {
|
||||
@Override
|
||||
public void updateTick(World world, int x, int y, int z, Random rand) {
|
||||
|
||||
if(rand.nextInt(60) == 0) {
|
||||
if(rand.nextInt(30) == 0) {
|
||||
world.setBlockToAir(x, y, z);
|
||||
|
||||
if(world.getBlock(x, y - 1, z).getMaterial() == Material.air) {
|
||||
EntityFallingBlock leaves = new EntityFallingBlock(world, x + 0.5, y + 0.5, z + 0.5, ModBlocks.leaves_layer);
|
||||
leaves.field_145812_b = 2;
|
||||
leaves.field_145813_c = false;
|
||||
world.spawnEntityInWorld(leaves);
|
||||
}
|
||||
}
|
||||
|
||||
super.updateTick(world, x, y, z, rand);
|
||||
|
||||
@ -25,10 +25,12 @@ public class BombConfig {
|
||||
public static int falloutRange = 100;
|
||||
public static int fDelay = 4;
|
||||
public static int limitExplosionLifespan = 0;
|
||||
public static int rain = 0;
|
||||
public static int cont = 0;
|
||||
|
||||
public static void loadFromConfig(Configuration config) {
|
||||
|
||||
final String CATEGORY_NUKES = "03_nukes";
|
||||
final String CATEGORY_NUKES = CommonConfig.CATEGORY_NUKES;
|
||||
Property propGadget = config.get(CATEGORY_NUKES, "3.00_gadgetRadius", 150);
|
||||
propGadget.comment = "Radius of the Gadget";
|
||||
gadgetRadius = propGadget.getInt();
|
||||
@ -72,7 +74,7 @@ public class BombConfig {
|
||||
propN2.comment = "Radius of the N2 mine";
|
||||
n2Radius = propN2.getInt();
|
||||
|
||||
final String CATEGORY_NUKE = "06_explosions";
|
||||
final String CATEGORY_NUKE = CommonConfig.CATEGORY_EXPLOSIONS;
|
||||
Property propLimitExplosionLifespan = config.get(CATEGORY_NUKE, "6.00_limitExplosionLifespan", 0);
|
||||
propLimitExplosionLifespan.comment = "How long an explosion can be unloaded until it dies in seconds. Based of system time. 0 disables the effect";
|
||||
limitExplosionLifespan = propLimitExplosionLifespan.getInt();
|
||||
@ -91,5 +93,12 @@ public class BombConfig {
|
||||
Property falloutDelayProp = config.get(CATEGORY_NUKE, "6.04_falloutDelay", 4);
|
||||
falloutDelayProp.comment = "How many ticks to wait for the next fallout chunk computation";
|
||||
fDelay = falloutDelayProp.getInt();
|
||||
|
||||
Property radRain = config.get(CATEGORY_NUKE, "6.05_falloutRainDuration", 0);
|
||||
radRain.comment = "Duration of the thunderstorm after fallout in ticks (only large explosions)";
|
||||
rain = radRain.getInt();
|
||||
Property rainCont = config.get(CATEGORY_NUKE, "6.06_falloutRainRadiation", 0);
|
||||
rainCont.comment = "Radiation in 100th RADs created by fallout rain";
|
||||
cont = rainCont.getInt();
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,22 @@ import net.minecraftforge.common.config.Configuration;
|
||||
import net.minecraftforge.common.config.Property;
|
||||
|
||||
public class CommonConfig {
|
||||
|
||||
public static final String CATEGORY_GENERAL = "01_general";
|
||||
public static final String CATEGORY_ORES = "02_ores";
|
||||
public static final String CATEGORY_NUKES = "03_nukes";
|
||||
public static final String CATEGORY_DUNGEONS = "04_dungeons";
|
||||
public static final String CATEGORY_METEORS = "05_meteors";
|
||||
public static final String CATEGORY_EXPLOSIONS = "06_explosions";
|
||||
public static final String CATEGORY_MISSILE = "07_missile_machines";
|
||||
public static final String CATEGORY_POTION = "08_potion_effects";
|
||||
public static final String CATEGORY_MACHINES = "09_machines";
|
||||
public static final String CATEGORY_DROPS = "10_dangerous_drops";
|
||||
public static final String CATEGORY_TOOLS = "11_tools";
|
||||
public static final String CATEGORY_MOBS = "12_mobs";
|
||||
public static final String CATEGORY_RADIATION = "13_radiation";
|
||||
|
||||
public static final String CATEGORY_528 = "528";
|
||||
|
||||
public static int setDefZero(int value, int def) {
|
||||
|
||||
@ -30,28 +46,30 @@ public class CommonConfig {
|
||||
}
|
||||
|
||||
public static int createConfigInt(Configuration config, String category, String name, String comment, int def) {
|
||||
|
||||
Property prop = config.get(category, name, def);
|
||||
prop.comment = comment;
|
||||
return prop.getInt();
|
||||
}
|
||||
|
||||
public static boolean createConfigBool(Configuration config, String category, String name, String comment, boolean def) {
|
||||
public static double createConfigDouble(Configuration config, String category, String name, String comment, double def) {
|
||||
Property prop = config.get(category, name, def);
|
||||
prop.comment = comment;
|
||||
return prop.getDouble();
|
||||
}
|
||||
|
||||
public static boolean createConfigBool(Configuration config, String category, String name, String comment, boolean def) {
|
||||
Property prop = config.get(category, name, def);
|
||||
prop.comment = comment;
|
||||
return prop.getBoolean();
|
||||
}
|
||||
|
||||
public static String createConfigString(Configuration config, String category, String name, String comment, String def) {
|
||||
|
||||
Property prop = config.get(category, name, def);
|
||||
prop.comment = comment;
|
||||
return prop.getString();
|
||||
}
|
||||
|
||||
public static String[] createConfigStringList(Configuration config, String category, String name, String comment) {
|
||||
|
||||
Property prop = config.get(category, name, new String[] { "PLACEHOLDER" });
|
||||
prop.comment = comment;
|
||||
return prop.getStringList();
|
||||
|
||||
@ -13,14 +13,8 @@ public class GeneralConfig {
|
||||
public static boolean enableRad = true;
|
||||
public static boolean enableNITAN = true;
|
||||
public static boolean enableNukeClouds = true;
|
||||
public static boolean enableAutoCleanup = false;
|
||||
public static boolean enableMeteorStrikes = true;
|
||||
public static boolean enableMeteorShowers = true;
|
||||
public static boolean enableMeteorTails = true;
|
||||
public static boolean enableSpecialMeteors = true;
|
||||
public static boolean enableBomberShortMode = false;
|
||||
public static boolean enableVaults = true;
|
||||
public static boolean enableRads = true;
|
||||
public static boolean enableCataclysm = false;
|
||||
public static boolean enableExtendedLogging = false;
|
||||
public static boolean enableHardcoreTaint = false;
|
||||
@ -42,7 +36,7 @@ public class GeneralConfig {
|
||||
|
||||
public static void loadFromConfig(Configuration config) {
|
||||
|
||||
final String CATEGORY_GENERAL = "01_general";
|
||||
final String CATEGORY_GENERAL = CommonConfig.CATEGORY_GENERAL;
|
||||
enableDebugMode = config.get(CATEGORY_GENERAL, "1.00_enableDebugMode", false).getBoolean(false);
|
||||
enableMycelium = config.get(CATEGORY_GENERAL, "1.01_enableMyceliumSpread", false).getBoolean(false);
|
||||
enablePlutoniumOre = config.get(CATEGORY_GENERAL, "1.02_enablePlutoniumNetherOre", false).getBoolean(false);
|
||||
@ -52,14 +46,8 @@ public class GeneralConfig {
|
||||
enableRad = config.get(CATEGORY_GENERAL, "1.06_enableRadHotspotSpawn", true).getBoolean(true);
|
||||
enableNITAN = config.get(CATEGORY_GENERAL, "1.07_enableNITANChestSpawn", true).getBoolean(true);
|
||||
enableNukeClouds = config.get(CATEGORY_GENERAL, "1.08_enableMushroomClouds", true).getBoolean(true);
|
||||
enableAutoCleanup = config.get(CATEGORY_GENERAL, "1.09_enableAutomaticRadCleanup", false).getBoolean(false);
|
||||
enableMeteorStrikes = config.get(CATEGORY_GENERAL, "1.10_enableMeteorStrikes", true).getBoolean(true);
|
||||
enableMeteorShowers = config.get(CATEGORY_GENERAL, "1.11_enableMeteorShowers", true).getBoolean(true);
|
||||
enableMeteorTails = config.get(CATEGORY_GENERAL, "1.12_enableMeteorTails", true).getBoolean(true);
|
||||
enableSpecialMeteors = config.get(CATEGORY_GENERAL, "1.13_enableSpecialMeteors", false).getBoolean(false);
|
||||
enableBomberShortMode = config.get(CATEGORY_GENERAL, "1.14_enableBomberShortMode", false).getBoolean(false);
|
||||
enableVaults = config.get(CATEGORY_GENERAL, "1.15_enableVaultSpawn", true).getBoolean(true);
|
||||
enableRads = config.get(CATEGORY_GENERAL, "1.16_enableNewRadiation", true).getBoolean(true);
|
||||
enableCataclysm = config.get(CATEGORY_GENERAL, "1.17_enableCataclysm", false).getBoolean(false);
|
||||
enableExtendedLogging = config.get(CATEGORY_GENERAL, "1.18_enableExtendedLogging", false).getBoolean(false);
|
||||
enableHardcoreTaint = config.get(CATEGORY_GENERAL, "1.19_enableHardcoreTaint", false).getBoolean(false);
|
||||
@ -70,7 +58,7 @@ public class GeneralConfig {
|
||||
enableReflectorCompat = config.get(CATEGORY_GENERAL, "1.24_enableReflectorCompat", false).getBoolean(false);
|
||||
enableRenderDistCheck = config.get(CATEGORY_GENERAL, "1.25_enableRenderDistCheck", true).getBoolean(true);
|
||||
|
||||
final String CATEGORY_528 = "528";
|
||||
final String CATEGORY_528 = CommonConfig.CATEGORY_528;
|
||||
|
||||
config.addCustomCategoryComment(CATEGORY_528, "CAUTION\n"
|
||||
+ "528 Mode: Please proceed with caution!\n"
|
||||
|
||||
@ -9,7 +9,7 @@ public class MachineConfig {
|
||||
|
||||
public static void loadFromConfig(Configuration config) {
|
||||
|
||||
final String CATEGORY_MACHINE = "09_machines";
|
||||
final String CATEGORY_MACHINE = CommonConfig.CATEGORY_MACHINES;
|
||||
|
||||
scaleRTGPower = CommonConfig.createConfigBool(config, CATEGORY_MACHINE, "9.00_scaleRTGPower", "Should RTG/Betavoltaic fuel power scale down as it decays?", false);
|
||||
doRTGsDecay = CommonConfig.createConfigBool(config, CATEGORY_MACHINE, "9.01_doRTGsDecay", "Should RTG/Betavoltaic fuel decay at all?", true);
|
||||
|
||||
@ -29,7 +29,7 @@ public class MobConfig {
|
||||
|
||||
public static void loadFromConfig(Configuration config) {
|
||||
|
||||
final String CATEGORY = "12_mobs";
|
||||
final String CATEGORY = CommonConfig.CATEGORY_MOBS;
|
||||
|
||||
enableMaskman = CommonConfig.createConfigBool(config, CATEGORY, "12.M00_enableMaskman", "Whether mask man should spawn", true);
|
||||
maskmanDelay = CommonConfig.createConfigInt(config, CATEGORY, "12.M01_maskmanDelay", "How many world ticks need to pass for a check to be performed", 60 * 60 * 60);
|
||||
|
||||
@ -20,7 +20,7 @@ public class PotionConfig {
|
||||
|
||||
public static void loadFromConfig(Configuration config) {
|
||||
|
||||
final String CATEGORY_POTION = "08_potion_effects";
|
||||
final String CATEGORY_POTION = CommonConfig.CATEGORY_POTION;
|
||||
taintID = CommonConfig.createConfigInt(config, CATEGORY_POTION, "8.00_taintPotionID", "What potion ID the taint effect will have", 62);
|
||||
radiationID = CommonConfig.createConfigInt(config, CATEGORY_POTION, "8.01_radiationPotionID", "What potion ID the radiation effect will have", 63);
|
||||
bangID = CommonConfig.createConfigInt(config, CATEGORY_POTION, "8.02_bangPotionID", "What potion ID the B93 timebomb effect will have", 64);
|
||||
|
||||
@ -5,37 +5,31 @@ import net.minecraftforge.common.config.Property;
|
||||
|
||||
public class RadiationConfig {
|
||||
|
||||
public static int rain = 0;
|
||||
public static int cont = 0;
|
||||
public static int fogRad = 100;
|
||||
public static int fogCh = 20;
|
||||
public static float hellRad = 0.1F;
|
||||
public static double hellRad = 0.1;
|
||||
public static int worldRad = 10;
|
||||
public static int worldRadThreshold = 20;
|
||||
public static boolean worldRadEffects = true;
|
||||
public static boolean cleanupDeadDirt = false;
|
||||
|
||||
public static boolean enableContamination = true;
|
||||
public static boolean enableChunkRads = true;
|
||||
|
||||
public static void loadFromConfig(Configuration config) {
|
||||
|
||||
final String CATEGORY_NUKE = "06_explosions";
|
||||
final String CATEGORY_NUKE = CommonConfig.CATEGORY_RADIATION;
|
||||
|
||||
Property radRain = config.get(CATEGORY_NUKE, "6.05_falloutRainDuration", 0);
|
||||
radRain.comment = "Duration of the thunderstorm after fallout in ticks (only large explosions)";
|
||||
rain = radRain.getInt();
|
||||
Property rainCont = config.get(CATEGORY_NUKE, "6.06_falloutRainRadiation", 0);
|
||||
rainCont.comment = "Radiation in 100th RADs created by fallout rain";
|
||||
cont = rainCont.getInt();
|
||||
Property fogThresh = config.get(CATEGORY_NUKE, "6.07_fogThreshold", 100);
|
||||
fogThresh.comment = "Radiation in RADs required for fog to spawn";
|
||||
fogRad = fogThresh.getInt();
|
||||
Property fogChance = config.get(CATEGORY_NUKE, "6.08_fogChance", 10);
|
||||
fogChance.comment = "1:n chance of fog spawning every second";
|
||||
fogCh = fogChance.getInt();
|
||||
Property netherRad = config.get(CATEGORY_NUKE, "6.09_netherRad", 10);
|
||||
netherRad.comment = "RAD/s in the nether in hundredths";
|
||||
hellRad = netherRad.getInt() * 0.01F;
|
||||
worldRad = CommonConfig.createConfigInt(config, CATEGORY_NUKE, "6.10_worldRadCount", "How many block operations radiation can perform per tick", 10);
|
||||
worldRadThreshold = CommonConfig.createConfigInt(config, CATEGORY_NUKE, "6.11_worldRadThreshold", "The least amount of RADs required for block modification to happen", 20);
|
||||
worldRadEffects = CommonConfig.createConfigBool(config, CATEGORY_NUKE, "6.12_worldRadEffects", "Whether high radiation levels should perform changes in the world", true);
|
||||
fogRad = CommonConfig.createConfigInt(config, CATEGORY_NUKE, "FOG_00_threshold", "Radiation in RADs required for fog to spawn", 100);
|
||||
fogCh = CommonConfig.createConfigInt(config, CATEGORY_NUKE, "FOG_01_threshold", "1:n chance of fog spawning every second", 20);
|
||||
hellRad = CommonConfig.createConfigDouble(config, CATEGORY_NUKE, "AMBIENT_00_nether", "RAD/s in the nether", 0.1D);
|
||||
worldRadEffects = CommonConfig.createConfigBool(config, CATEGORY_NUKE, "RADWORLD_00_toggle", "Whether high radiation levels should perform changes in the world", true);
|
||||
worldRad = CommonConfig.createConfigInt(config, CATEGORY_NUKE, "RADWORLD_01_amount", "How many block operations radiation can perform per tick", 10);
|
||||
worldRadThreshold = CommonConfig.createConfigInt(config, CATEGORY_NUKE, "RADWORLD_02_minimum", "The least amount of RADs required for block modification to happen", 20);
|
||||
cleanupDeadDirt = CommonConfig.createConfigBool(config, CATEGORY_NUKE, "RADWORLD_03_regrow", "Whether dead grass and mycelium should decay into dirt", false);
|
||||
|
||||
enableContamination = CommonConfig.createConfigBool(config, CATEGORY_NUKE, "RADIATION_00_enableContamination", "Toggles player contamination (and negative effects from radiation poisoning)", true);
|
||||
enableChunkRads = CommonConfig.createConfigBool(config, CATEGORY_NUKE, "RADIATION_01_enableChunkRads", "Toggles the world radiation system (chunk radiation only, some blocks use an AoE!)", true);
|
||||
|
||||
fogCh = CommonConfig.setDef(fogCh, 20);
|
||||
}
|
||||
|
||||
@ -21,7 +21,7 @@ public class ToolConfig {
|
||||
|
||||
public static void loadFromConfig(Configuration config) {
|
||||
|
||||
final String CATEGORY_TOOLS = "11_tools";
|
||||
final String CATEGORY_TOOLS = CommonConfig.CATEGORY_TOOLS;
|
||||
recursionDepth = CommonConfig.createConfigInt(config, CATEGORY_TOOLS, "11.00_recursionDepth", "Limits veinminer's recursive function. Usually not an issue, unless you're using bukkit which is especially sensitive for some reason.", 1000);
|
||||
recursiveStone = CommonConfig.createConfigBool(config, CATEGORY_TOOLS, "11.01_recursionStone", "Determines whether veinminer can break stone", false);
|
||||
recursiveNetherrack = CommonConfig.createConfigBool(config, CATEGORY_TOOLS, "11.02_recursionNetherrack", "Determines whether veinminer can break netherrack", false);
|
||||
|
||||
@ -18,7 +18,7 @@ public class WeaponConfig {
|
||||
|
||||
public static void loadFromConfig(Configuration config) {
|
||||
|
||||
final String CATEGORY_MISSILE = "07_missile_machines";
|
||||
final String CATEGORY_MISSILE = CommonConfig.CATEGORY_MISSILE;
|
||||
Property propRadarRange = config.get(CATEGORY_MISSILE, "7.00_radarRange", 1000);
|
||||
propRadarRange.comment = "Range of the radar, 50 will result in 100x100 block area covered";
|
||||
radarRange = propRadarRange.getInt();
|
||||
@ -32,7 +32,7 @@ public class WeaponConfig {
|
||||
propCiwsHitrate.comment = "Additional modifier for CIWS accuracy";
|
||||
ciwsHitrate = propRadarAltitude.getInt();
|
||||
|
||||
final String CATEGORY_DROPS = "10_dangerous_drops";
|
||||
final String CATEGORY_DROPS = CommonConfig.CATEGORY_DROPS;
|
||||
dropCell = CommonConfig.createConfigBool(config, CATEGORY_DROPS, "10.00_dropCell", "Whether antimatter cells should explode when dropped", true);
|
||||
dropSing = CommonConfig.createConfigBool(config, CATEGORY_DROPS, "10.01_dropBHole", "Whether singularities and black holes should spawn when dropped", true);
|
||||
dropStar = CommonConfig.createConfigBool(config, CATEGORY_DROPS, "10.02_dropStar", "Whether rigged star blaster cells should explode when dropped", true);
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.hbm.config;
|
||||
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
import net.minecraftforge.common.config.Property;
|
||||
|
||||
public class WorldConfig {
|
||||
|
||||
@ -77,13 +76,17 @@ public class WorldConfig {
|
||||
public static int radfreq = 5000;
|
||||
public static int vaultfreq = 2500;
|
||||
|
||||
public static boolean enableMeteorStrikes = true;
|
||||
public static boolean enableMeteorShowers = true;
|
||||
public static boolean enableMeteorTails = true;
|
||||
public static boolean enableSpecialMeteors = true;
|
||||
public static int meteorStrikeChance = 20 * 60 * 180;
|
||||
public static int meteorShowerChance = 20 * 60 * 5;
|
||||
public static int meteorShowerDuration = 6000;
|
||||
|
||||
public static void loadFromConfig(Configuration config) {
|
||||
|
||||
final String CATEGORY_OREGEN = "02_ores";
|
||||
final String CATEGORY_OREGEN = CommonConfig.CATEGORY_ORES;
|
||||
|
||||
overworldOre = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.D00_overworldOres", "General switch for whether overworld ores should be generated. Does not include special structures like oil.", true);
|
||||
netherOre = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.D01_netherOres", "General switch for whether nether ores should be generated.", true);
|
||||
@ -130,7 +133,7 @@ public class WorldConfig {
|
||||
enableRandom = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.R00_enableRandomOre", "Amount of random ore per chunk", false);
|
||||
randomSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.R01_randomOreSpawnrate", "Amount of random ore per chunk", 0);
|
||||
|
||||
final String CATEGORY_DUNGEON = "04_dungeons";
|
||||
final String CATEGORY_DUNGEON = CommonConfig.CATEGORY_DUNGEONS;
|
||||
radioStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.00_radioSpawn", "Spawn radio station on every nTH chunk", 500);
|
||||
antennaStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.01_antennaSpawn", "Spawn antenna on every nTH chunk", 250);
|
||||
atomStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.02_atomSpawn", "Spawn power plant on every nTH chunk", 500);
|
||||
@ -157,16 +160,14 @@ public class WorldConfig {
|
||||
jungleStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.23_jungleDungeonSpawn", "Spawn jungle dungeon on every nTH chunk", 2000);
|
||||
pyramidStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.24_pyramidSpawn", "Spawn pyramid on every nTH chunk", 4000);
|
||||
|
||||
final String CATEGORY_METEOR = "05_meteors";
|
||||
Property propMeteorStrikeChance = config.get(CATEGORY_METEOR, "5.00_meteorStrikeChance", 20 * 60 * 60 * 5);
|
||||
propMeteorStrikeChance.comment = "The probability of a meteor spawning (an average of once every nTH ticks)";
|
||||
meteorStrikeChance = propMeteorStrikeChance.getInt();
|
||||
Property propMeteorShowerChance = config.get(CATEGORY_METEOR, "5.01_meteorShowerChance", 20 * 60 * 15);
|
||||
propMeteorShowerChance.comment = "The probability of a meteor spawning during meteor shower (an average of once every nTH ticks)";
|
||||
meteorShowerChance = propMeteorShowerChance.getInt();
|
||||
Property propMeteorShowerDuration = config.get(CATEGORY_METEOR, "5.02_meteorShowerDuration", 20 * 60 * 30);
|
||||
propMeteorShowerDuration.comment = "Max duration of meteor shower in ticks";
|
||||
meteorShowerDuration = propMeteorShowerDuration.getInt();
|
||||
final String CATEGORY_METEOR = CommonConfig.CATEGORY_METEORS;
|
||||
enableMeteorStrikes = CommonConfig.createConfigBool(config, CATEGORY_METEOR, "5.00_enableMeteorStrikes", "Toggles the spawning of meteors", true);
|
||||
enableMeteorShowers = CommonConfig.createConfigBool(config, CATEGORY_METEOR, "5.01_enableMeteorShowers", "Toggles meteor showers, which start with a 1% chance for every spawned meteor", true);
|
||||
enableMeteorTails = CommonConfig.createConfigBool(config, CATEGORY_METEOR, "5.02_enableMeteorTails", "Toggles the particle effect created by falling meteors", true);
|
||||
enableSpecialMeteors = CommonConfig.createConfigBool(config, CATEGORY_METEOR, "5.03_enableSpecialMeteors", "Toggles rare, special meteor types with different impact effects", true);
|
||||
meteorStrikeChance = CommonConfig.createConfigInt(config, CATEGORY_METEOR, "5.03_meteorStrikeChance", "The probability of a meteor spawning (an average of once every nTH ticks)", 20 * 60 * 60 * 5);
|
||||
meteorShowerChance = CommonConfig.createConfigInt(config, CATEGORY_METEOR, "5.04_meteorShowerChance", "The probability of a meteor spawning during meteor shower (an average of once every nTH ticks)", 20 * 60 * 15);
|
||||
meteorShowerDuration = CommonConfig.createConfigInt(config, CATEGORY_METEOR, "5.05_meteorShowerDuration", "Max duration of meteor shower in ticks", 20 * 60 * 30);
|
||||
|
||||
radioStructure = CommonConfig.setDefZero(radioStructure, 1000);
|
||||
antennaStructure = CommonConfig.setDefZero(antennaStructure, 1000);
|
||||
|
||||
@ -67,6 +67,7 @@ public class MineralRecipes {
|
||||
add1To9Pair(ModItems.ingot_pb209, ModItems.nugget_pb209);
|
||||
add1To9Pair(ModItems.ingot_ra226, ModItems.nugget_ra226);
|
||||
add1To9Pair(ModItems.ingot_actinium, ModItems.nugget_actinium);
|
||||
add1To9Pair(ModItems.ingot_arsenic, ModItems.nugget_arsenic);
|
||||
|
||||
add1To9Pair(ModItems.ingot_pu241, ModItems.nugget_pu241);
|
||||
add1To9Pair(ModItems.ingot_am241, ModItems.nugget_am241);
|
||||
|
||||
@ -137,6 +137,7 @@ public class ToolRecipes {
|
||||
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.mirror_tool), new Object[] { " A ", " IA", "I ", 'A', AL.ingot(), 'I', IRON.ingot() });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.rbmk_tool), new Object[] { " A ", " IA", "I ", 'A', PB.ingot(), 'I', IRON.ingot() });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.power_net_tool), new Object[] { "WRW", " I ", " B ", 'W', ModItems.wire_red_copper, 'R', REDSTONE.dust(), 'I', IRON.ingot(), 'B', ModItems.battery_su });
|
||||
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.kit_toolbox_empty), new Object[] { "CCC", "CIC", 'C', CU.plate(), 'I', IRON.ingot() });
|
||||
|
||||
|
||||
@ -65,12 +65,12 @@ public class EntityFalloutRain extends Entity {
|
||||
tickDelay--;
|
||||
|
||||
if(this.isDead) {
|
||||
if(RadiationConfig.rain > 0 && getScale() > 150) {
|
||||
if(BombConfig.rain > 0 && getScale() > 150) {
|
||||
worldObj.getWorldInfo().setRaining(true);
|
||||
worldObj.getWorldInfo().setThundering(true);
|
||||
worldObj.getWorldInfo().setRainTime(RadiationConfig.rain);
|
||||
worldObj.getWorldInfo().setThunderTime(RadiationConfig.rain);
|
||||
AuxSavedData.setThunder(worldObj, RadiationConfig.rain);
|
||||
worldObj.getWorldInfo().setRainTime(BombConfig.rain);
|
||||
worldObj.getWorldInfo().setThunderTime(BombConfig.rain);
|
||||
AuxSavedData.setThunder(worldObj, BombConfig.rain);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.hbm.entity.projectile;
|
||||
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.config.WorldConfig;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.world.feature.Meteorite;
|
||||
@ -36,7 +36,7 @@ public class EntityMeteor extends Entity {
|
||||
if(!this.worldObj.isRemote && this.onGround && this.posY < 260) {
|
||||
|
||||
worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5 + rand.nextFloat(), true);
|
||||
if(GeneralConfig.enableMeteorTails) {
|
||||
if(WorldConfig.enableMeteorTails) {
|
||||
ExplosionLarge.spawnParticles(worldObj, posX, posY + 5, posZ, 75);
|
||||
ExplosionLarge.spawnParticles(worldObj, posX + 5, posY, posZ, 75);
|
||||
ExplosionLarge.spawnParticles(worldObj, posX - 5, posY, posZ, 75);
|
||||
@ -49,7 +49,7 @@ public class EntityMeteor extends Entity {
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
if(GeneralConfig.enableMeteorTails && worldObj.isRemote) {
|
||||
if(WorldConfig.enableMeteorTails && worldObj.isRemote) {
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "exhaust");
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.hbm.config.RadiationConfig;
|
||||
import com.hbm.entity.mob.EntityDuck;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -63,14 +64,22 @@ public class HbmLivingProps implements IExtendedEntityProperties {
|
||||
|
||||
/// RADIATION ///
|
||||
public static float getRadiation(EntityLivingBase entity) {
|
||||
if(!RadiationConfig.enableContamination)
|
||||
return 0;
|
||||
|
||||
return getData(entity).radiation;
|
||||
}
|
||||
|
||||
public static void setRadiation(EntityLivingBase entity, float rad) {
|
||||
getData(entity).radiation = rad;
|
||||
if(RadiationConfig.enableContamination)
|
||||
getData(entity).radiation = rad;
|
||||
}
|
||||
|
||||
public static void incrementRadiation(EntityLivingBase entity, float rad) {
|
||||
|
||||
if(!RadiationConfig.enableContamination)
|
||||
return;
|
||||
|
||||
HbmLivingProps data = getData(entity);
|
||||
float radiation = getData(entity).radiation + rad;
|
||||
|
||||
|
||||
@ -117,7 +117,7 @@ public class BossSpawnHandler {
|
||||
}
|
||||
}
|
||||
|
||||
if(GeneralConfig.enableMeteorStrikes && !world.isRemote) {
|
||||
if(WorldConfig.enableMeteorStrikes && !world.isRemote) {
|
||||
meteorUpdate(world);
|
||||
}
|
||||
|
||||
@ -198,7 +198,7 @@ public class BossSpawnHandler {
|
||||
MainRegistry.logger.info("Ended meteor shower.");
|
||||
}
|
||||
|
||||
if(meteorRand.nextInt(WorldConfig.meteorStrikeChance * 100) == 0 && GeneralConfig.enableMeteorShowers) {
|
||||
if(meteorRand.nextInt(WorldConfig.meteorStrikeChance * 100) == 0 && WorldConfig.enableMeteorShowers) {
|
||||
meteorShower = (int)(WorldConfig.meteorShowerDuration * 0.75 + WorldConfig.meteorShowerDuration * 0.25 * meteorRand.nextFloat());
|
||||
|
||||
if(GeneralConfig.enableDebugMode)
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.config.BombConfig;
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.config.RadiationConfig;
|
||||
import com.hbm.explosion.ExplosionNukeSmall;
|
||||
@ -121,15 +122,14 @@ public class EntityEffectHandler {
|
||||
float rad = ChunkRadiationManager.proxy.getRadiation(world, ix, iy, iz);
|
||||
|
||||
if(world.provider.isHellWorld && RadiationConfig.hellRad > 0 && rad < RadiationConfig.hellRad)
|
||||
rad = RadiationConfig.hellRad;
|
||||
rad = (float) RadiationConfig.hellRad;
|
||||
|
||||
if(rad > 0) {
|
||||
ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, rad / 20F);
|
||||
}
|
||||
|
||||
if(entity.worldObj.isRaining() && RadiationConfig.cont > 0 && AuxSavedData.getThunder(entity.worldObj) > 0 && entity.worldObj.canBlockSeeTheSky(ix, iy, iz)) {
|
||||
|
||||
ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, RadiationConfig.cont * 0.0005F);
|
||||
if(entity.worldObj.isRaining() && BombConfig.cont > 0 && AuxSavedData.getThunder(entity.worldObj) > 0 && entity.worldObj.canBlockSeeTheSky(ix, iy, iz)) {
|
||||
ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, BombConfig.cont * 0.0005F);
|
||||
}
|
||||
|
||||
if(entity instanceof EntityPlayer && ((EntityPlayer)entity).capabilities.isCreativeMode)
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.hbm.handler.nei;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -6,6 +6,11 @@ import com.hbm.inventory.recipes.RefineryRecipes;
|
||||
public class CrackingHandler extends NEIUniversalHandler {
|
||||
|
||||
public CrackingHandler() {
|
||||
super("ntmCracking", "Cracking", ModBlocks.machine_catalytic_cracker, RefineryRecipes.getCrackingRecipesForNEI());
|
||||
super("Cracking", ModBlocks.machine_catalytic_cracker, RefineryRecipes.getCrackingRecipesForNEI());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return "ntmCracking";
|
||||
}
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ public class CrystallizerRecipeHandler extends TemplateRecipeHandler {
|
||||
|
||||
public RecipeSet(Object input, ItemStack result) {
|
||||
this.input = new PositionedStack(input, 75, 24);
|
||||
this.acid = new PositionedStack(ItemFluidIcon.addQuantity(new ItemStack(ModItems.fluid_icon, 1, Fluids.ACID.ordinal()), TileEntityMachineCrystallizer.acidRequired), 39, 24);
|
||||
this.acid = new PositionedStack(ItemFluidIcon.addQuantity(new ItemStack(ModItems.fluid_icon, 1, Fluids.ACID.getID()), TileEntityMachineCrystallizer.acidRequired), 39, 24);
|
||||
this.result = new PositionedStack(result, 135, 24);
|
||||
}
|
||||
|
||||
@ -78,6 +78,10 @@ public class CrystallizerRecipeHandler extends TemplateRecipeHandler {
|
||||
Map<Object, Object> recipes = CrystallizerRecipes.getRecipes();
|
||||
|
||||
for (Map.Entry<Object, Object> recipe : recipes.entrySet()) {
|
||||
|
||||
if(recipe.getKey() instanceof ItemStack && ((ItemStack)recipe.getKey()).getItem() == ModItems.scrap_plastic)
|
||||
continue;
|
||||
|
||||
this.arecipes.add(new RecipeSet(recipe.getKey(), (ItemStack)recipe.getValue()));
|
||||
}
|
||||
|
||||
@ -126,7 +130,7 @@ public class CrystallizerRecipeHandler extends TemplateRecipeHandler {
|
||||
for (Map.Entry<Object, Object> recipe : recipes.entrySet()) {
|
||||
|
||||
if(NEIServerUtils.areStacksSameTypeCrafting(ingredient, ItemFluidIcon.addQuantity(
|
||||
new ItemStack(ModItems.fluid_icon, 1, Fluids.ACID.ordinal()), TileEntityMachineCrystallizer.acidRequired))) {
|
||||
new ItemStack(ModItems.fluid_icon, 1, Fluids.ACID.getID()), TileEntityMachineCrystallizer.acidRequired))) {
|
||||
|
||||
if(recipe.getKey() instanceof ItemStack) {
|
||||
this.arecipes.add(new RecipeSet(recipe.getKey(), (ItemStack)recipe.getValue()));
|
||||
|
||||
@ -6,6 +6,11 @@ import com.hbm.inventory.recipes.RefineryRecipes;
|
||||
public class FractioningHandler extends NEIUniversalHandler {
|
||||
|
||||
public FractioningHandler() {
|
||||
super("ntmFractioning", "Fractioning", ModBlocks.machine_fraction_tower, RefineryRecipes.getFractionRecipesForNEI());
|
||||
super("Fractioning", ModBlocks.machine_fraction_tower, RefineryRecipes.getFractionRecipesForNEI());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return "ntmFractioning";
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,11 @@ import com.hbm.inventory.recipes.LiquefactionRecipes;
|
||||
public class LiquefactionHandler extends NEIUniversalHandler {
|
||||
|
||||
public LiquefactionHandler() {
|
||||
super("ntmLiquefaction", "Liquefaction", ModBlocks.machine_liquefactor, LiquefactionRecipes.getRecipes());
|
||||
super("Liquefaction", ModBlocks.machine_liquefactor, LiquefactionRecipes.getRecipes());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return "ntmLiquefaction";
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,11 +2,12 @@ package com.hbm.handler.nei;
|
||||
|
||||
import static codechicken.lib.gui.GuiDraw.drawTexturedModalRect;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
@ -16,28 +17,32 @@ import codechicken.nei.NEIServerUtils;
|
||||
import codechicken.nei.PositionedStack;
|
||||
import codechicken.nei.recipe.TemplateRecipeHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public abstract class NEIUniversalHandler extends TemplateRecipeHandler {
|
||||
|
||||
public LinkedList<RecipeTransferRect> transferRectsRec = new LinkedList<RecipeTransferRect>();
|
||||
public LinkedList<RecipeTransferRect> transferRectsGui = new LinkedList<RecipeTransferRect>();
|
||||
public LinkedList<Class<? extends GuiContainer>> guiRec = new LinkedList<Class<? extends GuiContainer>>();
|
||||
public LinkedList<Class<? extends GuiContainer>> guiGui = new LinkedList<Class<? extends GuiContainer>>();
|
||||
|
||||
/// SETUP ///
|
||||
public final String display;
|
||||
public final String key;
|
||||
public final ItemStack[] machine;
|
||||
public final HashMap<Object, Object> recipes;
|
||||
/// SETUP ///
|
||||
|
||||
public NEIUniversalHandler(String key, String display, ItemStack machine[], HashMap recipes) {
|
||||
this.key = key;
|
||||
public NEIUniversalHandler(String display, ItemStack machine[], HashMap recipes) {
|
||||
this.display = display;
|
||||
this.machine = machine;
|
||||
this.recipes = recipes;
|
||||
}
|
||||
|
||||
public NEIUniversalHandler(String key, String display, ItemStack machine, HashMap recipes) { this(key, display, new ItemStack[]{machine}, recipes); }
|
||||
public NEIUniversalHandler(String key, String display, Item machine, HashMap recipes) { this(key, display, new ItemStack(machine), recipes); }
|
||||
public NEIUniversalHandler(String key, String display, Block machine, HashMap recipes) { this(key, display, new ItemStack(machine), recipes); }
|
||||
public NEIUniversalHandler(String display, ItemStack machine, HashMap recipes) { this(display, new ItemStack[]{machine}, recipes); }
|
||||
public NEIUniversalHandler(String display, Item machine, HashMap recipes) { this(display, new ItemStack(machine), recipes); }
|
||||
public NEIUniversalHandler(String display, Block machine, HashMap recipes) { this(display, new ItemStack(machine), recipes); }
|
||||
|
||||
public class RecipeSet extends TemplateRecipeHandler.CachedRecipe {
|
||||
|
||||
@ -109,7 +114,7 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler {
|
||||
@Override
|
||||
public void loadCraftingRecipes(String outputId, Object... results) {
|
||||
|
||||
if(outputId.equals(key)) {
|
||||
if(outputId.equals(getKey())) {
|
||||
|
||||
for(Entry<Object, Object> recipe : recipes.entrySet()) {
|
||||
ItemStack[][] ins = InventoryUtil.extractObject(recipe.getKey());
|
||||
@ -143,9 +148,8 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler {
|
||||
|
||||
@Override
|
||||
public void loadUsageRecipes(String inputId, Object... ingredients) {
|
||||
|
||||
if(inputId.equals(key)) {
|
||||
loadCraftingRecipes(key, new Object[0]);
|
||||
if(inputId.equals(getKey())) {
|
||||
loadCraftingRecipes(getKey(), new Object[0]);
|
||||
} else {
|
||||
super.loadUsageRecipes(inputId, ingredients);
|
||||
}
|
||||
@ -169,4 +173,18 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadTransferRects() {
|
||||
transferRectsGui = new LinkedList<RecipeTransferRect>();
|
||||
//guiGui = new LinkedList<Class<? extends GuiContainer>>();
|
||||
|
||||
transferRects.add(new RecipeTransferRect(new Rectangle(147, 1, 18, 18), getKey()));
|
||||
//transferRectsGui.add(new RecipeTransferRect(new Rectangle(18 * 2 + 2, 89 - 7 - 11, 18 * 5 - 4, 18 + 16), key));
|
||||
//guiGui.add(GUIMachineAssembler.class);
|
||||
RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects);
|
||||
//RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui);
|
||||
}
|
||||
|
||||
public abstract String getKey();
|
||||
}
|
||||
|
||||
@ -8,11 +8,16 @@ import net.minecraft.item.ItemStack;
|
||||
public class RTGRecipeHandler extends NEIUniversalHandler {
|
||||
|
||||
public RTGRecipeHandler() {
|
||||
super("ntmRTG", "RTG", new ItemStack[] {
|
||||
super("RTG", new ItemStack[] {
|
||||
new ItemStack(ModBlocks.machine_rtg_grey),
|
||||
new ItemStack(ModBlocks.machine_difurnace_rtg_off),
|
||||
new ItemStack(ModBlocks.machine_industrial_generator),
|
||||
new ItemStack(ModBlocks.machine_rtg_furnace_off)
|
||||
}, ItemRTGPellet.getRecipeMap());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return "ntmRTG";
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,7 +8,6 @@ import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.inventory.gui.GUIRadiolysis;
|
||||
import com.hbm.inventory.recipes.RadiolysisRecipes;
|
||||
import com.hbm.lib.RefStrings;
|
||||
@ -16,8 +15,6 @@ import com.hbm.lib.RefStrings;
|
||||
import codechicken.nei.NEIServerUtils;
|
||||
import codechicken.nei.PositionedStack;
|
||||
import codechicken.nei.recipe.TemplateRecipeHandler;
|
||||
import codechicken.nei.recipe.TemplateRecipeHandler.RecipeTransferRect;
|
||||
import codechicken.nei.recipe.TemplateRecipeHandler.RecipeTransferRectHandler;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
|
||||
@ -10,12 +10,10 @@ import java.util.Map;
|
||||
import com.hbm.inventory.gui.GUISILEX;
|
||||
import com.hbm.inventory.recipes.SILEXRecipes;
|
||||
import com.hbm.inventory.recipes.SILEXRecipes.SILEXRecipe;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemFELCrystal.EnumWavelengths;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.util.I18nUtil;
|
||||
import com.hbm.util.WeightedRandomObject;
|
||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
|
||||
import codechicken.nei.NEIServerUtils;
|
||||
import codechicken.nei.PositionedStack;
|
||||
@ -23,7 +21,6 @@ import codechicken.nei.recipe.TemplateRecipeHandler;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
|
||||
@ -3,9 +3,16 @@ package com.hbm.handler.nei;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.inventory.recipes.SolidificationRecipes;
|
||||
|
||||
import codechicken.nei.recipe.TemplateRecipeHandler;
|
||||
|
||||
public class SolidificationHandler extends NEIUniversalHandler {
|
||||
|
||||
public SolidificationHandler() {
|
||||
super("ntmSolidification", "Solidification", ModBlocks.machine_solidifier, SolidificationRecipes.getRecipes());
|
||||
super("Solidification", ModBlocks.machine_solidifier, SolidificationRecipes.getRecipes());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return "ntmSolidification";
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,11 @@ import com.hbm.tileentity.machine.TileEntityReactorZirnox;
|
||||
public class ZirnoxRecipeHandler extends NEIUniversalHandler {
|
||||
|
||||
public ZirnoxRecipeHandler() {
|
||||
super("ntmZirnox", "ZIRNOX", ModBlocks.reactor_zirnox, TileEntityReactorZirnox.fuelMap);
|
||||
super("ZIRNOX", ModBlocks.reactor_zirnox, TileEntityReactorZirnox.fuelMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return "ntmZirnox";
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,27 +16,27 @@ public class ChunkRadiationManager {
|
||||
|
||||
@SubscribeEvent
|
||||
public void onWorldLoad(WorldEvent.Load event) {
|
||||
proxy.receiveWorldLoad(event);
|
||||
if(RadiationConfig.enableChunkRads) proxy.receiveWorldLoad(event);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onWorldUnload(WorldEvent.Unload event) {
|
||||
proxy.receiveWorldUnload(event);
|
||||
if(RadiationConfig.enableChunkRads) proxy.receiveWorldUnload(event);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onChunkLoad(ChunkDataEvent.Load event) {
|
||||
proxy.receiveChunkLoad(event);
|
||||
if(RadiationConfig.enableChunkRads) proxy.receiveChunkLoad(event);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onChunkSave(ChunkDataEvent.Save event) {
|
||||
proxy.receiveChunkSave(event);
|
||||
if(RadiationConfig.enableChunkRads) proxy.receiveChunkSave(event);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onChunkUnload(ChunkEvent.Unload event) {
|
||||
proxy.receiveChunkUnload(event);
|
||||
if(RadiationConfig.enableChunkRads) proxy.receiveChunkUnload(event);
|
||||
}
|
||||
|
||||
int eggTimer = 0;
|
||||
@ -44,7 +44,7 @@ public class ChunkRadiationManager {
|
||||
@SubscribeEvent
|
||||
public void updateSystem(TickEvent.ServerTickEvent event) {
|
||||
|
||||
if(event.side == Side.SERVER && event.phase == Phase.END) {
|
||||
if(RadiationConfig.enableChunkRads && event.side == Side.SERVER && event.phase == Phase.END) {
|
||||
|
||||
eggTimer++;
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ import static com.hbm.inventory.OreDictManager.*;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.hazard.modifier.*;
|
||||
import com.hbm.hazard.transformer.HazardTransformerRadiationNBT;
|
||||
import com.hbm.hazard.transformer.*;
|
||||
import com.hbm.hazard.type.*;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemBreedingRod.BreedingRodType;
|
||||
@ -469,6 +469,7 @@ public class HazardRegistry {
|
||||
|
||||
public static void registerTrafos() {
|
||||
HazardSystem.trafos.add(new HazardTransformerRadiationNBT());
|
||||
HazardSystem.trafos.add(new HazardTransformerRadiationME());
|
||||
}
|
||||
|
||||
private static HazardData makeData() { return new HazardData(); }
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
package com.hbm.hazard.transformer;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.hazard.HazardEntry;
|
||||
import com.hbm.hazard.HazardRegistry;
|
||||
import com.hbm.hazard.HazardSystem;
|
||||
import com.hbm.util.Compat;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class HazardTransformerRadiationME extends HazardTransformerBase {
|
||||
|
||||
@Override
|
||||
public void transformPre(ItemStack stack, List<HazardEntry> entries) { }
|
||||
|
||||
@Override
|
||||
public void transformPost(ItemStack stack, List<HazardEntry> entries) {
|
||||
|
||||
if(stack.getItem().getClass().getName().equals("appeng.items.storage.ItemBasicStorageCell")) {
|
||||
List<ItemStack> stacks = Compat.scrapeItemFromME(stack);
|
||||
float radiation = 0;
|
||||
|
||||
for(ItemStack held : stacks) {
|
||||
radiation += HazardSystem.getHazardLevelFromStack(held, HazardRegistry.RADIATION);
|
||||
}
|
||||
|
||||
if(radiation > 0) {
|
||||
entries.add(new HazardEntry(HazardRegistry.RADIATION, radiation));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -23,6 +23,7 @@ public class FluidContainerRegistry {
|
||||
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(Items.lava_bucket), new ItemStack(Items.bucket), Fluids.LAVA, 1000));
|
||||
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.bucket_mud), new ItemStack(Items.bucket), Fluids.WATZ, 1000));
|
||||
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.bucket_schrabidic_acid), new ItemStack(Items.bucket), Fluids.SCHRABIDIC, 1000));
|
||||
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.bucket_sulfuric_acid), new ItemStack(Items.bucket), Fluids.SULFURIC_ACID, 1000));
|
||||
|
||||
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_full), new ItemStack(ModItems.gas_empty), Fluids.GAS, 1000));
|
||||
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_petroleum), new ItemStack(ModItems.gas_empty), Fluids.PETROLEUM, 1000));
|
||||
@ -98,7 +99,7 @@ public class FluidContainerRegistry {
|
||||
sta.stackSize = 1;
|
||||
|
||||
for(FluidContainer container : allContainers) {
|
||||
if(container.type.name().equals(type.name()) &&
|
||||
if(container.type == type &&
|
||||
ItemStack.areItemStacksEqual(container.fullContainer, sta) &&
|
||||
ItemStack.areItemStackTagsEqual(container.fullContainer, sta))
|
||||
return container.content;
|
||||
@ -131,7 +132,7 @@ public class FluidContainerRegistry {
|
||||
sta.stackSize = 1;
|
||||
|
||||
for(FluidContainer container : allContainers) {
|
||||
if(ItemStack.areItemStacksEqual(container.emptyContainer, sta) && ItemStack.areItemStackTagsEqual(container.emptyContainer, sta) && container.type.name().equals(type.name()))
|
||||
if(ItemStack.areItemStacksEqual(container.emptyContainer, sta) && ItemStack.areItemStackTagsEqual(container.emptyContainer, sta) && container.type == type)
|
||||
return container.fullContainer.copy();
|
||||
}
|
||||
|
||||
|
||||
@ -8,27 +8,22 @@ import org.lwjgl.opengl.GL11;
|
||||
import com.hbm.handler.ArmorModHandler;
|
||||
import com.hbm.interfaces.IPartiallyFillable;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.FluidType.FluidTrait;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.gui.GuiInfoContainer;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.armor.ItemArmorMod;
|
||||
import com.hbm.items.machine.ItemFluidIdentifier;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TEFluidPacket;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class FluidTank {
|
||||
|
||||
|
||||
@ -79,6 +79,8 @@ public class OreDictManager {
|
||||
public static final String KEY_TOOL_SCREWDRIVER = "ntmscrewdriver";
|
||||
public static final String KEY_TOOL_HANDDRILL = "ntmhanddrill";
|
||||
public static final String KEY_TOOL_CHEMISTRYSET = "ntmchemistryset";
|
||||
|
||||
public static final String KEY_CIRCUIT_BISMUTH = "circuitVersatile";
|
||||
|
||||
/*
|
||||
* PREFIXES
|
||||
@ -433,6 +435,9 @@ public class OreDictManager {
|
||||
OreDictionary.registerOre(KEY_TOOL_HANDDRILL, new ItemStack(hand_drill_desh, 1, OreDictionary.WILDCARD_VALUE));
|
||||
OreDictionary.registerOre(KEY_TOOL_CHEMISTRYSET, new ItemStack(chemistry_set, 1, OreDictionary.WILDCARD_VALUE));
|
||||
OreDictionary.registerOre(KEY_TOOL_CHEMISTRYSET, new ItemStack(chemistry_set_boron, 1, OreDictionary.WILDCARD_VALUE));
|
||||
|
||||
OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_bismuth);
|
||||
OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_arsenic);
|
||||
|
||||
OreDictionary.registerOre(getReflector(), neutron_reflector);
|
||||
OreDictionary.registerOre("oreRareEarth", ore_rare);
|
||||
|
||||
@ -86,6 +86,7 @@ public class Fluids {
|
||||
public static FluidType SALIENT;
|
||||
public static FluidType XPJUICE;
|
||||
public static FluidType ENDERJUICE;
|
||||
public static FluidType SULFURIC_ACID;
|
||||
|
||||
private static final HashMap<Integer, FluidType> idMapping = new HashMap();
|
||||
private static final HashMap<String, FluidType> nameMapping = new HashMap();
|
||||
@ -181,6 +182,7 @@ public class Fluids {
|
||||
PETROIL_LEADED = new FluidTypeCombustible( "PETROIL_LEADED", 0x44413d, 1, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 450_000).setHeatEnergy(((FluidTypeFlammable)PETROIL).getHeatEnergy());
|
||||
GASOLINE_LEADED = new FluidTypeCombustible( "GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 1_500_000).setHeatEnergy(((FluidTypeFlammable)GASOLINE).getHeatEnergy());
|
||||
COALGAS_LEADED = new FluidTypeCombustible( "COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 250_000).setHeatEnergy(((FluidTypeFlammable)COALGAS).getHeatEnergy());
|
||||
SULFURIC_ACID = new FluidType( "SULFURIC_ACID", 0xB0AA64, 3, 0, 2, EnumSymbol.ACID).addTraits(FluidTrait.CORROSIVE);
|
||||
|
||||
|
||||
// ^ ^ ^ ^ ^ ^ ^ ^
|
||||
@ -250,10 +252,12 @@ public class Fluids {
|
||||
//processing fluids
|
||||
metaOrder.add(SALIENT);
|
||||
metaOrder.add(ACID);
|
||||
metaOrder.add(SULFURIC_ACID);
|
||||
//NITRIC_ACID
|
||||
metaOrder.add(SCHRABIDIC);
|
||||
metaOrder.add(UF6);
|
||||
metaOrder.add(PUF6);
|
||||
metaOrder.add(SAS3);
|
||||
metaOrder.add(SCHRABIDIC);
|
||||
metaOrder.add(PAIN);
|
||||
metaOrder.add(DEATH);
|
||||
metaOrder.add(WATZ);
|
||||
|
||||
@ -164,7 +164,7 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModItems.entanglement_kit, 1), new AStack[] {new ComparableStack(ModItems.coil_magnetized_tungsten, 6), new OreDictStack(PB.plate(), 16), new OreDictStack(OreDictManager.getReflector(), 4), new ComparableStack(ModItems.singularity_counter_resonant, 1), new ComparableStack(ModItems.singularity_super_heated, 1), new ComparableStack(ModItems.powder_power, 4), },200);
|
||||
makeRecipe(new ComparableStack(ModItems.dysfunctional_reactor, 1), new AStack[] {new OreDictStack(STEEL.plate(), 15), new OreDictStack(PB.ingot(), 5), new ComparableStack(ModItems.rod_quad_empty, 10), new OreDictStack("dyeBrown", 3), },200);
|
||||
makeRecipe(new ComparableStack(ModItems.missile_assembly, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.hull_small_aluminium, 4), new OreDictStack(STEEL.ingot(), 2), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.wire_aluminium, 6), new ComparableStack(ModItems.canister_full, 3, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200);
|
||||
makeRecipe(new ComparableStack(ModItems.missile_carrier, 1), new AStack[] {new ComparableStack(ModItems.fluid_barrel_full, 16, Fluids.KEROSENE.ordinal()), new ComparableStack(ModItems.thruster_medium, 4), new ComparableStack(ModItems.thruster_large, 1), new ComparableStack(ModItems.hull_big_titanium, 6), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.hull_small_aluminium, 12), new OreDictStack(TI.plate(), 24), new ComparableStack(ModItems.plate_polymer, 128), new ComparableStack(ModBlocks.det_cord, 8), new ComparableStack(ModItems.circuit_targeting_tier3, 12), new ComparableStack(ModItems.circuit_targeting_tier4, 3), },4800);
|
||||
makeRecipe(new ComparableStack(ModItems.missile_carrier, 1), new AStack[] {new ComparableStack(ModItems.fluid_barrel_full, 16, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.thruster_medium, 4), new ComparableStack(ModItems.thruster_large, 1), new ComparableStack(ModItems.hull_big_titanium, 6), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.hull_small_aluminium, 12), new OreDictStack(TI.plate(), 24), new ComparableStack(ModItems.plate_polymer, 128), new ComparableStack(ModBlocks.det_cord, 8), new ComparableStack(ModItems.circuit_targeting_tier3, 12), new ComparableStack(ModItems.circuit_targeting_tier4, 3), },4800);
|
||||
makeRecipe(new ComparableStack(ModItems.warhead_generic_small, 1), new AStack[] {new OreDictStack(TI.plate(), 5), new OreDictStack(STEEL.plate(), 3), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 2), },100);
|
||||
makeRecipe(new ComparableStack(ModItems.warhead_generic_medium, 1), new AStack[] {new OreDictStack(TI.plate(), 8), new OreDictStack(STEEL.plate(), 5), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), },150);
|
||||
makeRecipe(new ComparableStack(ModItems.warhead_generic_large, 1), new AStack[] {new OreDictStack(TI.plate(), 15), new OreDictStack(STEEL.plate(), 8), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8), },200);
|
||||
@ -189,15 +189,15 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModItems.thruster_medium, 1), new AStack[] {new ComparableStack(ModItems.thruster_small, 1), new OreDictStack(STEEL.plate(), 2), new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.wire_copper, 4), },150);
|
||||
makeRecipe(new ComparableStack(ModItems.thruster_large, 1), new AStack[] {new ComparableStack(ModItems.thruster_medium, 1), new OreDictStack(STEEL.plate(), 4), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.wire_red_copper, 4), },200);
|
||||
makeRecipe(new ComparableStack(ModItems.thruster_nuclear, 1), new AStack[] {new ComparableStack(ModItems.thruster_large, 1), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModBlocks.deco_pipe_quad, 3), new ComparableStack(ModItems.board_copper, 6), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModBlocks.reactor_research, 1), },600);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_base, 1), new AStack[] {new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.ordinal()), new ComparableStack(ModItems.photo_panel, 24), new ComparableStack(ModItems.board_copper, 12), new ComparableStack(ModItems.circuit_gold, 6), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_base, 1), new AStack[] {new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.photo_panel, 24), new ComparableStack(ModItems.board_copper, 12), new ComparableStack(ModItems.circuit_gold, 6), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_head_mapper, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.hull_small_steel, 3), new ComparableStack(ModItems.plate_desh, 2), new ComparableStack(ModItems.circuit_gold, 2), new ComparableStack(ModItems.plate_polymer, 12), new OreDictStack(REDSTONE.dust(), 6), new ComparableStack(Items.diamond, 1), new ComparableStack(Blocks.glass_pane, 6), },400);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_head_scanner, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 6), new OreDictStack(TI.plate(), 32), new ComparableStack(ModItems.plate_desh, 6), new ComparableStack(ModItems.magnetron, 6), new ComparableStack(ModItems.coil_advanced_torus, 2), new ComparableStack(ModItems.circuit_gold, 6), new ComparableStack(ModItems.plate_polymer, 6), new ComparableStack(Items.diamond, 1), },400);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_head_radar, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(TI.plate(), 32), new ComparableStack(ModItems.magnetron, 12), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.wire_red_copper, 16), new ComparableStack(ModItems.coil_gold, 3), new ComparableStack(ModItems.circuit_gold, 5), new ComparableStack(Items.diamond, 1), },400);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_head_laser, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(W.ingot(), 16), new OreDictStack(ANY_PLASTIC.ingot(), 6), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.board_copper, 24), new ComparableStack(ModItems.circuit_targeting_tier5, 2), new OreDictStack(REDSTONE.dust(), 16), new ComparableStack(Items.diamond, 5), new ComparableStack(Blocks.glass_pane, 16), },450);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_head_resonator, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 32), new OreDictStack(ANY_PLASTIC.ingot(), 48), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.crystal_xen, 1), new OreDictStack(STAR.ingot(), 7), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.circuit_targeting_tier6, 2), },1000);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_foeq, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.HYDROGEN.ordinal()), new ComparableStack(ModItems.photo_panel, 16), new ComparableStack(ModItems.thruster_nuclear, 1), new ComparableStack(ModItems.ingot_uranium_fuel, 6), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },1200);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_miner, 1), new AStack[] {new OreDictStack(BIGMT.plate(), 24), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.ordinal()), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.centrifuge_element, 4), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.plate_polymer, 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_lunar_miner, 1), new AStack[] {new ComparableStack(ModItems.ingot_meteorite, 4), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.motor_desh, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.ordinal()), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.plate_polymer, 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_foeq, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.HYDROGEN.getID()), new ComparableStack(ModItems.photo_panel, 16), new ComparableStack(ModItems.thruster_nuclear, 1), new ComparableStack(ModItems.ingot_uranium_fuel, 6), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },1200);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_miner, 1), new AStack[] {new OreDictStack(BIGMT.plate(), 24), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.centrifuge_element, 4), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.plate_polymer, 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600);
|
||||
makeRecipe(new ComparableStack(ModItems.sat_lunar_miner, 1), new AStack[] {new ComparableStack(ModItems.ingot_meteorite, 4), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.motor_desh, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.plate_polymer, 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600);
|
||||
makeRecipe(new ComparableStack(ModItems.chopper_head, 1), new AStack[] {new ComparableStack(ModBlocks.reinforced_glass, 2), new ComparableStack(ModBlocks.fwatz_computer, 1), new OreDictStack(CMB.ingot(), 22), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), },300);
|
||||
makeRecipe(new ComparableStack(ModItems.chopper_gun, 1), new AStack[] {new OreDictStack(CMB.plate(), 4), new OreDictStack(CMB.ingot(), 2), new ComparableStack(ModItems.wire_tungsten, 6), new ComparableStack(ModItems.coil_magnetized_tungsten, 1), new ComparableStack(ModItems.motor, 1), },150);
|
||||
makeRecipe(new ComparableStack(ModItems.chopper_torso, 1), new AStack[] {new OreDictStack(CMB.ingot(), 26), new ComparableStack(ModBlocks.fwatz_computer, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.chopper_blades, 2), },350);
|
||||
@ -241,7 +241,7 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModItems.upgrade_health, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new ComparableStack(Items.glowstone_dust, 6), new OreDictStack(TI.dust(), 4), },500);
|
||||
makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_speed_3, 1), new ComparableStack(ModItems.upgrade_effect_3, 1), new OreDictStack(DESH.ingot(), 8), new ComparableStack(ModItems.powder_power, 16), new ComparableStack(ModItems.crystal_lithium, 4), new ComparableStack(ModItems.circuit_schrabidium, 1), }, 200);
|
||||
makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_overdrive_1, 1), new ComparableStack(ModItems.upgrade_afterburn_1, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), new ComparableStack(ModItems.upgrade_effect_3, 1), new ComparableStack(ModItems.crystal_lithium, 8), new ComparableStack(ModItems.circuit_tantalium, 16), }, 300);
|
||||
makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_overdrive_2, 1), new ComparableStack(ModItems.upgrade_afterburn_1, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), new ComparableStack(ModItems.upgrade_effect_3, 1), new ComparableStack(ModItems.crystal_lithium, 16), new ComparableStack(ModItems.circuit_bismuth, 1), }, 500);
|
||||
makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_overdrive_2, 1), new ComparableStack(ModItems.upgrade_afterburn_1, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), new ComparableStack(ModItems.upgrade_effect_3, 1), new ComparableStack(ModItems.crystal_lithium, 16), new OreDictStack(KEY_CIRCUIT_BISMUTH), }, 500);
|
||||
makeRecipe(new ComparableStack(ModItems.fuse, 1), new AStack[] {new OreDictStack(STEEL.plate(), 2), new ComparableStack(Blocks.glass_pane, 1), new ComparableStack(ModItems.wire_aluminium, 1), },100);
|
||||
makeRecipe(new ComparableStack(ModItems.redcoil_capacitor, 1), new AStack[] {new OreDictStack(GOLD.plate(), 3), new ComparableStack(ModItems.fuse, 1), new ComparableStack(ModItems.wire_advanced_alloy, 4), new ComparableStack(ModItems.coil_advanced_alloy, 6), new ComparableStack(Blocks.redstone_block, 2), },200);
|
||||
makeRecipe(new ComparableStack(ModItems.titanium_filter, 1), new AStack[] {new OreDictStack(PB.plate(), 3), new ComparableStack(ModItems.fuse, 1), new ComparableStack(ModItems.wire_tungsten, 4), new OreDictStack(TI.plate(), 6), new OreDictStack(U238.ingot(), 2), },200);
|
||||
@ -303,7 +303,7 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModBlocks.fwatz_hatch, 1), new AStack[] {new OreDictStack(W.ingot(), 6), new OreDictStack(CMB.plate(), 4), },250);
|
||||
makeRecipe(new ComparableStack(ModBlocks.fwatz_conductor, 1), new AStack[] {new OreDictStack(CMB.plate(), 2), new ComparableStack(ModItems.coil_magnetized_tungsten, 5), },250);
|
||||
makeRecipe(new ComparableStack(ModBlocks.fwatz_computer, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 16), new OreDictStack(DIAMOND.dust(), 6), new OreDictStack(MAGTUNG.dust(), 6), new OreDictStack(DESH.dust(), 4), },300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.fwatz_core, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new OreDictStack(DIAMOND.dust(), 8), new OreDictStack(MAGTUNG.dust(), 12), new OreDictStack(DESH.dust(), 8), new ComparableStack(ModItems.upgrade_power_3, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), new ComparableStack(ModItems.circuit_bismuth, 8)},450);
|
||||
makeRecipe(new ComparableStack(ModBlocks.fwatz_core, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new OreDictStack(DIAMOND.dust(), 8), new OreDictStack(MAGTUNG.dust(), 12), new OreDictStack(DESH.dust(), 8), new ComparableStack(ModItems.upgrade_power_3, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), new OreDictStack(KEY_CIRCUIT_BISMUTH, 8)},450);
|
||||
makeRecipe(new ComparableStack(ModBlocks.nuke_gadget, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.fins_flat, 2), new ComparableStack(ModItems.pedestal_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier3, 1), new ComparableStack(ModItems.wire_gold, 6), new OreDictStack("dyeGray", 6), },300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.nuke_boy, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.fins_small_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier2, 1), new ComparableStack(ModItems.wire_aluminium, 6), new OreDictStack("dyeBlue", 4), },300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.nuke_man, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.fins_big_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier2, 2), new ComparableStack(ModItems.wire_copper, 6), new OreDictStack("dyeYellow", 6), },300);
|
||||
@ -460,7 +460,7 @@ public class AssemblerRecipes {
|
||||
new ComparableStack(ModItems.coil_advanced_alloy, 12),
|
||||
new OreDictStack(ANY_PLASTIC.ingot(), 8),
|
||||
new ComparableStack(ModItems.circuit_red_copper, 8),
|
||||
new ComparableStack(ModItems.circuit_bismuth, 1)
|
||||
new OreDictStack(KEY_CIRCUIT_BISMUTH, 1)
|
||||
}, 600);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_large_turbine, 1), new AStack[] {
|
||||
new ComparableStack(ModItems.hull_big_steel, 1),
|
||||
|
||||
@ -58,6 +58,10 @@ public class ChemplantRecipes {
|
||||
recipes.add(new ChemRecipe(40, "PEROXIDE", 50)
|
||||
.inputFluids(new FluidStack(Fluids.WATER, 1000))
|
||||
.outputFluids(new FluidStack(Fluids.ACID, 800)));
|
||||
recipes.add(new ChemRecipe(90, "SULFURIC_ACID", 50)
|
||||
.inputItems(new OreDictStack(S.dust()))
|
||||
.inputFluids(new FluidStack(Fluids.ACID, 800))
|
||||
.outputFluids(new FluidStack(Fluids.SULFURIC_ACID, 500)));
|
||||
recipes.add(new ChemRecipe(41, "CIRCUIT_4", 200)
|
||||
.inputItems(
|
||||
new ComparableStack(ModItems.circuit_red_copper),
|
||||
@ -265,6 +269,13 @@ public class ChemplantRecipes {
|
||||
new ItemStack(ModItems.gem_tantalium),
|
||||
new ItemStack(ModItems.dust, 3))
|
||||
.outputFluids(new FluidStack(Fluids.WATER, 250)));
|
||||
recipes.add(new ChemRecipe(91, "ARSENIC", 1200)
|
||||
.inputItems(new ComparableStack(ModItems.scrap_oil, 256))
|
||||
.inputFluids(new FluidStack(Fluids.SULFURIC_ACID, 1000))
|
||||
.outputItems(
|
||||
new ItemStack(ModItems.nugget_arsenic),
|
||||
new ItemStack(ModItems.sulfur, 2))
|
||||
.outputFluids(new FluidStack(Fluids.HEAVYOIL, 1500)));
|
||||
recipes.add(new ChemRecipe(68, "VIT_LIQUID", 100)
|
||||
.inputItems(new ComparableStack(ModBlocks.sand_lead))
|
||||
.inputFluids(new FluidStack(Fluids.WASTEFLUID, 1000))
|
||||
|
||||
@ -75,6 +75,7 @@ public class PressRecipes {
|
||||
|
||||
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_raw), ModItems.circuit_aluminium);
|
||||
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_bismuth_raw), ModItems.circuit_bismuth);
|
||||
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_arsenic_raw), ModItems.circuit_arsenic);
|
||||
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_tantalium_raw), ModItems.circuit_tantalium);
|
||||
|
||||
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_iron), ModItems.gun_revolver_iron_ammo);
|
||||
|
||||
@ -257,6 +257,16 @@ public class ShredderRecipes {
|
||||
ShredderRecipes.setRecipe(ModBlocks.sellafield_3, new ItemStack(ModItems.scrap_nuclear, 5));
|
||||
ShredderRecipes.setRecipe(ModBlocks.sellafield_4, new ItemStack(ModItems.scrap_nuclear, 7));
|
||||
ShredderRecipes.setRecipe(ModBlocks.sellafield_core, new ItemStack(ModItems.scrap_nuclear, 15));
|
||||
|
||||
/*
|
||||
* Fracking debris scrapping
|
||||
*/
|
||||
ShredderRecipes.setRecipe(ModBlocks.dirt_dead, new ItemStack(ModItems.scrap_oil, 1));
|
||||
ShredderRecipes.setRecipe(ModBlocks.dirt_oily, new ItemStack(ModItems.scrap_oil, 1));
|
||||
ShredderRecipes.setRecipe(ModBlocks.sand_dirty, new ItemStack(ModItems.scrap_oil, 1));
|
||||
ShredderRecipes.setRecipe(ModBlocks.sand_dirty_red, new ItemStack(ModItems.scrap_oil, 1));
|
||||
ShredderRecipes.setRecipe(ModBlocks.stone_cracked, new ItemStack(ModItems.scrap_oil, 1));
|
||||
ShredderRecipes.setRecipe(ModBlocks.stone_porous, new ItemStack(ModItems.scrap_oil, 1));
|
||||
|
||||
/*
|
||||
* Deco pipe recycling
|
||||
|
||||
@ -252,7 +252,7 @@ public class AnvilRecipes {
|
||||
}, new AnvilOutput(new ItemStack(ModItems.demon_core_open))).setTier(3));
|
||||
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(
|
||||
new AStack[] {new OreDictStack(DESH.ingot(), 4), new OreDictStack(POLYMER.dust(), 2), new OreDictStack(DURA.ingot(), 1)},
|
||||
new AStack[] {new OreDictStack(DESH.ingot(), 4), new OreDictStack(ANY_PLASTIC.dust(), 2), new OreDictStack(DURA.ingot(), 1)},
|
||||
new AnvilOutput(new ItemStack(ModItems.plate_desh, 4))).setTier(3));
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(
|
||||
new AStack[] {new ComparableStack(ModItems.nugget_bismuth, 2), new OreDictStack(U238.billet(), 2), new OreDictStack(NB.dust(), 1)},
|
||||
|
||||
@ -271,6 +271,8 @@ public class ModItems {
|
||||
public static Item nugget_lead;
|
||||
public static Item ingot_bismuth;
|
||||
public static Item nugget_bismuth;
|
||||
public static Item ingot_arsenic;
|
||||
public static Item nugget_arsenic;
|
||||
public static Item ingot_tantalium;
|
||||
public static Item nugget_tantalium;
|
||||
public static Item ingot_niobium;
|
||||
@ -544,6 +546,8 @@ public class ModItems {
|
||||
public static Item circuit_schrabidium;
|
||||
public static Item circuit_bismuth_raw;
|
||||
public static Item circuit_bismuth;
|
||||
public static Item circuit_arsenic_raw;
|
||||
public static Item circuit_arsenic;
|
||||
public static Item circuit_tantalium_raw;
|
||||
public static Item circuit_tantalium;
|
||||
public static Item crt_display;
|
||||
@ -1130,6 +1134,7 @@ public class ModItems {
|
||||
|
||||
public static Item scrap_plastic;
|
||||
public static Item scrap;
|
||||
public static Item scrap_oil;
|
||||
public static Item scrap_nuclear;
|
||||
public static Item trinitite;
|
||||
public static Item nuclear_waste_long;
|
||||
@ -1209,6 +1214,7 @@ public class ModItems {
|
||||
public static Item mirror_tool;
|
||||
public static Item rbmk_tool;
|
||||
public static Item coltan_tool;
|
||||
public static Item power_net_tool;
|
||||
|
||||
public static Item template_folder;
|
||||
public static Item journal_pip;
|
||||
@ -2388,6 +2394,7 @@ public class ModItems {
|
||||
public static Item bucket_acid;
|
||||
public static Item bucket_toxic;
|
||||
public static Item bucket_schrabidic_acid;
|
||||
public static Item bucket_sulfuric_acid;
|
||||
|
||||
public static Item door_metal;
|
||||
public static Item door_office;
|
||||
@ -2812,6 +2819,8 @@ public class ModItems {
|
||||
nugget_lead = new Item().setUnlocalizedName("nugget_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_lead");
|
||||
ingot_bismuth = new ItemCustomLore().setUnlocalizedName("ingot_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bismuth");
|
||||
nugget_bismuth = new Item().setUnlocalizedName("nugget_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_bismuth");
|
||||
ingot_arsenic = new ItemCustomLore().setUnlocalizedName("ingot_arsenic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_arsenic");
|
||||
nugget_arsenic = new Item().setUnlocalizedName("nugget_arsenic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_arsenic");
|
||||
ingot_tantalium = new ItemCustomLore().setUnlocalizedName("ingot_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tantalium");
|
||||
nugget_tantalium = new ItemCustomLore().setUnlocalizedName("nugget_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_tantalium");
|
||||
ingot_niobium = new Item().setUnlocalizedName("ingot_niobium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_niobium");
|
||||
@ -3099,6 +3108,8 @@ public class ModItems {
|
||||
circuit_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("circuit_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_schrabidium");
|
||||
circuit_bismuth_raw = new Item().setUnlocalizedName("circuit_bismuth_raw").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_bismuth_raw");
|
||||
circuit_bismuth = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("circuit_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_bismuth");
|
||||
circuit_arsenic_raw = new Item().setUnlocalizedName("circuit_arsenic_raw").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_arsenic_raw");
|
||||
circuit_arsenic = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("circuit_arsenic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_arsenic");
|
||||
circuit_tantalium_raw = new Item().setUnlocalizedName("circuit_tantalium_raw").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_tantalium_raw");
|
||||
circuit_tantalium = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("circuit_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_tantalium");
|
||||
crt_display = new Item().setUnlocalizedName("crt_display").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crt_display");
|
||||
@ -3865,6 +3876,7 @@ public class ModItems {
|
||||
nuclear_waste_vitrified_tiny = new ItemNuclearWaste().setUnlocalizedName("nuclear_waste_vitrified_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_vitrified_tiny");
|
||||
scrap_plastic = new ItemPlasticScrap().setUnlocalizedName("scrap_plastic").setTextureName(RefStrings.MODID + ":scrap_plastic");
|
||||
scrap = new Item().setUnlocalizedName("scrap").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap");
|
||||
scrap_oil = new Item().setUnlocalizedName("scrap_oil").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap_oil");
|
||||
scrap_nuclear = new Item().setUnlocalizedName("scrap_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap_nuclear");
|
||||
containment_box = new ItemLeadBox().setUnlocalizedName("containment_box").setCreativeTab(null).setTextureName(RefStrings.MODID + ":containment_box");
|
||||
|
||||
@ -4732,6 +4744,7 @@ public class ModItems {
|
||||
mirror_tool = new ItemMirrorTool().setUnlocalizedName("mirror_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":mirror_tool");
|
||||
rbmk_tool = new ItemRBMKTool().setUnlocalizedName("rbmk_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":rbmk_tool");
|
||||
coltan_tool = new ItemColtanCompass().setUnlocalizedName("coltan_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coltass");
|
||||
power_net_tool = new ItemPowerNetTool().setUnlocalizedName("power_net_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":power_net_tool");
|
||||
|
||||
key = new ItemKey().setUnlocalizedName("key").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key");
|
||||
key_red = new ItemCustomLore().setUnlocalizedName("key_red").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":key_red");
|
||||
@ -5472,6 +5485,7 @@ public class ModItems {
|
||||
bucket_acid = new ItemModBucket(ModBlocks.acid_block).setUnlocalizedName("bucket_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_acid");
|
||||
bucket_toxic = new ItemModBucket(ModBlocks.toxic_block).setUnlocalizedName("bucket_toxic").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_toxic");
|
||||
bucket_schrabidic_acid = new ItemModBucket(ModBlocks.schrabidic_block).setUnlocalizedName("bucket_schrabidic_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_schrabidic_acid");
|
||||
bucket_sulfuric_acid = new ItemModBucket(ModBlocks.sulfuric_acid_block).setUnlocalizedName("bucket_sulfuric_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_sulfuric_acid");
|
||||
|
||||
door_metal = new ItemModDoor().setUnlocalizedName("door_metal").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_metal");
|
||||
door_office = new ItemModDoor().setUnlocalizedName("door_office").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_office");
|
||||
@ -5621,6 +5635,7 @@ public class ModItems {
|
||||
BucketHandler.INSTANCE.buckets.put(ModBlocks.acid_block, ModItems.bucket_acid);
|
||||
BucketHandler.INSTANCE.buckets.put(ModBlocks.toxic_block, ModItems.bucket_toxic);
|
||||
BucketHandler.INSTANCE.buckets.put(ModBlocks.schrabidic_block, ModItems.bucket_schrabidic_acid);
|
||||
BucketHandler.INSTANCE.buckets.put(ModBlocks.sulfuric_acid_block, ModItems.bucket_sulfuric_acid);
|
||||
MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE);
|
||||
}
|
||||
|
||||
@ -5680,6 +5695,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(ingot_tcalloy, ingot_tcalloy.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_bismuth, ingot_bismuth.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_arsenic, ingot_arsenic.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_tantalium, ingot_tantalium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_niobium, ingot_niobium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_beryllium, ingot_beryllium.getUnlocalizedName());
|
||||
@ -6000,6 +6016,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(nugget_actinium, nugget_actinium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(nugget_lead, nugget_lead.getUnlocalizedName());
|
||||
GameRegistry.registerItem(nugget_bismuth, nugget_bismuth.getUnlocalizedName());
|
||||
GameRegistry.registerItem(nugget_arsenic, nugget_arsenic.getUnlocalizedName());
|
||||
GameRegistry.registerItem(nugget_tantalium, nugget_tantalium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(nugget_beryllium, nugget_beryllium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(nugget_schrabidium, nugget_schrabidium.getUnlocalizedName());
|
||||
@ -6212,6 +6229,8 @@ public class ModItems {
|
||||
GameRegistry.registerItem(circuit_schrabidium, circuit_schrabidium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(circuit_bismuth_raw, circuit_bismuth_raw.getUnlocalizedName());
|
||||
GameRegistry.registerItem(circuit_bismuth, circuit_bismuth.getUnlocalizedName());
|
||||
GameRegistry.registerItem(circuit_arsenic_raw, circuit_arsenic_raw.getUnlocalizedName());
|
||||
GameRegistry.registerItem(circuit_arsenic, circuit_arsenic.getUnlocalizedName());
|
||||
GameRegistry.registerItem(circuit_tantalium_raw, circuit_tantalium_raw.getUnlocalizedName());
|
||||
GameRegistry.registerItem(circuit_tantalium, circuit_tantalium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(crt_display, crt_display.getUnlocalizedName());
|
||||
@ -6803,6 +6822,7 @@ public class ModItems {
|
||||
|
||||
GameRegistry.registerItem(scrap_plastic, scrap_plastic.getUnlocalizedName());
|
||||
GameRegistry.registerItem(scrap, scrap.getUnlocalizedName());
|
||||
GameRegistry.registerItem(scrap_oil, scrap_oil.getUnlocalizedName());
|
||||
GameRegistry.registerItem(scrap_nuclear, scrap_nuclear.getUnlocalizedName());
|
||||
GameRegistry.registerItem(trinitite, trinitite.getUnlocalizedName());
|
||||
GameRegistry.registerItem(nuclear_waste_long, nuclear_waste_long.getUnlocalizedName());
|
||||
@ -6838,6 +6858,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(mirror_tool, mirror_tool.getUnlocalizedName());
|
||||
GameRegistry.registerItem(rbmk_tool, rbmk_tool.getUnlocalizedName());
|
||||
GameRegistry.registerItem(coltan_tool, coltan_tool.getUnlocalizedName());
|
||||
GameRegistry.registerItem(power_net_tool, power_net_tool.getUnlocalizedName());
|
||||
GameRegistry.registerItem(dosimeter, dosimeter.getUnlocalizedName());
|
||||
GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName());
|
||||
GameRegistry.registerItem(digamma_diagnostic, digamma_diagnostic.getUnlocalizedName());
|
||||
@ -8003,6 +8024,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(bucket_acid, bucket_acid.getUnlocalizedName());
|
||||
GameRegistry.registerItem(bucket_toxic, bucket_toxic.getUnlocalizedName());
|
||||
GameRegistry.registerItem(bucket_schrabidic_acid, bucket_schrabidic_acid.getUnlocalizedName());
|
||||
GameRegistry.registerItem(bucket_sulfuric_acid, bucket_sulfuric_acid.getUnlocalizedName());
|
||||
|
||||
//Door Items
|
||||
GameRegistry.registerItem(door_metal, door_metal.getUnlocalizedName());
|
||||
|
||||
@ -27,6 +27,7 @@ import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -530,6 +531,9 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
|
||||
List<Entity> entities = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, player.boundingBox.expand(3, 0, 3));
|
||||
|
||||
for(Entity e : entities) {
|
||||
|
||||
if(e instanceof EntityItem)
|
||||
continue;
|
||||
|
||||
Vec3 vec = Vec3.createVectorHelper(player.posX - e.posX, 0, player.posZ - e.posZ);
|
||||
|
||||
|
||||
110
src/main/java/com/hbm/items/tool/ItemPowerNetTool.java
Normal file
@ -0,0 +1,110 @@
|
||||
package com.hbm.items.tool;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.util.ChatBuilder;
|
||||
|
||||
import api.hbm.energy.IEnergyConductor;
|
||||
import api.hbm.energy.IEnergyConnector;
|
||||
import api.hbm.energy.IPowerNet;
|
||||
import api.hbm.energy.PowerNet;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ItemPowerNetTool extends Item {
|
||||
|
||||
@Override
|
||||
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float fX, float fY, float fZ) {
|
||||
|
||||
Block b = world.getBlock(x, y, z);
|
||||
|
||||
if(b instanceof BlockDummyable) {
|
||||
int[] pos = ((BlockDummyable) b).findCore(world, x, y, z);
|
||||
|
||||
if(pos != null) {
|
||||
x = pos[0];
|
||||
y = pos[1];
|
||||
z = pos[2];
|
||||
}
|
||||
}
|
||||
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
|
||||
if(!(te instanceof IEnergyConductor))
|
||||
return false;
|
||||
|
||||
if(world.isRemote)
|
||||
return true;
|
||||
|
||||
IEnergyConductor con = (IEnergyConductor) te;
|
||||
IPowerNet net = con.getPowerNet();
|
||||
|
||||
if(net == null) {
|
||||
player.addChatComponentMessage(ChatBuilder.start("Error: No network found! This should be impossible!").color(EnumChatFormatting.RED).flush());
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!(net instanceof PowerNet)) {
|
||||
player.addChatComponentMessage(ChatBuilder.start("Error: Cannot print diagnostic for non-standard power net implementation!").color(EnumChatFormatting.RED).flush());
|
||||
}
|
||||
|
||||
PowerNet network = (PowerNet) net;
|
||||
String id = Integer.toHexString(net.hashCode());
|
||||
|
||||
player.addChatComponentMessage(ChatBuilder.start("Start of diagnostic for network " + id).color(EnumChatFormatting.GOLD).flush());
|
||||
player.addChatComponentMessage(ChatBuilder.start("Links: " + network.getLinks().size()).color(EnumChatFormatting.YELLOW).flush());
|
||||
player.addChatComponentMessage(ChatBuilder.start("Proxies: " + network.getProxies().size()).color(EnumChatFormatting.YELLOW).flush());
|
||||
player.addChatComponentMessage(ChatBuilder.start("Subscribers: " + network.getSubscribers().size()).color(EnumChatFormatting.YELLOW).flush());
|
||||
player.addChatComponentMessage(ChatBuilder.start("End of diagnostic for network " + id).color(EnumChatFormatting.GOLD).flush());
|
||||
|
||||
for(IEnergyConductor link : network.getLinks()) {
|
||||
Vec3 pos = link.getDebugParticlePos();
|
||||
|
||||
boolean errored = link.getPowerNet() != net;
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "debug");
|
||||
data.setInteger("color", errored ? 0xff0000 : 0xffff00);
|
||||
data.setFloat("scale", 0.5F);
|
||||
data.setString("text", id);
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord, pos.yCoord, pos.zCoord), new TargetPoint(world.provider.dimensionId, pos.xCoord, pos.yCoord, pos.zCoord, radius));
|
||||
}
|
||||
|
||||
for(IEnergyConnector subscriber : network.getSubscribers()) {
|
||||
Vec3 pos = subscriber.getDebugParticlePos();
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "debug");
|
||||
data.setInteger("color", 0x0000ff);
|
||||
data.setFloat("scale", 1.5F);
|
||||
data.setString("text", id);
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord, pos.yCoord, pos.zCoord), new TargetPoint(world.provider.dimensionId, pos.xCoord, pos.yCoord, pos.zCoord, radius));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static final int radius = 20;
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
|
||||
list.add(EnumChatFormatting.RED + "Right-click cable to analyze the power net.");
|
||||
list.add(EnumChatFormatting.RED + "Links (cables, poles, etc.) are YELLOW");
|
||||
list.add(EnumChatFormatting.RED + "Subscribers (any receiver) are BLUE");
|
||||
list.add(EnumChatFormatting.RED + "Links with mismatching network info (BUGGED!) are RED");
|
||||
list.add(EnumChatFormatting.RED + "Displays stats such as link and subscriber count");
|
||||
list.add(EnumChatFormatting.RED + "Proxies are connection points for multiblock links (e.g. 4 for substations)");
|
||||
list.add(EnumChatFormatting.RED + "Particles only spawn in a " + radius + " block radius!");
|
||||
}
|
||||
}
|
||||
@ -17,7 +17,6 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.ChatStyle;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
@ -1571,6 +1571,15 @@ public class ClientProxy extends ServerProxy {
|
||||
if("amat".equals(type)) {
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleAmatFlash(world, x, y, z, data.getFloat("scale")));
|
||||
}
|
||||
|
||||
if("debug".equals(type)) {
|
||||
String t = data.getString("text");
|
||||
int color = data.getInteger("color");
|
||||
float scale = data.getFloat("scale");
|
||||
ParticleText text = new ParticleText(world, x, y, z, color, t);
|
||||
text.multipleParticleScaleBy(scale);
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(text);
|
||||
}
|
||||
}
|
||||
|
||||
private HashMap<Integer, Long> vanished = new HashMap();
|
||||
|
||||
@ -729,7 +729,7 @@ public class CraftingManager {
|
||||
addShapelessAuto(new ItemStack(ModItems.ams_catalyst_euphemium, 1), new Object[] { ModItems.ams_catalyst_blank, ModItems.rune_dagaz, ModItems.rune_dagaz, ModItems.rune_thurisaz, ModItems.rune_thurisaz, EUPH.dust(), EUPH.dust(), EUPH.dust(), EUPH.dust() });
|
||||
addShapelessAuto(new ItemStack(ModItems.ams_catalyst_schrabidium, 1), new Object[] { ModItems.ams_catalyst_blank, ModItems.rune_dagaz, ModItems.rune_hagalaz, ModItems.rune_thurisaz, ModItems.rune_thurisaz, SA326.dust(), SA326.dust(), SA326.dust(), SA326.dust() });
|
||||
addShapelessAuto(new ItemStack(ModItems.ams_catalyst_dineutronium, 1), new Object[] { ModItems.ams_catalyst_blank, ModItems.rune_hagalaz, ModItems.rune_hagalaz, ModItems.rune_thurisaz, ModItems.rune_thurisaz, DNT.dust(), DNT.dust(), DNT.dust(), DNT.dust() });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.dfc_core, 1), new Object[] { "DLD", "LML", "DLD", 'D', ModItems.ingot_bismuth, 'L', DNT.block(), 'M', ModItems.circuit_bismuth });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.dfc_core, 1), new Object[] { "DLD", "LML", "DLD", 'D', ModItems.ingot_bismuth, 'L', DNT.block(), 'M', KEY_CIRCUIT_BISMUTH });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.dfc_emitter, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.ingot(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModItems.crystal_xen, 'L', ModItems.sat_head_laser });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.dfc_receiver, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.ingot(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModBlocks.sellafield_core, 'L', ModItems.hull_small_steel });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.dfc_injector, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.ingot(), 'D', CMB.plate(), 'T', ModBlocks.machine_fluidtank, 'X', ModItems.motor, 'L', ModItems.pipes_steel });
|
||||
|
||||
@ -62,7 +62,6 @@ import com.hbm.util.EntityDamageUtil;
|
||||
import com.hbm.world.WorldProviderNTM;
|
||||
import com.hbm.world.generator.TimedGenerator;
|
||||
|
||||
import api.hbm.energy.IEnergyConductor;
|
||||
import cpw.mods.fml.common.eventhandler.Event.Result;
|
||||
import cpw.mods.fml.common.eventhandler.EventPriority;
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
@ -743,7 +742,7 @@ public class ModEventHandler {
|
||||
/// TOM IMPACT END///
|
||||
|
||||
/// RADIATION STUFF START ///
|
||||
if(event.world != null && !event.world.isRemote && GeneralConfig.enableRads) {
|
||||
if(event.world != null && !event.world.isRemote) {
|
||||
|
||||
int thunder = AuxSavedData.getThunder(event.world);
|
||||
|
||||
@ -1171,7 +1170,7 @@ public class ModEventHandler {
|
||||
|
||||
/// PU RADIATION END ///
|
||||
|
||||
if(player instanceof EntityPlayerMP) {
|
||||
/*if(player instanceof EntityPlayerMP) {
|
||||
|
||||
int x = (int) Math.floor(player.posX);
|
||||
int y = (int) Math.floor(player.posY - 0.01);
|
||||
@ -1180,7 +1179,7 @@ public class ModEventHandler {
|
||||
if(player.worldObj.getTileEntity(x, y, z) instanceof IEnergyConductor) {
|
||||
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(((IEnergyConductor) player.worldObj.getTileEntity(x, y, z)).getPowerNet() + ""), (EntityPlayerMP) player);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
/// NEW ITEM SYS START ///
|
||||
HazardSystem.updatePlayerInventory(player);
|
||||
|
||||
65
src/main/java/com/hbm/particle/ParticleText.java
Normal file
@ -0,0 +1,65 @@
|
||||
package com.hbm.particle;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ParticleText extends EntityFX {
|
||||
|
||||
int color;
|
||||
String text;
|
||||
|
||||
public ParticleText(World world, double x, double y, double z, int color, String text) {
|
||||
super(world, x, y, z);
|
||||
this.particleMaxAge = 100;
|
||||
this.color = color;
|
||||
this.text = text;
|
||||
|
||||
this.motionY = 0.01D;
|
||||
this.noClip = true;
|
||||
}
|
||||
|
||||
public int getFXLayer() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
public void renderParticle(Tessellator tess, float interp, float x, float y, float z, float tx, float tz) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0F, 0.0F);
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
|
||||
Minecraft mc = Minecraft.getMinecraft();
|
||||
FontRenderer font = mc.fontRenderer;
|
||||
|
||||
this.rotationYaw = -mc.thePlayer.rotationYaw;
|
||||
this.rotationPitch = mc.thePlayer.rotationPitch;
|
||||
|
||||
float pX = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) interp - interpPosX);
|
||||
float pY = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) interp - interpPosY);
|
||||
float pZ = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) interp - interpPosZ);
|
||||
|
||||
GL11.glTranslatef(pX, pY, pZ);
|
||||
GL11.glRotatef(this.rotationYaw, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(this.rotationPitch, 1.0F, 0.0F, 0.0F);
|
||||
GL11.glScalef(-1.0F, -1.0F, 1.0F);
|
||||
|
||||
GL11.glScaled(particleScale * 0.01, particleScale * 0.01, particleScale * 0.01);
|
||||
|
||||
font.drawStringWithShadow(text, -(int) (font.getStringWidth(text) * 0.5F), -(int) (font.FONT_HEIGHT * 0.5F), color);
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
|
||||
GL11.glPolygonOffset(0.0F, 0.0F);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,3 @@
|
||||
package com.hbm.saveddata.satellites;
|
||||
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public class SatelliteLunarMiner extends SatelliteMiner {
|
||||
|
||||
}
|
||||
public class SatelliteLunarMiner extends SatelliteMiner { }
|
||||
@ -1,5 +1,8 @@
|
||||
package com.hbm.tileentity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import api.hbm.energy.IEnergyConductor;
|
||||
import api.hbm.energy.IPowerNet;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
@ -68,4 +71,17 @@ public class TileEntityProxyConductor extends TileEntityProxyBase implements IEn
|
||||
((IEnergyConductor)te).setPowerNet(network);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<int[]> getConnectionPoints() {
|
||||
|
||||
/*TileEntity te = this.getTE();
|
||||
|
||||
if(te instanceof IEnergyConductor) {
|
||||
return ((IEnergyConductor)te).getConnectionPoints();
|
||||
}*/
|
||||
|
||||
/* Proxy TE doesn't need to implement proxying here because the conductor main TE already has a network-specific proxying system */
|
||||
return new ArrayList();
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,9 +25,10 @@ import com.hbm.tileentity.TileEntityLoadedBase;
|
||||
|
||||
import api.hbm.energy.IBatteryItem;
|
||||
import api.hbm.energy.IEnergyGenerator;
|
||||
import api.hbm.fluid.IFluidStandardReceiver;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
|
||||
public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor {
|
||||
public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver {
|
||||
|
||||
private ItemStack slots[];
|
||||
|
||||
@ -224,6 +225,8 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide
|
||||
|
||||
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS)
|
||||
this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir);
|
||||
|
||||
this.updateStandardPipes(Fluids.WATER, worldObj, xCoord, yCoord, zCoord);
|
||||
|
||||
//Water
|
||||
tank.loadTank(0, 3, slots);
|
||||
@ -335,4 +338,9 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide
|
||||
public void setTypeForSync(FluidType type, int index) {
|
||||
tank.setTankType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FluidTank[] getReceivingTanks() {
|
||||
return new FluidTank[] {tank};
|
||||
}
|
||||
}
|
||||
|
||||
@ -83,6 +83,9 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement
|
||||
recipes.put("ingotGold", new ItemStack(ModItems.ingot_au198));
|
||||
recipes.put("nuggetGold", new ItemStack(ModItems.nugget_au198));
|
||||
recipes.put("dustGold", new ItemStack(ModItems.powder_au198));
|
||||
recipes.put("ingotThorium", new ItemStack(ModItems.ingot_thorium_fuel));
|
||||
recipes.put("nuggetThorium", new ItemStack(ModItems.nugget_thorium_fuel));
|
||||
recipes.put("billetThorium", new ItemStack(ModItems.billet_thorium_fuel));
|
||||
recipes.put(new ComparableStack(Blocks.brown_mushroom), new ItemStack(ModBlocks.mush));
|
||||
recipes.put(new ComparableStack(Blocks.red_mushroom), new ItemStack(ModBlocks.mush));
|
||||
recipes.put(new ComparableStack(Items.mushroom_stew), new ItemStack(ModItems.glowing_stew));
|
||||
|
||||
@ -14,12 +14,14 @@ import com.hbm.lib.Library;
|
||||
import com.hbm.main.ModEventHandler;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
|
||||
import api.hbm.fluid.IFluidStandardSender;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.EnumSkyBlock;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcceptor, IFluidSource {
|
||||
public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcceptor, IFluidSource, IFluidStandardSender {
|
||||
|
||||
public FluidTank tank;
|
||||
public short mode = 0;
|
||||
@ -52,6 +54,8 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
|
||||
tank.unloadTank(4, 5, slots);
|
||||
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
|
||||
|
||||
this.sendFluid(tank.getTankType(), worldObj, xCoord, yCoord - 1, zCoord, ForgeDirection.DOWN);
|
||||
|
||||
age++;
|
||||
if(age >= 20)
|
||||
age = 0;
|
||||
@ -200,4 +204,9 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
|
||||
nbt.setShort("mode", mode);
|
||||
tank.writeToNBT(nbt, "tank");
|
||||
}
|
||||
|
||||
@Override
|
||||
public FluidTank[] getSendingTanks() {
|
||||
return new FluidTank[] {tank};
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,8 +3,6 @@ package com.hbm.tileentity.network;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import api.hbm.energy.IEnergyConductor;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ import net.minecraftforge.common.util.ForgeDirection;
|
||||
public class TileEntityPipeBaseNT extends TileEntity implements IFluidConductor {
|
||||
|
||||
private IPipeNet network;
|
||||
protected FluidType type = Fluids.NONE;
|
||||
protected FluidType type = Fluids.WATER;
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
|
||||
import api.hbm.energy.IEnergyConductor;
|
||||
import net.minecraft.util.Vec3;
|
||||
|
||||
public class TileEntitySubstation extends TileEntityPylonBase {
|
||||
@ -58,4 +59,19 @@ public class TileEntitySubstation extends TileEntityPylonBase {
|
||||
pos.add(new int[] {xCoord + 1, yCoord, zCoord - 2});
|
||||
return pos;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasProxies() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> getProxies() {
|
||||
List<Integer> proxies = new ArrayList();
|
||||
proxies.add(IEnergyConductor.getIdentityFromPos(xCoord + 1, yCoord, zCoord + 1));
|
||||
proxies.add(IEnergyConductor.getIdentityFromPos(xCoord + 1, yCoord, zCoord - 1));
|
||||
proxies.add(IEnergyConductor.getIdentityFromPos(xCoord - 1, yCoord, zCoord + 1));
|
||||
proxies.add(IEnergyConductor.getIdentityFromPos(xCoord - 1, yCoord, zCoord - 1));
|
||||
return proxies;
|
||||
}
|
||||
}
|
||||
|
||||
@ -21,6 +21,11 @@ public class ChatBuilder {
|
||||
return builder;
|
||||
}
|
||||
|
||||
public static ChatBuilder startTranslation(String text) {
|
||||
ChatBuilder builder = new ChatBuilder("").nextTranslation(text);
|
||||
return builder;
|
||||
}
|
||||
|
||||
public ChatBuilder next(String text) {
|
||||
ChatComponentText append = new ChatComponentText(text);
|
||||
this.last.appendSibling(append);
|
||||
|
||||
@ -1,8 +1,14 @@
|
||||
package com.hbm.util;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.hazard.HazardRegistry;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTBase;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public class Compat {
|
||||
|
||||
@ -62,4 +68,29 @@ public class Compat {
|
||||
return this.rads;
|
||||
}
|
||||
}
|
||||
|
||||
public static List<ItemStack> scrapeItemFromME(ItemStack meDrive) {
|
||||
List<ItemStack> stacks = new ArrayList();
|
||||
|
||||
if(meDrive != null && meDrive.hasTagCompound()) {
|
||||
NBTTagCompound nbt = meDrive.getTagCompound();
|
||||
int types = nbt.getShort("it"); //ITEM_TYPE_TAG
|
||||
|
||||
for(int i = 0; i < types; i++) {
|
||||
NBTBase stackTag = nbt.getTag("#" + i);
|
||||
|
||||
if(stackTag instanceof NBTTagCompound) {
|
||||
NBTTagCompound compound = (NBTTagCompound) stackTag;
|
||||
ItemStack stack = ItemStack.loadItemStackFromNBT(compound);
|
||||
|
||||
int count = nbt.getInteger("@" + i);
|
||||
stack.stackSize = count;
|
||||
|
||||
stacks.add(stack);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return stacks;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
package com.hbm.util;
|
||||
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.entity.mob.EntityDuck;
|
||||
import com.hbm.entity.mob.EntityNuclearCreeper;
|
||||
import com.hbm.entity.mob.EntityQuackos;
|
||||
@ -274,7 +273,7 @@ public class ContaminationUtil {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(hazard == HazardType.RADIATION && (isRadImmune(entity) || !GeneralConfig.enableRads))
|
||||
if(hazard == HazardType.RADIATION && isRadImmune(entity))
|
||||
return false;
|
||||
|
||||
switch(hazard) {
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.config.WorldConfig;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.explosion.ExplosionNT;
|
||||
import com.hbm.explosion.ExplosionNukeGeneric;
|
||||
@ -37,7 +38,7 @@ public class Meteorite {
|
||||
e.attackEntityFrom(ModDamageSource.meteorite, 1000);
|
||||
}
|
||||
|
||||
if(GeneralConfig.enableSpecialMeteors)
|
||||
if(WorldConfig.enableSpecialMeteors)
|
||||
switch(rand.nextInt(300)) {
|
||||
case 0:
|
||||
// Meteor-only tiny meteorite
|
||||
|
||||
@ -14,22 +14,32 @@ public class OilSpot {
|
||||
for(int i = 0; i < count; i++) {
|
||||
int rX = x + (int)(world.rand.nextGaussian() * width);
|
||||
int rZ = z + (int)(world.rand.nextGaussian() * width);
|
||||
int rY = world.getHeightValue(rX, rZ) - 1;
|
||||
int rY = world.getHeightValue(rX, rZ);
|
||||
|
||||
Block ground = world.getBlock(rX, rY, rZ);
|
||||
|
||||
if(ground == Blocks.grass || ground == Blocks.dirt) {
|
||||
world.setBlock(rX, rY, rZ, world.rand.nextInt(10) == 0 ? ModBlocks.dirt_oily : ModBlocks.dirt_dead);
|
||||
for(int y = rY; y > rY - 4; y--) {
|
||||
|
||||
} else if(ground == Blocks.sand || ground == ModBlocks.ore_oil_sand) {
|
||||
Block ground = world.getBlock(rX, y, rZ);
|
||||
|
||||
if(world.getBlockMetadata(rX, rY, rZ) == 1)
|
||||
world.setBlock(rX, rY, rZ, ModBlocks.sand_dirty_red);
|
||||
else
|
||||
world.setBlock(rX, rY, rZ, ModBlocks.sand_dirty);
|
||||
|
||||
} else if(ground.getMaterial() == Material.leaves) {
|
||||
world.setBlockToAir(rX, rY, rZ);
|
||||
if(ground == Blocks.grass || ground == Blocks.dirt) {
|
||||
world.setBlock(rX, y, rZ, world.rand.nextInt(10) == 0 ? ModBlocks.dirt_oily : ModBlocks.dirt_dead);
|
||||
break;
|
||||
|
||||
} else if(ground == Blocks.sand || ground == ModBlocks.ore_oil_sand) {
|
||||
|
||||
if(world.getBlockMetadata(rX, y, rZ) == 1)
|
||||
world.setBlock(rX, y, rZ, ModBlocks.sand_dirty_red);
|
||||
else
|
||||
world.setBlock(rX, y, rZ, ModBlocks.sand_dirty);
|
||||
break;
|
||||
|
||||
} else if(ground == Blocks.stone) {
|
||||
world.setBlock(rX, y, rZ, ModBlocks.stone_cracked);
|
||||
break;
|
||||
|
||||
} else if(ground.getMaterial() == Material.leaves) {
|
||||
world.setBlockToAir(rX, y, rZ);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1061,6 +1061,8 @@ item.chopper_wing.name=Jagdschrauber Seitentragfläche
|
||||
item.cigarette.name=FFI-Markenzigarette
|
||||
item.cinnebar.name=Zinnober
|
||||
item.circuit_aluminium.name=Einfacher Schaltkreis
|
||||
item.circuit_arsenic.name=Adaptives Chipset
|
||||
item.circuit_arsenic_raw.name=Arsen-Schaltkreisrohling
|
||||
item.circuit_bismuth.name=Vielfältiges Chipset
|
||||
item.circuit_bismuth_raw.name=Bismuth-Schaltkreisrohling
|
||||
item.circuit_copper.name=Erweiterter Schaltkreis
|
||||
@ -1608,6 +1610,7 @@ item.ingot_am_mix.name=Reaktorfähiger Americiumbarren
|
||||
item.ingot_am241.name=Americium-241-Barren
|
||||
item.ingot_am242.name=Americium-242-Barren
|
||||
item.ingot_americium_fuel.name=Americiumkernbrennstoffbarren
|
||||
item.ingot_arsenic.name=Arsenbarren
|
||||
item.ingot_asbestos.name=Asbestplatte
|
||||
item.ingot_au198.name=Gold-198-Barren
|
||||
item.ingot_australium.name=Australiumbarren
|
||||
@ -1996,6 +1999,7 @@ item.nugget.name=Chicken Nugget
|
||||
item.nugget_am_mix.name=Reaktorfähiges Americiumnugget
|
||||
item.nugget_am241.name=Americium-241-Nugget
|
||||
item.nugget_am242.name=Americium-242-Nugget
|
||||
item.nugget_arsenic.name=Arsennugget
|
||||
item.nugget_au198.name=Gold-198-Nugget
|
||||
item.nugget_americium_fuel.name=Americiumkernbrennstoffnugget
|
||||
item.nugget_australium.name=Australiumnugget
|
||||
@ -2262,6 +2266,7 @@ item.powder_xe135.name=Xenon-135-Staub
|
||||
item.powder_xe135_tiny.name=Kleiner Haufen Xenon-135-Staub
|
||||
item.powder_yellowcake.name=Yellowcake
|
||||
item.powder_zirconium.name=Zirkoniumstaub
|
||||
item.power_net_tool.name=Stromnetz-Analysewerkzeug
|
||||
item.primer_357.name=.357 Magnum-Zündhütchen (x24)
|
||||
item.primer_44.name=.44 Magnum-Zündhütchen (x24)
|
||||
item.primer_50.name=Großkaliber-Zündhütchen (x12)
|
||||
@ -2536,6 +2541,7 @@ item.schrabidium_shovel.name=Schrabidiumschaufel
|
||||
item.schrabidium_sword.name=Schrabidiumschwert
|
||||
item.scrap.name=Schrott
|
||||
item.scrap_nuclear.name=Radioaktiver Schutt
|
||||
item.scrap_oil.name=Öliger Schutt
|
||||
item.scrap_plastic.name=Geschreddertes Plastik
|
||||
item.screwdriver.name=Schraubenzieher
|
||||
item.screwdriver_desh.name=Desh-Schraubenzieher
|
||||
|
||||
@ -1272,6 +1272,8 @@ item.chopper_wing.name=Hunter Chopper Wing
|
||||
item.cigarette.name=FFI-Brand Cigarette
|
||||
item.cinnebar.name=Cinnabar
|
||||
item.circuit_aluminium.name=Basic Circuit
|
||||
item.circuit_arsenic.name=Adaptable Circuit
|
||||
item.circuit_arsenic_raw.name=Adaptable Circuit Assembly
|
||||
item.circuit_bismuth.name=Versatile Chipset
|
||||
item.circuit_bismuth_raw.name=Versatile Chipset Assembly
|
||||
item.circuit_copper.name=Enhanced Circuit
|
||||
@ -1839,6 +1841,7 @@ item.ingot_am_mix.name=Reactor Grade Americium Ingot
|
||||
item.ingot_am241.name=Americium-241 Ingot
|
||||
item.ingot_am242.name=Americium-242 Ingot
|
||||
item.ingot_americium_fuel.name=Ingot of Americium Fuel
|
||||
item.ingot_arsenic.name=Arsenic Ingot
|
||||
item.ingot_asbestos.name=Asbestos Sheet
|
||||
item.ingot_asbestos.desc=§o"Filled with life, self-doubt and asbestos. That comes with the air."§r
|
||||
item.ingot_au198.name=Gold-198 Ingot
|
||||
@ -2256,6 +2259,7 @@ item.nugget_am_mix.name=Reactor Grade Americium Nugget
|
||||
item.nugget_am241.name=Americium-241 Nugget
|
||||
item.nugget_am242.name=Americium-242 Nugget
|
||||
item.nugget_americium_fuel.name=Americium Fuel Nugget
|
||||
item.nugget_arsenic.name=Arsenic Nugget
|
||||
item.nugget_au198.name=Gold-198 Nugget
|
||||
item.nugget_australium.name=Australium Nugget
|
||||
item.nugget_australium_greater.name=Greater Australium Nugget
|
||||
@ -2570,6 +2574,7 @@ item.powder_xe135.name=Xenon-135 Powder
|
||||
item.powder_xe135_tiny.name=Tiny Pile of Xenon-135 Powder
|
||||
item.powder_yellowcake.name=Yellowcake
|
||||
item.powder_zirconium.name=Zirconium Powder
|
||||
item.power_net_tool.name=Cable Network Analysis Tool
|
||||
item.primer_357.name=.357 Magnum Primer (x24)
|
||||
item.primer_44.name=.44 Magnum Primer (x24)
|
||||
item.primer_50.name=Large Caliber Primer (x12)
|
||||
@ -2896,6 +2901,7 @@ item.schrabidium_shovel.name=Schrabidium Shovel
|
||||
item.schrabidium_sword.name=Schrabidium Sword
|
||||
item.scrap.name=Scrap
|
||||
item.scrap_nuclear.name=Radioactive Scraps
|
||||
item.scrap_oil.name=Oily Scraps
|
||||
item.scrap_plastic.name=Plastic Scraps
|
||||
item.screwdriver.name=Screwdriver
|
||||
item.screwdriver.desc=Could be used instead of a fuse...
|
||||
|
||||
@ -2238,6 +2238,7 @@ tile.ore_bedrock_coltan.name=Бедроковая колтановая руда
|
||||
tile.ore_bedrock_oil.name=Бедроковый нефтяной пласт
|
||||
tile.ore_cobalt.name=Кобальтовая руда
|
||||
tile.stone_porous.name=Пористый камень
|
||||
tile.ore_random.name=%s руды
|
||||
|
||||
tile.bobblehead.name=Болванчик
|
||||
tile.deco_titanium.name=Титановый декоративный блок
|
||||
@ -2369,6 +2370,9 @@ tile.tile_lab_cracked.name=Треснувшая лабораторная пли
|
||||
tile.spikes.name=Шипы
|
||||
tile.stalactite.sulfur.name=Сернистый сталактит
|
||||
tile.stalagmite.sulfur.name=Сернистый сталагмит
|
||||
tile.stalactite.asbestos.name=Асбестовый сталактит
|
||||
tile.stalagmite.asbestos.name=Асбестовый сталагмит
|
||||
tile.stone_resource.asbestos.name=Хризотил
|
||||
tile.stone_resource.sulfur.name=Сернистый камень
|
||||
tile.gas_asbestos.name=Частицы асбеста в воздухе
|
||||
tile.gas_flammable.name=Горючий газ
|
||||
@ -4172,6 +4176,7 @@ item.crucible.name="Горнило Палача"
|
||||
item.bismuth_pickaxe.name=Висмутовая кирка
|
||||
|
||||
tile.red_cable.name=Провод из красной меди
|
||||
tile.red_cable_classic.name=Провод из красной меди (Старый)
|
||||
tile.red_connector.name=Электрический коннектор
|
||||
|
||||
tile.block_meteor.name=Блок метеорита
|
||||
@ -4357,6 +4362,7 @@ item.canned_kerosene.name=Консервированный керосин
|
||||
item.canned_recursion.name=Консервированная рекурсия
|
||||
item.canned_bark.name=Консервы вяленой сосновой коры
|
||||
item.spongebob_macaroni.name=Сырные макаронны "Губка Боб"
|
||||
item.can_mug.name=MUG Root Beer
|
||||
item.can_key.name=Винтовой ключ
|
||||
item.nugget.name=Куриный наггетс
|
||||
item.marshmallow.name=Зефир на палочке
|
||||
|
||||
BIN
src/main/resources/assets/hbm/textures/blocks/stone_cracked.png
Normal file
|
After Width: | Height: | Size: 753 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 425 B |
BIN
src/main/resources/assets/hbm/textures/items/circuit_arsenic.png
Normal file
|
After Width: | Height: | Size: 474 B |
|
After Width: | Height: | Size: 420 B |
BIN
src/main/resources/assets/hbm/textures/items/ingot_arsenic.png
Normal file
|
After Width: | Height: | Size: 523 B |
BIN
src/main/resources/assets/hbm/textures/items/nugget_arsenic.png
Normal file
|
After Width: | Height: | Size: 261 B |
BIN
src/main/resources/assets/hbm/textures/items/power_net_tool.png
Normal file
|
After Width: | Height: | Size: 368 B |
BIN
src/main/resources/assets/hbm/textures/items/scrap_oil.png
Normal file
|
After Width: | Height: | Size: 611 B |
|
Before Width: | Height: | Size: 338 B After Width: | Height: | Size: 390 B |
|
Before Width: | Height: | Size: 326 B After Width: | Height: | Size: 357 B |
|
Before Width: | Height: | Size: 313 B After Width: | Height: | Size: 340 B |
|
Before Width: | Height: | Size: 283 B After Width: | Height: | Size: 328 B |
|
After Width: | Height: | Size: 283 B |