Add JEI to the dev environment, rename the items + blocks to match vanilla formats of no capital letters and to include underscores, and fix the crystal chest not rendering items in it.
|
@ -33,7 +33,7 @@ repositories {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
//deobfCompile "mezz.jei:jei_1.10.2:3.7.6.232"
|
||||
deobfCompile "mezz.jei:jei_1.11:4.0.1.191"
|
||||
}
|
||||
|
||||
// This is our group. I'm cpw.mods
|
||||
|
|
|
@ -47,7 +47,7 @@ public class BlockIronChest extends Block
|
|||
public BlockIronChest()
|
||||
{
|
||||
super(Material.IRON);
|
||||
this.setRegistryName(new ResourceLocation(IronChest.MOD_ID, "BlockIronChest"));
|
||||
this.setRegistryName(new ResourceLocation(IronChest.MOD_ID, "iron_chest"));
|
||||
|
||||
this.setDefaultState(this.blockState.getBaseState().withProperty(VARIANT_PROP, IronChestType.IRON));
|
||||
|
||||
|
@ -121,7 +121,7 @@ public class BlockIronChest extends Block
|
|||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
//public void getSubBlocks(Item itemIn, CreativeTabs tab, List<ItemStack> list)
|
||||
// public void getSubBlocks(Item itemIn, CreativeTabs tab, List<ItemStack> list)
|
||||
public void getSubBlocks(Item itemIn, CreativeTabs tab, NonNullList<ItemStack> list)
|
||||
{
|
||||
for (IronChestType type : IronChestType.VALUES)
|
||||
|
|
|
@ -22,15 +22,15 @@ import net.minecraftforge.fml.common.registry.GameRegistry;
|
|||
public enum ChestChangerType
|
||||
{
|
||||
//@formatter:off
|
||||
IRONGOLD(IRON, GOLD, "ironGoldUpgrade", "mmm", "msm", "mmm"),
|
||||
GOLDDIAMOND(GOLD, DIAMOND, "goldDiamondUpgrade", "GGG", "msm", "GGG"),
|
||||
COPPERSILVER(COPPER, SILVER, "copperSilverUpgrade", "mmm", "msm", "mmm"),
|
||||
SILVERGOLD(SILVER, GOLD, "silverGoldUpgrade", "mGm", "GsG", "mGm"),
|
||||
COPPERIRON(COPPER, IRON, "copperIronUpgrade", "mGm", "GsG", "mGm"),
|
||||
DIAMONDCRYSTAL(DIAMOND, CRYSTAL, "diamondCrystalUpgrade", "GGG", "GOG", "GGG"),
|
||||
WOODIRON(WOOD, IRON, "woodIronUpgrade", "mmm", "msm", "mmm"),
|
||||
WOODCOPPER(WOOD, COPPER, "woodCopperUpgrade", "mmm", "msm", "mmm"),
|
||||
DIAMONDOBSIDIAN(DIAMOND, OBSIDIAN, "diamondObsidianUpgrade", "mmm", "mGm", "mmm");
|
||||
IRONGOLD(IRON, GOLD, "iron_gold_upgrade", "mmm", "msm", "mmm"),
|
||||
GOLDDIAMOND(GOLD, DIAMOND, "gold_diamond_upgrade", "GGG", "msm", "GGG"),
|
||||
COPPERSILVER(COPPER, SILVER, "copper_silver_upgrade", "mmm", "msm", "mmm"),
|
||||
SILVERGOLD(SILVER, GOLD, "silver_gold_upgrade", "mGm", "GsG", "mGm"),
|
||||
COPPERIRON(COPPER, IRON, "copper_iron_upgrade", "mGm", "GsG", "mGm"),
|
||||
DIAMONDCRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_upgrade", "GGG", "GOG", "GGG"),
|
||||
WOODIRON(WOOD, IRON, "wood_iron_upgrade", "mmm", "msm", "mmm"),
|
||||
WOODCOPPER(WOOD, COPPER, "wood_copper_upgrade", "mmm", "msm", "mmm"),
|
||||
DIAMONDOBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_upgrade", "mmm", "mGm", "mmm");
|
||||
//@formatter:on
|
||||
|
||||
public static final ChestChangerType[] VALUES = values();
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
******************************************************************************/
|
||||
package cpw.mods.ironchest;
|
||||
|
||||
import invtweaks.api.container.ChestContainer;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
|
@ -17,7 +18,7 @@ import net.minecraft.inventory.IInventory;
|
|||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
//@ChestContainer(isLargeChest = true)
|
||||
@ChestContainer(isLargeChest = true)
|
||||
public class ContainerIronChest extends Container
|
||||
{
|
||||
private IronChestType type;
|
||||
|
@ -123,9 +124,9 @@ public class ContainerIronChest extends Container
|
|||
return this.player;
|
||||
}
|
||||
|
||||
//@ChestContainer.RowSizeCallback
|
||||
//public int getNumColumns()
|
||||
//{
|
||||
// return this.type.rowLength;
|
||||
//}
|
||||
@ChestContainer.RowSizeCallback
|
||||
public int getNumColumns()
|
||||
{
|
||||
return this.type.rowLength;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,16 +12,24 @@ package cpw.mods.ironchest;
|
|||
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.common.Mod.EventHandler;
|
||||
import net.minecraftforge.fml.common.Mod.Instance;
|
||||
import net.minecraftforge.fml.common.SidedProxy;
|
||||
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent.MissingMapping;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fml.common.network.NetworkRegistry;
|
||||
import net.minecraftforge.fml.common.registry.ForgeRegistries;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
|
||||
@Mod(modid = IronChest.MOD_ID, name = "Iron Chests", /*dependencies = "required-after:Forge@[12.17.0.1909,)",*/ acceptedMinecraftVersions = "[1.11, 1.12)")
|
||||
@Mod(modid = IronChest.MOD_ID, name = "Iron Chests", dependencies = "required-after:forge@[13.19.0.2142,);", acceptedMinecraftVersions = "[1.11, 1.12)")
|
||||
public class IronChest
|
||||
{
|
||||
public static final String MOD_ID = "ironchest";
|
||||
|
@ -67,4 +75,101 @@ public class IronChest
|
|||
proxy.registerRenderInformation();
|
||||
MinecraftForge.EVENT_BUS.register(new OcelotsSitOnChestsHandler());
|
||||
}
|
||||
|
||||
@Mod.EventHandler
|
||||
public void onMissingMappings(FMLMissingMappingsEvent event)
|
||||
{
|
||||
for (MissingMapping mapping : event.get())
|
||||
{
|
||||
if (mapping.resourceLocation.getResourceDomain().equals(IronChest.MOD_ID))
|
||||
{
|
||||
@Nonnull
|
||||
String path = mapping.resourceLocation.getResourcePath();
|
||||
|
||||
if (path.endsWith("blockironchest"))
|
||||
{
|
||||
path = path.replace("blockironchest", "iron_chest");
|
||||
ResourceLocation newRes = new ResourceLocation(mapping.resourceLocation.getResourceDomain(), path);
|
||||
Block block = ForgeRegistries.BLOCKS.getValue(newRes);
|
||||
|
||||
if (block != null)
|
||||
{
|
||||
if (mapping.type == GameRegistry.Type.BLOCK)
|
||||
{
|
||||
mapping.remap(block);
|
||||
}
|
||||
else
|
||||
{
|
||||
mapping.remap(Item.getItemFromBlock(block));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (path.endsWith("irongoldupgrade"))
|
||||
{
|
||||
path = path.replace("irongoldupgrade", "iron_gold_upgrade");
|
||||
replaceUpgradeItem(path, mapping);
|
||||
}
|
||||
|
||||
if (path.endsWith("golddiamondupgrade"))
|
||||
{
|
||||
path = path.replace("golddiamondupgrade", "gold_diamond_upgrade");
|
||||
replaceUpgradeItem(path, mapping);
|
||||
}
|
||||
|
||||
if (path.endsWith("coppersilverupgrade"))
|
||||
{
|
||||
path = path.replace("coppersilverupgrade", "copper_silver_upgrade");
|
||||
replaceUpgradeItem(path, mapping);
|
||||
}
|
||||
|
||||
if (path.endsWith("silvergoldupgrade"))
|
||||
{
|
||||
path = path.replace("silvergoldupgrade", "silver_gold_upgrade");
|
||||
replaceUpgradeItem(path, mapping);
|
||||
}
|
||||
|
||||
if (path.endsWith("copperironupgrade"))
|
||||
{
|
||||
path = path.replace("copperironupgrade", "copper_iron_upgrade");
|
||||
replaceUpgradeItem(path, mapping);
|
||||
}
|
||||
|
||||
if (path.endsWith("diamondcrystalupgrade"))
|
||||
{
|
||||
path = path.replace("diamondcrystalupgrade", "diamond_crystal_upgrade");
|
||||
replaceUpgradeItem(path, mapping);
|
||||
}
|
||||
|
||||
if (path.endsWith("woodironupgrade"))
|
||||
{
|
||||
path = path.replace("woodironupgrade", "wood_iron_upgrade");
|
||||
replaceUpgradeItem(path, mapping);
|
||||
}
|
||||
|
||||
if (path.endsWith("woodcopperupgrade"))
|
||||
{
|
||||
path = path.replace("woodcopperupgrade", "wood_copper_upgrade");
|
||||
replaceUpgradeItem(path, mapping);
|
||||
}
|
||||
|
||||
if (path.endsWith("diamondobsidianupgrade"))
|
||||
{
|
||||
path = path.replace("diamondobsidianupgrade", "diamond_obsidian_upgrade");
|
||||
replaceUpgradeItem(path, mapping);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void replaceUpgradeItem(String path, MissingMapping mapping)
|
||||
{
|
||||
ResourceLocation newRes = new ResourceLocation(mapping.resourceLocation.getResourceDomain(), path);
|
||||
Item item = ForgeRegistries.ITEMS.getValue(newRes);
|
||||
|
||||
if (item != null)
|
||||
{
|
||||
mapping.remap(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
package cpw.mods.ironchest;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.ai.EntityAIOcelotSit;
|
||||
import net.minecraft.entity.passive.EntityOcelot;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
|
@ -12,14 +15,32 @@ public class IronChestAIOcelotSit extends EntityAIOcelotSit
|
|||
super(ocelotIn, speedIn);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true to set given position as destination
|
||||
*/
|
||||
@Override
|
||||
protected boolean shouldMoveTo(World worldIn, BlockPos pos)
|
||||
{
|
||||
if (worldIn.getBlockState(pos).getBlock() == IronChest.ironChestBlock)
|
||||
if (!worldIn.isAirBlock(pos.up()))
|
||||
{
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
IBlockState iblockstate = worldIn.getBlockState(pos);
|
||||
Block block = iblockstate.getBlock();
|
||||
|
||||
return super.shouldMoveTo(worldIn, pos);
|
||||
if (block == IronChest.ironChestBlock)
|
||||
{
|
||||
TileEntity tileentity = worldIn.getTileEntity(pos);
|
||||
|
||||
if (tileentity instanceof TileEntityIronChest && ((TileEntityIronChest) tileentity).numPlayersUsing < 1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return super.shouldMoveTo(worldIn, pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,14 +28,14 @@ import net.minecraftforge.oredict.ShapedOreRecipe;
|
|||
public enum IronChestType implements IStringSerializable
|
||||
{
|
||||
//@formatter:off
|
||||
IRON(54, 9, true, "ironchest.png", Arrays.asList("ingotIron", "ingotRefinedIron"), TileEntityIronChest.class, 184, 202, "mmmmPmmmm", "mGmG3GmGm"),
|
||||
GOLD(81, 9, true, "goldchest.png", Collections.singleton("ingotGold"), TileEntityGoldChest.class, 184, 256, "mmmmPmmmm", "mGmG4GmGm"),
|
||||
DIAMOND(108, 12, true, "diamondchest.png", Collections.singleton("gemDiamond"), TileEntityDiamondChest.class, 184, 256, "GGGmPmGGG", "GGGG4Gmmm"),
|
||||
COPPER(45, 9, false, "copperchest.png", Collections.singleton("ingotCopper"), TileEntityCopperChest.class, 184, 184, "mmmmCmmmm"),
|
||||
SILVER(72, 9, false, "silverchest.png", Collections.singleton("ingotSilver"), TileEntitySilverChest.class, 184, 238, "mmmm3mmmm", "mGmG0GmGm"),
|
||||
CRYSTAL(108, 12, true, "crystalchest.png", Collections.singleton("blockGlass"), TileEntityCrystalChest.class, 238, 256, "GGGGPGGGG"),
|
||||
OBSIDIAN(108, 12, false, "obsidianchest.png", Collections.singleton("obsidian"), TileEntityObsidianChest.class, 238, 256, "mmmm2mmmm"),
|
||||
DIRTCHEST9000(1, 1, false, "dirtchest.png", Collections.singleton("dirt"), TileEntityDirtChest.class, 184, 184, "mmmmCmmmm"),
|
||||
IRON(54, 9, true, "iron_chest.png", Arrays.asList("ingotIron", "ingotRefinedIron"), TileEntityIronChest.class, 184, 202, "mmmmPmmmm", "mGmG3GmGm"),
|
||||
GOLD(81, 9, true, "gold_chest.png", Collections.singleton("ingotGold"), TileEntityGoldChest.class, 184, 256, "mmmmPmmmm", "mGmG4GmGm"),
|
||||
DIAMOND(108, 12, true, "diamond_chest.png", Collections.singleton("gemDiamond"), TileEntityDiamondChest.class, 184, 256, "GGGmPmGGG", "GGGG4Gmmm"),
|
||||
COPPER(45, 9, false, "copper_chest.png", Collections.singleton("ingotCopper"), TileEntityCopperChest.class, 184, 184, "mmmmCmmmm"),
|
||||
SILVER(72, 9, false, "silver_chest.png", Collections.singleton("ingotSilver"), TileEntitySilverChest.class, 184, 238, "mmmm3mmmm", "mGmG0GmGm"),
|
||||
CRYSTAL(108, 12, true, "crystal_chest.png", Collections.singleton("blockGlass"), TileEntityCrystalChest.class, 238, 256, "GGGGPGGGG"),
|
||||
OBSIDIAN(108, 12, false, "obsidian_chest.png", Collections.singleton("obsidian"), TileEntityObsidianChest.class, 238, 256, "mmmm2mmmm"),
|
||||
DIRTCHEST9000(1, 1, false, "dirt_chest.png", Collections.singleton("dirt"), TileEntityDirtChest.class, 184, 184, "mmmmCmmmm"),
|
||||
WOOD(0, 0, false, "", Collections.singleton("plankWood"), null, 0, 0);
|
||||
//@formatter:on
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ public class ItemIronChest extends ItemBlock
|
|||
public ItemIronChest(Block block)
|
||||
{
|
||||
super(block);
|
||||
this.setRegistryName(new ResourceLocation(IronChest.MOD_ID, "BlockIronChest"));
|
||||
this.setRegistryName(new ResourceLocation(IronChest.MOD_ID, "iron_chest"));
|
||||
|
||||
this.setMaxDamage(0);
|
||||
this.setHasSubtypes(true);
|
||||
|
|
|
@ -10,6 +10,9 @@
|
|||
******************************************************************************/
|
||||
package cpw.mods.ironchest;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
@ -19,6 +22,7 @@ import net.minecraft.inventory.Container;
|
|||
import net.minecraft.inventory.ItemStackHelper;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.network.NetworkManager;
|
||||
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
|
||||
import net.minecraft.tileentity.TileEntityLockableLoot;
|
||||
|
@ -29,7 +33,7 @@ import net.minecraft.util.SoundCategory;
|
|||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraftforge.common.util.Constants;
|
||||
|
||||
public class TileEntityIronChest extends TileEntityLockableLoot implements ITickable//, IInventory
|
||||
public class TileEntityIronChest extends TileEntityLockableLoot implements ITickable
|
||||
{
|
||||
/** The current angle of the lid (between 0 and 1) */
|
||||
public float lidAngle;
|
||||
|
@ -41,9 +45,9 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
|
||||
private int ticksSinceSync = -1;
|
||||
|
||||
private int numPlayersUsing;
|
||||
public int numPlayersUsing;
|
||||
|
||||
//private ItemStack[] topStacks;
|
||||
private NonNullList<ItemStack> topStacks;
|
||||
|
||||
private EnumFacing facing;
|
||||
|
||||
|
@ -65,7 +69,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
super();
|
||||
this.chestType = type;
|
||||
this.chestContents = NonNullList.<ItemStack> func_191197_a(type.size, ItemStack.field_190927_a);
|
||||
//this.topStacks = new ItemStack[8];
|
||||
this.topStacks = NonNullList.<ItemStack> func_191197_a(8, ItemStack.field_190927_a);
|
||||
this.facing = EnumFacing.NORTH;
|
||||
}
|
||||
|
||||
|
@ -132,36 +136,35 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
{
|
||||
super.markDirty();
|
||||
|
||||
//this.sortTopStacks();
|
||||
this.sortTopStacks();
|
||||
}
|
||||
|
||||
/*protected void sortTopStacks()
|
||||
protected void sortTopStacks()
|
||||
{
|
||||
if (!this.getType().isTransparent() || (this.worldObj != null && this.worldObj.isRemote))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack[] tempCopy = new ItemStack[this.getSizeInventory()];
|
||||
NonNullList<ItemStack> tempCopy = NonNullList.<ItemStack> func_191197_a(this.getSizeInventory(), ItemStack.field_190927_a);
|
||||
|
||||
boolean hasStuff = false;
|
||||
|
||||
int compressedIdx = 0;
|
||||
|
||||
mainLoop:
|
||||
for (int i = 0; i < this.getSizeInventory(); i++)
|
||||
mainLoop: for (int i = 0; i < this.getSizeInventory(); i++)
|
||||
{
|
||||
if (this.chestContents[i] != null)
|
||||
if (this.chestContents.get(i) != ItemStack.field_190927_a)
|
||||
{
|
||||
for (int j = 0; j < compressedIdx; j++)
|
||||
{
|
||||
if (tempCopy[j].isItemEqual(this.chestContents[i]))
|
||||
if (tempCopy.get(j).isItemEqual(this.chestContents.get(i)))
|
||||
{
|
||||
tempCopy[j].func_190920_e(tempCopy[j].func_190916_E() + this.chestContents[i].func_190916_E());
|
||||
tempCopy.get(j).func_190920_e(tempCopy.get(j).func_190916_E() + this.chestContents.get(i).func_190916_E());
|
||||
continue mainLoop;
|
||||
}
|
||||
}
|
||||
tempCopy[compressedIdx++] = this.chestContents[i].copy();
|
||||
tempCopy.set(compressedIdx++, this.chestContents.get(i).copy());
|
||||
hasStuff = true;
|
||||
}
|
||||
}
|
||||
|
@ -170,9 +173,9 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
{
|
||||
this.hadStuff = false;
|
||||
|
||||
for (int i = 0; i < this.topStacks.length; i++)
|
||||
for (int i = 0; i < this.topStacks.size(); i++)
|
||||
{
|
||||
this.topStacks[i] = null;
|
||||
this.topStacks.set(i, ItemStack.field_190927_a);
|
||||
}
|
||||
|
||||
if (this.worldObj != null)
|
||||
|
@ -186,44 +189,44 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
|
||||
this.hadStuff = true;
|
||||
|
||||
Arrays.sort(tempCopy, new Comparator<ItemStack>()
|
||||
{
|
||||
Collections.sort(tempCopy, new Comparator<ItemStack>() {
|
||||
@Override
|
||||
public int compare(ItemStack o1, ItemStack o2)
|
||||
public int compare(ItemStack stack1, ItemStack stack2)
|
||||
{
|
||||
if (o1 == null)
|
||||
if (stack1 == null)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else if (o2 == null)
|
||||
else if (stack2 == null)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return o2.func_190916_E() - o1.func_190916_E();
|
||||
return stack2.func_190916_E() - stack1.func_190916_E();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
int p = 0;
|
||||
|
||||
for (ItemStack element : tempCopy)
|
||||
for (int i = 0; i < tempCopy.size(); i++)
|
||||
{
|
||||
ItemStack element = tempCopy.get(i);
|
||||
if (element != ItemStack.field_190927_a && element.func_190916_E() > 0)
|
||||
{
|
||||
this.topStacks[p++] = element;
|
||||
this.topStacks.set(p++, element);
|
||||
|
||||
if (p == this.topStacks.length)
|
||||
if (p == this.topStacks.size())
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = p; i < this.topStacks.length; i++)
|
||||
for (int i = p; i < this.topStacks.size(); i++)
|
||||
{
|
||||
this.topStacks[i] = null;
|
||||
this.topStacks.set(i, ItemStack.field_190927_a);
|
||||
}
|
||||
|
||||
if (this.worldObj != null)
|
||||
|
@ -232,7 +235,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
|
||||
this.worldObj.notifyBlockUpdate(this.pos, iblockstate, iblockstate, 3);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
|
@ -270,7 +273,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
|
||||
this.facing = EnumFacing.VALUES[compound.getByte("facing")];
|
||||
|
||||
//this.sortTopStacks();
|
||||
this.sortTopStacks();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -348,7 +351,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
{
|
||||
this.inventoryTouched = false;
|
||||
|
||||
//this.sortTopStacks();
|
||||
this.sortTopStacks();
|
||||
}
|
||||
|
||||
this.ticksSinceSync++;
|
||||
|
@ -467,10 +470,10 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
}
|
||||
}
|
||||
|
||||
//public ItemStack[] getTopItemStacks()
|
||||
//{
|
||||
// return this.topStacks;
|
||||
//}
|
||||
public NonNullList<ItemStack> getTopItemStacks()
|
||||
{
|
||||
return this.topStacks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SPacketUpdateTileEntity getUpdatePacket()
|
||||
|
@ -479,28 +482,28 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
|
||||
compound.setByte("facing", (byte) this.facing.ordinal());
|
||||
|
||||
/*ItemStack[] stacks = this.buildItemStackDataList();
|
||||
NonNullList<ItemStack> stacks = this.buildItemStackDataList();
|
||||
|
||||
if (stacks != null)
|
||||
{
|
||||
NBTTagList itemList = new NBTTagList();
|
||||
|
||||
for (int slot = 0; slot < stacks.length; slot++)
|
||||
for (int slot = 0; slot < stacks.size(); slot++)
|
||||
{
|
||||
if (stacks[slot] != null)
|
||||
if (stacks.get(slot) != ItemStack.field_190927_a)
|
||||
{
|
||||
NBTTagCompound item = new NBTTagCompound();
|
||||
|
||||
item.setByte("Slot", (byte) slot);
|
||||
|
||||
stacks[slot].writeToNBT(item);
|
||||
stacks.get(slot).writeToNBT(item);
|
||||
|
||||
itemList.appendTag(item);
|
||||
}
|
||||
}
|
||||
|
||||
compound.setTag("stacks", itemList);
|
||||
}*/
|
||||
}
|
||||
|
||||
return new SPacketUpdateTileEntity(this.pos, 0, compound);
|
||||
}
|
||||
|
@ -514,19 +517,19 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
|
||||
this.facing = EnumFacing.VALUES[compound.getByte("facing")];
|
||||
|
||||
/*NBTTagList itemList = compound.getTagList("stacks", Constants.NBT.TAG_COMPOUND);
|
||||
NBTTagList itemList = compound.getTagList("stacks", Constants.NBT.TAG_COMPOUND);
|
||||
|
||||
ItemStack[] stacks = new ItemStack[this.topStacks.length];
|
||||
ItemStack[] stacks = new ItemStack[this.topStacks.size()];
|
||||
|
||||
for (int item = 0; item < stacks.length; item++)
|
||||
{
|
||||
NBTTagCompound itemStack = itemList.getCompoundTagAt(item);
|
||||
NBTTagCompound itemNBT = itemList.getCompoundTagAt(item);
|
||||
|
||||
int slot = itemStack.getByte("Slot") & 255;
|
||||
int slot = itemNBT.getByte("Slot") & 255;
|
||||
|
||||
if (slot >= 0 && slot < stacks.length)
|
||||
{
|
||||
stacks[slot] = ItemStack.loadItemStackFromNBT(itemStack);
|
||||
stacks[slot] = new ItemStack(itemNBT);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -534,40 +537,41 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
{
|
||||
int pos = 0;
|
||||
|
||||
for (int i = 0; i < this.topStacks.length; i++)
|
||||
for (int i = 0; i < this.topStacks.size(); i++)
|
||||
{
|
||||
if (stacks[pos] != null)
|
||||
{
|
||||
this.topStacks[i] = stacks[pos];
|
||||
this.topStacks.set(i, stacks[pos]);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.topStacks[i] = null;
|
||||
this.topStacks.set(i, ItemStack.field_190927_a);
|
||||
}
|
||||
|
||||
pos++;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*public ItemStack[] buildItemStackDataList()
|
||||
public NonNullList<ItemStack> buildItemStackDataList()
|
||||
{
|
||||
if (this.getType().isTransparent())
|
||||
{
|
||||
ItemStack[] sortList = new ItemStack[this.topStacks.length];
|
||||
NonNullList<ItemStack> sortList = NonNullList.<ItemStack> func_191197_a(this.topStacks.size(), ItemStack.field_190927_a);
|
||||
|
||||
int pos = 0;
|
||||
|
||||
for (ItemStack is : this.topStacks)
|
||||
for (int i = 0; i < this.topStacks.size(); i++)
|
||||
{
|
||||
ItemStack is = this.topStacks.get(i);
|
||||
if (is != null)
|
||||
{
|
||||
sortList[pos++] = is;
|
||||
sortList.set(pos++, is);
|
||||
}
|
||||
else
|
||||
{
|
||||
sortList[pos++] = null;
|
||||
sortList.set(pos++, ItemStack.field_190927_a);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -575,7 +579,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
}
|
||||
|
||||
return null;
|
||||
}*/
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int index, ItemStack stack)
|
||||
|
@ -601,7 +605,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
|
|||
@Override
|
||||
public Container createContainer(InventoryPlayer playerInventory, EntityPlayer playerIn)
|
||||
{
|
||||
this.fillWithLoot((EntityPlayer) null);
|
||||
this.fillWithLoot(playerIn);
|
||||
|
||||
return new ContainerIronChest(playerInventory, this, this.chestType, this.chestType.xSize, this.chestType.ySize);
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ public class ClientProxy extends CommonProxy
|
|||
for (ChestChangerType type : ChestChangerType.VALUES)
|
||||
{
|
||||
//@formatter:off
|
||||
ModelLoader.setCustomModelResourceLocation(type.item, 0, new ModelResourceLocation(new ResourceLocation(IronChest.MOD_ID, "ItemChestUpgrade"), "variant=" + type.itemName.toLowerCase()));
|
||||
ModelLoader.setCustomModelResourceLocation(type.item, 0, new ModelResourceLocation(new ResourceLocation(IronChest.MOD_ID, "iron_chest_upgrades"), "variant=" + type.itemName.toLowerCase()));
|
||||
//@formatter:on
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,12 +24,12 @@ public class GUIChest extends GuiContainer
|
|||
public enum ResourceList
|
||||
{
|
||||
//@formatter:off
|
||||
IRON(new ResourceLocation("ironchest", "textures/gui/ironcontainer.png")),
|
||||
COPPER(new ResourceLocation("ironchest", "textures/gui/coppercontainer.png")),
|
||||
SILVER(new ResourceLocation("ironchest", "textures/gui/silvercontainer.png")),
|
||||
GOLD(new ResourceLocation("ironchest", "textures/gui/goldcontainer.png")),
|
||||
DIAMOND(new ResourceLocation("ironchest", "textures/gui/diamondcontainer.png")),
|
||||
DIRT(new ResourceLocation("ironchest", "textures/gui/dirtcontainer.png"));
|
||||
IRON(new ResourceLocation("ironchest", "textures/gui/iron_container.png")),
|
||||
COPPER(new ResourceLocation("ironchest", "textures/gui/copper_container.png")),
|
||||
SILVER(new ResourceLocation("ironchest", "textures/gui/silver_container.png")),
|
||||
GOLD(new ResourceLocation("ironchest", "textures/gui/gold_container.png")),
|
||||
DIAMOND(new ResourceLocation("ironchest", "textures/gui/diamond_container.png")),
|
||||
DIRT(new ResourceLocation("ironchest", "textures/gui/dirt_container.png"));
|
||||
//@formatter:on
|
||||
public final ResourceLocation location;
|
||||
|
||||
|
|
|
@ -12,17 +12,22 @@ package cpw.mods.ironchest.client;
|
|||
|
||||
import java.util.Random;
|
||||
|
||||
import com.google.common.primitives.SignedBytes;
|
||||
|
||||
import cpw.mods.ironchest.BlockIronChest;
|
||||
import cpw.mods.ironchest.IronChest;
|
||||
import cpw.mods.ironchest.IronChestType;
|
||||
import cpw.mods.ironchest.TileEntityIronChest;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.model.ModelChest;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.client.renderer.entity.RenderEntityItem;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.NonNullList;
|
||||
|
||||
public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileEntityIronChest>
|
||||
{
|
||||
|
@ -141,7 +146,7 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
|
|||
GlStateManager.popMatrix();
|
||||
GlStateManager.color(1F, 1F, 1F, 1F);
|
||||
|
||||
/*if (type.isTransparent()
|
||||
if (type.isTransparent()
|
||||
&& tile.getDistanceSq(this.rendererDispatcher.entityX, this.rendererDispatcher.entityY, this.rendererDispatcher.entityZ) < 128d)
|
||||
{
|
||||
this.random.setSeed(254L);
|
||||
|
@ -151,23 +156,28 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
|
|||
int shift = 0;
|
||||
float blockScale = 0.70F;
|
||||
float timeD = (float) (360D * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL) - partialTick;
|
||||
if (tile.getTopItemStacks()[1] == null)
|
||||
|
||||
if (tile.getTopItemStacks().get(1) == ItemStack.field_190927_a)
|
||||
{
|
||||
shift = 8;
|
||||
blockScale = 0.85F;
|
||||
}
|
||||
|
||||
GlStateManager.pushMatrix();
|
||||
GlStateManager.translate((float) x, (float) y, (float) z);
|
||||
|
||||
customitem.setWorld(this.getWorld());
|
||||
customitem.hoverStart = 0F;
|
||||
for (ItemStack item : tile.getTopItemStacks())
|
||||
|
||||
NonNullList<ItemStack> stacks = tile.getTopItemStacks();
|
||||
for (int i = 0; i < stacks.size(); i++)
|
||||
{
|
||||
ItemStack item = stacks.get(i);
|
||||
if (shift > shifts.length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (item == null)
|
||||
if (item == ItemStack.field_190927_a)
|
||||
{
|
||||
shift++;
|
||||
continue;
|
||||
|
@ -184,7 +194,8 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
|
|||
|
||||
if (this.itemRenderer == null)
|
||||
{
|
||||
this.itemRenderer = new RenderEntityItem(Minecraft.getMinecraft().getRenderManager(), Minecraft.getMinecraft().getRenderItem()) {
|
||||
this.itemRenderer = new RenderEntityItem(Minecraft.getMinecraft().getRenderManager(), Minecraft.getMinecraft().getRenderItem())
|
||||
{
|
||||
@Override
|
||||
public int getModelCount(ItemStack stack)
|
||||
{
|
||||
|
@ -210,7 +221,7 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
|
|||
}
|
||||
|
||||
GlStateManager.popMatrix();
|
||||
}*/
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "builtin/generated",
|
||||
"transform": "forge:default-item"
|
||||
},
|
||||
"variants": {
|
||||
"variant": {
|
||||
"irongoldupgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/ironGoldUpgrade"
|
||||
}
|
||||
},
|
||||
"coppersilverupgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/copperSilverUpgrade"
|
||||
}
|
||||
},
|
||||
"diamondcrystalupgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/diamondCrystalUpgrade"
|
||||
}
|
||||
},
|
||||
"diamondobsidianupgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/diamondObsidianUpgrade"
|
||||
}
|
||||
},
|
||||
"golddiamondupgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/goldDiamondUpgrade"
|
||||
}
|
||||
},
|
||||
"irongoldupgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/ironGoldUpgrade"
|
||||
}
|
||||
},
|
||||
"silvergoldupgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/silverGoldUpgrade"
|
||||
}
|
||||
},
|
||||
"woodcopperupgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/woodCopperUpgrade"
|
||||
}
|
||||
},
|
||||
"woodironupgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/woodIronUpgrade"
|
||||
}
|
||||
},
|
||||
"copperironupgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/copperIronUpgrade"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,57 +1,57 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "ironchest:chest",
|
||||
"model": "ironchest:iron_chest",
|
||||
"transform": "forge:default-block"
|
||||
},
|
||||
"variants": {
|
||||
"variant": {
|
||||
"iron": {
|
||||
"textures": {
|
||||
"particle": "ironchest:blocks/ironbreak",
|
||||
"texture": "ironchest:model/ironchest"
|
||||
"particle": "ironchest:blocks/iron_break",
|
||||
"texture": "ironchest:model/iron_chest"
|
||||
}
|
||||
},
|
||||
"gold": {
|
||||
"textures": {
|
||||
"particle": "ironchest:blocks/goldbreak",
|
||||
"texture": "ironchest:model/goldchest"
|
||||
"particle": "ironchest:blocks/gold_break",
|
||||
"texture": "ironchest:model/gold_chest"
|
||||
}
|
||||
},
|
||||
"diamond": {
|
||||
"textures": {
|
||||
"particle": "ironchest:blocks/diamondbreak",
|
||||
"texture": "ironchest:model/diamondchest"
|
||||
"particle": "ironchest:blocks/diamond_break",
|
||||
"texture": "ironchest:model/diamond_chest"
|
||||
}
|
||||
},
|
||||
"copper": {
|
||||
"textures": {
|
||||
"particle": "ironchest:blocks/copperbreak",
|
||||
"texture": "ironchest:model/copperchest"
|
||||
"particle": "ironchest:blocks/copper_break",
|
||||
"texture": "ironchest:model/copper_chest"
|
||||
}
|
||||
},
|
||||
"silver": {
|
||||
"textures": {
|
||||
"particle": "ironchest:blocks/silverbreak",
|
||||
"texture": "ironchest:model/silverchest"
|
||||
"particle": "ironchest:blocks/silver_break",
|
||||
"texture": "ironchest:model/silver_chest"
|
||||
}
|
||||
},
|
||||
"crystal": {
|
||||
"textures": {
|
||||
"particle": "ironchest:blocks/crystalbreak",
|
||||
"texture": "ironchest:model/crystalchest"
|
||||
"particle": "ironchest:blocks/crystal_break",
|
||||
"texture": "ironchest:model/crystal_chest"
|
||||
}
|
||||
},
|
||||
"obsidian": {
|
||||
"textures": {
|
||||
"particle": "minecraft:blocks/obsidian",
|
||||
"texture": "ironchest:model/obsidianchest"
|
||||
"texture": "ironchest:model/obsidian_chest"
|
||||
}
|
||||
},
|
||||
"dirtchest9000": {
|
||||
"textures": {
|
||||
"particle": "minecraft:blocks/dirt",
|
||||
"texture": "ironchest:model/dirtchest"
|
||||
"texture": "ironchest:model/dirt_chest"
|
||||
}
|
||||
},
|
||||
"wood": {
|
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "builtin/generated",
|
||||
"transform": "forge:default-item"
|
||||
},
|
||||
"variants": {
|
||||
"variant": {
|
||||
"copper_silver_upgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/copper_silver_upgrade"
|
||||
}
|
||||
},
|
||||
"diamond_crystal_upgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/diamond_crystal_upgrade"
|
||||
}
|
||||
},
|
||||
"diamond_obsidian_upgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/diamond_obsidian_upgrade"
|
||||
}
|
||||
},
|
||||
"gold_diamond_upgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/gold_diamond_upgrade"
|
||||
}
|
||||
},
|
||||
"iron_gold_upgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/iron_gold_upgrade"
|
||||
}
|
||||
},
|
||||
"silver_gold_upgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/silver_gold_upgrade"
|
||||
}
|
||||
},
|
||||
"wood_copper_upgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/wood_copper_upgrade"
|
||||
}
|
||||
},
|
||||
"wood_iron_upgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/wood_iron_upgrade"
|
||||
}
|
||||
},
|
||||
"copper_iron_upgrade": {
|
||||
"textures": {
|
||||
"layer0": "ironchest:items/copper_iron_upgrade"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
tile.ironchest:IRON.name=Vas láda
|
||||
tile.ironchest:GOLD.name=Arany láda
|
||||
tile.ironchest:DIAMOND.name=Gyémánt láda
|
||||
tile.ironchest:COPPER.name=Réz láda
|
||||
tile.ironchest:SILVER.name=Ezüst láda
|
||||
tile.ironchest:CRYSTAL.name=Kristály láda
|
||||
tile.ironchest:OBSIDIAN.name=Obszidián láda
|
||||
tile.ironchest:DIRTCHEST9000.name=DirtChest 9000!
|
||||
|
||||
item.ironchest:IRONGOLD.name=Vasról arany ládára bővítő
|
||||
item.ironchest:GOLDDIAMOND.name=Aranyról gyémánt ládára bővítő
|
||||
item.ironchest:COPPERSILVER.name=Rézről ezüst ládára bővítő
|
||||
item.ironchest:SILVERGOLD.name=Ezüstről arany ládára bővítő
|
||||
item.ironchest:COPPERIRON.name=Részről vas ládára bővítő
|
||||
item.ironchest:DIAMONDCRYSTAL.name=Gyémántról kristály ládára bővítő
|
||||
item.ironchest:WOODIRON.name=Normálról (fa) vas ládára bővítő
|
||||
item.ironchest:WOODCOPPER.name=Normálról (fa) réz ládára bővítő
|
||||
item.ironchest:DIAMONDOBSIDIAN.name=Gyémántról obszidián ládára bővítő
|
||||
|
||||
book.ironchest:dirtchest9000.title=Hogyan használd a DirtChest 9000-et!
|
||||
book.ironchest:dirtchest9000.page1=Üdvözöl az új DirtChest 9000! Reméljük sok boldog évig élvezni fogod egy halom föld tárólásának eme vadiúj módját.
|
||||
book.ironchest:dirtchest9000.page2=Használat: egyszerűen pakolj bele egy halom földet eme különlegesen érzékeny tárolóegységbe és élvezd a kényelmet, hogy egy halom föld mindig rendelkezésedre fog állni, bármikor nyitod is ki ezt a ládát.
|
||||
book.ironchest:dirtchest9000.page3=Reméljük, hogy élvezted eme kézikönyv olvasgatását, és megfontolod más termékünk használatát is a jövöben. Üdvözlettel: A DirtChest 9000 kézikönyv írói.
|
||||
book.ironchest:dirtchest9000.page4=Garancia: Ez a termék nem rendelkezik semmiféle garanciával. A belepakolt föld lehet, hogy nem is kerül tárolásra, elszivárog a környezetbe, vagy az is lehetséges hogy nem történik vele semmi.
|
||||
book.ironchest:dirtchest9000.page5=A DirtChest 9000 környezetbarát termék. Kérjül fokozottan ügyelj erre a kézikönyv megsemmisitésekor, és semmiképpen se dobd lávába. Akkor ugyanis nagyon szomorúak leszünk.
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"texture": "ironchest:model/copperchest"
|
||||
"texture": "ironchest:model/copper_chest"
|
||||
},
|
||||
"elements": [
|
||||
{ "from": [ 1, 0, 1 ],
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 480 B After Width: | Height: | Size: 480 B |
Before Width: | Height: | Size: 480 B After Width: | Height: | Size: 480 B |
Before Width: | Height: | Size: 418 B After Width: | Height: | Size: 418 B |
Before Width: | Height: | Size: 466 B After Width: | Height: | Size: 466 B |
Before Width: | Height: | Size: 480 B After Width: | Height: | Size: 480 B |
Before Width: | Height: | Size: 526 B After Width: | Height: | Size: 526 B |
Before Width: | Height: | Size: 526 B After Width: | Height: | Size: 526 B |
Before Width: | Height: | Size: 542 B After Width: | Height: | Size: 542 B |
Before Width: | Height: | Size: 540 B After Width: | Height: | Size: 540 B |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |