spring cleaning

This commit is contained in:
Boblet 2023-12-20 16:40:22 +01:00
parent 65412f0c89
commit f953d69ee6
28 changed files with 163 additions and 406 deletions

View File

@ -1,33 +1,9 @@
## Added
* Gylphid pheromones
* Used by certain glyphids, killing those allows for the pheromone glands to be harvested
* By mixing the pheromone with blood and medicine, it can be modified to extend its positive effects to non-glyphid entities
* Disperser canisters
* Throwable like grenades, will cause a small AoE effect based on the fluid
* Effectively a gas grenade, allows phosgene and mustard gas to be used directly
* Hot things like hot coolant or steam are especially effective
## Changed
* Reworked glyphids
* Hives are no longer open, instead they are much flatter with multiple spawners inside
* Naturally spawning hives now spawn with some loot inside
* Spawners now place glyphids nearby instead of on top, preventing them from suffocating instantly
* Glyphids no longer spawn every second, instead they spawn in waves
* More config option for spawning behavior
* A new config option for rampant mode which makes glyphids more aggressive, scouts expand directly towards players and all glyphids able to dig away obstacles
* A dedicated glyphid for digging also exists outside of rampant mode
* Glyphid meat can now be processed into resources
* Glyphid behemoths now have an acid attack and create a gas effect on death
* Larger glyphids can now destroy lanterns
* Infested glyphids
* 10% of all glyphid hives will be infested
* Infested glyphids are roughly equal, but apply a poison effect and nausea when attacking
* When killed, they will drop maggots that attack the player
* Infested scouts will also create infested hives
* Glyphid hive blocks no longer drop when broken
* The industrial generator no longer has an exponential modifier for power generation, which means it no longer produces several times more power than any other generator
* The igen by default only burns with 50% efficiency, which can be raised back to 100% with water and even to 125% with lubricant, making it slightly better when lubed than the fluid burner
* Adjusted the model for the mining helmet
* The ladders on the acidizer and fluid tanks are now climbable
* Removed those unused blue dungeon bricks
## Fixed
* Fixed the info system not being visible with a gun equipped
* Fixed a potential crash with suit batteries
* Fixed recipe conflict in the arc welder with the medium and large missile fuel tanks

View File

@ -425,12 +425,8 @@ public class ModBlocks {
public static Block brick_jungle_glyph;
public static Block brick_jungle_circle;
public static Block brick_dungeon;
public static Block brick_dungeon_flat;
public static Block brick_dungeon_tile;
public static Block brick_dungeon_circle;
public static Block brick_forgotten;
public static Block brick_red;
public static Block deco_computer;
@ -595,7 +591,6 @@ public class ModBlocks {
public static Block boxcar;
public static Block boat;
public static Block bomber;
public static Block seal_frame;
public static Block seal_controller;
@ -1666,13 +1661,9 @@ public class ModBlocks {
brick_jungle_trap = new TrappedBrick(Material.rock).setBlockName("brick_jungle_trap").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_trap");
brick_jungle_glyph = new BlockGlyph(Material.rock).setBlockName("brick_jungle_glyph").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F);
brick_jungle_circle = new BlockBallsSpawner(Material.rock).setBlockName("brick_jungle_circle").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_circle");
brick_dungeon = new BlockGeneric(Material.rock).setBlockName("brick_dungeon").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":brick_dungeon");
brick_dungeon_flat = new BlockGeneric(Material.rock).setBlockName("brick_dungeon_flat").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":brick_dungeon_flat");
brick_dungeon_tile = new BlockGeneric(Material.rock).setBlockName("brick_dungeon_tile").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":brick_dungeon_tile");
brick_dungeon_circle = new BlockGeneric(Material.rock).setBlockName("brick_dungeon_circle").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":brick_dungeon_circle");
brick_forgotten = new BlockGeneric(Material.rock).setBlockName("brick_forgotten").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(1000000).setBlockTextureName(RefStrings.MODID + ":brick_forgotten");
brick_red = new BlockRedBrick(Material.rock).setBlockName("brick_red").setResistance(10_000);
deco_computer = new BlockDecoModel(Material.iron, DecoComputerEnum.class, true, false).setBlockBoundsTo(.160749F, 0F, 0F, .839251F, .867849F, .622184F).setBlockName("deco_computer").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_computer");
filing_cabinet = new BlockDecoContainer(Material.iron, DecoCabinetEnum.class, true, false, TileEntityFileCabinet.class).setBlockBoundsTo(.1875F, 0F, 0F, .8125F, 1F, .75F).setBlockName("filing_cabinet").setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":block_steel");
@ -2271,7 +2262,6 @@ public class ModBlocks {
boxcar = new DecoBlock(Material.iron).setBlockName("boxcar").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boxcar");
boat = new DecoBlock(Material.iron).setBlockName("boat").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boat");
bomber = new DecoBlock(Material.iron).setBlockName("bomber").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":code");
machine_well = new MachineOilWell().setBlockName("machine_well").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_well");
machine_pumpjack = new MachinePumpjack().setBlockName("machine_pumpjack").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_pumpjack");
@ -2886,11 +2876,8 @@ public class ModBlocks {
GameRegistry.registerBlock(brick_jungle_trap, ItemTrapBlock.class, brick_jungle_trap.getUnlocalizedName());
GameRegistry.registerBlock(brick_jungle_glyph, ItemGlyphBlock.class, brick_jungle_glyph.getUnlocalizedName());
GameRegistry.registerBlock(brick_jungle_circle, brick_jungle_circle.getUnlocalizedName());
GameRegistry.registerBlock(brick_dungeon, brick_dungeon.getUnlocalizedName());
GameRegistry.registerBlock(brick_dungeon_flat, brick_dungeon_flat.getUnlocalizedName());
GameRegistry.registerBlock(brick_dungeon_tile, brick_dungeon_tile.getUnlocalizedName());
GameRegistry.registerBlock(brick_dungeon_circle, brick_dungeon_circle.getUnlocalizedName());
GameRegistry.registerBlock(brick_forgotten, brick_forgotten.getUnlocalizedName());
GameRegistry.registerBlock(brick_red, brick_red.getUnlocalizedName());
GameRegistry.registerBlock(deco_computer, ItemBlockBase.class, deco_computer.getUnlocalizedName());
GameRegistry.registerBlock(filing_cabinet, ItemBlockBase.class, filing_cabinet.getUnlocalizedName());
GameRegistry.registerBlock(tape_recorder, tape_recorder.getUnlocalizedName());
@ -3112,12 +3099,8 @@ public class ModBlocks {
//Junk
GameRegistry.registerBlock(boxcar, boxcar.getUnlocalizedName());
GameRegistry.registerBlock(boat, boat.getUnlocalizedName());
GameRegistry.registerBlock(bomber, bomber.getUnlocalizedName());
//Machines
//GameRegistry.registerBlock(observer_off, observer_off.getUnlocalizedName());
//GameRegistry.registerBlock(observer_on, observer_on.getUnlocalizedName());
GameRegistry.registerBlock(machine_autocrafter, ItemBlockBase.class, machine_autocrafter.getUnlocalizedName());
GameRegistry.registerBlock(anvil_iron, ItemBlockBase.class, anvil_iron.getUnlocalizedName());

View File

@ -0,0 +1,52 @@
package com.hbm.blocks.generic;
import java.util.Random;
import com.hbm.lib.RefStrings;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockPistonBase;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
public class BlockRedBrick extends Block {
protected IIcon iconFront;
protected IIcon iconTop;
public BlockRedBrick(Material material) {
super(material);
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":brick_red");
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":brick_red_top");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":brick_base");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) {
return side == meta ? (side == 0 || side == 1 ? this.iconTop : this.iconFront) : this.blockIcon;
}
@Override
public Item getItemDropped(int i, Random rand, int j) {
return null;
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) {
int l = BlockPistonBase.determineOrientation(world, x, y, z, player);
world.setBlockMetadataWithNotify(x, y, z, l, 2);
}
}

