Merge branch 'dev'

dev
Arona Jones 2015-09-10 12:05:40 +01:00
commit c84a1d73a8
73 changed files with 1381 additions and 409 deletions

View File

@ -32,6 +32,10 @@ repositories {
name "RX14"
url "http://mvn.rx14.co.uk/repo/"
}
maven {
name "Tterrag"
url "http://maven.tterrag.com"
}
}
apply plugin: 'forge'
@ -55,7 +59,9 @@ dependencies {
compile 'com.mod-buildcraft:buildcraft:6.4.16:dev'
compile 'net.industrial-craft:industrialcraft-2:2.2.727-experimental:api'
compile 'Azanor:Thaumcraft:4.2.3.5:deobf@jar'
compile name: "Botania" , group: "vazkii.botania", version: "r1.6-190.6", classifier: "deobf"
compile 'team.chisel:Chisel:2.9.0.3:deobf'
compile 'team.chisel.ctmlib:CTMLib:MC1.7.10-1.3.0.2:deobf'
compile name: "Botania", group: "vazkii.botania", version: "r1.6-190.6", classifier: "deobf"
compile files("libs/Railcraft_1.7.10-9.7.0.0-dev.jar")
}

View File

@ -0,0 +1,25 @@
package steamcraft.api;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
public class RecipeAPI
{
public static HashMap<Fluid, Integer> addedFuels = new HashMap();
public static Map<ItemStack[], ItemStack> addedRecipeList = new HashMap<ItemStack[], ItemStack>();
public void addLiquidBoilerFuel(Fluid fluid, int value)
{
if (fluid != null)
addedFuels.put(fluid, value);
}
public void addBloomeryRecipe(ItemStack input, ItemStack input2, ItemStack result)
{
addedRecipeList.put(new ItemStack[] { input, input2 }, result);
}
}

View File

@ -15,7 +15,6 @@ package steamcraft.api.item;
/**
* The Interface IFistModule.
*/
@Deprecated
public interface IFistModule extends IModule
{
// The type of effect (see below)
@ -24,15 +23,14 @@ public interface IFistModule extends IModule
*
* @return the module effect type
*/
public EnumModuleEffectType getModuleEffectType();
EnumModuleEffectType getModuleEffectType();
//
/**
* The Enum EnumModuleEffectType.
*/
public static enum EnumModuleEffectType
enum EnumModuleEffectType
{
/** The rightclick. */
RIGHTCLICK, /** The attack. */
ATTACK

View File

@ -0,0 +1,70 @@
/**
* This class was created by BrassGoggledCoders modding team.
* This class is available as part of the Steamcraft 2 Mod for Minecraft.
*
* Steamcraft 2 is open-source and is distributed under the MMPL v1.0 License.
* (http://www.mod-buildcraft.com/MMPL-1.0.txt)
*
* Steamcraft 2 is based on the original Steamcraft Mod created by Proloe.
* Steamcraft (c) Proloe 2011
* (http://www.minecraftforum.net/topic/251532-181-steamcraft-source-code-releasedmlv054wip/)
*
*/
package steamcraft.api.item;
import java.util.ArrayList;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
/**
* Created by Skylar on 8/31/2015.
*/
public interface IModuleContainer
{
boolean isModuleAllowed(IModule iModule, ItemStack itemStack);
final class Helper
{
public static ArrayList<IModule> getAllModulesEquipped(ItemStack itemStack)
{
NBTTagCompound nbtTagCompound = getOrCreateTagCompound(itemStack);
ArrayList<IModule> moduleList = new ArrayList<IModule>();
for (int i = 0; i < nbtTagCompound.getInteger("moduleCount"); i++)
{
IModule module = ModuleRegistry.getModule(nbtTagCompound.getString("module" + i));
if (module != null)
{
moduleList.add(module);
}
}
return moduleList;
}
public static void setModulesEquipped(ArrayList<IModule> iModules, ItemStack itemStack)
{
NBTTagCompound nbtTagCompound = getOrCreateTagCompound(itemStack);
nbtTagCompound.setInteger("moduleCount", iModules.size());
for (int i = 0; i < iModules.size(); i++)
{
nbtTagCompound.setString("module" + i, iModules.get(i).getModuleId());
}
}
private static NBTTagCompound getOrCreateTagCompound(ItemStack is)
{
if (!is.hasTagCompound())
{
is.setTagCompound(new NBTTagCompound());
is.getTagCompound().setInteger("moduleCount", 0);
}
return is.getTagCompound();
}
}
}

View File

@ -1,96 +0,0 @@
/**
* This class was created by BrassGoggledCoders modding team.
* This class is available as part of the BoilerCraft Mod for Minecraft.
*
* BoilerCraft is open-source and is distributed under the MMPL v1.0 License.
* (http://www.mod-buildcraft.com/MMPL-1.0.txt)
*
*/
package steamcraft.api.item;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityMinecart;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.Optional;
import boilerplate.common.baseclasses.items.RootItem;
/**
* @author decebaldecebal
*
*/
public abstract class UniversalWrench extends RootItem implements IUniversalWrench
{
@Override
@Optional.Method(modid = "BuildCraft|Core")
public boolean canWrench(EntityPlayer player, int x, int y, int z)
{
return true;
}
@Override
@Optional.Method(modid = "BuildCraft|Core")
public void wrenchUsed(EntityPlayer player, int x, int y, int z)
{
}
@Override
public boolean isUsable(ItemStack item, EntityLivingBase user, int x, int y, int z)
{
return true;
}
@Override
public void toolUsed(ItemStack item, EntityLivingBase user, int x, int y, int z)
{
}
@Override
@Optional.Method(modid = "Railcraft")
public boolean canWhack(EntityPlayer player, ItemStack crowbar, int x, int y, int z)
{
return true;
}
@Override
@Optional.Method(modid = "Railcraft")
public void onWhack(EntityPlayer player, ItemStack crowbar, int x, int y, int z)
{
crowbar.damageItem(2, player);
player.swingItem();
}
@Override
@Optional.Method(modid = "Railcraft")
public boolean canLink(EntityPlayer player, ItemStack crowbar, EntityMinecart cart)
{
return player.isSneaking();
}
@Override
@Optional.Method(modid = "Railcraft")
public void onLink(EntityPlayer player, ItemStack crowbar, EntityMinecart cart)
{
crowbar.damageItem(2, player);
player.swingItem();
}
@Override
@Optional.Method(modid = "Railcraft")
public boolean canBoost(EntityPlayer player, ItemStack crowbar, EntityMinecart cart)
{
return !this.canLink(player, crowbar, cart);
}
@Override
@Optional.Method(modid = "Railcraft")
public void onBoost(EntityPlayer player, ItemStack crowbar, EntityMinecart cart)
{
crowbar.damageItem(2, player);
player.swingItem();
}
}

View File

@ -0,0 +1,59 @@
package steamcraft.client.gui;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.inventory.Container;
import boilerplate.client.BaseContainerGui;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
/**
* Created by Skylar on 8/29/2015.
*/
public abstract class BaseEntityRenderGUI extends BaseContainerGui
{
public BaseEntityRenderGUI(Container container)
{
super(container);
}
public static void renderEntity(int startX, int startY, int scale, float offsetX, float offsetY, EntityLivingBase entityLiving)
{
GL11.glEnable(GL11.GL_COLOR_MATERIAL);
GL11.glPushMatrix();
GL11.glTranslatef(startX, startY, 50.0F);
GL11.glScalef((-scale), scale, scale);
GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
float f2 = entityLiving.renderYawOffset;
float f3 = entityLiving.rotationYaw;
float f4 = entityLiving.rotationPitch;
float f5 = entityLiving.prevRotationYawHead;
float f6 = entityLiving.rotationYawHead;
GL11.glRotatef(135.0F, 0.0F, 1.0F, 0.0F);
RenderHelper.enableStandardItemLighting();
GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-((float) Math.atan(offsetY / 40.0F)) * 20.0F, 1.0F, 0.0F, 0.0F);
entityLiving.renderYawOffset = (float) Math.atan(offsetX / 40.0F) * 20.0F;
entityLiving.rotationYaw = (float) Math.atan(offsetX / 40.0F) * 40.0F;
entityLiving.rotationPitch = -((float) Math.atan(offsetY / 40.0F)) * 20.0F;
entityLiving.rotationYawHead = entityLiving.rotationYaw;
entityLiving.prevRotationYawHead = entityLiving.rotationYaw;
GL11.glTranslatef(0.0F, entityLiving.yOffset, 0.0F);
RenderManager.instance.playerViewY = 180.0F;
RenderManager.instance.renderEntityWithPosYaw(entityLiving, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);
entityLiving.renderYawOffset = f2;
entityLiving.rotationYaw = f3;
entityLiving.rotationPitch = f4;
entityLiving.prevRotationYawHead = f5;
entityLiving.rotationYawHead = f6;
GL11.glPopMatrix();
RenderHelper.disableStandardItemLighting();
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);
GL11.glDisable(GL11.GL_TEXTURE_2D);
OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);
}
}

View File

@ -15,7 +15,6 @@ package steamcraft.client.gui;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import boilerplate.client.BaseContainerGui;
import org.lwjgl.opengl.GL11;
import steamcraft.common.lib.ModInfo;
import steamcraft.common.tiles.TileArmorEditor;
@ -25,9 +24,11 @@ import steamcraft.common.tiles.container.ContainerArmorEditor;
* @author warlordjones
*
*/
public class GuiArmorEditor extends BaseContainerGui
public class GuiArmorEditor extends BaseEntityRenderGUI
{
private static ResourceLocation guitexture = new ResourceLocation(ModInfo.PREFIX + "textures/gui/armoreditor.png");
private float xSizeFloat;
private float ySizeFloat;
public GuiArmorEditor(InventoryPlayer player, TileArmorEditor tile)
{
@ -35,6 +36,14 @@ public class GuiArmorEditor extends BaseContainerGui
this.tile = tile;
}
@Override
public void drawScreen(int p_73863_1_, int p_73863_2_, float p_73863_3_)
{
super.drawScreen(p_73863_1_, p_73863_2_, p_73863_3_);
this.xSizeFloat = p_73863_1_;
this.ySizeFloat = p_73863_2_;
}
@Override
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
{
@ -44,11 +53,6 @@ public class GuiArmorEditor extends BaseContainerGui
int x = (this.width - this.xSize) / 2;
int y = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);
}
@Override
protected void mouseMovedOrUp(int mouseX, int mouseY, int which)
{
super.mouseMovedOrUp(mouseX, mouseY, which);
renderEntity(x + 33, y + 75, 30, x + 33 - this.xSizeFloat, (y + 75) - 50 - this.ySizeFloat, this.mc.thePlayer);
}
}

View File

