aye
@ -46,6 +46,11 @@
|
|||||||
* Changed the way reasim RBMK fuel channels work
|
* Changed the way reasim RBMK fuel channels work
|
||||||
* Instead of six randomized neutron streams, reasim rods now use eight half strength streams in an even star pattern
|
* Instead of six randomized neutron streams, reasim rods now use eight half strength streams in an even star pattern
|
||||||
* The pattern is rotated in a random multiple of 9° (i.e. four possible angle variations)
|
* The pattern is rotated in a random multiple of 9° (i.e. four possible angle variations)
|
||||||
|
* RBMK steam channels now spawn steam particles if water is voided due to the steam buffer not being emptied in time
|
||||||
|
* Rebalanced 528 mode
|
||||||
|
* Increased the chance for most precision assembler recipes to succeed
|
||||||
|
* Increased the chance for items to be salvaged by recycling
|
||||||
|
* In expensive mode, the chances have been increased drastically compared to the old values
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
* Fixed NBTStack serialization omitting the stack size most of the time, preventing deserialization (mainly in the precision assembler config)
|
* Fixed NBTStack serialization omitting the stack size most of the time, preventing deserialization (mainly in the precision assembler config)
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package com.hbm.blocks.machine.rbmk;
|
package com.hbm.blocks.machine.rbmk;
|
||||||
|
|
||||||
|
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||||
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKCooler;
|
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKCooler;
|
||||||
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
@ -9,10 +10,8 @@ public class RBMKCooler extends RBMKBase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createNewTileEntity(World world, int meta) {
|
public TileEntity createNewTileEntity(World world, int meta) {
|
||||||
|
if(meta >= this.offset) return new TileEntityRBMKCooler();
|
||||||
if(meta >= this.offset)
|
if(hasExtra(meta)) return new TileEntityProxyCombo().fluid();
|
||||||
return new TileEntityRBMKCooler();
|
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import java.util.List;
|
|||||||
import com.hbm.blocks.ITooltipProvider;
|
import com.hbm.blocks.ITooltipProvider;
|
||||||
import com.hbm.blocks.generic.BlockGeneric;
|
import com.hbm.blocks.generic.BlockGeneric;
|
||||||
import com.hbm.inventory.fluid.FluidType;
|
import com.hbm.inventory.fluid.FluidType;
|
||||||
|
import com.hbm.inventory.fluid.Fluids;
|
||||||
import com.hbm.inventory.fluid.trait.FT_Coolable;
|
import com.hbm.inventory.fluid.trait.FT_Coolable;
|
||||||
import com.hbm.inventory.fluid.trait.FT_Heatable;
|
import com.hbm.inventory.fluid.trait.FT_Heatable;
|
||||||
|
|
||||||
@ -24,12 +25,11 @@ public class RBMKLoader extends BlockGeneric implements IFluidConnectorBlock, IT
|
|||||||
@Override
|
@Override
|
||||||
public boolean canConnect(FluidType type, IBlockAccess world, int x, int y, int z, ForgeDirection dir) {
|
public boolean canConnect(FluidType type, IBlockAccess world, int x, int y, int z, ForgeDirection dir) {
|
||||||
if(dir == ForgeDirection.UP) return type.hasTrait(FT_Heatable.class);
|
if(dir == ForgeDirection.UP) return type.hasTrait(FT_Heatable.class);
|
||||||
return type.hasTrait(FT_Coolable.class);
|
return type.hasTrait(FT_Coolable.class) || type == Fluids.PERFLUOROMETHYL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||||
this.addStandardInfo(stack, player, list, ext);
|
this.addStandardInfo(stack, player, list, ext);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,7 +46,7 @@ public class PrecAssRecipes extends GenericRecipes<GenericRecipe> {
|
|||||||
.inputItems(new ComparableStack(ModItems.circuit, 1, EnumCircuitType.SILICON),
|
.inputItems(new ComparableStack(ModItems.circuit, 1, EnumCircuitType.SILICON),
|
||||||
new ComparableStack(ModItems.plate_polymer, 3),
|
new ComparableStack(ModItems.plate_polymer, 3),
|
||||||
new OreDictStack(GOLD.wireFine(), 4)).setPools(POOL_PREFIX_528 + "chip"),
|
new OreDictStack(GOLD.wireFine(), 4)).setPools(POOL_PREFIX_528 + "chip"),
|
||||||
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 50, GeneralConfig.enableExpensiveMode ? 10 : 90);
|
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP), 90, GeneralConfig.enableExpensiveMode ? 50 : 90);
|
||||||
|
|
||||||
registerPair(new GenericRecipe("precass.chip_bismoid").setup(200, 1_000L)
|
registerPair(new GenericRecipe("precass.chip_bismoid").setup(200, 1_000L)
|
||||||
.inputItems(new ComparableStack(ModItems.circuit, 4, EnumCircuitType.SILICON),
|
.inputItems(new ComparableStack(ModItems.circuit, 4, EnumCircuitType.SILICON),
|
||||||
@ -54,7 +54,7 @@ public class PrecAssRecipes extends GenericRecipes<GenericRecipe> {
|
|||||||
new OreDictStack(ANY_BISMOID.nugget(), 2),
|
new OreDictStack(ANY_BISMOID.nugget(), 2),
|
||||||
new OreDictStack(GOLD.wireFine(), 4))
|
new OreDictStack(GOLD.wireFine(), 4))
|
||||||
.inputFluids(new FluidStack(Fluids.PERFLUOROMETHYL, 1_000)).setPools(POOL_PREFIX_528 + "chip_bismoid"),
|
.inputFluids(new FluidStack(Fluids.PERFLUOROMETHYL, 1_000)).setPools(POOL_PREFIX_528 + "chip_bismoid"),
|
||||||
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_BISMOID), 50, GeneralConfig.enableExpensiveMode ? 10 : 75);
|
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_BISMOID), 75, GeneralConfig.enableExpensiveMode ? 50 : 75);
|
||||||
|
|
||||||
registerPair(new GenericRecipe("precass.chip_quantum").setup(300, 20_000L)
|
registerPair(new GenericRecipe("precass.chip_quantum").setup(300, 20_000L)
|
||||||
.inputItems(new ComparableStack(ModItems.circuit, 8, EnumCircuitType.SILICON),
|
.inputItems(new ComparableStack(ModItems.circuit, 8, EnumCircuitType.SILICON),
|
||||||
@ -63,14 +63,14 @@ public class PrecAssRecipes extends GenericRecipes<GenericRecipe> {
|
|||||||
new ComparableStack(ModItems.pellet_charged, 4),
|
new ComparableStack(ModItems.pellet_charged, 4),
|
||||||
new OreDictStack(GOLD.wireFine(), 8))
|
new OreDictStack(GOLD.wireFine(), 8))
|
||||||
.inputFluids(new FluidStack(Fluids.HELIUM4, 4_000)).setPools(POOL_PREFIX_528 + "chip_quantum"),
|
.inputFluids(new FluidStack(Fluids.HELIUM4, 4_000)).setPools(POOL_PREFIX_528 + "chip_quantum"),
|
||||||
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_QUANTUM), 50, GeneralConfig.enableExpensiveMode ? 10 : 50);
|
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP_QUANTUM), 75, GeneralConfig.enableExpensiveMode ? 50 : 50);
|
||||||
|
|
||||||
registerPair(new GenericRecipe("precass.atomic_clock").setup(200, 2_000L)
|
registerPair(new GenericRecipe("precass.atomic_clock").setup(200, 2_000L)
|
||||||
.inputItems(new ComparableStack(ModItems.circuit, 8, EnumCircuitType.CHIP),
|
.inputItems(new ComparableStack(ModItems.circuit, 8, EnumCircuitType.CHIP),
|
||||||
new OreDictStack(ANY_PLASTIC.ingot(), 4),
|
new OreDictStack(ANY_PLASTIC.ingot(), 4),
|
||||||
new OreDictStack(ZR.wireFine(), 8),
|
new OreDictStack(ZR.wireFine(), 8),
|
||||||
new OreDictStack(SR.dust(), 1)).setPools(POOL_PREFIX_528 + "strontium"),
|
new OreDictStack(SR.dust(), 1)).setPools(POOL_PREFIX_528 + "strontium"),
|
||||||
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ATOMIC_CLOCK), 50, GeneralConfig.enableExpensiveMode ? 10 : 50);
|
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ATOMIC_CLOCK), 50, GeneralConfig.enableExpensiveMode ? 50 : 50);
|
||||||
|
|
||||||
registerPair(new GenericRecipe("precass.controller").setup(400, 15_000L)
|
registerPair(new GenericRecipe("precass.controller").setup(400, 15_000L)
|
||||||
.inputItems(new ComparableStack(ModItems.circuit, 32, EnumCircuitType.CHIP),
|
.inputItems(new ComparableStack(ModItems.circuit, 32, EnumCircuitType.CHIP),
|
||||||
@ -80,7 +80,7 @@ public class PrecAssRecipes extends GenericRecipes<GenericRecipe> {
|
|||||||
new ComparableStack(ModItems.upgrade_speed_1),
|
new ComparableStack(ModItems.upgrade_speed_1),
|
||||||
new OreDictStack(PB.wireFine(), 16))
|
new OreDictStack(PB.wireFine(), 16))
|
||||||
.inputFluids(new FluidStack(Fluids.PERFLUOROMETHYL, 1_000)),
|
.inputFluids(new FluidStack(Fluids.PERFLUOROMETHYL, 1_000)),
|
||||||
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER), 10, GeneralConfig.enableExpensiveMode ? 50 : 90);
|
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER), 50, GeneralConfig.enableExpensiveMode ? 50 : 90);
|
||||||
|
|
||||||
registerPair(new GenericRecipe("precass.controller_advanced").setup(600, 25_000)
|
registerPair(new GenericRecipe("precass.controller_advanced").setup(600, 25_000)
|
||||||
.inputItems(new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CHIP_BISMOID),
|
.inputItems(new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CHIP_BISMOID),
|
||||||
@ -90,7 +90,7 @@ public class PrecAssRecipes extends GenericRecipes<GenericRecipe> {
|
|||||||
new ComparableStack(ModItems.upgrade_speed_3),
|
new ComparableStack(ModItems.upgrade_speed_3),
|
||||||
new OreDictStack(PB.wireFine(), 24))
|
new OreDictStack(PB.wireFine(), 24))
|
||||||
.inputFluids(new FluidStack(Fluids.PERFLUOROMETHYL, 4_000)),
|
.inputFluids(new FluidStack(Fluids.PERFLUOROMETHYL, 4_000)),
|
||||||
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER_ADVANCED), 10, GeneralConfig.enableExpensiveMode ? 33 : 75);
|
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER_ADVANCED), 35, GeneralConfig.enableExpensiveMode ? 50 : 75);
|
||||||
|
|
||||||
registerPair(new GenericRecipe("precass.controller_quantum").setup(600, 250_000)
|
registerPair(new GenericRecipe("precass.controller_quantum").setup(600, 250_000)
|
||||||
.inputItems(new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CHIP_QUANTUM),
|
.inputItems(new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CHIP_QUANTUM),
|
||||||
@ -100,7 +100,7 @@ public class PrecAssRecipes extends GenericRecipes<GenericRecipe> {
|
|||||||
new ComparableStack(ModItems.upgrade_overdrive_1),
|
new ComparableStack(ModItems.upgrade_overdrive_1),
|
||||||
new OreDictStack(PB.wireFine(), 32))
|
new OreDictStack(PB.wireFine(), 32))
|
||||||
.inputFluids(new FluidStack(Fluids.PERFLUOROMETHYL_COLD, 6_000)),
|
.inputFluids(new FluidStack(Fluids.PERFLUOROMETHYL_COLD, 6_000)),
|
||||||
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER_QUANTUM), 5, GeneralConfig.enableExpensiveMode ? 10 : 50);
|
DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER_QUANTUM), 25, GeneralConfig.enableExpensiveMode ? 50 : 75);
|
||||||
|
|
||||||
addFirstUpgrade(ModItems.upgrade_speed_1, ModItems.upgrade_speed_2, "precass.upgrade_speed_ii");
|
addFirstUpgrade(ModItems.upgrade_speed_1, ModItems.upgrade_speed_2, "precass.upgrade_speed_ii");
|
||||||
addSecondUpgrade(ModItems.upgrade_speed_2, ModItems.upgrade_speed_3, "precass.upgrade_speed_iii");
|
addSecondUpgrade(ModItems.upgrade_speed_2, ModItems.upgrade_speed_3, "precass.upgrade_speed_iii");
|
||||||
@ -119,7 +119,7 @@ public class PrecAssRecipes extends GenericRecipes<GenericRecipe> {
|
|||||||
new OreDictStack(BIGMT.ingot(), 16),
|
new OreDictStack(BIGMT.ingot(), 16),
|
||||||
new OreDictStack(ANY_HARDPLASTIC.ingot(), 16),
|
new OreDictStack(ANY_HARDPLASTIC.ingot(), 16),
|
||||||
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.ADVANCED)),
|
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.ADVANCED)),
|
||||||
new ItemStack(ModItems.upgrade_overdrive_1), 10, GeneralConfig.enableExpensiveMode ? 10 : 50);
|
new ItemStack(ModItems.upgrade_overdrive_1), 50, GeneralConfig.enableExpensiveMode ? 50 : 75);
|
||||||
registerPair(new GenericRecipe("precass.upgrade_overdive_ii").setup(600, 5_000)
|
registerPair(new GenericRecipe("precass.upgrade_overdive_ii").setup(600, 5_000)
|
||||||
.inputItems(new ComparableStack(ModItems.upgrade_overdrive_1, 1),
|
.inputItems(new ComparableStack(ModItems.upgrade_overdrive_1, 1),
|
||||||
new ComparableStack(ModItems.upgrade_speed_3, 1),
|
new ComparableStack(ModItems.upgrade_speed_3, 1),
|
||||||
@ -127,7 +127,7 @@ public class PrecAssRecipes extends GenericRecipes<GenericRecipe> {
|
|||||||
new OreDictStack(BIGMT.ingot(), 16),
|
new OreDictStack(BIGMT.ingot(), 16),
|
||||||
new ComparableStack(ModItems.ingot_cft, 8),
|
new ComparableStack(ModItems.ingot_cft, 8),
|
||||||
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR_BOARD)),
|
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR_BOARD)),
|
||||||
new ItemStack(ModItems.upgrade_overdrive_2), 10, GeneralConfig.enableExpensiveMode ? 10 : 50);
|
new ItemStack(ModItems.upgrade_overdrive_2), 50, GeneralConfig.enableExpensiveMode ? 50 : 75);
|
||||||
registerPair(new GenericRecipe("precass.upgrade_overdive_iii").setup(1_200, 100_000)
|
registerPair(new GenericRecipe("precass.upgrade_overdive_iii").setup(1_200, 100_000)
|
||||||
.inputItems(new ComparableStack(ModItems.upgrade_overdrive_2, 1),
|
.inputItems(new ComparableStack(ModItems.upgrade_overdrive_2, 1),
|
||||||
new ComparableStack(ModItems.upgrade_speed_3, 1),
|
new ComparableStack(ModItems.upgrade_speed_3, 1),
|
||||||
@ -135,7 +135,7 @@ public class PrecAssRecipes extends GenericRecipes<GenericRecipe> {
|
|||||||
new OreDictStack(ANY_BISMOIDBRONZE.ingot(), 16),
|
new OreDictStack(ANY_BISMOIDBRONZE.ingot(), 16),
|
||||||
new ComparableStack(ModItems.ingot_cft, 16),
|
new ComparableStack(ModItems.ingot_cft, 16),
|
||||||
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BISMOID)),
|
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BISMOID)),
|
||||||
new ItemStack(ModItems.upgrade_overdrive_3), 5, GeneralConfig.enableExpensiveMode ? 10 : 50);
|
new ItemStack(ModItems.upgrade_overdrive_3), 25, GeneralConfig.enableExpensiveMode ? 50 : 75);
|
||||||
}
|
}
|
||||||
|
|
||||||
int min = 1_200;
|
int min = 1_200;
|
||||||
@ -165,7 +165,7 @@ public class PrecAssRecipes extends GenericRecipes<GenericRecipe> {
|
|||||||
.inputItems(new ComparableStack(ModItems.circuit, 8, EnumCircuitType.CHIP),
|
.inputItems(new ComparableStack(ModItems.circuit, 8, EnumCircuitType.CHIP),
|
||||||
new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CAPACITOR_TANTALIUM),
|
new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CAPACITOR_TANTALIUM),
|
||||||
new ComparableStack(lower), new OreDictStack(ANY_PLASTIC.ingot(), 4)),
|
new ComparableStack(lower), new OreDictStack(ANY_PLASTIC.ingot(), 4)),
|
||||||
new ItemStack(higher), 15, 25); // upgrades are now actually valuable
|
new ItemStack(higher), 50, 75); // upgrades are now actually valuable
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addSecondUpgrade(Item lower, Item higher, String name) {
|
public void addSecondUpgrade(Item lower, Item higher, String name) {
|
||||||
@ -175,7 +175,7 @@ public class PrecAssRecipes extends GenericRecipes<GenericRecipe> {
|
|||||||
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR_TANTALIUM),
|
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR_TANTALIUM),
|
||||||
new ComparableStack(lower), new OreDictStack(RUBBER.ingot(), 4))
|
new ComparableStack(lower), new OreDictStack(RUBBER.ingot(), 4))
|
||||||
.inputFluids(new FluidStack(Fluids.SOLVENT, 500)),
|
.inputFluids(new FluidStack(Fluids.SOLVENT, 500)),
|
||||||
new ItemStack(higher), 5, 10); // admittedly this one's just me being a dick
|
new ItemStack(higher), 25, 75); // admittedly this one's just me being a dick
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Registers a generic pair of faulty product and recycling of broken items. */
|
/** Registers a generic pair of faulty product and recycling of broken items. */
|
||||||
|
|||||||
@ -168,17 +168,19 @@ public class ItemRBMKRod extends Item {
|
|||||||
setPoison(stack, xenon);
|
setPoison(stack, xenon);
|
||||||
}
|
}
|
||||||
|
|
||||||
double outFlux = reactivityFunc(inFlux, getEnrichment(stack)) * RBMKDials.getReactivityMod(world);
|
double mult = 1D;
|
||||||
double coreHeat = this.getCoreHeat(stack);
|
double coreHeat = this.getCoreHeat(stack);
|
||||||
|
|
||||||
if(this.heatCoeffStart != 0) {
|
if(this.heatCoeffStart != 0) {
|
||||||
if(coreHeat >= this.heatCoeffStart) {
|
if(coreHeat >= this.heatCoeffStart) {
|
||||||
double prog = (coreHeat - this.heatCoeffStart) / this.heatCoeffLength;
|
double prog = (coreHeat - this.heatCoeffStart) / this.heatCoeffLength;
|
||||||
if(prog > 1) prog = 1;
|
if(prog > 1) prog = 1;
|
||||||
double mult = Math.sin((prog * Math.PI + Math.PI) / 2);
|
mult = Math.sin((prog * Math.PI + Math.PI) / 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double outFlux = reactivityFunc(inFlux, getEnrichment(stack) * mult) * RBMKDials.getReactivityMod(world);
|
||||||
|
|
||||||
//if depletion is enabled
|
//if depletion is enabled
|
||||||
if(RBMKDials.getDepletion(world)) {
|
if(RBMKDials.getDepletion(world)) {
|
||||||
double y = getYield(stack);
|
double y = getYield(stack);
|
||||||
|
|||||||
@ -1729,6 +1729,10 @@ public class ClientProxy extends ServerProxy {
|
|||||||
Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleRBMKFlame(man, world, x, y, z, maxAge));
|
Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleRBMKFlame(man, world, x, y, z, maxAge));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if("rbmksteam".equals(type)) {
|
||||||
|
Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleRBMKSteam(man, world, x, y, z));
|
||||||
|
}
|
||||||
|
|
||||||
if("rbmkmush".equals(type)) {
|
if("rbmkmush".equals(type)) {
|
||||||
float scale = data.getFloat("scale");
|
float scale = data.getFloat("scale");
|
||||||
Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleRBMKMush(man, world, x, y, z, scale));
|
Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleRBMKMush(man, world, x, y, z, scale));
|
||||||
|
|||||||
@ -27,6 +27,7 @@ public class ParticleRBMKFlame extends EntityFX {
|
|||||||
this.particleScale = rand.nextFloat() + 1F;
|
this.particleScale = rand.nextFloat() + 1F;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int getFXLayer() {
|
public int getFXLayer() {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
|||||||
101
src/main/java/com/hbm/particle/ParticleRBMKSteam.java
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
package com.hbm.particle;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import com.hbm.lib.RefStrings;
|
||||||
|
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.client.particle.EntityFX;
|
||||||
|
import net.minecraft.client.renderer.RenderHelper;
|
||||||
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
|
import net.minecraft.client.renderer.entity.RenderManager;
|
||||||
|
import net.minecraft.client.renderer.texture.TextureManager;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public class ParticleRBMKSteam extends EntityFX {
|
||||||
|
|
||||||
|
public static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/rbmk_jet_steam.png");
|
||||||
|
private TextureManager theRenderEngine;
|
||||||
|
|
||||||
|
public ParticleRBMKSteam(TextureManager texman, World world, double x, double y, double z) {
|
||||||
|
super(world, x, y, z);
|
||||||
|
this.theRenderEngine = texman;
|
||||||
|
this.particleMaxAge = 30;
|
||||||
|
this.particleAlpha = 0.25F;
|
||||||
|
this.particleScale = 4F;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getFXLayer() {
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void renderParticle(Tessellator tess, float interp, float x, float y, float z, float tx, float tz) {
|
||||||
|
|
||||||
|
this.theRenderEngine.bindTexture(getTexture());
|
||||||
|
boolean fog = GL11.glIsEnabled(GL11.GL_FOG);
|
||||||
|
if(fog) GL11.glDisable(GL11.GL_FOG);
|
||||||
|
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
|
GL11.glEnable(GL11.GL_BLEND);
|
||||||
|
GL11.glAlphaFunc(GL11.GL_GREATER, 0);
|
||||||
|
GL11.glDepthMask(false);
|
||||||
|
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||||
|
RenderHelper.disableStandardItemLighting();
|
||||||
|
|
||||||
|
if(this.particleAge > this.particleMaxAge)
|
||||||
|
this.particleAge = this.particleMaxAge;
|
||||||
|
|
||||||
|
int texIndex = (int) (((double) this.particleAge / (double) this.particleMaxAge) * 20) % 20 - 1;
|
||||||
|
float f0 = 1F / 20F;
|
||||||
|
|
||||||
|
float uMin = texIndex * f0;
|
||||||
|
float uMax = uMin + f0;
|
||||||
|
float vMin = 0;
|
||||||
|
float vMax = 1;
|
||||||
|
|
||||||
|
tess.startDrawingQuads();
|
||||||
|
|
||||||
|
tess.setNormal(0.0F, 1.0F, 0.0F);
|
||||||
|
tess.setBrightness(240);
|
||||||
|
|
||||||
|
tess.setColorRGBA_F(1.0F, 1.0F, 1.0F, this.particleAlpha);
|
||||||
|
|
||||||
|
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
|
||||||
|
double dX = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double)interp;
|
||||||
|
double dY = player.lastTickPosY + (player.posY - player.lastTickPosY) * (double)interp;
|
||||||
|
double dZ = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * (double)interp;
|
||||||
|
|
||||||
|
float pX = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) interp - dX);
|
||||||
|
float pY = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) interp - dY);
|
||||||
|
float pZ = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) interp - dZ);
|
||||||
|
|
||||||
|
GL11.glTranslatef(pX + x, pY + y, pZ + z);
|
||||||
|
GL11.glRotatef(-RenderManager.instance.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||||
|
|
||||||
|
tess.addVertexWithUV(this.particleScale * -0.25 - 1, -0.25, 0, uMax, vMax);
|
||||||
|
tess.addVertexWithUV(this.particleScale * -0.25 - 1, this.particleScale - 0.25, 0, uMax, vMin);
|
||||||
|
tess.addVertexWithUV(this.particleScale * 0.25 - 1, this.particleScale - 0.25, 0, uMin, vMin);
|
||||||
|
tess.addVertexWithUV(this.particleScale * 0.25 - 1, -0.25, 0, uMin, vMax);
|
||||||
|
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
GL11.glPolygonOffset(0.0F, 0.0F);
|
||||||
|
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
|
||||||
|
GL11.glEnable(GL11.GL_LIGHTING);
|
||||||
|
GL11.glDisable(GL11.GL_BLEND);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
if(fog) GL11.glEnable(GL11.GL_FOG);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected ResourceLocation getTexture() {
|
||||||
|
return texture;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -15,9 +15,10 @@ public class RenderRBMKDebris extends Render {
|
|||||||
|
|
||||||
//for fallback only
|
//for fallback only
|
||||||
private static final ResourceLocation tex_base = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_side.png");
|
private static final ResourceLocation tex_base = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_side.png");
|
||||||
private static final ResourceLocation tex_element = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_element.png");
|
private static final ResourceLocation tex_element = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_fuel.png");
|
||||||
private static final ResourceLocation tex_control = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control.png");
|
private static final ResourceLocation tex_control = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control.png");
|
||||||
private static final ResourceLocation tex_blank = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_blank.png");
|
private static final ResourceLocation tex_blank = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_blank_side.png");
|
||||||
|
private static final ResourceLocation tex_lid = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_blank_cover_top.png");
|
||||||
private static final ResourceLocation tex_graphite = new ResourceLocation(RefStrings.MODID + ":textures/blocks/block_graphite.png");
|
private static final ResourceLocation tex_graphite = new ResourceLocation(RefStrings.MODID + ":textures/blocks/block_graphite.png");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -35,10 +36,10 @@ public class RenderRBMKDebris extends Render {
|
|||||||
|
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case BLANK: bindTexture(tex_blank); ResourceManager.deb_blank.renderAll(); break;
|
case BLANK: bindTexture(tex_blank); ResourceManager.deb_blank.renderAll(); break;
|
||||||
case ELEMENT: bindTexture(tex_element); ResourceManager.deb_element.renderAll(); break;
|
case ELEMENT: bindTexture(tex_base); ResourceManager.deb_element.renderAll(); break;
|
||||||
case FUEL: bindTexture(tex_element); ResourceManager.deb_fuel.renderAll(); break;
|
case FUEL: bindTexture(tex_element); ResourceManager.deb_fuel.renderAll(); break;
|
||||||
case GRAPHITE: bindTexture(tex_graphite); ResourceManager.deb_graphite.renderAll(); break;
|
case GRAPHITE: bindTexture(tex_graphite); ResourceManager.deb_graphite.renderAll(); break;
|
||||||
case LID: bindTexture(tex_blank); ResourceManager.deb_lid.renderAll(); break;
|
case LID: bindTexture(tex_lid); ResourceManager.deb_lid.renderAll(); break;
|
||||||
case ROD: bindTexture(tex_control); ResourceManager.deb_rod.renderAll(); break;
|
case ROD: bindTexture(tex_control); ResourceManager.deb_rod.renderAll(); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import api.hbm.tile.IInfoProviderEC;
|
|||||||
import com.hbm.blocks.ModBlocks;
|
import com.hbm.blocks.ModBlocks;
|
||||||
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
|
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
|
||||||
import com.hbm.handler.CompatHandler;
|
import com.hbm.handler.CompatHandler;
|
||||||
|
import com.hbm.handler.threading.PacketThreading;
|
||||||
import com.hbm.interfaces.IControlReceiver;
|
import com.hbm.interfaces.IControlReceiver;
|
||||||
import com.hbm.inventory.container.ContainerRBMKGeneric;
|
import com.hbm.inventory.container.ContainerRBMKGeneric;
|
||||||
import com.hbm.inventory.fluid.FluidType;
|
import com.hbm.inventory.fluid.FluidType;
|
||||||
@ -14,11 +15,14 @@ import com.hbm.inventory.fluid.Fluids;
|
|||||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||||
import com.hbm.inventory.gui.GUIRBMKBoiler;
|
import com.hbm.inventory.gui.GUIRBMKBoiler;
|
||||||
import com.hbm.lib.Library;
|
import com.hbm.lib.Library;
|
||||||
|
import com.hbm.main.MainRegistry;
|
||||||
|
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||||
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
|
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
|
||||||
import com.hbm.uninos.UniNodespace;
|
import com.hbm.uninos.UniNodespace;
|
||||||
import com.hbm.util.CompatEnergyControl;
|
import com.hbm.util.CompatEnergyControl;
|
||||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||||
import cpw.mods.fml.common.Optional;
|
import cpw.mods.fml.common.Optional;
|
||||||
|
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
@ -39,6 +43,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
|
|||||||
public FluidTank steam;
|
public FluidTank steam;
|
||||||
protected int consumption;
|
protected int consumption;
|
||||||
protected int output;
|
protected int output;
|
||||||
|
protected int ventDelay;
|
||||||
|
|
||||||
public TileEntityRBMKBoiler() {
|
public TileEntityRBMKBoiler() {
|
||||||
super(0);
|
super(0);
|
||||||
@ -59,6 +64,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
|
|||||||
|
|
||||||
this.consumption = 0;
|
this.consumption = 0;
|
||||||
this.output = 0;
|
this.output = 0;
|
||||||
|
if(this.ventDelay > 0) this.ventDelay--;
|
||||||
|
|
||||||
double heatCap = this.getHeatFromSteam(steam.getTankType());
|
double heatCap = this.getHeatFromSteam(steam.getTankType());
|
||||||
double heatProvided = this.heat - heatCap;
|
double heatProvided = this.heat - heatCap;
|
||||||
@ -89,9 +95,18 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
|
|||||||
feed.setFill(feed.getFill() - waterUsed);
|
feed.setFill(feed.getFill() - waterUsed);
|
||||||
steam.setFill(steam.getFill() + steamProduced);
|
steam.setFill(steam.getFill() + steamProduced);
|
||||||
|
|
||||||
if(steam.getFill() > steam.getMaxFill())
|
if(steam.getFill() > steam.getMaxFill()) {
|
||||||
steam.setFill(steam.getMaxFill());
|
steam.setFill(steam.getMaxFill());
|
||||||
|
|
||||||
|
if(ventDelay <= 0) {
|
||||||
|
NBTTagCompound data = new NBTTagCompound();
|
||||||
|
data.setString("type", "rbmksteam");
|
||||||
|
PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, xCoord + 0.25 + worldObj.rand.nextInt(2) * 0.5, yCoord + RBMKDials.getColumnHeight(worldObj), zCoord + 0.25 + worldObj.rand.nextInt(2) * 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord + 1, zCoord + 0.5, 100));
|
||||||
|
MainRegistry.proxy.effectNT(data);
|
||||||
|
this.ventDelay = 20;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.heat -= waterUsed * HEAT_PER_MB_WATER;
|
this.heat -= waterUsed * HEAT_PER_MB_WATER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,6 @@
|
|||||||
"zh_CN": "RBMK冷却器"
|
"zh_CN": "RBMK冷却器"
|
||||||
},
|
},
|
||||||
"content": {
|
"content": {
|
||||||
"en_US": "The cooler is an optional component that can be used to cool an [[RBMK]], however unlike the [[steam channel|RBMK Steam Channel]], the cooler does not allow the heat to be extracted and used. The RBMK cooler simply \"eats\" cryogel to remove heat. Coolers are rarely useful for power producing reactors, however they are sometimes found in high-heat breeding reactor setups or as backup cooling.",
|
"en_US": "The cooler is an optional component that can be used to cool an [[RBMK]], however unlike the [[steam channel|RBMK Steam Channel]], the cooler does not allow the heat to be extracted and used. The RBMK cooler uses up cold perfluoromethyl and outputs regular PFM at a constant rate of 50mB/t, and rapidly cools down all RBMK components in a 5x5 area."
|
||||||
"zh_CN": "冷却器是用于冷却[[RBMK]]的可选部件,但其与[[蒸汽管道|RBMK Steam Channel]] 不同,冷却器并不能将热量提取出来并用在其他地方。RBMK冷却器只会 “吞掉”冷凝胶,并将其用于移除热量。在发电用的反应堆中冷却器通常派不 上用场,但其有时会用于高热量的增殖用反应堆,或是用作备用冷却系统。"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,100 +1,54 @@
|
|||||||
# Blender v2.79 (sub 0) OBJ File: 'deb_lid.blend'
|
# Blender v2.79 (sub 0) OBJ File: 'deb_lid.blend'
|
||||||
# www.blender.org
|
# www.blender.org
|
||||||
o Lid
|
o Lid
|
||||||
v -0.500000 0.000000 0.500000
|
v -0.500000 -0.125000 0.500000
|
||||||
v -0.500000 0.125000 0.500000
|
v -0.500000 0.125000 0.500000
|
||||||
v -0.500000 0.000000 -0.500000
|
v -0.500000 -0.125000 -0.500000
|
||||||
v -0.500000 0.125000 -0.500000
|
v -0.500000 0.125000 -0.500000
|
||||||
v 0.500000 0.000000 0.500000
|
v 0.500000 -0.125000 0.500000
|
||||||
v 0.500000 0.125000 0.500000
|
v 0.500000 0.125000 0.500000
|
||||||
v 0.500000 0.000000 -0.500000
|
v 0.500000 -0.125000 -0.500000
|
||||||
v 0.500000 0.125000 -0.500000
|
v 0.500000 0.125000 -0.500000
|
||||||
v -0.375000 0.000000 -0.375000
|
vt 1.000000 0.625000
|
||||||
v -0.375000 0.000000 0.375000
|
vt 0.000000 0.375000
|
||||||
v 0.375000 0.000000 -0.375000
|
vt 1.000000 0.375000
|
||||||
v 0.375000 0.000000 0.375000
|
vt 1.000000 0.625000
|
||||||
v -0.375000 -0.125000 -0.375000
|
vt 0.000000 0.375000
|
||||||
v -0.375000 -0.125000 0.375000
|
vt 1.000000 0.375000
|
||||||
v 0.375000 -0.125000 -0.375000
|
vt 1.000000 0.625000
|
||||||
v 0.375000 -0.125000 0.375000
|
vt 0.000000 0.375000
|
||||||
vt 0.500000 1.000000
|
vt 1.000000 0.375000
|
||||||
vt 0.562500 0.500000
|
vt 1.000000 0.625000
|
||||||
vt 0.562500 1.000000
|
vt 0.000000 0.375000
|
||||||
vt 0.500000 1.000000
|
vt 1.000000 0.375000
|
||||||
vt 0.562500 0.500000
|
|
||||||
vt 0.562500 1.000000
|
|
||||||
vt 0.500000 1.000000
|
|
||||||
vt 0.562500 0.500000
|
|
||||||
vt 0.562500 1.000000
|
|
||||||
vt 0.500000 1.000000
|
|
||||||
vt 0.562500 0.500000
|
|
||||||
vt 0.562500 1.000000
|
|
||||||
vt 0.000000 1.000000
|
|
||||||
vt 0.437500 0.937500
|
|
||||||
vt 0.500000 1.000000
|
|
||||||
vt 0.000100 0.999900
|
vt 0.000100 0.999900
|
||||||
vt 0.500000 0.500000
|
vt 0.999900 0.000100
|
||||||
vt 0.500000 0.500000
|
vt 0.999900 0.999900
|
||||||
vt 0.562500 1.000000
|
vt 0.999900 0.000100
|
||||||
vt 0.500000 1.000000
|
vt 0.000100 0.999900
|
||||||
vt 0.437500 0.562500
|
vt 0.000100 0.000100
|
||||||
vt 0.500000 0.500000
|
vt 0.000000 0.625000
|
||||||
vt 0.000000 0.500000
|
vt 0.000000 0.625000
|
||||||
vt 0.062500 0.937500
|
vt 0.000000 0.625000
|
||||||
vt 0.062500 0.562500
|
vt 0.000000 0.625000
|
||||||
vt 0.437500 0.562500
|
vt 0.000100 0.000100
|
||||||
vt 0.062500 0.937500
|
vt 0.999900 0.999900
|
||||||
vt 0.062500 0.562500
|
|
||||||
vt 0.500000 0.500000
|
|
||||||
vt 0.562500 1.000000
|
|
||||||
vt 0.500000 1.000000
|
|
||||||
vt 0.500000 0.500000
|
|
||||||
vt 0.562500 1.000000
|
|
||||||
vt 0.500000 1.000000
|
|
||||||
vt 0.500000 0.500000
|
|
||||||
vt 0.562500 1.000000
|
|
||||||
vt 0.500000 1.000000
|
|
||||||
vt 0.500000 0.500000
|
|
||||||
vt 0.500000 0.500000
|
|
||||||
vt 0.500000 0.500000
|
|
||||||
vt 0.000000 0.500000
|
|
||||||
vt 0.562500 0.500000
|
|
||||||
vt 0.437500 0.937500
|
|
||||||
vt 0.562500 0.500000
|
|
||||||
vt 0.562500 0.500000
|
|
||||||
vt 0.562500 0.500000
|
|
||||||
vn -1.0000 0.0000 0.0000
|
vn -1.0000 0.0000 0.0000
|
||||||
vn 0.0000 0.0000 -1.0000
|
vn 0.0000 0.0000 -1.0000
|
||||||
vn 1.0000 0.0000 0.0000
|
vn 1.0000 0.0000 0.0000
|
||||||
vn 0.0000 0.0000 1.0000
|
vn 0.0000 0.0000 1.0000
|
||||||
vn 0.0000 -1.0000 0.0000
|
|
||||||
vn 0.0000 1.0000 0.0000
|
vn 0.0000 1.0000 0.0000
|
||||||
|
vn 0.0000 -1.0000 0.0000
|
||||||
s off
|
s off
|
||||||
f 2/1/1 3/2/1 1/3/1
|
f 2/1/1 3/2/1 1/3/1
|
||||||
f 4/4/2 7/5/2 3/6/2
|
f 4/4/2 7/5/2 3/6/2
|
||||||
f 8/7/3 5/8/3 7/9/3
|
f 8/7/3 5/8/3 7/9/3
|
||||||
f 6/10/4 1/11/4 5/12/4
|
f 6/10/4 1/11/4 5/12/4
|
||||||
f 7/13/5 9/14/5 3/15/5
|
f 4/13/5 6/14/5 8/15/5
|
||||||
f 4/16/6 6/17/6 8/7/6
|
f 7/16/6 1/17/6 3/18/6
|
||||||
f 10/18/4 16/19/4 12/20/4
|
f 2/1/1 4/19/1 3/2/1
|
||||||
f 3/15/5 10/21/5 1/22/5
|
f 4/4/2 8/20/2 7/5/2
|
||||||
f 5/23/5 11/24/5 7/13/5
|
f 8/7/3 6/21/3 5/8/3
|
||||||
f 1/22/5 12/25/5 5/23/5
|
f 6/10/4 2/22/4 1/11/4
|
||||||
f 15/26/5 14/27/5 13/28/5
|
f 4/13/5 2/23/5 6/14/5
|
||||||
f 11/29/2 13/30/2 9/31/2
|
f 7/16/6 5/24/6 1/17/6
|
||||||
f 12/32/3 15/33/3 11/34/3
|
|
||||||
f 9/35/1 14/36/1 10/37/1
|
|
||||||
f 2/1/1 4/38/1 3/2/1
|
|
||||||
f 4/4/2 8/39/2 7/5/2
|
|
||||||
f 8/7/3 6/17/3 5/8/3
|
|
||||||
f 6/10/4 2/40/4 1/11/4
|
|
||||||
f 7/13/5 11/24/5 9/14/5
|
|
||||||
f 4/16/6 2/41/6 6/17/6
|
|
||||||
f 10/18/4 14/42/4 16/19/4
|
|
||||||
f 3/15/5 9/14/5 10/21/5
|
|
||||||
f 5/23/5 12/25/5 11/24/5
|
|
||||||
f 1/22/5 10/21/5 12/25/5
|
|
||||||
f 15/26/5 16/43/5 14/27/5
|
|
||||||
f 11/29/2 15/44/2 13/30/2
|
|
||||||
f 12/32/3 16/45/3 15/33/3
|
|
||||||
f 9/35/1 13/46/1 14/36/1
|
|
||||||
|
|||||||
BIN
src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_fuel.png
Normal file
|
After Width: | Height: | Size: 250 B |
|
Before Width: | Height: | Size: 410 B After Width: | Height: | Size: 486 B |
|
Before Width: | Height: | Size: 285 B After Width: | Height: | Size: 328 B |
|
Before Width: | Height: | Size: 467 B After Width: | Height: | Size: 425 B |
|
Before Width: | Height: | Size: 397 B After Width: | Height: | Size: 417 B |
|
Before Width: | Height: | Size: 579 B After Width: | Height: | Size: 610 B |
|
Before Width: | Height: | Size: 649 B After Width: | Height: | Size: 577 B |
|
Before Width: | Height: | Size: 628 B After Width: | Height: | Size: 568 B |