View File

@ -3,7 +3,6 @@ package com.hbm.blocks.generic;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.tileentity.deco.TileEntityBomber;
import com.hbm.tileentity.deco.TileEntityDecoBlock;
import cpw.mods.fml.client.registry.RenderingRegistry;
@ -28,17 +27,11 @@ public class DecoBlock extends BlockContainer {
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
if(this == ModBlocks.bomber)
return new TileEntityBomber();
if(this == ModBlocks.steel_scaffold || this == ModBlocks.steel_beam)
return null;
if(this == ModBlocks.steel_scaffold || this == ModBlocks.steel_beam) return null;
return new TileEntityDecoBlock();
}
public static int renderIDBeam = RenderingRegistry.getNextAvailableRenderId();
public static int renderIDBeam = RenderingRegistry.getNextAvailableRenderId();
@Override
public int getRenderType(){
@ -59,158 +52,136 @@ public class DecoBlock extends BlockContainer {
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
if(this == ModBlocks.bomber)
return null;
return Item.getItemFromBlock(this);
}
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) {
return Item.getItemFromBlock(this);
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
if(i == 0)
{
if(i == 0) {
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
}
if(i == 1)
{
if(i == 1) {
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
}
if(i == 2)
{
if(i == 2) {
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
}
if(i == 3)
{
if(i == 3) {
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
}
}
@Override
public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_)
{
public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) {
int te = p_149719_1_.getBlockMetadata(p_149719_2_, p_149719_3_, p_149719_4_);
float f = 0.0625F;
if(this == ModBlocks.steel_wall)
{
switch(te)
{
float f = 0.0625F;
if(this == ModBlocks.steel_wall) {
switch(te) {
case 4:
this.setBlockBounds(14*f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
break;
this.setBlockBounds(14 * f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
break;
case 2:
this.setBlockBounds(0.0F, 0.0F, 14*f, 1.0F, 1.0F, 1.0F);
break;
this.setBlockBounds(0.0F, 0.0F, 14 * f, 1.0F, 1.0F, 1.0F);
break;
case 5:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 2*f, 1.0F, 1.0F);
break;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 2 * f, 1.0F, 1.0F);
break;
case 3:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2*f);
break;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2 * f);
break;
}
}
if(this == ModBlocks.steel_corner)
{
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
}
if(this == ModBlocks.steel_roof)
{
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1*f, 1.0F);
}
if(this == ModBlocks.steel_beam)
{
this.setBlockBounds(7*f, 0.0F, 7*f, 9*f, 1.0F, 9*f);
}
if(this == ModBlocks.steel_scaffold)
{
this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f);
switch(te)
{
}
if(this == ModBlocks.steel_corner) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
}
if(this == ModBlocks.steel_roof) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1 * f, 1.0F);
}
if(this == ModBlocks.steel_beam) {
this.setBlockBounds(7 * f, 0.0F, 7 * f, 9 * f, 1.0F, 9 * f);
}
if(this == ModBlocks.steel_scaffold) {
this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f);
switch(te) {
case 4:
this.setBlockBounds(2*f, 0.0F, 0.0F, 14*f, 1.0F, 1.0F);
break;
this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F);
break;
case 2:
this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f);
break;
this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f);
break;
case 5:
this.setBlockBounds(2*f, 0.0F, 0.0F, 14*f, 1.0F, 1.0F);
break;
this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F);
break;
case 3:
this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f);
break;
this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f);
break;
}
}
//this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
}
}
// this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
}
@Override
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) {
int te = world.getBlockMetadata(x, y, z);
float f = 0.0625F;
if(this == ModBlocks.steel_wall)
{
switch(te)
{
float f = 0.0625F;
if(this == ModBlocks.steel_wall) {
switch(te) {
case 4:
this.setBlockBounds(14*f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
break;
this.setBlockBounds(14 * f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
break;
case 2:
this.setBlockBounds(0.0F, 0.0F, 14*f, 1.0F, 1.0F, 1.0F);
break;
this.setBlockBounds(0.0F, 0.0F, 14 * f, 1.0F, 1.0F, 1.0F);
break;
case 5:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 2*f, 1.0F, 1.0F);
break;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 2 * f, 1.0F, 1.0F);
break;
case 3:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2*f);
break;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2 * f);
break;
}
}
if(this == ModBlocks.steel_corner)
{
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
}
if(this == ModBlocks.steel_roof)
{
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1*f, 1.0F);
}
if(this == ModBlocks.steel_beam)
{
this.setBlockBounds(7*f, 0.0F, 7*f, 9*f, 1.0F, 9*f);
}
if(this == ModBlocks.steel_scaffold)
{
this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f);
switch(te)
{
}
if(this == ModBlocks.steel_corner) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
}
if(this == ModBlocks.steel_roof) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1 * f, 1.0F);
}
if(this == ModBlocks.steel_beam) {
this.setBlockBounds(7 * f, 0.0F, 7 * f, 9 * f, 1.0F, 9 * f);
}
if(this == ModBlocks.steel_scaffold) {
this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f);
switch(te) {
case 4:
this.setBlockBounds(2*f, 0.0F, 0.0F, 14*f, 1.0F, 1.0F);
break;
this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F);
break;
case 2:
this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f);
break;
this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f);
break;
case 5:
this.setBlockBounds(2*f, 0.0F, 0.0F, 14*f, 1.0F, 1.0F);
break;
this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F);
break;
case 3:
this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f);
break;
this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f);
break;
}
}
}
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ);
}
}

View File

@ -3,7 +3,6 @@ package com.hbm.entity.effect;
import java.util.List;
import com.hbm.entity.mob.EntityGlyphid;
import com.hbm.entity.projectile.EntityChemical;
import com.hbm.extprop.HbmLivingProps;
import com.hbm.handler.radiation.ChunkRadiationManager;
import com.hbm.inventory.fluid.FluidType;

View File

@ -5,7 +5,6 @@ import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.mob.EntityGlyphid;
import com.hbm.entity.mob.EntityGlyphidBehemoth;
import com.hbm.extprop.HbmLivingProps;
import com.hbm.handler.radiation.ChunkRadiationManager;
import com.hbm.inventory.fluid.FluidType;

View File

@ -1,7 +1,6 @@
package com.hbm.explosion.vanillant.standard;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockGlyphidSpawner;
import com.hbm.explosion.vanillant.ExplosionVNT;
import com.hbm.explosion.vanillant.interfaces.IBlockAllocator;
import net.minecraft.block.Block;

View File

@ -85,9 +85,9 @@ public class ArcWelderRecipes extends SerializableRecipe {
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.thruster_medium), 100, 2_000L, new OreDictStack(STEEL.plate(), 8), new ComparableStack(ModItems.motor, 1), new OreDictStack(GRAPHITE.ingot(), 8)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.thruster_large), 200, 5_000L, new OreDictStack(DURA.ingot(), 12), new ComparableStack(ModItems.motor, 2), new OreDictStack(OreDictManager.getReflector(), 16)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_small), 60, 1_000L, new OreDictStack(Fluids.ETHANOL.getDict(1_000), 6), new OreDictStack(TI.plate(), 6), new OreDictStack(STEEL.plate(), 2)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_small), 60, 1_000L, new OreDictStack(Fluids.ETHANOL.getDict(1_000), 6), new OreDictStack(AL.plate(), 6), new OreDictStack(STEEL.plate(), 2)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_medium), 100, 2_000L, new OreDictStack(Fluids.KEROSENE.getDict(1_000), 8), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 4)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_large), 200, 5_000L, new OreDictStack(Fluids.KEROSENE.getDict(1_000), 12), new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 8)));
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_large), 200, 5_000L, new OreDictStack(Fluids.KEROSENE.getDict(1_000), 12), new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plateCast(), 3)));
//Missiles
recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_generic), 100, 5_000L, new ComparableStack(ModItems.warhead_generic_small), new ComparableStack(ModItems.fuel_tank_small), new ComparableStack(ModItems.thruster_small)));

View File

@ -21,7 +21,6 @@ import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import cpw.mods.fml.common.Mod;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;

View File

@ -1,11 +0,0 @@
package com.hbm.inventory.transfer;
import java.util.List;
import net.minecraft.item.ItemStack;
public interface ITransferFilter {
/** Returns a list of valid ItemStacks that pass the filter and can be added. The returned list is what is added to the target and removed from the source. */
public List<ItemStack> select(List<ItemStack> offer);
}

View File

@ -1,13 +0,0 @@
package com.hbm.inventory.transfer;
import java.util.List;
import net.minecraft.item.ItemStack;
public interface ITransferSource {
/** Returns a list of ItemStacks accessible from this source */
public List<ItemStack> offer();
/** Removes the selected ItemStacks */
public void remove(List<ItemStack> toRem);
}

View File

@ -1,11 +0,0 @@
package com.hbm.inventory.transfer;
import java.util.List;
import net.minecraft.item.ItemStack;
public interface ITransferTarget {
/** Adds the selected ItemStacks to the target */
public void fill(List<ItemStack> offer);
}

View File

@ -1,13 +0,0 @@
package com.hbm.inventory.transfer;
import net.minecraftforge.common.util.ForgeDirection;
public abstract class TransferSourceSided implements ITransferSource {
protected ForgeDirection fromSide;
public TransferSourceSided fromSide(ForgeDirection side) {
this.fromSide = side;
return this;
}
}

View File

@ -1,70 +0,0 @@
package com.hbm.inventory.transfer;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityFurnace;
public class TransferSourceTileEntity extends TransferSourceSided {
protected TileEntity tile;
public TransferSourceTileEntity fromTile(TileEntity tile) {
this.tile = tile;
return this;
}
@Override
public List<ItemStack> offer() {
List<ItemStack> list = new ArrayList();
if(tile instanceof ISidedInventory) {
ISidedInventory inventory = (ISidedInventory) tile;
int[] access = masquerade(inventory, fromSide.ordinal());
for(int i : access) {
ItemStack stack = inventory.getStackInSlot(i);
if(stack != null && inventory.canExtractItem(i, stack, fromSide.ordinal())) {
list.add(stack.copy());
}
}
return list;
}
if(tile instanceof IInventory) {
IInventory inventory = (IInventory) tile;
for(int i = 0; i < inventory.getSizeInventory(); i++) {
ItemStack stack = inventory.getStackInSlot(i);
if(stack != null) {
list.add(stack.copy());
}
}
return list;
}
return list;
}
public static int[] masquerade(ISidedInventory sided, int side) {
if(sided instanceof TileEntityFurnace) {
return new int[] {2};
}
return sided.getAccessibleSlotsFromSide(side);
}
@Override
public void remove(List<ItemStack> toRem) {
}
}

View File

@ -1,15 +0,0 @@
package com.hbm.inventory.transfer;
import java.util.List;
import net.minecraft.item.ItemStack;
public class TransferUtil {
public static void transfer(ITransferSource source, ITransferFilter filter, ITransferTarget target) {
List<ItemStack> filtered = filter.select(source.offer());
source.remove(filtered);
target.fill(filtered);
}
}

View File