@ -0,0 +1,60 @@
/**
* This class was created by BrassGoggledCoders modding team.
* This class is available as part of the Steamcraft 2 Mod for Minecraft.
*
* Steamcraft 2 is open-source and is distributed under the MMPL v1.0 License.
* (http://www.mod-buildcraft.com/MMPL-1.0.txt)
*
* Steamcraft 2 is based on the original Steamcraft Mod created by Proloe.
* Steamcraft (c) Proloe 2011
* (http://www.minecraftforum.net/topic/251532-181-steamcraft-source-code-releasedmlv054wip/)
*
*/
package steamcraft.client.gui;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import boilerplate.client.BaseContainerGui;
import org.lwjgl.opengl.GL11;
import steamcraft.common.lib.ModInfo;
import steamcraft.common.tiles.TileInjector;
import steamcraft.common.tiles.container.ContainerInjector;
/**
* @author decebaldecebal
*
*/
public class GuiInjector extends BaseContainerGui
{
private static ResourceLocation guitexture = new ResourceLocation(ModInfo.PREFIX + "textures/gui/injector.png");
private TileInjector tile;
public GuiInjector(InventoryPlayer player, TileInjector tile)
{
super(new ContainerInjector(player, tile));
this.tile = tile;
}
@Override
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.renderEngine.bindTexture(guitexture);
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
this.mc.renderEngine.bindTexture(guitexture);
this.drawTexturedModalRect(this.guiLeft + 8, this.guiTop + 15, 176, 14, 20, 49);
this.drawTexturedModalRect(this.guiLeft + 40, this.guiTop + 15, 176, 14, 20, 49);
this.drawTexturedModalRect(this.guiLeft + 74, this.guiTop + 15, 176, 14, 20, 49);
}
@Override
protected void drawGuiContainerForegroundLayer(int x, int y)
{
}
}

View File

@ -15,8 +15,9 @@ package steamcraft.client.gui;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import cpw.mods.fml.common.FMLLog;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import boilerplate.client.BaseContainerGui;
import org.lwjgl.opengl.GL11;
@ -55,13 +56,14 @@ public class GuiLiquidBoiler extends BaseContainerGui
this.drawTexturedModalRect(this.guiLeft + 43, (this.guiTop + 48) - burnTime, 176, 12 - burnTime, 14, burnTime + 2);
}
this.drawFluid(new FluidStack(FluidRegistry.getFluid("water"), 0), this.boiler.getScaledWaterLevel(60), this.guiLeft + 8, this.guiTop + 8, 20,
60);
this.drawFluid(FluidRegistry.getFluid("water"), this.boiler.getScaledWaterLevel(60), this.guiLeft + 8, this.guiTop + 8, 20, 60);
if (this.boiler.fuelTank.getFluid() != null)
this.drawFluid(new FluidStack(this.boiler.fuelTank.getFluid().getFluid(), 0), this.boiler.getScaledFuelLevel(60), this.guiLeft + 20,
this.guiTop + 8, 20, 60);
this.drawFluid(new FluidStack(FluidRegistry.getFluid("steam"), 0), this.boiler.getScaledSteamLevel(60), this.guiLeft + 74, this.guiTop + 8,
32, 60);
{
this.drawFluid(this.boiler.fuelTank.getFluid().getFluid(), this.boiler.getScaledFuelLevel(60), this.guiLeft + 20, this.guiTop + 8, 20,
60);
FMLLog.info("" + this.boiler.getScaledFuelLevel(60), "" + this.boiler.getScaledFuelLevel(60));
}
this.drawFluid(FluidRegistry.getFluid("steam"), this.boiler.getScaledSteamLevel(60), this.guiLeft + 74, this.guiTop + 8, 32, 60);
this.mc.renderEngine.bindTexture(guitexture);
this.drawTexturedModalRect(this.guiLeft + 8, this.guiTop + 15, 176, 14, 20, 49);

View File

@ -16,7 +16,6 @@ import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import boilerplate.client.BaseContainerGui;
import org.lwjgl.opengl.GL11;
@ -55,10 +54,8 @@ public class GuiNuclearBoiler extends BaseContainerGui
this.drawTexturedModalRect(this.guiLeft + 43, (this.guiTop + 48) - burnTime, 176, 12 - burnTime, 14, burnTime + 2);
}
this.drawFluid(new FluidStack(FluidRegistry.getFluid("water"), 0), this.boiler.getScaledWaterLevel(60), this.guiLeft + 8, this.guiTop + 18,
20, 60);
this.drawFluid(new FluidStack(FluidRegistry.getFluid("steam"), 0), this.boiler.getScaledSteamLevel(60), this.guiLeft + 74, this.guiTop + 18,
32, 60);
this.drawFluid(FluidRegistry.getFluid("water"), this.boiler.getScaledWaterLevel(60), this.guiLeft + 8, this.guiTop + 18, 20, 60);
this.drawFluid(FluidRegistry.getFluid("steam"), this.boiler.getScaledSteamLevel(60), this.guiLeft + 74, this.guiTop + 18, 32, 60);
this.mc.renderEngine.bindTexture(guitexture);
this.drawTexturedModalRect(this.guiLeft + 8, this.guiTop + 24, 176, 14, 20, 49);

View File

@ -18,7 +18,6 @@ import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTank;
import boilerplate.client.BaseContainerGui;
@ -64,8 +63,7 @@ public class GuiRefinery extends BaseContainerGui
this.drawTexturedModalRect(this.guiLeft + 43, (this.guiTop + 48), 176, 50, cookTime + 1, 16);
}
this.drawFluid(new FluidStack(FluidRegistry.getFluid("whaleoil"), 0), this.refinery.getScaledWhaleOilLevel(60), this.guiLeft + 74,
this.guiTop + 18, 32, 60);
this.drawFluid(FluidRegistry.getFluid("whaleoil"), this.refinery.getScaledWhaleOilLevel(60), this.guiLeft + 74, this.guiTop + 18, 32, 60);
this.mc.renderEngine.bindTexture(guitexture);
this.drawTexturedModalRect(this.guiLeft + 74, this.guiTop + 24, 176, 14, 20, 49);

View File

@ -16,7 +16,6 @@ import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import boilerplate.client.BaseContainerGui;
import org.lwjgl.opengl.GL11;
@ -55,10 +54,8 @@ public class GuiSteamBoiler extends BaseContainerGui
this.drawTexturedModalRect(this.guiLeft + 43, (this.guiTop + 48) - burnTime, 176, 12 - burnTime, 14, burnTime + 2);
}
this.drawFluid(new FluidStack(FluidRegistry.getFluid("water"), 0), this.boiler.getScaledWaterLevel(60), this.guiLeft + 8, this.guiTop + 18,
20, 60);
this.drawFluid(new FluidStack(FluidRegistry.getFluid("steam"), 0), this.boiler.getScaledSteamLevel(60), this.guiLeft + 74, this.guiTop + 18,
32, 60);
this.drawFluid(FluidRegistry.getFluid("water"), this.boiler.getScaledWaterLevel(60), this.guiLeft + 8, this.guiTop + 18, 20, 60);
this.drawFluid(FluidRegistry.getFluid("steam"), this.boiler.getScaledSteamLevel(60), this.guiLeft + 74, this.guiTop + 18, 32, 60);
this.mc.renderEngine.bindTexture(guitexture);
this.drawTexturedModalRect(this.guiLeft + 8, this.guiTop + 24, 176, 14, 20, 49);

View File

@ -32,4 +32,5 @@ public class GuiIDs
public static final int REFINERY = 11;
public static final int CAPACITOR = 12;
public static final int LIQUID_BOILER = 13;
public static final int INJECTOR = 14;
}

View File

@ -22,25 +22,25 @@ import net.minecraft.entity.Entity;
*/
public class ModelLightningRod extends ModelBase
{
public final ModelRenderer shape1;
public final ModelRenderer shape2;
public final ModelRenderer shape3;
public final ModelRenderer shape4;
public final ModelRenderer shape5;
public final ModelRenderer shape6;
public final ModelRenderer shape7;
public final ModelRenderer shape8;
public final ModelRenderer shape9;
public final ModelRenderer shape10;
public final ModelRenderer shape11;
public final ModelRenderer shape12;
public final ModelRenderer shape13;
public final ModelRenderer shape14;
public final ModelRenderer shape15;
public final ModelRenderer shape16;
public final ModelRenderer shape17;
public final ModelRenderer shape18;
public final ModelRenderer shape19;
public ModelRenderer shape1;
public ModelRenderer shape2;
public ModelRenderer shape3;
public ModelRenderer shape4;
public ModelRenderer shape5;
public ModelRenderer shape6;
public ModelRenderer shape7;
public ModelRenderer shape8;
public ModelRenderer shape9;
public ModelRenderer shape10;
public ModelRenderer shape11;
public ModelRenderer shape12;
public ModelRenderer shape13;
public ModelRenderer shape14;
public ModelRenderer shape15;
public ModelRenderer shape16;
public ModelRenderer shape17;
public ModelRenderer shape18;
public ModelRenderer shape19;
public ModelRenderer shape20;
public ModelLightningRod()
@ -136,7 +136,7 @@ public class ModelLightningRod extends ModelBase
}
@Override
public void render(final Entity entity, final float f, final float f1, final float f2, final float f3, final float f4, final float f5)
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
@ -163,7 +163,7 @@ public class ModelLightningRod extends ModelBase
this.shape20.render(f5);
}
private void setRotation(final ModelRenderer model, final float x, final float y, final float z)
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
@ -171,7 +171,7 @@ public class ModelLightningRod extends ModelBase
}
@Override
public void setRotationAngles(final float f, final float f1, final float f2, final float f3, final float f4, final float f5, final Entity entity)
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}

View File

