ashpit NEI handling, ashpit for chimneys, removed old trash, fixes
40
changelog
@ -1,13 +1,51 @@
|
||||
## Added
|
||||
* Telex
|
||||
* A basic message system using redstone over radio
|
||||
* Allows messages to be sent at a rate of 20 characters per second
|
||||
* Features things like text formatting, printing and the terminal bell
|
||||
* Ground water pumps
|
||||
* Come in steam-powered and electric variants
|
||||
* Faster than their infinite barrel counterpart
|
||||
* Need to be placed below Y:70 and on solid ground to work
|
||||
* Compatible floor blocks include all dirt variants and sand, the pump will not work when placed on pure rock
|
||||
* Schrabidate capacitor
|
||||
* Can store 50GHE
|
||||
* Express conveyor belts
|
||||
* Work like regular single-lane conveyor belts but 3x faster
|
||||
* Industrial smokestack
|
||||
* An even larger smokestack, matching the size of the coker unit
|
||||
* Reduced pollution by 90%, as opposed to the brick smokestack's 75%
|
||||
|
||||
## Changed
|
||||
* Updated russian localization
|
||||
* The UAC pistol's UV now looks prettier
|
||||
* The UAC pistol now fires a burst on right click
|
||||
* CCGTs can no longer have smoke removed from them, on the count of there not being enough connections anyway. The pollution rate is now equivalent to three small furnaces
|
||||
* The DFC receiver is now crafted with a block of DNT instead of sellafite corium, on the count of sellafite corium being near impossible to get
|
||||
* Fireclay now has a third recipe, being craftable from clay, limestone and sand
|
||||
* A whole clay block can now be combination smelted into a block of bricks
|
||||
* The pipe clanking sound is now also used when placing regular pipes as opposed to only when pre-defined pipe items are used
|
||||
* Josh now has a burst fire mode using RMB
|
||||
* The smokestack's recipe has changed, now requiring a steel grate for catching ashes
|
||||
* Simplified the decorated cobalt tool recipes, they now only require one cobalt tool and one hot bar of meteorite in an anvil
|
||||
* Changed the starmetal tool recipes
|
||||
* Cobalt armor is now crafted with steel armor and cobalt billets, making the armor substantially cheaper
|
||||
* Sightly increased protection levels for the security armor and cobalt gear
|
||||
* Cobalt, decorated cobalt and starmetal gear is now a lot more enchantable
|
||||
* The ashpit now has a NEI handler, showing roughly how ash types are made
|
||||
* Smokestacks now capture fly ash and are now compatible with ashpits
|
||||
* Industrial smokestacks can also capture fine soot
|
||||
* Reduced strings required for making coal filters, filters are now also available in tier 2 anvils
|
||||
|
||||
## Fixed
|
||||
* Fixed the bomber not spawning if the chunkloading radios is too small
|
||||
* Fixed a couple spelling mistakes like BFB fuel being called ZFB and the broken ZIRNOX
|
||||
* Potentially fixed a compat issue where galacticraft moon soil isn't shreddable into NTM moon turf
|
||||
* Hopefully fixed the disappearing fluid buf once and for all
|
||||
* Hopefully fixed the disappearing fluid bug once and for all
|
||||
* Fixed lag caused by the radiation system needlessly loading chunks
|
||||
* Fixed secret folders giving volatile templates instead of persistent ones
|
||||
* Fixed the ore dict registry happening in a later loading phase instead of PreInit which should fix some compatibility issues
|
||||
* Hopefully fixed issue where the tom impact effects will last even when switching worlds
|
||||
* Fixed logspam caused by custom machine crafting handler
|
||||
* Fixed issue with the assemblers and chemplants where recipes with larger input requirements would break the input funnel
|
||||
* Fixed crash caused by reloading when the ammo item is in the last slot
|
||||
@ -1960,8 +1960,8 @@ public class ModBlocks {
|
||||
fluid_duct = new BlockFluidDuct(Material.iron).setBlockName("fluid_duct").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fluid_duct_icon");
|
||||
fluid_duct_solid = new BlockFluidDuctSolid(Material.iron).setBlockName("fluid_duct_solid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fluid_duct_solid");
|
||||
fluid_duct_neo = new FluidDuctStandard(Material.iron).setBlockName("fluid_duct_neo").setStepSound(ModSoundTypes.pipe).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pipe_neo");
|
||||
fluid_duct_box = new FluidDuctBox(Material.iron).setBlockName("fluid_duct_box").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box");
|
||||
fluid_duct_exhaust = new FluidDuctBoxExhaust(Material.iron).setBlockName("fluid_duct_exhaust").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box");
|
||||
fluid_duct_box = new FluidDuctBox(Material.iron).setBlockName("fluid_duct_box").setStepSound(ModSoundTypes.pipe).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box");
|
||||
fluid_duct_exhaust = new FluidDuctBoxExhaust(Material.iron).setBlockName("fluid_duct_exhaust").setStepSound(ModSoundTypes.pipe).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box");
|
||||
fluid_duct_paintable = new FluidDuctPaintable().setBlockName("fluid_duct_paintable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
fluid_duct_gauge = new FluidDuctGauge().setBlockName("fluid_duct_gauge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
fluid_valve = new FluidValve(Material.iron).setBlockName("fluid_valve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
|
||||
@ -57,6 +57,8 @@ public class FuelHandler implements IFuelHandler {
|
||||
case 0: return single / 2;
|
||||
case 1: return single;
|
||||
case 2: return single / 2;
|
||||
case 3: return single;
|
||||
case 4: return single / 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
50
src/main/java/com/hbm/handler/nei/AshpitHandler.java
Normal file
@ -0,0 +1,50 @@
|
||||
package com.hbm.handler.nei;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.inventory.OreDictManager.DictFrame;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.items.ItemEnums.EnumAshType;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemFluidIcon;
|
||||
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class AshpitHandler extends NEIUniversalHandler {
|
||||
|
||||
public AshpitHandler() {
|
||||
super("Ashpit", ModBlocks.machine_ashpit, getRecipes());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return "ntmAshpit";
|
||||
}
|
||||
|
||||
public static HashMap getRecipes() {
|
||||
|
||||
HashMap<Object, Object> recipes = new HashMap<Object, Object>();
|
||||
|
||||
ItemStack[] ovens = new ItemStack[] {new ItemStack(ModBlocks.heater_firebox), new ItemStack(ModBlocks.heater_oven)};
|
||||
ItemStack[] chimneys = new ItemStack[] {new ItemStack(ModBlocks.chimney_brick), new ItemStack(ModBlocks.chimney_industrial)};
|
||||
ItemStack[] coals = new ItemStack[] {new ItemStack(Items.coal, 1, 0), new ItemStack(ModItems.lignite), new ItemStack(ModItems.coke)};
|
||||
ItemStack[] wood = new ItemStack[] {new ItemStack(Blocks.log), new ItemStack(Blocks.log2), new ItemStack(Blocks.planks), new ItemStack(Blocks.sapling)};
|
||||
ItemStack[] misc = new ItemStack[] {new ItemStack(ModItems.solid_fuel), new ItemStack(ModItems.scrap), new ItemStack(ModItems.dust), new ItemStack(ModItems.rocket_fuel)};
|
||||
FluidType[] smokes = new FluidType[] {Fluids.SMOKE, Fluids.SMOKE_LEADED, Fluids.SMOKE_POISON};;
|
||||
|
||||
recipes.put(new ItemStack[][] {ovens, coals}, DictFrame.fromOne(ModItems.powder_ash, EnumAshType.COAL));
|
||||
recipes.put(new ItemStack[][] {ovens, wood}, DictFrame.fromOne(ModItems.powder_ash, EnumAshType.WOOD));
|
||||
recipes.put(new ItemStack[][] {ovens, misc}, DictFrame.fromOne(ModItems.powder_ash, EnumAshType.MISC));
|
||||
|
||||
for(FluidType smoke : smokes) {
|
||||
recipes.put(new ItemStack[][] {chimneys, new ItemStack[] {ItemFluidIcon.make(smoke, 2_000)}}, DictFrame.fromOne(ModItems.powder_ash, EnumAshType.FLY));
|
||||
recipes.put(new ItemStack[][] {new ItemStack[] {new ItemStack(ModBlocks.chimney_industrial)}, new ItemStack[] {ItemFluidIcon.make(smoke, 8_000)}}, DictFrame.fromOne(ModItems.powder_ash, EnumAshType.SOOT));
|
||||
}
|
||||
|
||||
return recipes;
|
||||
}
|
||||
}
|
||||
@ -466,7 +466,7 @@ public class OreDictManager {
|
||||
for(int i = 0; i < 16; i++) { ANY_CONCRETE.any(new ItemStack(ModBlocks.concrete_colored_ext, 1, i)); }
|
||||
ANY_COKE .gem(fromAll(coke, EnumCokeType.class)).block(fromAll(block_coke, EnumCokeType.class));
|
||||
ANY_BISMOID .ingot(ingot_bismuth, ingot_arsenic).nugget(nugget_bismuth, nugget_arsenic).block(block_bismuth);
|
||||
ANY_ASH .any(fromOne(ModItems.powder_ash, EnumAshType.WOOD), fromOne(ModItems.powder_ash, EnumAshType.COAL), fromOne(ModItems.powder_ash, EnumAshType.MISC));
|
||||
ANY_ASH .any(fromOne(ModItems.powder_ash, EnumAshType.WOOD), fromOne(ModItems.powder_ash, EnumAshType.COAL), fromOne(ModItems.powder_ash, EnumAshType.MISC), fromOne(ModItems.powder_ash, EnumAshType.FLY), fromOne(ModItems.powder_ash, EnumAshType.SOOT));
|
||||
|
||||
/*
|
||||
* TAR
|
||||
@ -575,6 +575,8 @@ public class OreDictManager {
|
||||
OreDictionary.registerOre("dyeLightGray", fromOne(powder_ash, EnumAshType.WOOD));
|
||||
OreDictionary.registerOre("dyeBlack", fromOne(powder_ash, EnumAshType.COAL));
|
||||
OreDictionary.registerOre("dyeGray", fromOne(powder_ash, EnumAshType.MISC));
|
||||
OreDictionary.registerOre("dyeBrown", fromOne(powder_ash, EnumAshType.FLY));
|
||||
OreDictionary.registerOre("dyeBlack", fromOne(powder_ash, EnumAshType.SOOT));
|
||||
OreDictionary.registerOre("dye", new ItemStack(powder_ash, 1, OreDictionary.WILDCARD_VALUE));
|
||||
|
||||
OreDictionary.registerOre("blockGlass", glass_boron);
|
||||
|
||||
@ -164,7 +164,7 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModItems.wire_magnetized_tungsten, 6), new AStack[] {new OreDictStack(MAGTUNG.ingot(), 1), },20);
|
||||
makeRecipe(new ComparableStack(ModItems.hazmat_cloth, 4), new AStack[] {new OreDictStack(PB.dust(), 4), new ComparableStack(Items.string, 8), },50);
|
||||
makeRecipe(new ComparableStack(ModItems.asbestos_cloth, 4), new AStack[] {new OreDictStack(ASBESTOS.ingot(), 2), new ComparableStack(Items.string, 6), new ComparableStack(Blocks.wool, 1), },50);
|
||||
makeRecipe(new ComparableStack(ModItems.filter_coal, 1), new AStack[] {new OreDictStack(COAL.dust(), 4), new ComparableStack(Items.string, 6), new ComparableStack(Items.paper, 1), },50);
|
||||
makeRecipe(new ComparableStack(ModItems.filter_coal, 1), new AStack[] {new OreDictStack(COAL.dust(), 4), new ComparableStack(Items.string, 2), new ComparableStack(Items.paper, 1), },50);
|
||||
makeRecipe(new ComparableStack(ModItems.centrifuge_element, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 4), new OreDictStack(TI.plate528(), 4), new ComparableStack(ModItems.motor, 1), }, 100);
|
||||
makeRecipe(new ComparableStack(ModItems.magnet_circular, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 5), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(ALLOY.plate(), 6), },150);
|
||||
makeRecipe(new ComparableStack(ModItems.reactor_core, 1), new AStack[] {new OreDictStack(PB.ingot(), 8), new OreDictStack(BE.ingot(), 6), new OreDictStack(STEEL.plate(), 16), new OreDictStack(OreDictManager.getReflector(), 8), new OreDictStack(FIBER.ingot(), 2) },100);
|
||||
|
||||
@ -213,6 +213,7 @@ public class AnvilRecipes {
|
||||
new AStack[] {new ComparableStack(ModItems.motor), new OreDictStack(ANY_PLASTIC.ingot(), 2), new OreDictStack(DESH.ingot(), 2), new ComparableStack(ModItems.coil_gold_torus)},
|
||||
new AnvilOutput(new ItemStack(ModItems.motor_desh, 1))).setTier(3));
|
||||
|
||||
pullFromAssembler(new ComparableStack(ModItems.filter_coal), 2);
|
||||
pullFromAssembler(new ComparableStack(ModItems.thermo_element), 2);
|
||||
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(
|
||||
|
||||
@ -26,7 +26,9 @@ public class ItemEnums {
|
||||
public static enum EnumAshType {
|
||||
WOOD,
|
||||
COAL,
|
||||
MISC
|
||||
MISC,
|
||||
FLY,
|
||||
SOOT
|
||||
}
|
||||
|
||||
public static enum EnumBriquetteType {
|
||||
|
||||
@ -1204,17 +1204,6 @@ public class ModItems {
|
||||
|
||||
public static Item containment_box;
|
||||
|
||||
public static Item recycled_ground;
|
||||
public static Item recycled_rock;
|
||||
public static Item recycled_metal;
|
||||
public static Item recycled_refined;
|
||||
public static Item recycled_organic;
|
||||
public static Item recycled_crystal;
|
||||
public static Item recycled_explosive;
|
||||
public static Item recycled_electronic;
|
||||
public static Item recycled_nuclear;
|
||||
public static Item recycled_misc;
|
||||
|
||||
public static Item test_nuke_igniter;
|
||||
public static Item test_nuke_propellant;
|
||||
public static Item test_nuke_tier1_shielding;
|
||||
@ -3474,17 +3463,6 @@ public class ModItems {
|
||||
coin_worm = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_worm").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_worm");
|
||||
coin_ufo = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_ufo").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_ufo");
|
||||
|
||||
recycled_ground = new Item().setUnlocalizedName("recycled_ground").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_ground");
|
||||
recycled_rock = new Item().setUnlocalizedName("recycled_rock").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_rock");
|
||||
recycled_metal = new Item().setUnlocalizedName("recycled_metal").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_metal");
|
||||
recycled_refined = new Item().setUnlocalizedName("recycled_refined").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_refined");
|
||||
recycled_organic = new Item().setUnlocalizedName("recycled_organic").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_organic");
|
||||
recycled_crystal = new Item().setUnlocalizedName("recycled_crystal").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_crystal");
|
||||
recycled_explosive = new Item().setUnlocalizedName("recycled_explosive").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_explosive");
|
||||
recycled_electronic = new Item().setUnlocalizedName("recycled_electronic").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_electronic");
|
||||
recycled_nuclear = new Item().setUnlocalizedName("recycled_nuclear").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_nuclear");
|
||||
recycled_misc = new Item().setUnlocalizedName("recycled_misc").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_misc");
|
||||
|
||||
rod_empty = new Item().setUnlocalizedName("rod_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_empty");
|
||||
rod = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod").setContainerItem(ModItems.rod_empty).setCreativeTab(MainRegistry.controlTab);
|
||||
rod_dual_empty = new Item().setUnlocalizedName("rod_dual_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_dual_empty");
|
||||
@ -6523,18 +6501,6 @@ public class ModItems {
|
||||
GameRegistry.registerItem(laser_crystal_dnt, laser_crystal_dnt.getUnlocalizedName());
|
||||
GameRegistry.registerItem(laser_crystal_digamma, laser_crystal_digamma.getUnlocalizedName());
|
||||
|
||||
//Recycled Units
|
||||
GameRegistry.registerItem(recycled_ground, recycled_ground.getUnlocalizedName());
|
||||
GameRegistry.registerItem(recycled_rock, recycled_rock.getUnlocalizedName());
|
||||
GameRegistry.registerItem(recycled_metal, recycled_metal.getUnlocalizedName());
|
||||
GameRegistry.registerItem(recycled_refined, recycled_refined.getUnlocalizedName());
|
||||
GameRegistry.registerItem(recycled_organic, recycled_organic.getUnlocalizedName());
|
||||
GameRegistry.registerItem(recycled_crystal, recycled_crystal.getUnlocalizedName());
|
||||
GameRegistry.registerItem(recycled_explosive, recycled_explosive.getUnlocalizedName());
|
||||
GameRegistry.registerItem(recycled_electronic, recycled_electronic.getUnlocalizedName());
|
||||
GameRegistry.registerItem(recycled_nuclear, recycled_nuclear.getUnlocalizedName());
|
||||
GameRegistry.registerItem(recycled_misc, recycled_misc.getUnlocalizedName());
|
||||
|
||||
//Catalyst Rune Sigils
|
||||
GameRegistry.registerItem(rune_blank, rune_blank.getUnlocalizedName());
|
||||
GameRegistry.registerItem(rune_isa, rune_isa.getUnlocalizedName());
|
||||
|
||||
@ -386,7 +386,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu
|
||||
if(mainConfig.ejector != null && mainConfig.ejector.getAfterReload())
|
||||
queueCasing(player, mainConfig.ejector, prevCfg, stack);
|
||||
|
||||
InventoryUtil.tryConsumeAStack(player.inventory.mainInventory, 0, player.inventory.mainInventory.length, ammo);
|
||||
InventoryUtil.tryConsumeAStack(player.inventory.mainInventory, 0, player.inventory.mainInventory.length - 1, ammo);
|
||||
} else {
|
||||
setReloadCycle(stack, getReloadCycle(stack) - 1);
|
||||
}
|
||||
|
||||
@ -1163,6 +1163,16 @@ public class MainRegistry {
|
||||
ignoreMappings.add("hbm:item.primer_50");
|
||||
ignoreMappings.add("hbm:item.primer_buckshot");
|
||||
ignoreMappings.add("hbm:tile.ore_bedrock_coltan");
|
||||
ignoreMappings.add("hbm:item.recycled_ground");
|
||||
ignoreMappings.add("hbm:item.recycled_rock");
|
||||
ignoreMappings.add("hbm:item.recycled_metal");
|
||||
ignoreMappings.add("hbm:item.recycled_refined");
|
||||
ignoreMappings.add("hbm:item.recycled_organic");
|
||||
ignoreMappings.add("hbm:item.recycled_crystal");
|
||||
ignoreMappings.add("hbm:item.recycled_explosive");
|
||||
ignoreMappings.add("hbm:item.recycled_electronic");
|
||||
ignoreMappings.add("hbm:item.recycled_nuclear");
|
||||
ignoreMappings.add("hbm:item.recycled_misc");
|
||||
|
||||
/// REMAP ///
|
||||
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);
|
||||
|
||||
@ -75,6 +75,7 @@ public class NEIConfig implements IConfigureNEI {
|
||||
registerHandler(new OutgasserHandler());
|
||||
registerHandler(new ElectrolyserFluidHandler());
|
||||
registerHandler(new ElectrolyserMetalHandler());
|
||||
registerHandler(new AshpitHandler());
|
||||
|
||||
for(MachineConfiguration conf : CustomMachineConfigJSON.niceList) registerHandlerBypass(new CustomMachineHandler(conf));
|
||||
|
||||
|
||||
@ -29,6 +29,8 @@ public class TileEntityAshpit extends TileEntityMachineBase implements IGUIProvi
|
||||
public int ashLevelWood;
|
||||
public int ashLevelCoal;
|
||||
public int ashLevelMisc;
|
||||
public int ashLevelFly;
|
||||
public int ashLevelSoot;
|
||||
|
||||
public TileEntityAshpit() {
|
||||
super(5);
|
||||
@ -59,6 +61,8 @@ public class TileEntityAshpit extends TileEntityMachineBase implements IGUIProvi
|
||||
if(processAsh(ashLevelWood, EnumAshType.WOOD, threshold)) ashLevelWood -= threshold;
|
||||
if(processAsh(ashLevelCoal, EnumAshType.COAL, threshold)) ashLevelCoal -= threshold;
|
||||
if(processAsh(ashLevelMisc, EnumAshType.MISC, threshold)) ashLevelMisc -= threshold;
|
||||
if(processAsh(ashLevelFly, EnumAshType.FLY, threshold)) ashLevelFly -= threshold;
|
||||
if(processAsh(ashLevelSoot, EnumAshType.SOOT, threshold * 4)) ashLevelSoot -= threshold * 4;
|
||||
|
||||
isFull = false;
|
||||
|
||||
@ -126,6 +130,8 @@ public class TileEntityAshpit extends TileEntityMachineBase implements IGUIProvi
|
||||
this.ashLevelWood = nbt.getInteger("ashLevelWood");
|
||||
this.ashLevelCoal = nbt.getInteger("ashLevelCoal");
|
||||
this.ashLevelMisc = nbt.getInteger("ashLevelMisc");
|
||||
this.ashLevelFly = nbt.getInteger("ashLevelFly");
|
||||
this.ashLevelSoot = nbt.getInteger("ashLevelSoot");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -135,6 +141,8 @@ public class TileEntityAshpit extends TileEntityMachineBase implements IGUIProvi
|
||||
nbt.setInteger("ashLevelWood", ashLevelWood);
|
||||
nbt.setInteger("ashLevelCoal", ashLevelCoal);
|
||||
nbt.setInteger("ashLevelMisc", ashLevelMisc);
|
||||
nbt.setInteger("ashLevelFly", ashLevelFly);
|
||||
nbt.setInteger("ashLevelSoot", ashLevelSoot);
|
||||
}
|
||||
|
||||
AxisAlignedBB bb = null;
|
||||
|
||||
@ -11,10 +11,13 @@ import com.hbm.tileentity.TileEntityLoadedBase;
|
||||
|
||||
import api.hbm.fluid.IFluidUser;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public abstract class TileEntityChimneyBase extends TileEntityLoadedBase implements IFluidUser, INBTPacketReceiver {
|
||||
|
||||
public long ashTick = 0;
|
||||
public long sootTick = 0;
|
||||
public int onTicks;
|
||||
|
||||
@Override
|
||||
@ -33,6 +36,19 @@ public abstract class TileEntityChimneyBase extends TileEntityLoadedBase impleme
|
||||
}
|
||||
}
|
||||
|
||||
if(ashTick > 0 || sootTick > 0) {
|
||||
|
||||
TileEntity below = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord);
|
||||
|
||||
if(below instanceof TileEntityAshpit) {
|
||||
TileEntityAshpit ashpit = (TileEntityAshpit) below;
|
||||
ashpit.ashLevelFly += ashTick;
|
||||
ashpit.ashLevelSoot += sootTick;
|
||||
}
|
||||
this.ashTick = 0;
|
||||
this.sootTick = 0;
|
||||
}
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setInteger("onTicks", onTicks);
|
||||
INBTPacketReceiver.networkPack(this, data, 150);
|
||||
@ -47,6 +63,14 @@ public abstract class TileEntityChimneyBase extends TileEntityLoadedBase impleme
|
||||
}
|
||||
}
|
||||
|
||||
public boolean cpaturesAsh() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean cpaturesSoot() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void spawnParticles() { }
|
||||
|
||||
public void networkUnpack(NBTTagCompound nbt) {
|
||||
@ -63,6 +87,9 @@ public abstract class TileEntityChimneyBase extends TileEntityLoadedBase impleme
|
||||
public long transferFluid(FluidType type, int pressure, long fluid) {
|
||||
onTicks = 20;
|
||||
|
||||
if(cpaturesAsh()) ashTick += fluid;
|
||||
if(cpaturesSoot()) sootTick += fluid;
|
||||
|
||||
fluid *= getPollutionMod();
|
||||
|
||||
if(type == Fluids.SMOKE) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, fluid / 100F);
|
||||
|
||||
@ -29,7 +29,12 @@ public class TileEntityChimneyIndustrial extends TileEntityChimneyBase {
|
||||
|
||||
@Override
|
||||
public double getPollutionMod() {
|
||||
return 0.25D;
|
||||
return 0.1D;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean cpaturesSoot() {
|
||||
return true;
|
||||
}
|
||||
|
||||
AxisAlignedBB bb = null;
|
||||
|
||||
@ -375,6 +375,10 @@ public class InventoryUtil {
|
||||
return stacks;
|
||||
}
|
||||
|
||||
if(o instanceof ItemStack[][]) {
|
||||
return (ItemStack[][]) o;
|
||||
}
|
||||
|
||||
if(o instanceof AStack) {
|
||||
AStack astack = (AStack) o;
|
||||
ItemStack[] ext = astack.extractForNEI().toArray(new ItemStack[0]);
|
||||
|
||||
@ -2691,6 +2691,11 @@ item.powder_actinium_tiny.name=Kleiner Haufen Actiniumstaub
|
||||
item.powder_advanced_alloy.name=Fortgeschrittener Legierungsstaub
|
||||
item.powder_aluminium.name=Aluminiumstaub
|
||||
item.powder_asbestos.name=Asbeststaub
|
||||
item.powder_ash.coal.name=Kohleasche
|
||||
item.powder_ash.fly.name=Flugasche
|
||||
item.powder_ash.misc.name=Asche
|
||||
item.powder_ash.soot.name=Feiner Ruß
|
||||
item.powder_ash.wood.name=Holzasche
|
||||
item.powder_astatine.name=Astatstaub
|
||||
item.powder_at209.name=Astat-209-Staub
|
||||
item.powder_au198.name=Gold-198-Staub
|
||||
|
||||
@ -3497,7 +3497,9 @@ item.powder_aluminium.name=Aluminium Powder
|
||||
item.powder_asbestos.name=Asbestos Powder
|
||||
item.powder_asbestos.desc=§o\"Sniffffffff- MHHHHHHMHHHHHHHHH\"§r
|
||||
item.powder_ash.coal.name=Coal Ash
|
||||
item.powder_ash.fly.name=Fly Ash
|
||||
item.powder_ash.misc.name=Ash
|
||||
item.powder_ash.soot.name=Fine Soot
|
||||
item.powder_ash.wood.name=Wood Ash
|
||||
item.powder_astatine.name=Astatine Powder
|
||||
item.powder_at209.name=Astatine-209 Powder
|
||||
|
||||
|
Before Width: | Height: | Size: 245 B |
BIN
src/main/resources/assets/hbm/textures/items/powder_ash.soot.png
Normal file
|
After Width: | Height: | Size: 299 B |
|
Before Width: | Height: | Size: 811 B |
|
Before Width: | Height: | Size: 469 B |
|
Before Width: | Height: | Size: 372 B |
|
Before Width: | Height: | Size: 408 B |
|
Before Width: | Height: | Size: 376 B |
|
Before Width: | Height: | Size: 647 B |
|
Before Width: | Height: | Size: 352 B |
|
Before Width: | Height: | Size: 409 B |
|
Before Width: | Height: | Size: 278 B |
|
Before Width: | Height: | Size: 399 B |
|
Before Width: | Height: | Size: 443 B |