mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
oh yeah
This commit is contained in:
parent
43c43eb14f
commit
d0854bb795
@ -1,6 +1,6 @@
|
||||
mod_version=1.0.27
|
||||
# Empty build number makes a release type
|
||||
mod_build_number=4562
|
||||
mod_build_number=4578
|
||||
|
||||
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
|
||||
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\
|
||||
|
||||
@ -177,12 +177,7 @@ public class BlockTallPlant extends BlockEnumMulti implements IPlantable, IGrowa
|
||||
public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) {
|
||||
|
||||
if(meta > 7) {
|
||||
|
||||
if(world.getBlock(x, y - 1, z) == this) {
|
||||
if(!player.capabilities.isCreativeMode) {
|
||||
this.dropBlockAsItem(world, x, y - 1, z, world.getBlockMetadata(x, y - 1, z), 0);
|
||||
}
|
||||
}
|
||||
// dead
|
||||
} else if(world.getBlock(x, y + 1, z) == this) {
|
||||
|
||||
if(player.capabilities.isCreativeMode) {
|
||||
|
||||
@ -11,6 +11,7 @@ import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.machine.TileEntityCrucible;
|
||||
|
||||
import api.hbm.block.ICrucibleAcceptor;
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@ -24,8 +25,9 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.event.DrawBlockHighlightEvent;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class MachineCrucible extends BlockDummyable {
|
||||
public class MachineCrucible extends BlockDummyable implements ICrucibleAcceptor {
|
||||
|
||||
public MachineCrucible() {
|
||||
super(Material.rock);
|
||||
@ -151,4 +153,31 @@ public class MachineCrucible extends BlockDummyable {
|
||||
for(AxisAlignedBB aabb : this.bounding) event.context.drawOutlinedBoundingBox(aabb.expand(exp, exp, exp).getOffsetBoundingBox(x - dX + 0.5, y - dY, z - dZ + 0.5), -1);
|
||||
ICustomBlockHighlight.cleanup();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) {
|
||||
|
||||
int[] pos = this.findCore(world, x, y, z);
|
||||
if(pos == null) return false;
|
||||
TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]);
|
||||
if(!(tile instanceof TileEntityCrucible)) return false;
|
||||
TileEntityCrucible crucible = (TileEntityCrucible) tile;
|
||||
|
||||
return crucible.canAcceptPartialPour(world, x, y, z, dX, dY, dZ, side, stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) {
|
||||
|
||||
int[] pos = this.findCore(world, x, y, z);
|
||||
if(pos == null) return stack;
|
||||
TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]);
|
||||
if(!(tile instanceof TileEntityCrucible)) return stack;
|
||||
TileEntityCrucible crucible = (TileEntityCrucible) tile;
|
||||
|
||||
return crucible.pour(world, x, y, z, dX, dY, dZ, side, stack);
|
||||
}
|
||||
|
||||
@Override public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { return false; }
|
||||
@Override public MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { return null; }
|
||||
}
|
||||
|
||||
@ -3,12 +3,14 @@ package com.hbm.crafting;
|
||||
import static com.hbm.inventory.OreDictManager.*;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemBreedingRod.*;
|
||||
import com.hbm.items.machine.ItemWatzPellet.EnumWatzType;
|
||||
import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType;
|
||||
import com.hbm.main.CraftingManager;
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import net.minecraftforge.oredict.ShapedOreRecipe;
|
||||
|
||||
/**
|
||||
@ -123,6 +125,20 @@ public class RodRecipes {
|
||||
addRBMKRod(ModItems.billet_zfb_pu241, ModItems.rbmk_fuel_zfb_pu241);
|
||||
addRBMKRod(ModItems.billet_zfb_am_mix, ModItems.rbmk_fuel_zfb_am_mix);
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.rbmk_fuel_drx, 1), new Object[] { ModItems.rbmk_fuel_balefire, ModItems.particle_digamma });
|
||||
|
||||
addPellet(SA326, EnumWatzType.SCHRABIDIUM);
|
||||
addPellet(ModItems.ingot_hes, EnumWatzType.HES);
|
||||
addPellet(ModItems.ingot_schrabidium_fuel, EnumWatzType.MES);
|
||||
addPellet(ModItems.ingot_les, EnumWatzType.LES);
|
||||
addPellet(NP237, EnumWatzType.HEN);
|
||||
addPellet(ModItems.ingot_uranium_fuel, EnumWatzType.MEU);
|
||||
addPellet(ModItems.ingot_pu_mix, EnumWatzType.MEP);
|
||||
addPellet(PB, EnumWatzType.LEAD);
|
||||
addPellet(B, EnumWatzType.BORON);
|
||||
addPellet(U238, EnumWatzType.DU);
|
||||
/* GT6 */
|
||||
if(OreDictionary.doesOreNameExist("ingotNaquadah-Enriched")) addPellet(new DictFrame("Naquadah-Enriched"), EnumWatzType.NQD);
|
||||
if(OreDictionary.doesOreNameExist("ingotNaquadria")) addPellet(new DictFrame("Naquadria"), EnumWatzType.NQR);
|
||||
}
|
||||
|
||||
//Fill rods with one billet. For fuels only, therefore no unloading or ore dict
|
||||
@ -223,4 +239,12 @@ public class RodRecipes {
|
||||
public static void addZIRNOXRod(DictFrame mat, EnumZirnoxType num) {
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_zirnox, 1, num.ordinal()), new Object[] { ModItems.rod_zirnox_empty, mat.billet(), mat.billet() });
|
||||
}
|
||||
|
||||
/** Watz pellet crafting **/
|
||||
public static void addPellet(DictFrame mat, EnumWatzType num) {
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.watz_pellet, 1, num.ordinal()), new Object[] { " I ", "IGI", " I ", 'I', mat.ingot(), 'G', GRAPHITE.ingot() });
|
||||
}
|
||||
public static void addPellet(Item item, EnumWatzType num) {
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.watz_pellet, 1, num.ordinal()), new Object[] { " I ", "IGI", " I ", 'I', item, 'G', GRAPHITE.ingot() });
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,6 +5,8 @@ import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
|
||||
import static com.hbm.inventory.OreDictManager.*;
|
||||
|
||||
import com.hbm.items.ItemGenericPart.EnumPartType;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemBattery;
|
||||
import com.hbm.items.tool.ItemBlowtorch;
|
||||
@ -137,6 +139,7 @@ public class ToolRecipes {
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.chemistry_set_boron), new Object[] { "GIG", "GCG", 'G', ModBlocks.glass_boron, 'I', STEEL.ingot(), 'C', CO.ingot() });
|
||||
CraftingManager.addRecipeAuto(ItemBlowtorch.getEmptyTool(ModItems.blowtorch), new Object[] { "CC ", " I ", "CCC", 'C', CU.plate528(), 'I', IRON.ingot() });
|
||||
CraftingManager.addRecipeAuto(ItemBlowtorch.getEmptyTool(ModItems.acetylene_torch), new Object[] { "SS ", " PS", " T ", 'S', STEEL.plate528(), 'P', ANY_PLASTIC.ingot(), 'T', ModItems.tank_steel });
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.boltgun), new Object[] { "DPS", " RD", " D ", 'D', DURA.ingot(), 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'R', RUBBER.ingot(), 'S', ModItems.hull_small_steel });
|
||||
|
||||
//Bobmazon
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.bobmazon_materials), new Object[] { Items.book, Items.gold_nugget, Items.string });
|
||||
|
||||
@ -29,6 +29,7 @@ import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -66,8 +67,9 @@ public class EntityMist extends Entity {
|
||||
public void onEntityUpdate() {
|
||||
|
||||
float height = this.dataWatcher.getWatchableObjectFloat(12);
|
||||
this.yOffset = -height / 2F;
|
||||
this.yOffset = 0;
|
||||
this.setSize(this.dataWatcher.getWatchableObjectFloat(11), height);
|
||||
this.setPosition(this.posX, this.posY, this.posZ);
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
@ -90,11 +92,20 @@ public class EntityMist extends Entity {
|
||||
return;
|
||||
}
|
||||
|
||||
List<Entity> affected = worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox);
|
||||
AxisAlignedBB aabb = this.boundingBox.copy();
|
||||
List<Entity> affected = worldObj.getEntitiesWithinAABBExcludingEntity(this, aabb.offset(-this.width / 2, 0, -this.width / 2));
|
||||
|
||||
for(Entity e : affected) {
|
||||
this.affect(e, intensity);
|
||||
}
|
||||
} else {
|
||||
|
||||
for(int i = 0; i < 2; i++) {
|
||||
double x = this.boundingBox.minX + rand.nextDouble() * (this.boundingBox.maxX - this.boundingBox.minX);
|
||||
double y = this.boundingBox.minY + rand.nextDouble() * (this.boundingBox.maxY - this.boundingBox.minY);
|
||||
double z = this.boundingBox.minZ + rand.nextDouble() * (this.boundingBox.maxZ - this.boundingBox.minZ);
|
||||
worldObj.spawnParticle("cloud", x, y, z, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -32,6 +32,7 @@ public class EntityCreeperPhosgene extends EntityCreeper {
|
||||
if(!this.worldObj.isRemote) {
|
||||
this.setDead();
|
||||
|
||||
worldObj.createExplosion(this, posX, posY + this.height / 2, posZ, 2F, false);
|
||||
EntityMist mist = new EntityMist(worldObj);
|
||||
mist.setType(Fluids.PHOSGENE);
|
||||
mist.setPosition(posX, posY, posZ);
|
||||
|
||||
@ -80,10 +80,15 @@ public class EntityShrapnel extends EntityThrowable {
|
||||
}
|
||||
}
|
||||
|
||||
} else if(this.dataWatcher.getWatchableObjectByte(16) == 3) {
|
||||
|
||||
if(worldObj.getBlock(mop.blockX, mop.blockY + 1, mop.blockZ).isReplaceable(worldObj, mop.blockX, mop.blockY + 1, mop.blockZ)) {
|
||||
worldObj.setBlock(mop.blockX, mop.blockY + 1, mop.blockZ, ModBlocks.mud_block);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
for(int i = 0; i < 5; i++)
|
||||
worldObj.spawnParticle("lava", posX, posY, posZ, 0.0, 0.0, 0.0);
|
||||
for(int i = 0; i < 5; i++) worldObj.spawnParticle("lava", posX, posY, posZ, 0.0, 0.0, 0.0);
|
||||
}
|
||||
|
||||
worldObj.playSoundEffect(posX, posY, posZ, "random.fizz", 1.0F, 1.0F);
|
||||
@ -97,4 +102,8 @@ public class EntityShrapnel extends EntityThrowable {
|
||||
public void setVolcano(boolean b) {
|
||||
this.dataWatcher.updateObject(16, (byte) (b ? 2 : 0));
|
||||
}
|
||||
|
||||
public void setWatz(boolean b) {
|
||||
this.dataWatcher.updateObject(16, (byte) (b ? 3 : 0));
|
||||
}
|
||||
}
|
||||
|
||||
@ -162,8 +162,8 @@ public class Gun762mmFactory {
|
||||
final BulletConfiguration bullet = Gun556mmFactory.get556Config().clone();
|
||||
|
||||
bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.STOCK));
|
||||
bullet.dmgMax *= 2;
|
||||
bullet.dmgMin *= 2;
|
||||
bullet.dmgMax = 20;
|
||||
bullet.dmgMin = 24;
|
||||
bullet.velocity *= 2.5;
|
||||
bullet.maxAge *= 2;
|
||||
bullet.spread /= 2;
|
||||
@ -177,8 +177,8 @@ public class Gun762mmFactory {
|
||||
final BulletConfiguration bullet = get762NATOConfig();
|
||||
|
||||
bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.AP));
|
||||
bullet.dmgMax *= 1.5;
|
||||
bullet.dmgMin *= 1.5;
|
||||
bullet.dmgMax = 24;
|
||||
bullet.dmgMin = 28;
|
||||
|
||||
bullet.spentCasing = CASING762NATO.clone().register("762NATOAP");
|
||||
|
||||
@ -189,8 +189,8 @@ public class Gun762mmFactory {
|
||||
final BulletConfiguration bullet = get762NATOConfig();
|
||||
|
||||
bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.DU));
|
||||
bullet.dmgMax *= 2;
|
||||
bullet.dmgMin *= 2;
|
||||
bullet.dmgMax = 36;
|
||||
bullet.dmgMin = 40;
|
||||
|
||||
bullet.spentCasing = CASING762NATO.clone().register("762NATODU");
|
||||
|
||||
|
||||
@ -223,8 +223,8 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler {
|
||||
case 4: return new int[][] {
|
||||
{102, 24 - 9},
|
||||
{120, 24 - 9},
|
||||
{138 + 36, 24 + 9},
|
||||
{156 + 36, 24 + 9}
|
||||
{102, 24 + 9},
|
||||
{120, 24 + 9}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -9,10 +9,12 @@ import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.hazard.modifier.*;
|
||||
import com.hbm.hazard.transformer.*;
|
||||
import com.hbm.hazard.type.*;
|
||||
import com.hbm.inventory.OreDictManager.DictFrame;
|
||||
import com.hbm.inventory.material.MaterialShapes;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemBreedingRod.BreedingRodType;
|
||||
import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial;
|
||||
import com.hbm.items.machine.ItemWatzPellet.EnumWatzType;
|
||||
import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType;
|
||||
import com.hbm.items.special.ItemHolotapeImage.EnumHoloImage;
|
||||
import com.hbm.util.Compat;
|
||||
@ -104,6 +106,7 @@ public class HazardRegistry {
|
||||
public static final float saf = 5.85F;
|
||||
public static final float sas3 = 5F;
|
||||
public static final float gh336 = 5.0F;
|
||||
public static final float mud = 1.0F;
|
||||
public static final float radsource_mult = 3.0F;
|
||||
public static final float pobe = po210 * radsource_mult;
|
||||
public static final float rabe = ra226 * radsource_mult;
|
||||
@ -429,6 +432,17 @@ public class HazardRegistry {
|
||||
registerRBMKPellet(rbmk_pellet_zfb_am_mix, pu241 * billet * 0.1F, wst * billet * 10F);
|
||||
registerRBMKPellet(rbmk_pellet_drx, bf * billet, bf * billet * 100F, true, 0F, 1F/24F);
|
||||
|
||||
HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.SCHRABIDIUM), makeData(RADIATION, sa326 * ingot * 4));
|
||||
HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.HES), makeData(RADIATION, saf * ingot * 4));
|
||||
HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.MES), makeData(RADIATION, saf * ingot * 4));
|
||||
HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.LES), makeData(RADIATION, saf * ingot * 4));
|
||||
HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.HEN), makeData(RADIATION, np237 * ingot * 4));
|
||||
HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.MEU), makeData(RADIATION, uf * ingot * 4));
|
||||
HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.MEP), makeData(RADIATION, purg * ingot * 4));
|
||||
HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.DU), makeData(RADIATION, u238 * ingot * 4));
|
||||
HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.NQD), makeData(RADIATION, u235 * ingot * 4));
|
||||
HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.NQR), makeData(RADIATION, pu239 * ingot * 4));
|
||||
|
||||
HazardSystem.register(powder_yellowcake, makeData(RADIATION, yc * powder));
|
||||
HazardSystem.register(block_yellowcake, makeData(RADIATION, yc * block * powder_mult));
|
||||
HazardSystem.register(ModItems.fallout, makeData(RADIATION, fo * powder));
|
||||
|
||||
@ -32,6 +32,7 @@ import com.hbm.util.Compat;
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -138,6 +139,7 @@ public class OreDictManager {
|
||||
public static final DictFrame SBD = new DictFrame("Schrabidate");
|
||||
public static final DictFrame SRN = new DictFrame("Schraranium");
|
||||
public static final DictFrame GH336 = new DictFrame("Ghiorsium336", "Gh336");
|
||||
public static final DictFrame MUD = new DictFrame("WatzMud");
|
||||
/*
|
||||
* STABLE
|
||||
*/
|
||||
@ -297,7 +299,7 @@ public class OreDictManager {
|
||||
IRON.plate(plate_iron).dust(powder_iron).ore(ore_gneiss_iron);
|
||||
GOLD.plate(plate_gold).dust(powder_gold).ore(ore_gneiss_gold);
|
||||
LAPIS.dust(powder_lapis);
|
||||
NETHERQUARTZ.gem(Items.quartz).dust(powder_quartz);
|
||||
NETHERQUARTZ.gem(Items.quartz).dust(powder_quartz).ore(Blocks.quartz_ore);
|
||||
DIAMOND.dust(powder_diamond).ore(gravel_diamond);
|
||||
EMERALD.dust(powder_emerald);
|
||||
|
||||
@ -331,6 +333,7 @@ public class OreDictManager {
|
||||
SBD .rad(HazardRegistry.sb) .blinding(50F) .ingot(ingot_schrabidate) .dust(powder_schrabidate) .block(block_schrabidate);
|
||||
SRN .rad(HazardRegistry.sr) .blinding(50F) .ingot(ingot_schraranium) .block(block_schraranium);
|
||||
GH336 .rad(HazardRegistry.gh336) .nugget(nugget_gh336) .billet(billet_gh336) .ingot(ingot_gh336);
|
||||
MUD .rad(HazardRegistry.mud) .ingot(ingot_mud);
|
||||
|
||||
/*
|
||||
* STABLE
|
||||
|
||||
@ -123,6 +123,7 @@ public class Mats {
|
||||
public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, CASTPLATE, BLOCK);
|
||||
public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0xF1E0BB, 0x6F6256, 0xDECCAD).setShapes(DUST);
|
||||
public static final NTMMaterial MAT_SLAG = makeSmeltable(_AS + 11, SLAG, 0x554940, 0x34281F, 0x6C6562).setShapes(BLOCK);
|
||||
public static final NTMMaterial MAT_MUD = makeSmeltable(_AS + 14, MUD, 0xBCB5A9, 0x481213, 0x96783B).setShapes(INGOT);
|
||||
|
||||
@Deprecated public static NTMMaterial makeSmeltable(int id, DictFrame dict, int color) { return makeSmeltable(id, dict, color, color, color); }
|
||||
@Deprecated public static NTMMaterial makeAdditive(int id, DictFrame dict, int color) { return makeAdditive(id, dict, color, color, color); }
|
||||
|
||||
@ -298,15 +298,13 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_turbinegas, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.hull_small_steel, 6), new ComparableStack(ModItems.generator_steel, 2), new ComparableStack(ModItems.bolt_compound, 4), new ComparableStack(ModBlocks.steel_scaffold, 8), new ComparableStack(ModBlocks.deco_pipe_quad, 4), new ComparableStack(ModItems.turbine_tungsten, 3), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.ingot_rubber, 4), new ComparableStack(ModItems.circuit_red_copper, 3)}, 600);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_teleporter, 1), new AStack[] {new OreDictStack(TI.ingot(), 8), new OreDictStack(ALLOY.plate528(), 12), new ComparableStack(ModItems.wire_gold, 32), new ComparableStack(ModItems.entanglement_kit, 1), new ComparableStack(ModBlocks.machine_battery, 1) },300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_schrabidium_transmutator, 1), new AStack[] {new OreDictStack(MAGTUNG.ingot(), 1), new OreDictStack(TI.ingot(), 24), new OreDictStack(ALLOY.plate(), 18), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModItems.plate_desh, 6), new OreDictStack(RUBBER.ingot(), 8), new ComparableStack(ModBlocks.machine_battery, 5), new ComparableStack(ModItems.circuit_gold, 5), },500);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_combine_factory, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(ANY_PLASTIC.ingot(), 6), new OreDictStack(TI.plate(), 4), new OreDictStack(CU.plate(), 6), new ComparableStack(ModItems.circuit_gold, 6), new ComparableStack(ModItems.coil_advanced_alloy, 8), new ComparableStack(ModItems.coil_tungsten, 4), new OreDictStack(MAGTUNG.ingot(), 12), },150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.fusion_conductor, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new ComparableStack(ModItems.coil_advanced_alloy, 5), },150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.fusion_center, 1), new AStack[] {new OreDictStack(ANY_HARDPLASTIC.ingot(), 4), new OreDictStack(STEEL.plate528(), 6), new ComparableStack(ModItems.wire_advanced_alloy, 24), },200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.fusion_motor, 1), new AStack[] {new OreDictStack(TI.ingot(), 4), new OreDictStack(STEEL.ingot(), 2), new ComparableStack(ModItems.motor, 4), },250);
|
||||
makeRecipe(new ComparableStack(ModBlocks.fusion_heater, 1), new AStack[] {new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate528(), 2), new OreDictStack(OreDictManager.getReflector(), 2), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.magnetron, 1), new ComparableStack(ModItems.wire_advanced_alloy, 4), },150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.watz_element, 1), new AStack[] {new OreDictStack(W.ingot(), 4), new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.rod_empty, 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 2), new ComparableStack(ModItems.wire_advanced_alloy, 4), },200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.watz_cooler, 1), new AStack[] {new OreDictStack(W.ingot(), 2), new OreDictStack(STEEL.ingot(), 2), new OreDictStack(KNO.dust(), 4), },300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.watz_element, 3), new AStack[] {new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(ZR.ingot(), 2), new OreDictStack(BIGMT.ingot(), 2), new OreDictStack(ANY_HARDPLASTIC.ingot(), 4)},200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.watz_cooler, 3), new AStack[] {new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(CU.plateCast(), 4), new OreDictStack(RUBBER.ingot(), 2), }, 200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.watz_end, 3), new AStack[] {new OreDictStack(ANY_RESISTANTALLOY.plateTriple()), new OreDictStack(B.ingot(), 3), new OreDictStack(STEEL.plate(), 9), }, 100);
|
||||
makeRecipe(new ComparableStack(ModBlocks.watz_core, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.circuit_gold, 5), new ComparableStack(ModItems.circuit_schrabidium, 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 12), },350);
|
||||
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);
|
||||
|
||||
@ -20,6 +20,7 @@ import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
import com.hbm.inventory.RecipesCommon.OreDictStack;
|
||||
import com.hbm.inventory.recipes.loader.SerializableRecipe;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemWatzPellet.EnumWatzType;
|
||||
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
|
||||
import com.hbm.items.special.ItemByproduct.EnumByproduct;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -134,6 +135,73 @@ public class CentrifugeRecipes extends SerializableRecipe {
|
||||
new ItemStack(ModItems.nugget_pu238, 1),
|
||||
new ItemStack(ModItems.nugget_technetium, 1),
|
||||
new ItemStack(ModItems.nuclear_waste_tiny, 6) });
|
||||
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.SCHRABIDIUM)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
new ItemStack(ModItems.nugget_solinium, 15),
|
||||
new ItemStack(ModItems.nugget_euphemium, 3),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.HES)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
new ItemStack(ModItems.nugget_solinium, 17),
|
||||
new ItemStack(ModItems.nugget_euphemium, 1),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.MES)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
new ItemStack(ModItems.nugget_solinium, 12),
|
||||
new ItemStack(ModItems.nugget_tantalium, 6),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.LES)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
new ItemStack(ModItems.nugget_solinium, 9),
|
||||
new ItemStack(ModItems.nugget_tantalium, 9),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.HEN)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
new ItemStack(ModItems.nugget_pu239, 12),
|
||||
new ItemStack(ModItems.nugget_technetium, 6),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.MEU)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
new ItemStack(ModItems.nugget_pu239, 12),
|
||||
new ItemStack(ModItems.nugget_bismuth, 6),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.MEP)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
new ItemStack(ModItems.nugget_pu241, 12),
|
||||
new ItemStack(ModItems.nugget_bismuth, 6),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.LEAD)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
new ItemStack(ModItems.nugget_lead, 6),
|
||||
new ItemStack(ModItems.nugget_bismuth, 12),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.BORON)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
new ItemStack(ModItems.powder_coal_tiny, 12),
|
||||
new ItemStack(ModItems.nugget_co60, 6),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.DU)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
new ItemStack(ModItems.nugget_polonium, 12),
|
||||
new ItemStack(ModItems.nugget_pu238, 6),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
|
||||
if(OreDictionary.doesOreNameExist("nuggetNaquadria")) {
|
||||
ItemStack nuggetNQR = OreDictionary.getOres("nuggetNaquadria").get(0);
|
||||
ItemStack copy = nuggetNQR.copy();
|
||||
copy.stackSize = 12;
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.NQD)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
copy,
|
||||
new ItemStack(ModItems.nugget_euphemium, 6),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.NQR)), new ItemStack[] {
|
||||
new ItemStack(ModItems.ingot_mud, 1),
|
||||
new ItemStack(ModItems.nugget_co60, 12),
|
||||
new ItemStack(ModItems.nugget_euphemium, 6),
|
||||
new ItemStack(ModItems.nuclear_waste, 2) });
|
||||
}
|
||||
|
||||
recipes.put(new ComparableStack(ModItems.powder_cloud), new ItemStack[] {
|
||||
new ItemStack(ModItems.powder_copper, 1),
|
||||
|
||||
@ -96,6 +96,10 @@ public class CrucibleRecipes extends SerializableRecipe {
|
||||
.inputs(new MaterialStack(Mats.MAT_STEEL, n * 8), new MaterialStack(Mats.MAT_CADMIUM, n))
|
||||
.outputs(new MaterialStack(Mats.MAT_CDALLOY, i)));
|
||||
|
||||
recipes.add(new CrucibleRecipe(13, "crucible.cmb", 3, new ItemStack(ModItems.ingot_combine_steel))
|
||||
.inputs(new MaterialStack(Mats.MAT_MAGTUNG, n * 6), new MaterialStack(Mats.MAT_MUD, n * 3))
|
||||
.outputs(new MaterialStack(Mats.MAT_CMB, i)));
|
||||
|
||||
registerMoldsForNEI();
|
||||
}
|
||||
|
||||
|
||||
@ -66,6 +66,7 @@ public class SolidificationRecipes extends SerializableRecipe {
|
||||
registerRecipe(BIOGAS, 250, ModItems.biomass_compressed);
|
||||
registerRecipe(SALIENT, 1280, new ItemStack(ModItems.bio_wafer, 8)); //4 (food val) * 2 (sat mod) * 2 (constant) * 10 (quanta) * 8 (batch size)
|
||||
registerRecipe(ENDERJUICE, 100, Items.ender_pearl);
|
||||
registerRecipe(WATZ, 1000, ModItems.ingot_mud);
|
||||
|
||||
registerRecipe(OIL, SF_OIL, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE));
|
||||
registerRecipe(CRACKOIL, SF_CRACK, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK));
|
||||
|
||||
@ -359,6 +359,7 @@ public class ModItems {
|
||||
public static Item ingot_cadmium;
|
||||
public static Item powder_cadmium;
|
||||
public static Item powder_bismuth;
|
||||
public static Item ingot_mud;
|
||||
|
||||
public static Item ingot_lanthanium;
|
||||
public static Item ingot_actinium;
|
||||
@ -2651,6 +2652,7 @@ public class ModItems {
|
||||
ingot_cadmium = new Item().setUnlocalizedName("ingot_cadmium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cadmium");
|
||||
powder_cadmium = new Item().setUnlocalizedName("powder_cadmium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cadmium");
|
||||
powder_bismuth = new Item().setUnlocalizedName("powder_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_bismuth");
|
||||
ingot_mud = new Item().setUnlocalizedName("ingot_mud").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_mud");
|
||||
|
||||
ore_byproduct = new ItemByproduct().setUnlocalizedName("ore_byproduct").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":byproduct");
|
||||
|
||||
@ -5540,6 +5542,7 @@ public class ModItems {
|
||||
//GameRegistry.registerItem(ingot_pet, ingot_pet.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_pc, ingot_pc.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_pvc, ingot_pvc.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_mud, ingot_mud.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_schraranium, ingot_schraranium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_schrabidium, ingot_schrabidium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ingot_schrabidate, ingot_schrabidate.getUnlocalizedName());
|
||||
|
||||
@ -36,18 +36,18 @@ public class ItemWatzPellet extends ItemEnumMulti {
|
||||
|
||||
public static enum EnumWatzType {
|
||||
|
||||
SCHRABIDIUM( 0x32FFFF, 0x005C5C, 2_000, 20D, 0.02D, new FunctionLinear(1.5D), new FunctionSqrt(1D/20D).withOff(20D * 20D), null),
|
||||
HES( 0x66DCD6, 0x023933, 1_750, 20D, 0.01D, new FunctionLinear(1.25D), new FunctionSqrt(1/15D).withOff(15D*15D), null),
|
||||
MES( 0xCBEADF, 0x28473C, 1_500, 15D, 0.005D, new FunctionLinear(1.15D), new FunctionSqrt(1/15D).withOff(15D*15D), null),
|
||||
LES( 0xABB4A8, 0x0C1105, 1_250, 15D, 0.0025D, new FunctionLinear(1D), new FunctionSqrt(1/10D).withOff(10D*10D), null),
|
||||
HEN( 0xA6B2A6, 0x030F03, 0, 10D, 0.001D, new FunctionSqrt(100), null, null),
|
||||
MEU( 0xC1C7BD, 0x2B3227, 0, 10D, 0.001D, new FunctionSqrt(75), null, null),
|
||||
MEP( 0x9AA3A0, 0x111A17, 0, 15D, 0.001D, new FunctionSqrt(150), new FunctionSqrt(1D/20D).withOff(20D * 20D), null),
|
||||
LEAD( 0xA6A6B2, 0x03030F, 0, 0, 0.005D, null, null, new FunctionSqrt(10)), //standard absorber, negative coefficient
|
||||
BORON( 0xBDC8D2, 0x29343E, 0, 0, 0.005D, null, null, new FunctionLinear(10)), //improved absorber, linear
|
||||
DU( 0xC1C7BD, 0x2B3227, 0, 0, 0.005D, null, null, new FunctionQuadratic(1D, 1D).withDiv(100)), //absorber with positive coefficient
|
||||
NQD( 0x4B4B4B, 0x121212, 2_000, 20, 0.02D, new FunctionLinear(2D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null),
|
||||
NQR( 0x2D2D2D, 0x0B0B0B, 2_500, 30, 0.02D, new FunctionLinear(1.5D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null);
|
||||
SCHRABIDIUM( 0x32FFFF, 0x005C5C, 2_000, 20D, 0.01D, new FunctionLinear(1.5D), new FunctionSqrtFalling(10D), null),
|
||||
HES( 0x66DCD6, 0x023933, 1_750, 20D, 0.005D, new FunctionLinear(1.25D), new FunctionSqrtFalling(15D), null),
|
||||
MES( 0xCBEADF, 0x28473C, 1_500, 15D, 0.0025D, new FunctionLinear(1.15D), new FunctionSqrtFalling(15D), null),
|
||||
LES( 0xABB4A8, 0x0C1105, 1_250, 15D, 0.00125D, new FunctionLinear(1D), new FunctionSqrtFalling(20D), null),
|
||||
HEN( 0xA6B2A6, 0x030F03, 0, 10D, 0.0005D, new FunctionSqrt(100), new FunctionSqrtFalling(10D), null),
|
||||
MEU( 0xC1C7BD, 0x2B3227, 0, 10D, 0.0005D, new FunctionSqrt(75), new FunctionSqrtFalling(10D), null),
|
||||
MEP( 0x9AA3A0, 0x111A17, 0, 15D, 0.0005D, new FunctionSqrt(150), new FunctionSqrtFalling(10D), null),
|
||||
LEAD( 0xA6A6B2, 0x03030F, 0, 0, 0.0025D, null, null, new FunctionSqrt(10)), //standard absorber, negative coefficient
|
||||
BORON( 0xBDC8D2, 0x29343E, 0, 0, 0.0025D, null, null, new FunctionLinear(10)), //improved absorber, linear
|
||||
DU( 0xC1C7BD, 0x2B3227, 0, 0, 0.0025D, null, null, new FunctionQuadratic(1D, 1D).withDiv(100)), //absorber with positive coefficient
|
||||
NQD( 0x4B4B4B, 0x121212, 2_000, 20, 0.01D, new FunctionLinear(2D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null),
|
||||
NQR( 0x2D2D2D, 0x0B0B0B, 2_500, 30, 0.01D, new FunctionLinear(1.5D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null);
|
||||
|
||||
public double yield = 1_000_000_000;
|
||||
public int colorLight;
|
||||
@ -123,6 +123,9 @@ public class ItemWatzPellet extends ItemEnumMulti {
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
|
||||
|
||||
if(this != ModItems.watz_pellet) return;
|
||||
|
||||
EnumWatzType num = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage());
|
||||
|
||||
list.add(EnumChatFormatting.GREEN + "Depletion: " + String.format(Locale.US, "%.1f", getDurabilityForDisplay(stack) * 100D) + "%");
|
||||
@ -145,7 +148,7 @@ public class ItemWatzPellet extends ItemEnumMulti {
|
||||
|
||||
@Override
|
||||
public boolean showDurabilityBar(ItemStack stack) {
|
||||
return getDurabilityForDisplay(stack) > 0D;
|
||||
return this == ModItems.watz_pellet && getDurabilityForDisplay(stack) > 0D;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -184,6 +187,7 @@ public class ItemWatzPellet extends ItemEnumMulti {
|
||||
|
||||
@Override
|
||||
public void onCreated(ItemStack stack, World world, EntityPlayer player) {
|
||||
if(this != ModItems.watz_pellet) return;
|
||||
setNBTDefaults(stack); //minimize the window where NBT screwups can happen
|
||||
}
|
||||
}
|
||||
|
||||
@ -690,7 +690,9 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu
|
||||
GunConfiguration gcfg = gun.mainConfig;
|
||||
|
||||
if(type == ElementType.HOTBAR) {
|
||||
BulletConfiguration bcfg = BulletConfigSyncingUtil.pullConfig(gun.mainConfig.config.get(ItemGunBase.getMagType(stack)));
|
||||
int mag = ItemGunBase.getMagType(stack);
|
||||
if(gun.mainConfig.config.size() == 0) return;
|
||||
BulletConfiguration bcfg = BulletConfigSyncingUtil.pullConfig(gun.mainConfig.config.get(mag < gun.mainConfig.config.size() ? mag : 0));
|
||||
|
||||
if(bcfg == null) {
|
||||
return;
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
||||
public class RefStrings {
|
||||
public static final String MODID = "hbm";
|
||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||
public static final String VERSION = "1.0.27 BETA (4562)";
|
||||
public static final String VERSION = "1.0.27 BETA (4578)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -366,7 +366,8 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_1, 1), new Object[] { "TTT", "SSS", "BBI", 'T', TI.plate(), 'S', STEEL.ingot(), 'B', ModItems.bolt_tungsten, 'I', MINGRADE.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_2, 1), new Object[] { "TTT", "SSS", "BBI", 'T', ALLOY.plate(), 'S', ANY_PLASTIC.ingot(), 'B', ModItems.bolt_dura_steel, 'I', DESH.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.mechanism_special, 1), new Object[] { "PCI", "ISS", "PCI", 'P', ModItems.plate_desh, 'C', ModItems.coil_advanced_alloy, 'I', STAR.ingot(), 'S', ModItems.circuit_targeting_tier3 });
|
||||
|
||||
|
||||
addRecipeAuto(new ItemStack(ModBlocks.watz_pump, 1), new Object[] { "MPM", "PCP", "PSP", 'M', ModItems.motor_desh, 'P', ANY_RESISTANTALLOY.plateTriple(), 'C', KEY_CIRCUIT_BISMUTH, 'S', ModItems.pipes_steel });
|
||||
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_cooler), 1), new Object[] { "IPI", "IPI", "IPI", 'I', TI.ingot(), 'P', TI.plate() });
|
||||
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_tank), 1), new Object[] { "CGC", "GGG", "CGC", 'C', CMB.plate(), 'G', KEY_ANYPANE });
|
||||
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_scaffold), 1), new Object[] { "IPI", "P P", "IPI", 'I', W.ingot(), 'P', getReflector() });
|
||||
@ -765,6 +766,7 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModBlocks.barrel_antimatter, 1), new Object[] { "IPI", "IBI", "IPI", 'I', BIGMT.plate(), 'P', ModItems.coil_advanced_torus, 'B', ModItems.battery_sc_technetium });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.tesla, 1), new Object[] { "CCC", "PIP", "WTW", 'C', ModItems.coil_copper, 'I', IRON.ingot(), 'P', ANY_PLASTIC.ingot(), 'T', ModBlocks.machine_transformer, 'W', KEY_PLANKS });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.struct_plasma_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_gold, 'B', ModBlocks.machine_lithium_battery, 'H', ModBlocks.fusion_heater });
|
||||
addRecipeAuto(new ItemStack(ModBlocks.struct_watz_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_schrabidium, 'B', ANY_RESISTANTALLOY.plateTriple(), 'H', ModBlocks.watz_cooler });
|
||||
addShapelessAuto(new ItemStack(ModBlocks.fusion_heater), new Object[] { ModBlocks.fusion_hatch });
|
||||
addShapelessAuto(new ItemStack(ModItems.energy_core), new Object[] { ModItems.fusion_core, ModItems.fuse });
|
||||
addRecipeAuto(new ItemStack(ModItems.catalytic_converter, 1), new Object[] { "PCP", "PBP", "PCP", 'P', ANY_HARDPLASTIC.ingot(), 'C', CO.dust(), 'B', BI.ingot() });
|
||||
|
||||
@ -29,7 +29,7 @@ public class RenderShrapnel extends Render {
|
||||
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/shrapnel.png"));
|
||||
|
||||
if(rocket instanceof EntityShrapnel) {
|
||||
if(rocket.getDataWatcher().getWatchableObjectByte(16) == 2) { //scale up lava blobs
|
||||
if(rocket.getDataWatcher().getWatchableObjectByte(16) >= 2) { //scale up lava blobs
|
||||
GL11.glScaled(3, 3, 3);
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,6 +23,7 @@ import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.util.CrucibleUtil;
|
||||
|
||||
import api.hbm.block.ICrucibleAcceptor;
|
||||
import api.hbm.tile.IHeatSource;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@ -41,7 +42,7 @@ import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityCrucible extends TileEntityMachineBase implements IGUIProvider, IConfigurableMachine {
|
||||
public class TileEntityCrucible extends TileEntityMachineBase implements IGUIProvider, ICrucibleAcceptor, IConfigurableMachine {
|
||||
|
||||
public int heat;
|
||||
public int progress;
|
||||
@ -529,4 +530,57 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro
|
||||
public double getMaxRenderDistanceSquared() {
|
||||
return 65536.0D;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) {
|
||||
|
||||
CrucibleRecipe recipe = getLoadedRecipe();
|
||||
|
||||
if(recipe == null) {
|
||||
return getQuantaFromType(this.wasteStack, null) < this.wasteZCapacity;
|
||||
}
|
||||
|
||||
int recipeContent = recipe.getInputAmount();
|
||||
int recipeInputRequired = getQuantaFromType(recipe.input, stack.material);
|
||||
int matMaximum = recipeInputRequired * this.recipeZCapacity / recipeContent;
|
||||
int amountStored = getQuantaFromType(recipeStack, stack.material);
|
||||
|
||||
return amountStored < matMaximum;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) {
|
||||
|
||||
CrucibleRecipe recipe = getLoadedRecipe();
|
||||
|
||||
if(recipe == null) {
|
||||
|
||||
int amount = getQuantaFromType(this.wasteStack, null);
|
||||
|
||||
if(amount + stack.amount <= this.wasteZCapacity) {
|
||||
this.addToStack(this.wasteStack, stack.copy());
|
||||
return null;
|
||||
} else {
|
||||
int toAdd = this.wasteZCapacity - amount;
|
||||
this.addToStack(this.wasteStack, new MaterialStack(stack.material, toAdd));
|
||||
return new MaterialStack(stack.material, stack.amount - toAdd);
|
||||
}
|
||||
}
|
||||
|
||||
int recipeContent = recipe.getInputAmount();
|
||||
int recipeInputRequired = getQuantaFromType(recipe.input, stack.material);
|
||||
int matMaximum = recipeInputRequired * this.recipeZCapacity / recipeContent;
|
||||
|
||||
if(recipeInputRequired + stack.amount <= matMaximum) {
|
||||
this.addToStack(this.recipeStack, stack.copy());
|
||||
return null;
|
||||
}
|
||||
|
||||
int toAdd = matMaximum - stack.amount;
|
||||
this.addToStack(this.recipeStack, new MaterialStack(stack.material, toAdd));
|
||||
return new MaterialStack(stack.material, stack.amount - toAdd);
|
||||
}
|
||||
|
||||
@Override public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { return false; }
|
||||
@Override public MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { return null; }
|
||||
}
|
||||
|
||||
@ -2,8 +2,11 @@ package com.hbm.tileentity.machine;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.entity.projectile.EntityShrapnel;
|
||||
import com.hbm.handler.radiation.ChunkRadiationManager;
|
||||
import com.hbm.interfaces.IControlReceiver;
|
||||
import com.hbm.inventory.container.ContainerWatz;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
@ -14,6 +17,9 @@ import com.hbm.inventory.gui.GUIWatz;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemWatzPellet;
|
||||
import com.hbm.items.machine.ItemWatzPellet.EnumWatzType;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.util.Compat;
|
||||
@ -22,10 +28,13 @@ import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
import com.hbm.util.function.Function;
|
||||
|
||||
import api.hbm.fluid.IFluidStandardTransceiver;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@ -126,6 +135,29 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand
|
||||
}
|
||||
|
||||
segments.get(segments.size() - 1).sendOutBottom();
|
||||
|
||||
/* explode on mud overflow */
|
||||
if(sharedTanks[2].getFill() > 0) {
|
||||
for(int x = -3; x <= 3; x++) {
|
||||
for(int y = 3; y < 6; y++) {
|
||||
for(int z = -3; z <= 3; z++) {
|
||||
worldObj.setBlock(xCoord + x, yCoord + y, zCoord + z, Blocks.air);
|
||||
}
|
||||
}
|
||||
}
|
||||
this.disassemble();
|
||||
|
||||
ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord + 1, zCoord, 1_000F);
|
||||
|
||||
worldObj.playSoundEffect(xCoord + 0.5, yCoord + 2, zCoord + 0.5, "hbm:block.rbmk_explosion", 50.0F, 1.0F);
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "rbmkmush");
|
||||
data.setFloat("scale", 5);
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5, yCoord + 2, zCoord + 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250));
|
||||
MainRegistry.proxy.effectNT(data);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -137,7 +169,7 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand
|
||||
|
||||
public void updateCoolant(FluidTank[] tanks) {
|
||||
|
||||
double coolingFactor = 0.05D; //20% per tick, TEMP
|
||||
double coolingFactor = 0.1D; //10% per tick, TEMP
|
||||
double heatToUse = this.heat * coolingFactor;
|
||||
|
||||
FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class);
|
||||
@ -215,17 +247,21 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand
|
||||
|
||||
}
|
||||
|
||||
for(int i = 0; i < 24; i++) {
|
||||
ItemStack stack = slots[i];
|
||||
|
||||
/* deplete */
|
||||
if(stack != null && stack.getItem() == ModItems.watz_pellet && ItemWatzPellet.getEnrichment(stack) <= 0) {
|
||||
slots[i] = new ItemStack(ModItems.watz_pellet_depleted, 1, stack.getItemDamage());
|
||||
continue; // depleted pellets may persist for one tick
|
||||
}
|
||||
}
|
||||
|
||||
if(above != null) {
|
||||
for(int i = 0; i < 24; i++) {
|
||||
ItemStack stackBottom = slots[i];
|
||||
ItemStack stackTop = above.slots[i];
|
||||
|
||||
/* deplete */
|
||||
if(stackBottom != null && stackBottom.getItem() == ModItems.watz_pellet && ItemWatzPellet.getYield(stackBottom) <= 0) {
|
||||
slots[i] = new ItemStack(ModItems.watz_pellet_depleted, 1, stackBottom.getItemDamage());
|
||||
continue; // depleted pellets may persist for one tick
|
||||
}
|
||||
|
||||
/* items fall down if the bottom slot is empty */
|
||||
if(stackBottom == null && stackTop != null) {
|
||||
slots[i] = stackTop.copy();
|
||||
@ -407,6 +443,73 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand
|
||||
return bb;
|
||||
}
|
||||
|
||||
private void disassemble() {
|
||||
|
||||
int count = 20;
|
||||
Random rand = worldObj.rand;
|
||||
for(int i = 0; i < count * 5; i++) {
|
||||
EntityShrapnel shrapnel = new EntityShrapnel(worldObj);
|
||||
shrapnel.posX = xCoord + 0.5;
|
||||
shrapnel.posY = yCoord + 3;
|
||||
shrapnel.posZ = zCoord + 0.5;
|
||||
shrapnel.motionY = ((rand.nextFloat() * 0.5) + 0.5) * (1 + (count / (15 + rand.nextInt(21)))) + (rand.nextFloat() / 50 * count);
|
||||
shrapnel.motionX = rand.nextGaussian() * 1 * (1 + (count / 100));
|
||||
shrapnel.motionZ = rand.nextGaussian() * 1 * (1 + (count / 100));
|
||||
shrapnel.setWatz(true);
|
||||
worldObj.spawnEntityInWorld(shrapnel);
|
||||
}
|
||||
|
||||
worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.mud_block);
|
||||
worldObj.setBlock(xCoord, yCoord + 1, zCoord, ModBlocks.mud_block);
|
||||
worldObj.setBlock(xCoord, yCoord + 2, zCoord, ModBlocks.mud_block);
|
||||
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, 1, 0);
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, 2, 0);
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, 0, 1);
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, 0, 2);
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, -1, 0);
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, -2, 0);
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, 0, -1);
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, 0, -2);
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, 1, 1);
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, 1, -1);
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, -1, 1);
|
||||
setBrokenColumn(0, ModBlocks.watz_element, 0, -1, -1);
|
||||
setBrokenColumn(0, ModBlocks.watz_cooler, 0, 2, 1);
|
||||
setBrokenColumn(0, ModBlocks.watz_cooler, 0, 2, -1);
|
||||
setBrokenColumn(0, ModBlocks.watz_cooler, 0, 1, 2);
|
||||
setBrokenColumn(0, ModBlocks.watz_cooler, 0, -1, 2);
|
||||
setBrokenColumn(0, ModBlocks.watz_cooler, 0, -2, 1);
|
||||
setBrokenColumn(0, ModBlocks.watz_cooler, 0, -2, -1);
|
||||
setBrokenColumn(0, ModBlocks.watz_cooler, 0, 1, -2);
|
||||
setBrokenColumn(0, ModBlocks.watz_cooler, 0, -1, -2);
|
||||
|
||||
for(int j = -1; j < 2; j++) {
|
||||
setBrokenColumn(1, ModBlocks.watz_end, 1, 3, j);
|
||||
setBrokenColumn(1, ModBlocks.watz_end, 1, j, 3);
|
||||
setBrokenColumn(1, ModBlocks.watz_end, 1, -3, j);
|
||||
setBrokenColumn(1, ModBlocks.watz_end, 1, j, -3);
|
||||
}
|
||||
setBrokenColumn(1, ModBlocks.watz_end, 1, 2, 2);
|
||||
setBrokenColumn(1, ModBlocks.watz_end, 1, 2, -2);
|
||||
setBrokenColumn(1, ModBlocks.watz_end, 1, -2, 2);
|
||||
setBrokenColumn(1, ModBlocks.watz_end, 1, -2, -2);
|
||||
}
|
||||
|
||||
private void setBrokenColumn(int minHeight, Block b, int meta, int x, int z) {
|
||||
|
||||
int height = minHeight + worldObj.rand.nextInt(3 - minHeight);
|
||||
|
||||
for(int i = 0; i < 3; i++) {
|
||||
|
||||
if(i <= height) {
|
||||
worldObj.setBlock(xCoord + x, yCoord + i, zCoord + z, b, meta, 3);
|
||||
} else {
|
||||
worldObj.setBlock(xCoord + x, yCoord + i, zCoord + z, ModBlocks.mud_block);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared() {
|
||||
|
||||
@ -64,6 +64,13 @@ public abstract class Function {
|
||||
@Override public String getDangerFromFuel() { return EnumChatFormatting.YELLOW + "MEDIUM / SQUARE ROOT"; }
|
||||
}
|
||||
|
||||
public static class FunctionSqrtFalling extends FunctionSqrt {
|
||||
public FunctionSqrtFalling(double fallFactor) {
|
||||
super(1D / fallFactor);
|
||||
this.withOff(fallFactor * fallFactor);
|
||||
}
|
||||
}
|
||||
|
||||
public static class FunctionLinear extends FunctionSingleArg {
|
||||
public FunctionLinear(double level) { super(level); }
|
||||
@Override public double effonix(double x) { return getX(x) * this.level; }
|
||||
|
||||
@ -416,6 +416,7 @@ container.zirnox=ZIRNOX Atomreaktor
|
||||
|
||||
crucible.aa=Herstellung - Fortgeschrittene Legierung
|
||||
crucible.cdalloy=Herstellung Cadmiumstahl
|
||||
crucible.cmb=Herstellung CMB-Stahl
|
||||
crucible.ferro=Herstellung - Ferrouran
|
||||
crucible.hematite=Herstellung - Eisen aus Hämatit
|
||||
crucible.hss=Herstellung - Schnellarbeitsstahl
|
||||
@ -781,6 +782,7 @@ hbmmat.uranium=Uran
|
||||
hbmmat.uranium233=Uran-233
|
||||
hbmmat.uranium235=Uran-235
|
||||
hbmmat.uranium238=Uran-238
|
||||
hbmmat.watzmud=Giftiger Schlamm
|
||||
hbmmat.whitephosphorus=Weißer Phosphor
|
||||
hbmmat.workersalloy=Desh
|
||||
hbmmat.wroughtiron=Schmiedeeisen
|
||||
@ -2014,6 +2016,7 @@ item.ingot_magnetized_tungsten.name=Magnetisierter Wolframbarren
|
||||
item.ingot_meteorite.name=Meteoritenbarren
|
||||
item.ingot_meteorite_forged.name=Geschmiedeter Meteoritenbarren
|
||||
item.ingot_mox_fuel.name=MOX-Kernbrennstoffbarren
|
||||
item.ingot_mud.name=Fester Schlammziegel
|
||||
item.ingot_neptunium.name=Neptuniumbarren
|
||||
item.ingot_neptunium_fuel.name=Neptuniumkernbrennstoffbarren
|
||||
item.ingot_niobium.name=Niobbarren
|
||||
@ -4277,6 +4280,7 @@ tile.waste_mycelium.name=Leuchtende Myzel
|
||||
tile.waste_planks.name=Verkohlte Holzbretter
|
||||
tile.waste_trinitite.name=Trinititerz
|
||||
tile.waste_trinitite_red.name=Rotes Trinititerz
|
||||
tile.watz.name=Watzkraftwerk
|
||||
tile.watz_conductor.name=Watz-Stromanschluss
|
||||
tile.watz_control.name=Verstärkte Steuerstäbe
|
||||
tile.watz_cooler.name=Watz-Superkühler
|
||||
@ -4285,6 +4289,7 @@ tile.watz_element.name=Watzreaktionskammer
|
||||
tile.watz_end.name=Watz-Stabilitätselement
|
||||
tile.watz_end_bolted.name=Watz-Stabilitätselement (Genietet)
|
||||
tile.watz_hatch.name=Watzreaktorzugriffsluke
|
||||
tile.watz_pump.name=Watz-Druckpumpe
|
||||
tile.yellow_barrel.name=Radioaktives Fass
|
||||
tile.zirnox_destroyed.name=Zerstörter ZINOX
|
||||
|
||||
|
||||
@ -709,6 +709,7 @@ container.zirnox=ZIRNOX Nuclear Reactor
|
||||
|
||||
crucible.aa=Advanced Alloy Production
|
||||
crucible.cdalloy=Cadmium Steel Production
|
||||
crucible.cmb=CMB Steel Production
|
||||
crucible.ferro=Ferrouranium Production
|
||||
crucible.hematite=Iron Production from Hematite
|
||||
crucible.hss=High-Speed Steel Production
|
||||
@ -1358,6 +1359,7 @@ hbmmat.uranium=Uranium
|
||||
hbmmat.uranium233=Uranium-233
|
||||
hbmmat.uranium235=Uranium-235
|
||||
hbmmat.uranium238=Uranium-238
|
||||
hbmmat.watzmud=Poisonous Mud
|
||||
hbmmat.whitephosphorus=White Phosphorus
|
||||
hbmmat.workersalloy=Desh
|
||||
hbmmat.wroughtiron=Wroght Iron
|
||||
@ -2663,6 +2665,7 @@ item.ingot_magnetized_tungsten.name=Magnetized Tungsten Ingot
|
||||
item.ingot_meteorite.name=Meteorite Ingot
|
||||
item.ingot_meteorite_forged.name=Forged Meteorite Ingot
|
||||
item.ingot_mox_fuel.name=Ingot of MOX Fuel
|
||||
item.ingot_mud.name=Solid Mud Brick
|
||||
item.ingot_neptunium.name=Neptunium Ingot
|
||||
item.ingot_neptunium.desc=That one's my favourite!
|
||||
item.ingot_neptunium.desc.P11=Woo, scary!
|
||||
@ -5095,6 +5098,7 @@ tile.waste_mycelium.name=Glowing Mycelium
|
||||
tile.waste_planks.name=Charred Wooden Planks
|
||||
tile.waste_trinitite.name=Trinitite Ore
|
||||
tile.waste_trinitite_red.name=Red Trinitite Ore
|
||||
tile.watz.name=Watz Powerplant
|
||||
tile.watz_conductor.name=Watz Electricity Port
|
||||
tile.watz_control.name=Reinforced Control Rods
|
||||
tile.watz_cooler.name=Watz Reactor Supercooler
|
||||
@ -5103,6 +5107,7 @@ tile.watz_element.name=Watz Reaction Chamber
|
||||
tile.watz_end.name=Watz Reactor Stability Element
|
||||
tile.watz_end_bolted.name=Watz Reactor Stability Element (Riveted)
|
||||
tile.watz_hatch.name=Watz Reactor Access Hatch
|
||||
tile.watz_pump.name=Watz Pressure Pump
|
||||
tile.yellow_barrel.name=Radioactive Barrel
|
||||
tile.zirnox_destroyed.name=Destroyed ZINROX
|
||||
|
||||
|
||||
BIN
src/main/resources/assets/hbm/textures/items/ingot_mud.png
Normal file
BIN
src/main/resources/assets/hbm/textures/items/ingot_mud.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 537 B |
Loading…
x
Reference in New Issue
Block a user