@ -39,7 +39,9 @@ import net.minecraftforge.common.MinecraftForge;
import boilerplate.client.GuiHandler;
import boilerplate.common.compathandler.FMPCompatHandler;
import boilerplate.common.utils.handlers.BucketHandler;
import steamcraft.common.compat.CompatabilityLayer;
import steamcraft.common.compat.CompatibilityHandler;
import steamcraft.common.config.Config;
import steamcraft.common.config.ConfigGeneral;
import steamcraft.common.config.ConfigWorldGen;
@ -51,7 +53,6 @@ import steamcraft.common.init.InitItems;
import steamcraft.common.init.InitMisc;
import steamcraft.common.init.InitPackets;
import steamcraft.common.init.InitRecipes;
import steamcraft.common.lib.BucketHandler;
import steamcraft.common.lib.CommandSteamcraft;
import steamcraft.common.lib.CreativeTabSteamcraft;
import steamcraft.common.lib.LoggerSteamcraft;
@ -96,6 +97,7 @@ public class Steamcraft
MinecraftForge.EVENT_BUS.register(new BucketHandler());
CompatabilityLayer.initCompatItems();
CompatibilityHandler.preInit(event);
LoggerSteamcraft.info("Finished Preinit");
}
@ -134,6 +136,7 @@ public class Steamcraft
InitBiomes.init();
FMPCompatHandler.doRegister();
CompatibilityHandler.init(event);
LoggerSteamcraft.info("Finished Init");
}
@ -158,6 +161,7 @@ public class Steamcraft
if (Loader.isModLoaded("ImmersiveEngineering"))
LoggerSteamcraft.info("Evening to the distingushed ladies and gentlemen of the ImmersiveEngineering club!");
CompatibilityHandler.postInit(event);
/*
* if(event.getSide() == Side.CLIENT) { // Autopopulate item/block lists
* from creative tab Iterator iterator = Item.itemRegistry.iterator();

View File

@ -109,13 +109,13 @@ public class BlockSteamcraftOre extends BaseMetadataBlock implements IHammerable
switch (metadata)
{
case 4:
drop.add(new ItemStack(InitItems.itemResource, 1, 4));
drop.add(new ItemStack(InitItems.itemResource, 1, 3));
break;
case 5:
drop.add(new ItemStack(InitItems.itemResource, 2 + world.rand.nextInt(3), 1));
drop.add(new ItemStack(InitItems.itemResource, 2 + world.rand.nextInt(3), 0));
break;
case 6:
drop.add(new ItemStack(InitItems.itemResource, 2 + world.rand.nextInt(3), 3));
drop.add(new ItemStack(InitItems.itemResource, 2 + world.rand.nextInt(3), 1));
break;
default:
drop.add(0, new ItemStack(InitBlocks.blockCustomOre, 1, metadata));

View File

@ -41,9 +41,9 @@ public class BlockCapacitor extends BaseContainerBlock
/*
* @Override public int getRenderType() { return RenderIDs.blockBatteryRI; }
*
*
* @Override public boolean isOpaqueCube() { return false; }
*
*
* @Override public boolean renderAsNormalBlock() { return false; }
*/

View File

