mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
spring cleaning
This commit is contained in:
parent
65412f0c89
commit
f953d69ee6
32
changelog
32
changelog
@ -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
|
||||
@ -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());
|
||||
|
||||
52
src/main/java/com/hbm/blocks/generic/BlockRedBrick.java
Normal file
52
src/main/java/com/hbm/blocks/generic/BlockRedBrick.java
Normal 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);
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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)));
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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) {
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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());
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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() {
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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");
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
BIN
src/main/resources/assets/hbm/textures/blocks/brick_red.png
Normal file
BIN
src/main/resources/assets/hbm/textures/blocks/brick_red.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 768 B |
BIN
src/main/resources/assets/hbm/textures/blocks/brick_red_top.png
Normal file
BIN
src/main/resources/assets/hbm/textures/blocks/brick_red_top.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 519 B |
Binary file not shown.
|
After Width: | Height: | Size: 533 B |
Loading…
x
Reference in New Issue
Block a user