@ -157,14 +157,13 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestRender.class, new RenderTestRender());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestBombAdvanced.class, new RenderTestBombAdvanced());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityObjTester.class, new RendererObjTester());
//deco
//deco
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoPoleSatelliteReceiver.class, new RenderPoleSatelliteReceiver());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlock.class, new RenderDecoBlock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBroadcaster.class, new RenderDecoBlock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGeiger.class, new RenderDecoBlock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadioRec.class, new RenderDecoBlock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadiobox.class, new RenderDecoBlock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBomber.class, new RenderDecoBlock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSatDock.class, new RenderDecoBlock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAlt.class, new RenderDecoBlockAlt());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltG.class, new RenderDecoBlockAlt());

View File

@ -1175,6 +1175,11 @@ public class MainRegistry {
ignoreMappings.add("hbm:item.recycled_nuclear");
ignoreMappings.add("hbm:item.recycled_misc");
ignoreMappings.add("hbm:item.gun_bf_ammo");
ignoreMappings.add("hbm:tile.brick_dungeon");
ignoreMappings.add("hbm:tile.brick_dungeon_flat");
ignoreMappings.add("hbm:tile.brick_dungeon_tile");
ignoreMappings.add("hbm:tile.brick_dungeon_circle");
ignoreMappings.add("hbm:tile.bomber");
/// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);

View File

@ -6,7 +6,6 @@ import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.tileentity.bomb.TileEntityCompactLauncher;
import com.hbm.tileentity.bomb.TileEntityLaunchTable;
import com.hbm.tileentity.bomb.TileEntityNukeN45;
import com.hbm.tileentity.deco.TileEntityBomber;
import com.hbm.tileentity.machine.TileEntityAMSBase;
import com.hbm.tileentity.machine.TileEntityAMSEmitter;
import com.hbm.tileentity.machine.TileEntityAMSLimiter;
@ -108,16 +107,6 @@ public class AuxGaugePacket implements IMessage {
if(m.id == 1)
selenium.powerCap = m.value;
}
if (te instanceof TileEntityBomber) {
TileEntityBomber bomber = (TileEntityBomber)te;
if(m.id == 0)
bomber.yaw = m.value;
if(m.id == 1)
bomber.pitch = m.value;
if(m.id == 2)
bomber.type = m.value;
}
if (te instanceof TileEntityMachineBoiler) {
TileEntityMachineBoiler boiler = (TileEntityMachineBoiler)te;

View File

@ -408,19 +408,7 @@ public class ItemRenderLibrary {
public void renderCommon() {
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glTranslatef(0, 0, -3);
bindTexture(ResourceManager.duchessgambit_tex); ResourceManager.duchessgambit.renderAll();
}});
renderers.put(Item.getItemFromBlock(ModBlocks.bomber), new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, 1, 0);
GL11.glScaled(2.25, 2.25, 2.25);
}
public void renderCommon() {
GL11.glRotated(-90, 0, 1, 0);
GL11.glScaled(2, 2, 2);
GL11.glTranslatef(0, 0, -0.25F);
bindTexture(ResourceManager.dornier_0_tex); ResourceManager.dornier.renderAll();
bindTexture(ResourceManager.duchessgambit_tex); ResourceManager.duchessgambit.renderAll();
}});
renderers.put(Item.getItemFromBlock(ModBlocks.nuke_gadget), new ItemRenderBase() {
@ -430,8 +418,8 @@ public class ItemRenderLibrary {
}
public void renderCommon() {
GL11.glTranslated(0.25, 0, 0);
bindTexture(ResourceManager.bomb_gadget_tex);
ResourceManager.bomb_gadget.renderAll();
bindTexture(ResourceManager.bomb_gadget_tex);
ResourceManager.bomb_gadget.renderAll();
}});
renderers.put(Item.getItemFromBlock(ModBlocks.nuke_boy), new ItemRenderBase() {

View File

@ -13,7 +13,6 @@ import com.hbm.render.model.ModelSteelCorner;
import com.hbm.render.model.ModelSteelRoof;
import com.hbm.render.model.ModelSteelScaffold;
import com.hbm.render.model.ModelSteelWall;
import com.hbm.tileentity.deco.TileEntityBomber;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
@ -231,33 +230,6 @@ public class RenderDecoBlock extends TileEntitySpecialRenderer {
ResourceManager.duchessgambit.renderAll();
}
if(tileentity instanceof TileEntityBomber)
{
TileEntityBomber bomber = (TileEntityBomber)tileentity;
float yaw = (float)(((double)bomber.yaw) / 180D * Math.PI);
float pitch = (float)(((double)bomber.pitch) / 180D * Math.PI);
GL11.glRotatef(yaw - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(90, 0F, 0F, 1F);
GL11.glRotatef(pitch, 0.0F, 0.0F, 1.0F);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glScalef(5F, 5F, 5F);
int i = bomber.type;
switch(i) {
case 0: bindTexture(ResourceManager.dornier_0_tex); break;
case 1: bindTexture(ResourceManager.dornier_1_tex); break;
case 2: bindTexture(ResourceManager.dornier_2_tex); break;
default: bindTexture(ResourceManager.dornier_1_tex); break;
}
ResourceManager.dornier.renderAll();
}
if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.sat_radar) {
GL11.glRotatef(180, 0F, 0F, 1F);
GL11.glTranslatef(0, -1.5F, 0);

View File

@ -124,7 +124,6 @@ public class TileMappings {
put(TileEntityRadioRec.class, "tileentity_radio_receiver");
put(TileEntityVent.class, "tileentity_vent");
put(TileEntityLandmine.class, "tileentity_landmine");
put(TileEntityBomber.class, "tileentity_bomber");
put(TileEntityMachineKeyForge.class, "tileentity_key_forge");
put(TileEntitySellafield.class, "tileentity_sellafield_core");
put(TileEntityNukeN45.class, "tileentity_n45");

View File

@ -1,41 +0,0 @@
package com.hbm.tileentity.deco;
import com.hbm.packet.AuxGaugePacket;
import com.hbm.packet.PacketDispatcher;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
public class TileEntityBomber extends TileEntity {
public int yaw;
public int pitch;
public int type = 1;
@Override
public void updateEntity() {
if (!worldObj.isRemote) {
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, yaw, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, pitch, 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, type, 2), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
}
}
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
yaw = nbt.getInteger("bomberYaw");
pitch = nbt.getInteger("bomberPitch");
type = nbt.getInteger("bomberType");
}
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setInteger("bomberYaw", yaw);
nbt.setInteger("bomberPitch", pitch);
nbt.setInteger("bomberType", type);
}
}

View File

@ -19,7 +19,6 @@ import com.hbm.lib.Library;
import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.IUpgradeInfoProvider;
import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.util.BobMathUtil;
import com.hbm.util.I18nUtil;
import com.hbm.util.fauxpointtwelve.DirPos;

View File

@ -3702,6 +3702,7 @@ tile.brick_light.name=Helle Ziegel
tile.brick_light_stairs.name=Helle Ziegeltreppe
tile.brick_obsidian.name=Obsidianziegel
tile.brick_obsidian_stairs.name=Obsidianziegeltreppe
tile.brick_red.name=Ziegel (Roter Raum)
tile.brick_slab.brick_asbestos.name=Asbestziegelstufe
tile.brick_slab.brick_compound.name=Verbundstufe
tile.brick_slab.brick_fire.name=Schamottsteinstufe

View File

@ -4666,6 +4666,7 @@ tile.brick_light.name=Light Bricks
tile.brick_light_stairs.name=Light Bricks Stairs
tile.brick_obsidian.name=Obsidian Bricks
tile.brick_obsidian_stairs.name=Obsidian Brick Stairs
tile.brick_red.name=Red Room Brick
tile.brick_slab.brick_asbestos.name=Asbestos Brick Slab
tile.brick_slab.brick_compound.name=Compound Mesh Slab
tile.brick_slab.brick_fire.name=Firebrick Slab

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 B