@ -0,0 +1,105 @@
/**
* This class was created by BrassGoggledCoders modding team.
* This class is available as part of the Steamcraft 2 Mod for Minecraft.
*
* Steamcraft 2 is open-source and is distributed under the MMPL v1.0 License.
* (http://www.mod-buildcraft.com/MMPL-1.0.txt)
*
* Steamcraft 2 is based on the original Steamcraft Mod created by Proloe.
* Steamcraft (c) Proloe 2011
* (http://www.minecraftforum.net/topic/251532-181-steamcraft-source-code-releasedmlv054wip/)
*
*/
package steamcraft.common.blocks.machines;
import java.util.Random;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import steamcraft.client.lib.GuiIDs;
import steamcraft.common.Steamcraft;
import steamcraft.common.tiles.TileInjector;
/**
* @author decebaldecebal
*
*/
public class BlockInjector extends BlockBaseBoiler
{
public BlockInjector()
{
super();
}
@SideOnly(Side.CLIENT)
@Override
public void registerBlockIcons(IIconRegister icon)
{
}
@Override
public boolean onBlockActivated(World world, int par2, int par3, int par4, EntityPlayer player, int par6, float par7, float par8, float par9)
{
if (world.isRemote)
return true;
else
{
TileInjector tile = (TileInjector) world.getTileEntity(par2, par3, par4);
if ((tile == null) || player.isSneaking())
return false;
player.openGui(Steamcraft.instance, GuiIDs.INJECTOR, world, par2, par3, par4);
return true;
}
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(World world, int par2, int par3, int par4, Random par5Random)
{
int l = world.getBlockMetadata(par2, par3, par4);
if (l >= 7)
{
float f = par2 + 0.5F;
float f1 = par3 + 0.0F + ((par5Random.nextFloat() * 6.0F) / 16.0F);
float f2 = par4 + 0.5F;
float f3 = 0.52F;
float f4 = (par5Random.nextFloat() * 0.6F) - 0.3F;
if ((l == 4) || (l == 11))
{
world.spawnParticle("smoke", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
world.spawnParticle("flame", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
}
else if ((l == 5) || (l == 12))
{
world.spawnParticle("smoke", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
world.spawnParticle("flame", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D);
}
else if ((l == 2) || (l == 9))
{
world.spawnParticle("smoke", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D);
world.spawnParticle("flame", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D);
}
else if ((l == 3) || (l == 10))
{
world.spawnParticle("smoke", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D);
world.spawnParticle("flame", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D);
}
}
}
@Override
public TileEntity createNewTileEntity(World par1World, int metadata)
{
return new TileInjector();
}
}

View File

@ -218,14 +218,10 @@ public class CompatabilityLayer
for (int i = 0; i < partType.length; i++)
{
OreDictHelper.registerOreWithAlts(InitItems.itemCopperParts, i, "partCopper" + partType[i], partType[i].toLowerCase() + "Copper");
OreDictHelper.registerOreWithAlts(InitItems.itemIronParts, i, "partIron" + partType[i], partType[i].toLowerCase() + "Iron");
OreDictHelper.registerOreWithAlts(InitItems.itemBrassParts, i, "partBrass" + partType[i], partType[i].toLowerCase() + "Brass");
OreDictHelper.registerOreWithAlts(InitItems.itemSteelParts, i, "partSteel" + partType[i], partType[i].toLowerCase() + "Steel");
OreDictHelper.registerOreWithAlts(InitItems.itemIronParts, i, "partIron", partType[i], partType[i].toLowerCase() + "Iron");
OreDictHelper.registerOreWithAlts(InitItems.itemSteelParts, i, "partSteel", partType[i], partType[i].toLowerCase() + "Steel");
OreDictHelper.registerOre("partTierOne", InitItems.itemCopperParts, i);
OreDictHelper.registerOre("partTierOne", InitItems.itemIronParts, i);
OreDictHelper.registerOre("partTierTwo", InitItems.itemBrassParts, i);
OreDictHelper.registerOre("partTierTwo", InitItems.itemSteelParts, i);
}
OreDictionary.registerOre("logWood", InitBlocks.blockRedwoodLog);

View File

@ -0,0 +1,67 @@
package steamcraft.common.compat;
import java.util.ArrayList;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import steamcraft.common.compat.chisel.ChiselCompat;
import steamcraft.common.lib.LoggerSteamcraft;
/**
* Created by Skylar on 9/2/2015.
*/
public class CompatibilityHandler
{
private static ArrayList<ModCompat> MODCOMPAT_ENABLED = new ArrayList<ModCompat>();
public static ArrayList<ModCompat> getModCompat()
{
if (MODCOMPAT_ENABLED.isEmpty())
{
MODCOMPAT_ENABLED.add(new ChiselCompat());
}
return MODCOMPAT_ENABLED;
}
public static void preInit(FMLPreInitializationEvent event)
{
for (ModCompat modCompat : getModCompat())
{
if (!modCompat.areRequirementsMet() && modCompat.getIsActive())
{
modCompat.setIsActive(false);
LoggerSteamcraft.error("Requirements are not met for " + modCompat.getName() + ". Deactivating");
}
if (modCompat.getIsActive())
{
LoggerSteamcraft.info("Loading " + modCompat.getName() + " module");
}
}
for (ModCompat modCompat : getModCompat())
{
if (modCompat.getIsActive())
modCompat.preInit(event);
}
}
public static void init(FMLInitializationEvent event)
{
for (ModCompat modCompat : getModCompat())
{
if (modCompat.getIsActive())
modCompat.init(event);
}
}
public static void postInit(FMLPostInitializationEvent event)
{
for (ModCompat modCompat : getModCompat())
{
if (modCompat.getIsActive())
modCompat.postInit(event);
}
}
}

View File

@ -30,8 +30,6 @@ public class ForgeHooks
{
for (int i = 0; i < 10; i++)
{
FishingHooks.addJunk(new WeightedRandomFishable(new ItemStack(InitItems.itemBrassParts, 1, i), 25));
FishingHooks.addJunk(new WeightedRandomFishable(new ItemStack(InitItems.itemCopperParts, 1, i), 25));
FishingHooks.addJunk(new WeightedRandomFishable(new ItemStack(InitItems.itemSteelParts, 1, i), 25));
FishingHooks.addJunk(new WeightedRandomFishable(new ItemStack(InitItems.itemIronParts, 1, i), 25));
}

View File

@ -0,0 +1,50 @@
package steamcraft.common.compat;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
/**
* Created by Skylar on 9/2/2015.
*/
public abstract class ModCompat
{
boolean isActive = true;
public abstract String getName();
public boolean areRequirementsMet()
{
return true;
}
public String dependencies()
{
return "";
}
public void preInit(FMLPreInitializationEvent fmlPreInitializationEvent)
{
}
public void init(FMLInitializationEvent fmlInitializationEvent)
{
}
public void postInit(FMLPostInitializationEvent fmlPostInitializationEvent)
{
}
public void setIsActive(Boolean isActive)
{
this.isActive = isActive;
}
public Boolean getIsActive()
{
return this.isActive;
}
}

View File

@ -0,0 +1,34 @@
package steamcraft.common.compat.chisel;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import steamcraft.common.compat.ModCompat;
/**
* Created by Skylar on 9/2/2015.
*/
public class ChiselCompat extends ModCompat
{
public ItemSteamChisel itemSteamChisel;
@Override
public String getName()
{
return "Chisel";
}
@Override
public boolean areRequirementsMet()
{
return Loader.isModLoaded("chisel");
}
@Override
public void preInit(FMLPreInitializationEvent event)
{
this.itemSteamChisel = new ItemSteamChisel();
GameRegistry.registerItem(this.itemSteamChisel, this.itemSteamChisel.getUnlocalizedName());
}
}

View File

@ -0,0 +1,126 @@
package steamcraft.common.compat.chisel;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidContainerItem;
import boilerplate.common.baseclasses.items.BaseSteamItem;
import com.cricketcraft.chisel.api.IChiselItem;
import com.cricketcraft.chisel.api.carving.ICarvingVariation;
import steamcraft.common.Steamcraft;
import steamcraft.common.lib.ModInfo;
/**
* Created by Skylar on 9/2/2015.
*/
@Optional.Interface(iface = "com.cricketcraft.chisel.api.IChiselItem", modid = "chisel")
public class ItemSteamChisel extends BaseSteamItem implements IChiselItem
{
public ItemSteamChisel()
{
super(32000);
this.setCreativeTab(Steamcraft.tabSC2);
this.setUnlocalizedName("itemChiselSteam");
this.setFull3D();
this.setNoRepair();
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon(ModInfo.PREFIX + "tools/" + this.getUnlocalizedName().substring(5));
}
@Override
@SideOnly(Side.CLIENT)
@SuppressWarnings("unchecked")
public void getSubItems(Item item, CreativeTabs creativeTabs, List list)
{
list.add(new ItemStack(item, 1));
if (item instanceof IFluidContainerItem)
{
ItemStack itemStack = new ItemStack(item, 1);
IFluidContainerItem iFluidContainerItem = (IFluidContainerItem) item;
iFluidContainerItem.fill(itemStack, FluidRegistry.getFluidStack("steam", iFluidContainerItem.getCapacity(itemStack)), true);
list.add(itemStack);
}
}
@SuppressWarnings("all")
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean flag)
{
if ((this.getFluidAmount(stack) > 0))
{
String str = this.getFluid(stack).getFluid().getName();
int amount = this.getFluidAmount(stack);
list.add("Holding " + amount + "mB of " + str);
}
else
list.add("Empty");
}
@Override
@Optional.Method(modid = "chisel")
public boolean canOpenGui(World world, EntityPlayer player, ItemStack chisel)
{
return this.getFluidLevel(chisel) > 100;
}
@Override
@Optional.Method(modid = "chisel")
public boolean onChisel(World world, ItemStack chisel, ICarvingVariation target)
{
return this.consumeSteamFromCanister(chisel, 100);
}
@Override
@Optional.Method(modid = "chisel")
public boolean canChisel(World world, ItemStack chisel, ICarvingVariation target)
{
return this.getFluidLevel(chisel) > 100;
}
@Override
@Optional.Method(modid = "chisel")
public boolean canChiselBlock(World world, EntityPlayer player, int x, int y, int z, Block block, int metadata)
{
ItemStack currentItem = player.getCurrentEquippedItem();
return this.getFluidLevel(currentItem) > 100;
}
@Override
@Optional.Method(modid = "chisel")
public boolean hasModes(ItemStack chisel)
{
return false;
}
private int getFluidLevel(ItemStack chisel)
{
if ((chisel != null) && (chisel.getItem() instanceof IFluidContainerItem))
{
FluidStack fluidStack = ((IFluidContainerItem) chisel.getItem()).getFluid(chisel);
return fluidStack != null ? fluidStack.amount : 0;
}
return 0;
}
}

View File

@ -86,6 +86,7 @@ import steamcraft.common.blocks.machines.BlockCopperPipe;
import steamcraft.common.blocks.machines.BlockCopperTank;
import steamcraft.common.blocks.machines.BlockCopperWire;
import steamcraft.common.blocks.machines.BlockDropHammerAnvil;
import steamcraft.common.blocks.machines.BlockInjector;
import steamcraft.common.blocks.machines.BlockIntake;
import steamcraft.common.blocks.machines.BlockLightningRod;
import steamcraft.common.blocks.machines.BlockLiquidBoiler;
@ -103,6 +104,7 @@ import steamcraft.common.tiles.TileArmorEditor;
import steamcraft.common.tiles.TileBloomery;
import steamcraft.common.tiles.TileCopperPipe;
import steamcraft.common.tiles.TileCopperTank;
import steamcraft.common.tiles.TileInjector;
import steamcraft.common.tiles.TileIntake;
import steamcraft.common.tiles.TileLiquidBoiler;
import steamcraft.common.tiles.TileNuclearBoiler;
@ -213,6 +215,8 @@ public class InitBlocks
public static Block blockTeaPlant, blockHatch;
public static Block blockTimeBomb;
public static Block blockInjector;
public static Block blockTintedRock;
public static Block blockTrunk;
@ -322,6 +326,9 @@ public class InitBlocks
blockIntake = new BlockIntake().setBlockName("blockIntake");
RegistryHelper.registerContainerBlockWithDesc(blockIntake, TileIntake.class, "BlockIntake");
blockInjector = new BlockInjector().setBlockName("blockInjector");
RegistryHelper.registerContainerBlockWithDesc(blockInjector, TileInjector.class, "BlockInjector");
// Energy related
blockTurbine = new BlockTurbine().setBlockName("blockTurbine");
blockBattery = new BlockBattery().setBlockName("blockBattery");

View File

@ -23,7 +23,9 @@ import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import boilerplate.common.utils.handlers.BucketHandler;
import boilerplate.common.utils.helpers.RegistryHelper;
import steamcraft.common.Steamcraft;
import steamcraft.common.items.BaseItem;
@ -101,7 +103,6 @@ import steamcraft.common.items.tools.steam.ItemSteamPickaxe;
import steamcraft.common.items.tools.steam.ItemSteamShovel;
import steamcraft.common.items.tools.steam.ItemSteamSword;
import steamcraft.common.items.vanity.ItemTopHat;
import steamcraft.common.lib.BucketHandler;
import steamcraft.common.lib.ModInfo;
/**
@ -145,7 +146,7 @@ public class InitItems
public static Item itemColdKettle, itemHotKettle, itemEmptyKettle, itemTeapot;
public static Item itemCopperParts, itemBrassParts, itemSteelParts, itemIronParts;
public static Item itemIronParts, itemSteelParts;
public static Item itemCraftingChip;
@ -320,16 +321,12 @@ public class InitItems
itemMachinePart = new ItemMachinePart().setUnlocalizedName("itemMachinePart");
itemGunPart = new ItemGunPart().setUnlocalizedName("itemGunPart");
itemCopperParts = ((ItemParts) new ItemParts().setUnlocalizedName("itemPartsCopper")).setMaterial("Copper");
itemIronParts = ((ItemParts) new ItemParts().setUnlocalizedName("itemPartsIron")).setMaterial("Iron");
itemBrassParts = ((ItemParts) new ItemParts().setUnlocalizedName("itemPartsBrass")).setMaterial("Brass");
itemSteelParts = ((ItemParts) new ItemParts().setUnlocalizedName("itemPartsSteel")).setMaterial("Steel");
registerItem(itemMachinePart, "ItemMachinePart");
registerItem(itemGunPart, "ItemGunPart");
registerItem(itemCopperParts, "ItemCopperParts");
registerItem(itemIronParts, "ItemIronParts");
registerItem(itemBrassParts, "ItemBrassParts");
registerItem(itemSteelParts, "ItemSteelParts");
}
@ -348,9 +345,13 @@ public class InitItems
// Containers
itemCanisterSteam = new ItemCanister(10000, 20).setUnlocalizedName("itemCanisterSteam");
registerItem(itemCanisterSteam, "ItemCanisterSteam");
FluidContainerRegistry.registerFluidContainer(new FluidStack(FluidRegistry.getFluid("steam"), 10000),
((ItemCanister) itemCanisterSteam).getFilledCanister(), new ItemStack(itemCanisterSteam));
itemReinforcedCanisterSteam = new ItemCanister(20000, 40).setUnlocalizedName("itemReinforcedCanisterSteam");
registerItem(itemReinforcedCanisterSteam, "ItemReinforcedCanisterSteam");
FluidContainerRegistry.registerFluidContainer(new FluidStack(FluidRegistry.getFluid("steam"), 20000),
((ItemCanister) itemReinforcedCanisterSteam).getFilledCanister(), new ItemStack(itemReinforcedCanisterSteam));
itemElectricJarSmall = new ElectricItem(80, 80, 40).setUnlocalizedName("itemElectricJarSmall");
itemElectricJarMedium = new ElectricItem(400, 400, 125).setUnlocalizedName("itemElectricJarMedium");
@ -510,10 +511,10 @@ public class InitItems
new ItemStack(itemBoilingMudBucket), new ItemStack(Items.bucket));
FluidContainerRegistry.registerFluidContainer(FluidRegistry.getFluidStack("whaleoil", FluidContainerRegistry.BUCKET_VOLUME),
new ItemStack(itemWhaleOilBucket), new ItemStack(Items.bucket));
BucketHandler.INSTANCE.buckets.put(InitBlocks.blockBoilingWater, itemBoilingWaterBucket);
BucketHandler.INSTANCE.buckets.put(InitBlocks.blockBoilingMud, itemBoilingMudBucket);
BucketHandler.INSTANCE.buckets.put(InitBlocks.blockWhaleOil, itemWhaleOilBucket);
MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE);
BucketHandler.getInstance().bucketMap.put(InitBlocks.blockBoilingWater, itemBoilingWaterBucket);
BucketHandler.getInstance().bucketMap.put(InitBlocks.blockBoilingMud, itemBoilingMudBucket);
BucketHandler.getInstance().bucketMap.put(InitBlocks.blockWhaleOil, itemWhaleOilBucket);
MinecraftForge.EVENT_BUS.register(BucketHandler.getInstance());
itemWhalebone = new BaseItem().setUnlocalizedName("itemWhalebone");
registerItem(itemWhalebone, "ItemWhalebone");

View File

@ -393,18 +393,14 @@ public class InitRecipes
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemSteelParts, 1, 1), " P ", "P P", " P ", 'P', "plateSteel"));
GameRegistry.addRecipe(
new ShapedOreRecipe(new ItemStack(InitItems.itemSteelParts, 1, 2), "PPP", " I ", "PPP", 'P', "plateSteel", 'I', "ingotSteel"));
GameRegistry.addRecipe(
new ShapedOreRecipe(new ItemStack(InitItems.itemCopperParts, 1, 0), " P ", "PIP", " P ", 'P', "plateCopper", 'I', "ingotCopper"));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemCopperParts, 1, 1), " P ", "P P", " P ", 'P', "plateCopper"));
GameRegistry.addRecipe(
new ShapedOreRecipe(new ItemStack(InitItems.itemIronParts, 1, 0), " P ", "PIP", " P ", 'I', "ingotIron", 'P', "plateIron"));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemIronParts, 1, 1), " P ", "P P", " P ", 'P', "plateIron"));
GameRegistry.addRecipe(
new ShapedOreRecipe(new ItemStack(InitItems.itemMachinePart, 1, 0), " X ", "X ", 'X', new ItemStack(InitItems.itemIngot, 1, 7)));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemMachinePart, 1, 1), "CPC", "S G", "CPC", 'P',
new ItemStack(InitItems.itemSheet, 1, 4), 'G', "gearIron", 'S', new ItemStack(InitItems.itemCopperParts, 1, 1), 'C',
new ItemStack(InitItems.itemMachinePart, 1, 0)));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemMachinePart, 1, 1), "CPC", "G G", "CPC", 'P',
new ItemStack(InitItems.itemSheet, 1, 4), 'G', "gearIron", 'C', new ItemStack(InitItems.itemMachinePart, 1, 0)));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemMachinePart, 1, 2), "P P", " P ", "P P", 'P', "plateIron"));
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitItems.itemMachinePart, 1, 3), new ItemStack(Items.water_bucket), "ingotIron",
"ingotCopper", "ingotZinc"));

View File

@ -14,14 +14,17 @@ package steamcraft.common.items;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityMinecart;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import steamcraft.api.item.UniversalWrench;
import steamcraft.api.item.IUniversalWrench;
import steamcraft.common.Steamcraft;
import steamcraft.common.init.InitBlocks;
import steamcraft.common.lib.ModInfo;
@ -32,7 +35,7 @@ import steamcraft.common.tiles.energy.TileCopperWire;
* @author warlordjones
*
*/
public class ItemSpanner extends UniversalWrench
public class ItemSpanner extends BaseItem implements IUniversalWrench
{
public ItemSpanner()
{
@ -71,4 +74,75 @@ public class ItemSpanner extends UniversalWrench
{
this.itemIcon = par1IconRegister.registerIcon(ModInfo.PREFIX + this.getUnlocalizedName().substring(5));
}
@Override
@Optional.Method(modid = "BuildCraft|Core")
public boolean canWrench(EntityPlayer player, int x, int y, int z)
{
return true;
}
@Override
@Optional.Method(modid = "BuildCraft|Core")
public void wrenchUsed(EntityPlayer player, int x, int y, int z)
{
}
@Override
public boolean isUsable(ItemStack item, EntityLivingBase user, int x, int y, int z)
{
return true;
}
@Override
public void toolUsed(ItemStack item, EntityLivingBase user, int x, int y, int z)
{
}
@Override
@Optional.Method(modid = "Railcraft")
public boolean canWhack(EntityPlayer player, ItemStack crowbar, int x, int y, int z)
{
return true;
}
@Override
@Optional.Method(modid = "Railcraft")
public void onWhack(EntityPlayer player, ItemStack crowbar, int x, int y, int z)
{
crowbar.damageItem(2, player);
player.swingItem();
}
@Override
@Optional.Method(modid = "Railcraft")
public boolean canLink(EntityPlayer player, ItemStack crowbar, EntityMinecart cart)
{
return player.isSneaking();
}
@Override
@Optional.Method(modid = "Railcraft")
public void onLink(EntityPlayer player, ItemStack crowbar, EntityMinecart cart)
{
crowbar.damageItem(2, player);
player.swingItem();
}
@Override
@Optional.Method(modid = "Railcraft")
public boolean canBoost(EntityPlayer player, ItemStack crowbar, EntityMinecart cart)
{
return !this.canLink(player, crowbar, cart);
}
@Override
@Optional.Method(modid = "Railcraft")
public void onBoost(EntityPlayer player, ItemStack crowbar, EntityMinecart cart)
{
crowbar.damageItem(2, player);
player.swingItem();
}
}

View File

@ -12,9 +12,12 @@
*/
package steamcraft.common.items.armor;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemArmor;
@ -33,6 +36,8 @@ import boilerplate.common.baseclasses.items.BaseArmor;
import steamcraft.api.item.IArmorModule;
import steamcraft.api.item.IArmorModule.EnumArmorEffectType;
import steamcraft.api.item.IDefensiveArmorModule;
import steamcraft.api.item.IModule;
import steamcraft.api.item.IModuleContainer;
import steamcraft.api.item.ModuleRegistry;
import steamcraft.common.Steamcraft;
import steamcraft.common.init.InitItems;
@ -46,7 +51,7 @@ import thaumcraft.api.nodes.IRevealer;
*/
@Optional.InterfaceList({ @Optional.Interface(iface = "thaumcraft.api.IGoggles", modid = "Thaumcraft"),
@Optional.Interface(iface = "thaumcraft.api.nodes.IRevealer", modid = "Thaumcraft") })
public class ItemBrassArmor extends BaseArmor implements ISpecialArmor, IGoggles, IRevealer
public class ItemBrassArmor extends BaseArmor implements ISpecialArmor, IGoggles, IRevealer, IModuleContainer
{
public ItemBrassArmor(ItemArmor.ArmorMaterial armorMat, int renderIndex, int armorType)
@ -172,6 +177,14 @@ public class ItemBrassArmor extends BaseArmor implements ISpecialArmor, IGoggles
return 0;
}
@Override
@SideOnly(Side.CLIENT)
public String getArmorTexture(ItemStack is, Entity entity, int slot, String type)
{
return slot == 2 ? ModInfo.PREFIX + "textures/models/armor/" + "brass" + "_2.png"
: ModInfo.PREFIX + "textures/models/armor/" + "brass" + "_1.png";
}
@Override
public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot)
{
@ -212,4 +225,32 @@ public class ItemBrassArmor extends BaseArmor implements ISpecialArmor, IGoggles
}
return false;
}
@Override
public boolean isModuleAllowed(IModule iModule, ItemStack itemStack)
{
boolean allowed = false;
if (itemStack.getItem() instanceof ItemBrassArmor)
{
ItemBrassArmor brassArmor = (ItemBrassArmor) itemStack.getItem();
if (iModule instanceof IArmorModule)
{
IArmorModule iArmorModule = (IArmorModule) iModule;
if ((iArmorModule.getApplicablePiece() == -1) || (iArmorModule.getApplicablePiece() == brassArmor.armorType))
{
ArrayList<IModule> moduleIncompatibilities = ModuleRegistry.getModuleIncompatibilities(iModule.getModuleId());
if ((moduleIncompatibilities == null)
|| Collections.disjoint(IModuleContainer.Helper.getAllModulesEquipped(itemStack), moduleIncompatibilities))
{
if (!IModuleContainer.Helper.getAllModulesEquipped(itemStack).contains(iModule))
{
allowed = true;
}
}
}
}
}
return allowed;
}
}

View File

@ -63,7 +63,7 @@ public class ItemSuperFreezeBoots extends BaseArmorModule
int pX = (int) Math.round(player.posX);
int pY = (int) Math.round(player.posY) - 2;
int pZ = (int) Math.round(player.posZ);
if (world.getBlock(pX, pY, pZ).getMaterial() == Material.air && !player.isSneaking())
if ((world.getBlock(pX, pY, pZ).getMaterial() == Material.air) && !player.isSneaking())
{
world.setBlock(pX, pY, pZ, InitBlocks.blockGhostIce);
}

View File

@ -1,59 +0,0 @@
package steamcraft.common.lib;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import cpw.mods.fml.common.eventhandler.Event.Result;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.event.entity.player.FillBucketEvent;
/**
* From Buildcraft :D
*/
public final class BucketHandler
{
public static BucketHandler INSTANCE = new BucketHandler();
public Map<Block, Item> buckets = new HashMap<Block, Item>();
public BucketHandler()
{
}
@SubscribeEvent
public void onBucketFill(FillBucketEvent event)
{
ItemStack result = this.fillCustomBucket(event.world, event.target);
if (result == null)
{
return;
}
event.result = result;
event.setResult(Result.ALLOW);
}
private ItemStack fillCustomBucket(World world, MovingObjectPosition pos)
{
Block block = world.getBlock(pos.blockX, pos.blockY, pos.blockZ);
Item bucket = this.buckets.get(block);
if ((bucket != null) && (world.getBlockMetadata(pos.blockX, pos.blockY, pos.blockZ) == 0))
{
world.setBlockToAir(pos.blockX, pos.blockY, pos.blockZ);
return new ItemStack(bucket);
}
else
{
return null;
}
}
}

View File

@ -123,7 +123,7 @@ public class EventHandlerClient
/*
* @SubscribeEvent
*
*
* @SideOnly(Side.CLIENT) // hacky hack to make the texture work in BC
* tanks. public void textureHook(TextureStitchEvent.Post event) {
* if(event.map.getTextureType() == 0) {

View File

@ -13,33 +13,34 @@
package steamcraft.common.tiles;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import boilerplate.api.IOpenableGUI;
import boilerplate.common.baseclasses.BaseTileWithInventory;
import boilerplate.common.tiles.IOnSlotChanged;
import steamcraft.api.item.IArmorModule;
import steamcraft.api.item.ModuleRegistry;
import steamcraft.api.item.IModule;
import steamcraft.api.item.IModuleContainer;
import steamcraft.client.gui.GuiArmorEditor;
import steamcraft.common.items.armor.ItemBrassArmor;
import steamcraft.common.tiles.container.ContainerArmorEditor;
import steamcraft.common.tiles.container.slot.SlotModuleContainer;
/**
* @author warlordjones
*
*/
public class TileArmorEditor extends BaseTileWithInventory implements IInventory, IOpenableGUI
public class TileArmorEditor extends BaseTileWithInventory implements IInventory, IOpenableGUI, IOnSlotChanged
{
public TileArmorEditor()
{
super(3);
super(17);
}
@Override
@ -61,88 +62,47 @@ public class TileArmorEditor extends BaseTileWithInventory implements IInventory
}
@Override
public void updateEntity()
public void onSlotChanged(Slot slot)
{
ArrayList<String> installedModules = new ArrayList<String>();
if (this.worldObj.isRemote)
return;
// Addition
if ((this.inventory[0] != null) && (this.inventory[0].getItem() instanceof ItemBrassArmor) && (this.inventory[2] != null))
if (slot instanceof SlotModuleContainer)
{
NBTTagCompound tagCompound = ItemBrassArmor.getOrCreateTagCompound(this.inventory[0]);
Item armor = this.inventory[0].getItem();
ItemBrassArmor brassarmor = (ItemBrassArmor) armor;
for (int f = 0; f < tagCompound.getInteger("moduleCount"); f++)
ItemStack slotItemStack = this.getStackInSlot(slot.getSlotIndex());
if (slotItemStack == null)
{
installedModules.add(tagCompound.getString("module" + f));
tagCompound.removeTag("module" + f);
}
if ((this.inventory[2] != null) && (this.inventory[2].getItem() instanceof IArmorModule))
{
IArmorModule module = (IArmorModule) this.inventory[2].getItem();
ArrayList moduleIncompatibilities = ModuleRegistry.getModuleIncompatibilities(module.getModuleId());
if (!installedModules.contains(module.getModuleId()))
for (int slotNumber = 1; slotNumber < this.getSizeInventory(); slotNumber++)
{
if (moduleIncompatibilities == null)
{
if (module.getApplicablePiece() == -1)
{
this.installModule(installedModules, module);
}
else if (module.getApplicablePiece() == brassarmor.armorType)
{
this.installModule(installedModules, module);
}
}
else if (Collections.disjoint(installedModules, moduleIncompatibilities))
{
if (module.getApplicablePiece() == -1)
{
this.installModule(installedModules, module);
}
else if (module.getApplicablePiece() == brassarmor.armorType)
{
this.installModule(installedModules, module);
}
}
this.setInventorySlotContents(slotNumber, null);
}
}
Iterator<String> iterator = installedModules.iterator();
int objects = 0;
while (iterator.hasNext())
else if (slotItemStack.getItem() instanceof IModuleContainer)
{
tagCompound.setString("module" + objects, iterator.next());
objects++;
ArrayList<IModule> iModules = IModuleContainer.Helper.getAllModulesEquipped(slotItemStack);
Iterator<IModule> iModuleIterator = iModules.iterator();
int slotNumber = 1;
while (iModuleIterator.hasNext())
{
this.setInventorySlotContents(slotNumber, new ItemStack((Item) iModuleIterator.next()));
slotNumber++;
iModuleIterator.remove();
}
}
tagCompound.setInteger("moduleCount", objects);
}
// Removal
if ((this.inventory[1] != null) && (this.inventory[1].getItem() instanceof ItemBrassArmor))
else
{
NBTTagCompound tagCompound = ItemBrassArmor.getOrCreateTagCompound(this.inventory[1]);
for (int f = 0; f < tagCompound.getInteger("moduleCount"); f++)
ItemStack slotItemStack;
ArrayList<IModule> iModules = new ArrayList<IModule>();
for (int slotNumber = 1; slotNumber < this.getSizeInventory(); slotNumber++)
{
installedModules.add(tagCompound.getString("module" + f));
tagCompound.removeTag("module" + f);
}
for (int i = 0; i < installedModules.size(); i++)
{
Item module = (Item) ModuleRegistry.getModule(installedModules.get(i));
if ((this.inventory[2] == null) && (module != null))
slotItemStack = this.getStackInSlot(slotNumber);
if ((slotItemStack != null) && (slotItemStack.getItem() instanceof IModule))
{
this.removeModule(installedModules, (IArmorModule) module, i);
iModules.add((IModule) slotItemStack.getItem());
}
}
Iterator<String> iterator = installedModules.iterator();
int objects = 0;
while (iterator.hasNext())
if (this.getStackInSlot(0) != null)
{
tagCompound.setString("module" + objects, iterator.next());
objects++;
IModuleContainer.Helper.setModulesEquipped(iModules, this.getStackInSlot(0));
}
tagCompound.setInteger("moduleCount", objects);
}
}

View File

@ -24,8 +24,10 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTank;
import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler;
import net.minecraftforge.oredict.OreDictionary;
import boilerplate.common.baseclasses.BaseTileWithInventory;
import boilerplate.common.utils.FluidUtils;
import steamcraft.common.blocks.machines.BlockBaseBoiler;
import steamcraft.common.items.ItemCanister;
@ -47,7 +49,7 @@ public abstract class TileBaseBoiler extends BaseTileWithInventory implements IF
public TileBaseBoiler()
{
super(3);
super(4);
this.waterTank = new FluidTank(new FluidStack(FluidRegistry.WATER, 0), 5000);
this.steamTank = new FluidTank(new FluidStack(FluidRegistry.getFluid("steam"), 0), 10000);
@ -102,31 +104,44 @@ public abstract class TileBaseBoiler extends BaseTileWithInventory implements IF
{
FluidStack liquid = FluidContainerRegistry.getFluidForFilledItem(this.inventory[1]);
if ((liquid != null) && (this.waterTank.fill(new FluidStack(FluidRegistry.getFluid("water"), liquid.amount), false) == liquid.amount))
if (liquid.getFluid() == FluidRegistry.WATER)
{
this.waterTank.fill(new FluidStack(FluidRegistry.getFluid("water"), liquid.amount), true);
if (this.inventory[1].stackSize > 1)
this.inventory[1].stackSize--;
else
this.inventory[1] = this.inventory[1].getItem().getContainerItem(this.inventory[1]);
}
}
if ((this.inventory[2] != null) && (this.inventory[2].getItem() instanceof ItemCanister))
{
ItemCanister canister = (ItemCanister) this.inventory[2].getItem();
if ((this.steamTank.getFluidAmount() >= steamPerTick) && (canister.getFluidAmount(this.inventory[2]) != canister.maxSteam))
if ((liquid != null) && (liquid.getFluid() == FluidRegistry.WATER))
{
canister.fill(this.inventory[2], new FluidStack(FluidRegistry.getFluid("steam"), steamPerTick), true);
this.steamTank.drain(steamPerTick, true);
ItemStack emptyContainer = FluidUtils.drainFluidContainer(this.waterTank, this.inventory[1]);
if ((this.inventory[2] != null) && OreDictionary.itemMatches(this.inventory[2], emptyContainer, true))
this.inventory[2].stackSize += emptyContainer.stackSize;
else if (this.inventory[2] == null)
this.inventory[2] = emptyContainer.copy();
this.decrStackSize(1, emptyContainer.stackSize);
}
}
if ((this.inventory[3] != null))
{
if ((this.inventory[3].getItem() instanceof ItemCanister))
{
ItemCanister canister = (ItemCanister) this.inventory[3].getItem();
if ((this.steamTank.getFluidAmount() >= steamPerTick) && (canister.getFluidAmount(this.inventory[3]) != canister.maxSteam))
{
canister.fill(this.inventory[3], new FluidStack(FluidRegistry.getFluid("steam"), steamPerTick), true);
this.steamTank.drain(steamPerTick, true);
}
}
else
{
ItemStack filledContainer = FluidUtils.fillFluidContainer(this.steamTank, this.inventory[3]);
if (filledContainer != null)
{
if ((this.inventory[3] != null) && OreDictionary.itemMatches(this.inventory[3], filledContainer, true))
this.inventory[3].stackSize += filledContainer.stackSize;
else if (this.inventory[3] == null)
this.inventory[3] = filledContainer.copy();
}
}
}
if ((this.getItemBurnTime(inventory[0]) > 0) && (this.furnaceBurnTime == 0) && (this.waterTank.getFluidAmount() >= waterPerTick)
if ((this.getItemBurnTime(this.inventory[0]) > 0) && (this.furnaceBurnTime == 0) && (this.waterTank.getFluidAmount() >= waterPerTick)
&& (this.steamTank.fill(new FluidStack(FluidRegistry.getFluid("steam"), steamPerTick), false) > 0))
{
this.currentFuelBurnTime = this.furnaceBurnTime = this.getItemBurnTime(inventory[0]) / 4;
this.currentFuelBurnTime = this.furnaceBurnTime = this.getItemBurnTime(this.inventory[0]) / 4;
if (this.inventory[0].stackSize == 1)
this.inventory[0] = this.inventory[0].getItem().getContainerItem(this.inventory[0]);

View File

@ -0,0 +1,153 @@
/**
* This class was created by BrassGoggledCoders modding team.
* This class is available as part of the Steamcraft 2 Mod for Minecraft.
*
* Steamcraft 2 is open-source and is distributed under the MMPL v1.0 License.
* (http://www.mod-buildcraft.com/MMPL-1.0.txt)
*
* Steamcraft 2 is based on the original Steamcraft Mod created by Proloe.
* Steamcraft (c) Proloe 2011
* (http://www.minecraftforum.net/topic/251532-181-steamcraft-source-code-releasedmlv054wip/)
*
*/
package steamcraft.common.tiles;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTank;
import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler;
import net.minecraftforge.oredict.OreDictionary;
import boilerplate.api.IOpenableGUI;
import boilerplate.common.baseclasses.BaseTileWithInventory;
import boilerplate.common.utils.FluidUtils;
import steamcraft.client.gui.GuiInjector;
import steamcraft.common.tiles.container.ContainerInjector;
/**
* @author Decebaldecebal
*
*/
public class TileInjector extends BaseTileWithInventory implements IOpenableGUI, IFluidHandler
{
public FluidTank buffer;
public TileInjector()
{
super(2);
this.buffer = new FluidTank(10000);
}
@Override
public void readFromNBT(NBTTagCompound tag)
{
super.readFromNBT(tag);
this.buffer.readFromNBT(tag);
}
@Override
public void writeToNBT(NBTTagCompound tag)
{
super.writeToNBT(tag);
this.buffer.writeToNBT(tag);
}
@Override
public void updateEntity()
{
super.updateEntity();
if (!this.worldObj.isRemote)
{
if (this.inventory[0] != null)
{
ItemStack stack = FluidUtils.drainFluidContainer(buffer, this.inventory[0]);
if ((this.inventory[0] != null) && OreDictionary.itemMatches(this.inventory[0], stack, true))
this.inventory[0].stackSize += stack.stackSize;
else if (this.inventory[0] == null)
this.inventory[0] = stack.copy();
this.decrStackSize(0, stack.stackSize);
}
if (this.inventory[1] != null)
{
ItemStack stack = FluidUtils.fillFluidContainer(buffer, this.inventory[1]);
if (stack != null)
{
if ((this.inventory[1] != null) && OreDictionary.itemMatches(this.inventory[1], stack, true))
this.inventory[1].stackSize += stack.stackSize;
else if (this.inventory[1] == null)
this.inventory[1] = stack.copy();
}
}
}
}
@Override
public boolean canInsertItem(int par1, ItemStack itemstack, int par3)
{
return FluidContainerRegistry.isContainer(itemstack);
}
@Override
public boolean isItemValidForSlot(int i, ItemStack itemstack)
{
return true;
}
@Override
public int fill(ForgeDirection from, FluidStack resource, boolean doFill)
{
return this.buffer.fill(resource, doFill);
}
@Override
public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain)
{
return this.buffer.drain(resource.amount, doDrain);
}
@Override
public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain)
{
return this.buffer.drain(maxDrain, doDrain);
}
@Override
public boolean canFill(ForgeDirection from, Fluid fluid)
{
return true;
}
@Override
public boolean canDrain(ForgeDirection from, Fluid fluid)
{
return true;
}
@Override
public FluidTankInfo[] getTankInfo(ForgeDirection from)
{
return new FluidTankInfo[] { this.buffer.getInfo() };
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
return new GuiInjector(player.inventory, (TileInjector) world.getTileEntity(x, y, z));
}
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
return new ContainerInjector(player.inventory, (TileInjector) world.getTileEntity(x, y, z));
}
}

View File

@ -28,8 +28,11 @@ import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTank;
import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.oredict.OreDictionary;
import boilerplate.api.IOpenableGUI;
import boilerplate.common.utils.FluidUtils;
import steamcraft.api.RecipeAPI;
import steamcraft.client.gui.GuiLiquidBoiler;
import steamcraft.common.blocks.machines.BlockBaseBoiler;
import steamcraft.common.items.ItemCanister;
@ -51,16 +54,18 @@ public class TileLiquidBoiler extends TileBaseBoiler implements IOpenableGUI
public FluidTank fuelTank;
// TODO Allow things to be added to this via imc
public HashMap<Fluid, Integer> fuels = new HashMap();
public HashMap<Fluid, Integer> fuels = RecipeAPI.addedFuels;
public int defaultFuelValue = 500;
public TileLiquidBoiler()
{
super();
this.fuelTank = new FluidTank(5000);
this.fuels.put(FluidRegistry.LAVA, defaultFuelValue * 2);
this.fuels.put(FluidRegistry.getFluid("whaleoil"), defaultFuelValue);
this.fuels.put(FluidRegistry.getFluid("oil"), defaultFuelValue);
this.fuels.put(FluidRegistry.LAVA, this.defaultFuelValue * 2);
this.fuels.put(FluidRegistry.getFluid("whaleoil"), this.defaultFuelValue);
this.fuels.put(FluidRegistry.getFluid("oil"), this.defaultFuelValue / 2);
this.fuels.put(FluidRegistry.getFluid("biodisel"), this.defaultFuelValue);
this.fuels.put(FluidRegistry.getFluid("fuel"), this.defaultFuelValue);
}
@Override
@ -120,10 +125,10 @@ public class TileLiquidBoiler extends TileBaseBoiler implements IOpenableGUI
{
FluidStack fluid = FluidContainerRegistry.getFluidForFilledItem(this.inventory[1]);
if ((fluid != null) && (this.fuelTank.fill(fluid, false) == fluid.amount) && fuels.containsKey(fluid.getFluid()))
if ((fluid != null) && (this.fuelTank.fill(fluid, false) == fluid.amount) && this.fuels.containsKey(fluid.getFluid()))
{
this.fuelTank.fill(new FluidStack(fluid, fluid.amount), true);
FMLLog.info("" + fuelTank.getFluid().getUnlocalizedName(), "");
FMLLog.info("" + this.fuelTank.getFluid().getUnlocalizedName(), "");
if (this.inventory[1].stackSize > 1)
this.inventory[1].stackSize--;
@ -132,13 +137,27 @@ public class TileLiquidBoiler extends TileBaseBoiler implements IOpenableGUI
}
}
// Steam Draining
if ((this.inventory[2] != null) && (this.inventory[2].getItem() instanceof ItemCanister))
if ((this.inventory[2] != null))
{
ItemCanister canister = (ItemCanister) this.inventory[2].getItem();
if ((this.steamTank.getFluidAmount() >= steamPerTick) && (canister.getFluidAmount(this.inventory[2]) != canister.maxSteam))
if ((this.inventory[2].getItem() instanceof ItemCanister))
{
canister.fill(this.inventory[2], new FluidStack(FluidRegistry.getFluid("steam"), steamPerTick), true);
this.steamTank.drain(steamPerTick, true);
ItemCanister canister = (ItemCanister) this.inventory[2].getItem();
if ((this.steamTank.getFluidAmount() >= steamPerTick) && (canister.getFluidAmount(this.inventory[2]) != canister.maxSteam))
{
canister.fill(this.inventory[2], new FluidStack(FluidRegistry.getFluid("steam"), steamPerTick), true);
this.steamTank.drain(steamPerTick, true);
}
}
else
{
ItemStack filledContainer = FluidUtils.fillFluidContainer(this.steamTank, this.inventory[2]);
if (filledContainer != null)
{
if ((this.inventory[2] != null) && OreDictionary.itemMatches(this.inventory[2], filledContainer, true))
this.inventory[2].stackSize += filledContainer.stackSize;
else if (this.inventory[2] == null)
this.inventory[2] = filledContainer.copy();
}
}
}
// Burn fuel
@ -179,7 +198,7 @@ public class TileLiquidBoiler extends TileBaseBoiler implements IOpenableGUI
@Override
public boolean canInsertItem(int par1, ItemStack itemstack, int par3)
{
return ((par1 == 0 || par1 == 1) && FluidContainerRegistry.isContainer(itemstack));
return (((par1 == 0) || (par1 == 1)) && FluidContainerRegistry.isContainer(itemstack));
}
@Override
@ -249,6 +268,6 @@ public class TileLiquidBoiler extends TileBaseBoiler implements IOpenableGUI
public int getFuelBurnTime(Fluid fluid)
{
return fuels.get(fluid);
return this.fuels.get(fluid);
}
}

View File

@ -17,8 +17,9 @@ import net.minecraft.inventory.Slot;
import boilerplate.common.baseclasses.blocks.BaseContainer;
import steamcraft.common.tiles.TileArmorEditor;
import steamcraft.common.tiles.container.slot.SlotBrassArmor;
import steamcraft.common.tiles.container.slot.SlotArmor;
import steamcraft.common.tiles.container.slot.SlotModule;
import steamcraft.common.tiles.container.slot.SlotModuleContainer;
/**
* @author warlordjones
@ -32,18 +33,33 @@ public class ContainerArmorEditor extends BaseContainer
{
this.tileent = tile;
this.setTile(this.tileent);
int var3;
this.addSlotToContainer(new SlotBrassArmor(this.tileent, 0, 62, 12));
for (int i = 0; i < 4; ++i)
{
this.addSlotToContainer(new SlotArmor(player, player.getSizeInventory() - 1 - i, 62, 8 + (i * 18), i));
}
this.addSlotToContainer(new SlotBrassArmor(this.tileent, 1, 62, 48));
this.addSlotToContainer(new SlotModuleContainer(this.tileent, 0, 89, 26));
this.addSlotToContainer(new SlotModule(this.tileent, 2, 100, 30));
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 3; j++)
{
this.addSlotToContainer(new SlotModule(this.tileent, j + (i * 4) + 1, 116 + (j * 18), 8 + (i * 18)));
}
}
for (var3 = 0; var3 < 3; ++var3)
for (int var3 = 0; var3 < 3; ++var3)
{
for (int var4 = 0; var4 < 9; ++var4)
{
this.addSlotToContainer(new Slot(player, var4 + (var3 * 9) + 9, 8 + (var4 * 18), 84 + (var3 * 18)));
for (var3 = 0; var3 < 9; ++var3)
}
}
for (int var3 = 0; var3 < 9; ++var3)
{
this.addSlotToContainer(new Slot(player, var3, 8 + (var3 * 18), 142));
}
}
}

View File

@ -0,0 +1,160 @@
/**
* This class was created by BrassGoggledCoders modding team.
* This class is available as part of the Steamcraft 2 Mod for Minecraft.
*
* Steamcraft 2 is open-source and is distributed under the MMPL v1.0 License.
* (http://www.mod-buildcraft.com/MMPL-1.0.txt)
*
* Steamcraft 2 is based on the original Steamcraft Mod created by Proloe.
* Steamcraft (c) Proloe 2011
* (http://www.minecraftforum.net/topic/251532-181-steamcraft-source-code-releasedmlv054wip/)
*
*/
package steamcraft.common.tiles.container;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityFurnace;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import boilerplate.common.baseclasses.blocks.BaseContainer;
import steamcraft.common.items.ItemCanister;
import steamcraft.common.tiles.TileInjector;
import steamcraft.common.tiles.container.slot.SlotFluidContainer;
/**
* @author Decebaldecebal
*
*/
public class ContainerInjector extends BaseContainer
{
private TileInjector tileent;
private int lastFluidLevel = 0;
public ContainerInjector(InventoryPlayer player, TileInjector tile)
{
this.tileent = tile;
this.setTile(this.tileent);
this.addSlotToContainer(new SlotFluidContainer(tile, 0, 116, 61));
this.addSlotToContainer(new SlotFluidContainer(tile, 1, 135, 61));
int var3;
for (var3 = 0; var3 < 3; ++var3)
for (int var4 = 0; var4 < 9; ++var4)
this.addSlotToContainer(new Slot(player, var4 + (var3 * 9) + 9, 8 + (var4 * 18), 84 + (var3 * 18)));
for (var3 = 0; var3 < 9; ++var3)
this.addSlotToContainer(new Slot(player, var3, 8 + (var3 * 18), 142));
}
@Override
public void addCraftingToCrafters(ICrafting par1ICrafting)
{
super.addCraftingToCrafters(par1ICrafting);
par1ICrafting.sendProgressBarUpdate(this, 0, this.tileent.buffer.getFluidAmount());
}
@Override
public void detectAndSendChanges()
{
super.detectAndSendChanges();
for (Object obj : this.crafters)
{
ICrafting var2 = (ICrafting) obj;
if (this.lastFluidLevel != this.tileent.buffer.getFluidAmount())
var2.sendProgressBarUpdate(this, 2, this.tileent.buffer.getFluidAmount());
}
this.lastFluidLevel = this.tileent.buffer.getFluidAmount();
}
@Override
@SideOnly(Side.CLIENT)
public void updateProgressBar(int par1, int par2)
{
if (par1 == 0)
this.tileent.buffer.getFluid().amount = par2;
}
@Override
public boolean canInteractWith(EntityPlayer par1EntityPlayer)
{
return this.tileent.isUseableByPlayer(par1EntityPlayer);
}
@Override
public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)
{
ItemStack var3 = null;
Slot var4 = (Slot) this.inventorySlots.get(par2);
if ((var4 != null) && var4.getHasStack())
{
ItemStack var5 = var4.getStack();
var3 = var5.copy();
if (par2 > 2)
{
FluidStack liquid = FluidContainerRegistry.getFluidForFilledItem(var5);
if ((liquid != null) && (liquid.getFluid() == FluidRegistry.WATER))
{
if (!this.mergeItemStack(var5, 1, 2, false))
return null;
}
else if (TileEntityFurnace.getItemBurnTime(var5) > 0)
{
if (!this.mergeItemStack(var5, 0, 1, false))
if ((par2 >= 3) && (par2 < 30))
{
if (!this.mergeItemStack(var5, 30, 39, false))
return null;
}
else if ((par2 >= 30) && (par2 < 39) && !this.mergeItemStack(var5, 3, 30, false))
return null;
}
else if (var5.getItem() instanceof ItemCanister)
{
if (!this.mergeItemStack(var5, 2, 3, false))
if ((par2 >= 3) && (par2 < 30))
{
if (!this.mergeItemStack(var5, 30, 39, false))
return null;
}
else if ((par2 >= 30) && (par2 < 39) && !this.mergeItemStack(var5, 3, 30, false))
return null;
}
else if ((par2 >= 3) && (par2 < 30) && !this.mergeItemStack(var5, 30, 39, false))
return null;
else if ((par2 >= 30) && (par2 < 39) && !this.mergeItemStack(var5, 3, 30, false))
return null;
}
else if (!this.mergeItemStack(var5, 3, 39, false))
return null;
if (var5.stackSize == 0)
var4.putStack(null);
else
var4.onSlotChanged();
if (var5.stackSize == var3.stackSize)
return null;
var4.onPickupFromSlot(par1EntityPlayer, var5);
}
return var3;
}
}

View File

@ -89,9 +89,9 @@ public class ContainerLiquidBoiler extends BaseContainer
{
super.addCraftingToCrafters(par1ICrafting);
par1ICrafting.sendProgressBarUpdate(this, 0, this.tileent.furnaceBurnTime);
par1ICrafting.sendProgressBarUpdate(this, 2, this.tileent.steamTank.getFluidAmount());
par1ICrafting.sendProgressBarUpdate(this, 3, this.tileent.fuelTank.getFluidAmount());
par1ICrafting.sendProgressBarUpdate(this, 4, this.tileent.waterTank.getFluidAmount());
par1ICrafting.sendProgressBarUpdate(this, 1, this.tileent.steamTank.getFluidAmount());
par1ICrafting.sendProgressBarUpdate(this, 2, this.tileent.fuelTank.getFluidAmount());
par1ICrafting.sendProgressBarUpdate(this, 3, this.tileent.waterTank.getFluidAmount());
}
@Override
@ -131,7 +131,7 @@ public class ContainerLiquidBoiler extends BaseContainer
else if (par1 == 1)
this.tileent.steamTank.setFluid(new FluidStack(FluidRegistry.getFluid("steam"), par2));
else if (par1 == 2 && this.tileent.fuelTank.getFluid() != null)
this.tileent.fuelTank.setFluid(new FluidStack(this.tileent.fuelTank.getFluid().getFluid(), par2));
this.tileent.fuelTank.getFluid().amount = par2;
else if (par1 == 3)
this.tileent.waterTank.setFluid(new FluidStack(FluidRegistry.getFluid("water"), par2));
}

View File

@ -29,6 +29,8 @@ import net.minecraftforge.fluids.FluidStack;
import boilerplate.common.baseclasses.blocks.BaseContainer;
import steamcraft.common.items.ItemCanister;
import steamcraft.common.tiles.TileSteamBoiler;
import steamcraft.common.tiles.container.slot.SlotFluidContainer;
import steamcraft.common.tiles.container.slot.SlotOutput;
/**
* @author Decebaldecebal
@ -49,22 +51,9 @@ public class ContainerSteamBoiler extends BaseContainer
this.setTile(this.tileent);
this.addSlotToContainer(new Slot(tile, 0, 42, 52));
this.addSlotToContainer(new Slot(tile, 1, 132, 57)
{
@Override
public boolean isItemValid(ItemStack stack)
{
return FluidContainerRegistry.isContainer(stack);
}
});
this.addSlotToContainer(new Slot(tile, 2, 132, 21)
{
@Override
public boolean isItemValid(ItemStack stack)
{
return stack.getItem() instanceof ItemCanister;
}
});
this.addSlotToContainer(new SlotFluidContainer(tile, 1, 115, 57));
this.addSlotToContainer(new SlotOutput(tile, 2, 149, 57));
this.addSlotToContainer(new SlotFluidContainer(tile, 3, 149, 21));
int var3;

View File

@ -0,0 +1,59 @@
/**
* This class was created by BrassGoggledCoders modding team.
* This class is available as part of the Steamcraft 2 Mod for Minecraft.
*
* Steamcraft 2 is open-source and is distributed under the MMPL v1.0 License.
* (http://www.mod-buildcraft.com/MMPL-1.0.txt)
*
* Steamcraft 2 is based on the original Steamcraft Mod created by Proloe.
* Steamcraft (c) Proloe 2011
* (http://www.minecraftforum.net/topic/251532-181-steamcraft-source-code-releasedmlv054wip/)
*
*/
package steamcraft.common.tiles.container.slot;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* Created by Skylar on 8/29/2015.
*/
public class SlotArmor extends Slot
{
int armortype;
public SlotArmor(InventoryPlayer player, int slotIndex, int x, int y, int armorType)
{
super(player, slotIndex, x, y);
this.armortype = armorType;
}
@Override
public int getSlotStackLimit()
{
return 1;
}
@Override
public boolean isItemValid(ItemStack itemStack)
{
if (itemStack == null)
{
return false;
}
return itemStack.getItem().isValidArmor(itemStack, this.armortype, ((InventoryPlayer) this.inventory).player);
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getBackgroundIconIndex()
{
return ItemArmor.func_94602_b(this.armortype);
}
}

View File

@ -0,0 +1,22 @@
package steamcraft.common.tiles.container.slot;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidContainerRegistry;
public class SlotFluidContainer extends Slot
{
public SlotFluidContainer(IInventory p_i1824_1_, int p_i1824_2_, int p_i1824_3_, int p_i1824_4_)
{
super(p_i1824_1_, p_i1824_2_, p_i1824_3_, p_i1824_4_);
// TODO Auto-generated constructor stub
}
@Override
public boolean isItemValid(ItemStack stack)
{
return FluidContainerRegistry.isContainer(stack) || FluidContainerRegistry.isBucket(stack);
}
}

View File

@ -13,16 +13,17 @@
package steamcraft.common.tiles.container.slot;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import steamcraft.api.item.IArmorModule;
import boilerplate.common.containers.slots.SlotChanged;
import steamcraft.api.item.IModule;
import steamcraft.api.item.IModuleContainer;
/**
* @author decebaldecebal
*
*/
public class SlotModule extends Slot
public class SlotModule extends SlotChanged
{
public SlotModule(IInventory inv, int par2, int par3, int par4)
{
@ -32,12 +33,13 @@ public class SlotModule extends Slot
@Override
public boolean isItemValid(ItemStack stack)
{
return stack.getItem() instanceof IArmorModule;
}
@Override
public void onSlotChange(ItemStack stack1, ItemStack stack2)
{
super.onSlotChange(stack1, stack2);
if ((stack == null) || !(stack.getItem() instanceof IModule) || (this.inventory.getStackInSlot(0) == null)
|| !(this.inventory.getStackInSlot(0).getItem() instanceof IModuleContainer))
{
return false;
}
IModule iModule = (IModule) stack.getItem();
IModuleContainer iModuleContainer = (IModuleContainer) this.inventory.getStackInSlot(0).getItem();
return iModuleContainer.isModuleAllowed(iModule, this.inventory.getStackInSlot(0));
}
}

View File

@ -13,19 +13,18 @@
package steamcraft.common.tiles.container.slot;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import steamcraft.common.items.armor.ItemBrassArmor;
import boilerplate.common.containers.slots.SlotChanged;
import steamcraft.api.item.IModuleContainer;
/**
* @author decebaldecebal
*
*/
public class SlotBrassArmor extends Slot
public class SlotModuleContainer extends SlotChanged
{
public SlotBrassArmor(IInventory inv, int par2, int par3, int par4)
public SlotModuleContainer(IInventory inv, int par2, int par3, int par4)
{
super(inv, par2, par3, par4);
}
@ -33,12 +32,6 @@ public class SlotBrassArmor extends Slot
@Override
public boolean isItemValid(ItemStack stack)
{
return stack.getItem() instanceof ItemBrassArmor;
}
@Override
public void onSlotChange(ItemStack stack1, ItemStack stack2)
{
super.onSlotChange(stack1, stack2);
return stack.getItem() instanceof IModuleContainer;
}
}

View File

@ -0,0 +1,19 @@
package steamcraft.common.tiles.container.slot;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class SlotOutput extends Slot
{
public SlotOutput(IInventory p_i1824_1_, int p_i1824_2_, int p_i1824_3_, int p_i1824_4_)
{
super(p_i1824_1_, p_i1824_2_, p_i1824_3_, p_i1824_4_);
}
@Override
public boolean isItemValid(ItemStack stack)
{
return false;
}
}

View File

@ -92,13 +92,13 @@ public class TileBattery extends BaseTileWithInventory implements IEnergyHandler
* short outputEnergy = (short)
* this.extractEnergy(ForgeDirection.UNKNOWN, this.transferRate,
* true);
*
*
* if(outputEnergy > 0) for(ForgeDirection direction :
* EnumSet.allOf(ForgeDirection.class)) if(outputEnergy > 0) {
* TileEntity tileEntity = this.worldObj.getTileEntity(this.xCoord -
* direction.offsetX, this.yCoord - direction.offsetY, this.zCoord -
* direction.offsetZ);
*
*
* if(tileEntity instanceof IEnergyReceiver) outputEnergy -=
* this.extractEnergy(ForgeDirection.UNKNOWN, ((IEnergyReceiver)
* tileEntity).receiveEnergy(direction.getOpposite(), outputEnergy,

View File

@ -72,13 +72,13 @@ public class TileCapacitor extends BaseTileWithInventory implements IEnergyHandl
* short outputEnergy = (short)
* this.extractEnergy(ForgeDirection.UNKNOWN, this.transferRate,
* true);
*
*
* if(outputEnergy > 0) for(ForgeDirection direction :
* EnumSet.allOf(ForgeDirection.class)) if(outputEnergy > 0) {
* TileEntity tileEntity = this.worldObj.getTileEntity(this.xCoord +
* direction.offsetX, this.yCoord + direction.offsetY, this.zCoord +
* direction.offsetZ);
*
*
* if(tileEntity instanceof IEnergyReceiver) outputEnergy -=
* this.extractEnergy(ForgeDirection.UNKNOWN, ((IEnergyReceiver)
* tileEntity).receiveEnergy(direction.getOpposite(), outputEnergy,

View File

@ -12,7 +12,6 @@
*/
package steamcraft.common.tiles.recipes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
@ -20,6 +19,7 @@ import java.util.Map.Entry;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import steamcraft.api.RecipeAPI;
import steamcraft.common.init.InitItems;
/**
@ -29,7 +29,7 @@ import steamcraft.common.init.InitItems;
public class BloomeryRecipes
{
private static final BloomeryRecipes instance = new BloomeryRecipes();
private final Map<ItemStack[], ItemStack> recipeList = new HashMap<ItemStack[], ItemStack>();
private final Map<ItemStack[], ItemStack> recipeList = RecipeAPI.addedRecipeList;
public static BloomeryRecipes getInstance()
{

View File

@ -107,7 +107,7 @@ public class WorldProviderDeeps extends WorldProvider
/*
* @Override
*
*
* @SideOnly(Side.CLIENT) public IRenderHandler getSkyRenderer() { return
* new DeepsSkyRenderer(); }
*/

View File

@ -156,6 +156,8 @@ tile.blockSteamBoiler.name=Combustion Boiler
tile.blockSteamBoiler.desc=Uses fuel to heat water into steam.|Generates 20 mb steam/tick, consumes 5 mb water/tick.
tile.blockNuclearBoiler.name=Nuclear-Fired Boiler
tile.blockNuclearBoiler.desc=Uses uranium pellets to heat water into steam.|Generates 20 mb steam/tick, consumes 5 mb water/tick.
tile.blockLiquidBoiler.name=Liquid-Fired Boiler
tile.blockLiquidBoiler.desc=Uses liquid fuel such as (whale) oil or lava to heat water into steam.|Generates 20mb steam/tick, consumes 5 mb water/tick
tile.blockLightningRod.name=Lightning Rod
tile.blockLightningRod.desc=Attracts lightning during a storm. Generate huge amounts of power, FOR SCIENCE!|Holds 100k RF.Transfer (out): 10000 RF/t
tile.blockDropHammer.name=Drop Hammer Anvil
@ -193,9 +195,9 @@ fluid.boilingmudFluid=Boiling Mud
#Items
item.itemResource.0.name=Sulfur
item.itemResource.1.name=Phosphorus
item.itemResource.2.name=Uranium
item.itemResource.3.name=Uranium Pellets
item.itemResource.4.name=Sulfuric Acid
item.itemResource.2.name=Sulfuric Acid
item.itemResource.3.name=Uranium
item.itemResource.4.name=Uranium Pellets
item.itemTeaLeaves.name=Tea Leaf
item.itemTeaSeed.name=Tea Seeds
item.itemTeaSeed.desc=Obtained from breaking grass
@ -523,6 +525,7 @@ item.itemAutofeeder.desc=Automatically consume food from your inventory. Fairly
item.itemSteamcraftCluster.0.name=Native Aluminum Cluster
item.itemSteamcraftCluster.1.name=Native Zinc Cluster
item.itemThaumicMonocle.name=Thaumic Monocle
item.itemChiselSteam.name=Steam-Powered Chisel
#Tabs
itemGroup.steamcraft2=Steamcraft 2

View File

@ -511,6 +511,7 @@ item.itemFreezeBoots.desc=将你脚下的水冻成冰
item.itemSteamcraftCluster.0.name=Native Aluminum Cluster
item.itemSteamcraftCluster.1.name=Native Zinc Cluster
item.itemThaumicMonocle.name=Thaumic Monocle
item.itemChiselSteam.name=Steam-Powered Chisel
#Tabs
itemGroup.steamcraft=蒸汽工艺 2

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB