Pretty massive cleanup of stuff, some is gone for good, some is coming
back later
This commit is contained in:
parent
281716346a
commit
02eead3672
|
@ -1,56 +0,0 @@
|
|||
package com.pahimar.ee3.block;
|
||||
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import com.pahimar.ee3.EquivalentExchange3;
|
||||
import com.pahimar.ee3.lib.RenderIds;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
import com.pahimar.ee3.tileentity.TileAlchemyTable;
|
||||
|
||||
public class BlockAlchemyTable extends BlockEE {
|
||||
|
||||
public BlockAlchemyTable(int id) {
|
||||
|
||||
super(id, Material.iron);
|
||||
this.setUnlocalizedName(Strings.ALCHEMY_TABLE_NAME);
|
||||
this.setCreativeTab(EquivalentExchange3.tabsEE3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName() {
|
||||
|
||||
StringBuilder unlocalizedName = new StringBuilder();
|
||||
|
||||
unlocalizedName.append("tile.");
|
||||
unlocalizedName.append(Strings.RESOURCE_PREFIX);
|
||||
unlocalizedName.append(Strings.ALCHEMY_TABLE_NAME);
|
||||
|
||||
return unlocalizedName.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock() {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType() {
|
||||
|
||||
return RenderIds.alchemyTable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world) {
|
||||
|
||||
return new TileAlchemyTable();
|
||||
}
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
package com.pahimar.ee3.block;
|
||||
|
||||
import net.minecraft.block.BlockFlowing;
|
||||
import net.minecraft.block.material.Material;
|
||||
|
||||
import com.pahimar.ee3.EquivalentExchange3;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
/**
|
||||
* Equivalent-Exchange-3
|
||||
*
|
||||
* BlockRedWaterFlowing
|
||||
*
|
||||
* @author pahimar
|
||||
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
|
||||
*
|
||||
*/
|
||||
public class BlockRedWaterFlowing extends BlockFlowing {
|
||||
|
||||
protected BlockRedWaterFlowing(int id) {
|
||||
|
||||
super(id, Material.water);
|
||||
blockHardness = 100F;
|
||||
this.setLightOpacity(3);
|
||||
this.setCreativeTab(EquivalentExchange3.tabsEE3);
|
||||
this.setUnlocalizedName(Strings.RED_WATER_FLOWING_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName() {
|
||||
|
||||
StringBuilder unlocalizedName = new StringBuilder();
|
||||
|
||||
unlocalizedName.append("tile.");
|
||||
unlocalizedName.append(Strings.RESOURCE_PREFIX);
|
||||
unlocalizedName.append(Strings.RED_WATER_FLOWING_NAME);
|
||||
|
||||
return unlocalizedName.toString();
|
||||
}
|
||||
}
|
|
@ -1,41 +0,0 @@
|
|||
package com.pahimar.ee3.block;
|
||||
|
||||
import net.minecraft.block.BlockStationary;
|
||||
import net.minecraft.block.material.Material;
|
||||
|
||||
import com.pahimar.ee3.EquivalentExchange3;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
/**
|
||||
* Equivalent-Exchange-3
|
||||
*
|
||||
* BlockRedWaterStill
|
||||
*
|
||||
* @author pahimar
|
||||
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
|
||||
*
|
||||
*/
|
||||
public class BlockRedWaterStill extends BlockStationary {
|
||||
|
||||
protected BlockRedWaterStill(int id) {
|
||||
|
||||
super(id, Material.water);
|
||||
blockHardness = 100F;
|
||||
this.setLightOpacity(3);
|
||||
this.setUnlocalizedName(Strings.RED_WATER_STILL_NAME);
|
||||
this.setCreativeTab(EquivalentExchange3.tabsEE3);
|
||||
this.disableStats();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName() {
|
||||
|
||||
StringBuilder unlocalizedName = new StringBuilder();
|
||||
|
||||
unlocalizedName.append("tile.");
|
||||
unlocalizedName.append(Strings.RESOURCE_PREFIX);
|
||||
unlocalizedName.append(Strings.RED_WATER_STILL_NAME);
|
||||
|
||||
return unlocalizedName.toString();
|
||||
}
|
||||
}
|
|
@ -1,58 +0,0 @@
|
|||
package com.pahimar.ee3.block;
|
||||
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import com.pahimar.ee3.EquivalentExchange3;
|
||||
import com.pahimar.ee3.lib.RenderIds;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
import com.pahimar.ee3.tileentity.TileRenderingTank;
|
||||
|
||||
public class BlockRenderingTank extends BlockEE {
|
||||
|
||||
public BlockRenderingTank(int id) {
|
||||
|
||||
super(id, Material.anvil);
|
||||
this.setUnlocalizedName(Strings.RENDERING_TANK_NAME);
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 3.0F, 1.0F);
|
||||
this.setCreativeTab(EquivalentExchange3.tabsEE3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName() {
|
||||
|
||||
StringBuilder unlocalizedName = new StringBuilder();
|
||||
|
||||
unlocalizedName.append("tile.");
|
||||
unlocalizedName.append(Strings.RESOURCE_PREFIX);
|
||||
unlocalizedName.append(Strings.RENDERING_TANK_NAME);
|
||||
|
||||
return unlocalizedName.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock() {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType() {
|
||||
|
||||
return RenderIds.renderingTank;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world) {
|
||||
|
||||
return new TileRenderingTank();
|
||||
}
|
||||
|
||||
}
|
|
@ -25,10 +25,6 @@ public class ModBlocks {
|
|||
public static Block aludelBase;
|
||||
public static Block alchemicalChest;
|
||||
public static Block glassBell;
|
||||
public static Block alchemyTable;
|
||||
public static Block renderingTank;
|
||||
public static Block redWaterStill;
|
||||
public static Block redWaterFlowing;
|
||||
|
||||
public static void init() {
|
||||
|
||||
|
@ -36,19 +32,11 @@ public class ModBlocks {
|
|||
aludelBase = new BlockAludelBase(BlockIds.ALUDEL_BASE);
|
||||
alchemicalChest = new BlockAlchemicalChest(BlockIds.ALCHEMICAL_CHEST);
|
||||
glassBell = new BlockGlassBell(BlockIds.GLASS_BELL);
|
||||
alchemyTable = new BlockAlchemyTable(BlockIds.ALCHEMY_TABLE);
|
||||
renderingTank = new BlockRenderingTank(BlockIds.RENDERING_TANK);
|
||||
redWaterStill = new BlockRedWaterStill(BlockIds.RED_WATER_STILL);
|
||||
redWaterFlowing = new BlockRedWaterFlowing(BlockIds.RED_WATER_STILL - 1);
|
||||
|
||||
GameRegistry.registerBlock(calcinator, Strings.CALCINATOR_NAME);
|
||||
GameRegistry.registerBlock(aludelBase, Strings.ALUDEL_NAME);
|
||||
GameRegistry.registerBlock(alchemicalChest, Strings.ALCHEMICAL_CHEST_NAME);
|
||||
GameRegistry.registerBlock(glassBell, Strings.GLASS_BELL_NAME);
|
||||
GameRegistry.registerBlock(alchemyTable, Strings.ALCHEMY_TABLE_NAME);
|
||||
GameRegistry.registerBlock(renderingTank, Strings.RENDERING_TANK_NAME);
|
||||
//GameRegistry.registerBlock(redWaterStill, Strings.RED_WATER_STILL_NAME);
|
||||
//GameRegistry.registerBlock(redWaterFlowing, Strings.RED_WATER_FLOWING_NAME);
|
||||
|
||||
initBlockRecipes();
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import net.minecraft.util.StatCollector;
|
|||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.core.helper.ItemStackNBTHelper;
|
||||
import com.pahimar.ee3.inventory.ContainerAlchemicalBag;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
import com.pahimar.ee3.lib.Textures;
|
||||
|
@ -62,8 +62,8 @@ public class GuiAlchemicalBag extends GuiContainer {
|
|||
if (mc.thePlayer != null) {
|
||||
for (ItemStack itemStack : mc.thePlayer.inventory.mainInventory) {
|
||||
if (itemStack != null) {
|
||||
if (GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN);
|
||||
if (ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
package com.pahimar.ee3.client.gui.inventory;
|
||||
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
|
||||
import com.pahimar.ee3.inventory.ContainerAlchemyTable;
|
||||
import com.pahimar.ee3.tileentity.TileAlchemyTable;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class GuiAlchemyTable extends GuiContainer {
|
||||
|
||||
private TileAlchemyTable tileAlchemyTable;
|
||||
|
||||
public GuiAlchemyTable(InventoryPlayer inventoryPlayer, TileAlchemyTable tileAlchemyTable) {
|
||||
|
||||
super(new ContainerAlchemyTable(inventoryPlayer, tileAlchemyTable));
|
||||
this.tileAlchemyTable = tileAlchemyTable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float f, int i, int j) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -8,7 +8,7 @@ import net.minecraft.world.World;
|
|||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.core.helper.ItemStackNBTHelper;
|
||||
import com.pahimar.ee3.inventory.ContainerPortableCrafting;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
import com.pahimar.ee3.lib.Textures;
|
||||
|
@ -66,8 +66,8 @@ public class GuiPortableCrafting extends GuiContainer {
|
|||
if (mc.thePlayer != null) {
|
||||
for (ItemStack itemStack : mc.thePlayer.inventory.mainInventory) {
|
||||
if (itemStack != null) {
|
||||
if (GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN);
|
||||
if (ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import net.minecraft.item.ItemStack;
|
|||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.core.helper.ItemStackNBTHelper;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
import com.pahimar.ee3.lib.Textures;
|
||||
|
||||
|
@ -49,8 +49,8 @@ public class GuiPortableTransmutation extends GuiContainer {
|
|||
if (mc.thePlayer != null) {
|
||||
for (ItemStack itemStack : mc.thePlayer.inventory.mainInventory) {
|
||||
if (itemStack != null) {
|
||||
if (GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
if (ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
package com.pahimar.ee3.client.model;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
import com.pahimar.ee3.lib.Models;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class ModelAlchemyTable extends ModelBase {
|
||||
|
||||
private IModelCustom modelAlchemyTable;
|
||||
|
||||
public ModelAlchemyTable() {
|
||||
|
||||
modelAlchemyTable = AdvancedModelLoader.loadModel(Models.ALCHEMY_TABLE);
|
||||
}
|
||||
|
||||
public void render() {
|
||||
|
||||
modelAlchemyTable.renderAll();
|
||||
}
|
||||
|
||||
public void renderPart(String partName) {
|
||||
|
||||
modelAlchemyTable.renderPart(partName);
|
||||
}
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
package com.pahimar.ee3.client.model;
|
||||
|
||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
import com.pahimar.ee3.lib.Models;
|
||||
|
||||
public class ModelRenderingTank {
|
||||
|
||||
private IModelCustom modelRenderingTank;
|
||||
|
||||
public ModelRenderingTank() {
|
||||
|
||||
modelRenderingTank = AdvancedModelLoader.loadModel(Models.RENDERING_TANK);
|
||||
}
|
||||
|
||||
public void render() {
|
||||
|
||||
modelRenderingTank.renderAll();
|
||||
}
|
||||
|
||||
public void renderPart(String partName) {
|
||||
|
||||
modelRenderingTank.renderPart(partName);
|
||||
}
|
||||
}
|
|
@ -1,113 +0,0 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
package com.pahimar.ee3.client.renderer.item;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
|
||||
import com.pahimar.ee3.client.model.ModelAlchemyTable;
|
||||
import com.pahimar.ee3.lib.Textures;
|
||||
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
/**
|
||||
* Equivalent-Exchange-3
|
||||
*
|
||||
* ItemAlchemyTableRenderer
|
||||
*
|
||||
* @author pahimar
|
||||
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
|
||||
*
|
||||
*/
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class ItemAlchemyTableRenderer implements IItemRenderer {
|
||||
|
||||
private ModelAlchemyTable modelAlchemyTable;
|
||||
|
||||
public ItemAlchemyTableRenderer() {
|
||||
|
||||
modelAlchemyTable = new ModelAlchemyTable();
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see
|
||||
* net.minecraftforge.client.IItemRenderer#handleRenderType(net.minecraft
|
||||
* .item.ItemStack, net.minecraftforge.client.IItemRenderer.ItemRenderType)
|
||||
*/
|
||||
@Override
|
||||
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see net.minecraftforge.client.IItemRenderer#shouldUseRenderHelper(net.
|
||||
* minecraftforge.client.IItemRenderer.ItemRenderType,
|
||||
* net.minecraft.item.ItemStack,
|
||||
* net.minecraftforge.client.IItemRenderer.ItemRendererHelper)
|
||||
*/
|
||||
@Override
|
||||
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see
|
||||
* net.minecraftforge.client.IItemRenderer#renderItem(net.minecraftforge
|
||||
* .client.IItemRenderer.ItemRenderType, net.minecraft.item.ItemStack,
|
||||
* java.lang.Object[])
|
||||
*/
|
||||
@Override
|
||||
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
|
||||
|
||||
switch (type) {
|
||||
case ENTITY: {
|
||||
renderAlchemyTable(-0.5F, 0.0F, 0.5F, 1.0F);
|
||||
return;
|
||||
}
|
||||
case EQUIPPED: {
|
||||
renderAlchemyTable(0.0F, 0.0F, 1.0F, 1.0F);
|
||||
return;
|
||||
}
|
||||
case EQUIPPED_FIRST_PERSON: {
|
||||
renderAlchemyTable(0.0F, 0.0F, 1.0F, 1.0F);
|
||||
return;
|
||||
}
|
||||
case INVENTORY: {
|
||||
renderAlchemyTable(0.0F, -0.1F, 1.0F, 1.0F);
|
||||
return;
|
||||
}
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void renderAlchemyTable(float x, float y, float z, float scale) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
|
||||
// Scale, Translate, Rotate
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glTranslatef(x, y, z);
|
||||
GL11.glRotatef(-90F, 1F, 0, 0);
|
||||
|
||||
// Bind texture
|
||||
FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_ALCHEMY_TABLE);
|
||||
|
||||
// Render
|
||||
modelAlchemyTable.render();
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
|
@ -1,78 +0,0 @@
|
|||
package com.pahimar.ee3.client.renderer.item;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.pahimar.ee3.client.model.ModelRenderingTank;
|
||||
import com.pahimar.ee3.lib.Textures;
|
||||
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
|
||||
public class ItemRenderingTankRenderer implements IItemRenderer {
|
||||
|
||||
private ModelRenderingTank modelRenderingTank;
|
||||
|
||||
public ItemRenderingTankRenderer() {
|
||||
|
||||
modelRenderingTank = new ModelRenderingTank();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
|
||||
|
||||
switch (type) {
|
||||
case ENTITY: {
|
||||
renderRenderingTank(-0.5F, -1.2F, 0.5F, 0.75F);
|
||||
return;
|
||||
}
|
||||
case EQUIPPED: {
|
||||
renderRenderingTank(-0.2F, -0.85F, 0.8F, 0.75F);
|
||||
return;
|
||||
}
|
||||
case EQUIPPED_FIRST_PERSON: {
|
||||
renderRenderingTank(-0.2F, -0.50F, 0.8F, 0.75F);
|
||||
return;
|
||||
}
|
||||
case INVENTORY: {
|
||||
renderRenderingTank(-1.0F, -2.05F, 0.0F, 0.5F);
|
||||
return;
|
||||
}
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void renderRenderingTank(float x, float y, float z, float scale) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
|
||||
// Scale, Translate, Rotate
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
GL11.glTranslatef(x, y, z);
|
||||
|
||||
// Bind texture
|
||||
FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_RENDERING_TANK);
|
||||
|
||||
// Render
|
||||
modelRenderingTank.render();
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
package com.pahimar.ee3.client.renderer.tileentity;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.pahimar.ee3.client.model.ModelAlchemyTable;
|
||||
import com.pahimar.ee3.lib.Textures;
|
||||
import com.pahimar.ee3.tileentity.TileAlchemyTable;
|
||||
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
/**
|
||||
* Equivalent-Exchange-3
|
||||
*
|
||||
* TileEntityAlchemyTableRenderer
|
||||
*
|
||||
* @author pahimar
|
||||
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
|
||||
*
|
||||
*/
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class TileEntityAlchemyTableRenderer extends TileEntitySpecialRenderer {
|
||||
|
||||
private ModelAlchemyTable modelAlchemyTable = new ModelAlchemyTable();
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer#
|
||||
* renderTileEntityAt(net.minecraft.tileentity.TileEntity, double, double,
|
||||
* double, float)
|
||||
*/
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float tick) {
|
||||
|
||||
if (tileEntity instanceof TileAlchemyTable) {
|
||||
// TODO Use the TileAlchemyTable to determine what circle to project on the server of the table
|
||||
TileAlchemyTable tileAlchemyTable = (TileAlchemyTable) tileEntity;
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
|
||||
// Scale, Translate, Rotate
|
||||
GL11.glScalef(1.0F, 1.0F, 1.0F);
|
||||
GL11.glTranslatef((float) x + 0.0F, (float) y + 0.0F, (float) z + 1.0F);
|
||||
|
||||
// Bind texture
|
||||
FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_ALCHEMY_TABLE);
|
||||
|
||||
// Render
|
||||
modelAlchemyTable.render();
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
package com.pahimar.ee3.client.renderer.tileentity;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.pahimar.ee3.client.model.ModelRenderingTank;
|
||||
import com.pahimar.ee3.lib.Textures;
|
||||
import com.pahimar.ee3.tileentity.TileRenderingTank;
|
||||
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class TileEntityRenderingTankRenderer extends TileEntitySpecialRenderer {
|
||||
|
||||
private ModelRenderingTank modelRenderingTank = new ModelRenderingTank();
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float tick) {
|
||||
|
||||
if (tileEntity instanceof TileRenderingTank) {
|
||||
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
// Scale, Translate, Rotate
|
||||
GL11.glScalef(1.0F, 1.0F, 1.0F);
|
||||
GL11.glTranslatef((float) x + 0.0F, (float) y + 0.0F, (float) z + 1.0F);
|
||||
//GL11.glRotatef(90F, 0F, 1F, 0F);
|
||||
|
||||
// Bind texture
|
||||
FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_RENDERING_TANK);
|
||||
|
||||
// Render
|
||||
modelRenderingTank.render();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -27,9 +27,6 @@ public class BlockConfiguration {
|
|||
BlockIds.ALUDEL_BASE = blockConfiguration.getBlock(Strings.ALUDEL_NAME, BlockIds.ALUDEL_BASE_DEFAULT).getInt(BlockIds.ALUDEL_BASE_DEFAULT);
|
||||
BlockIds.ALCHEMICAL_CHEST = blockConfiguration.getBlock(Strings.ALCHEMICAL_CHEST_NAME, BlockIds.ALCHEMICAL_CHEST_DEFAULT).getInt(BlockIds.ALCHEMICAL_CHEST_DEFAULT);
|
||||
BlockIds.GLASS_BELL = blockConfiguration.getBlock(Strings.GLASS_BELL_NAME, BlockIds.GLASS_BELL_DEFAULT).getInt(BlockIds.GLASS_BELL_DEFAULT);
|
||||
BlockIds.ALCHEMY_TABLE = blockConfiguration.getBlock(Strings.ALCHEMY_TABLE_NAME, BlockIds.ALCHEMY_TABLE_DEFAULT).getInt(BlockIds.ALCHEMY_TABLE_DEFAULT);
|
||||
BlockIds.RENDERING_TANK = blockConfiguration.getBlock(Strings.RENDERING_TANK_NAME, BlockIds.RENDERING_TANK_DEFAULT).getInt(BlockIds.RENDERING_TANK_DEFAULT);
|
||||
BlockIds.RED_WATER_STILL = blockConfiguration.getBlock(Strings.RED_WATER_STILL_NAME, BlockIds.RED_WATER_STILL_DEFAULT).getInt(BlockIds.RED_WATER_STILL_DEFAULT);
|
||||
}
|
||||
catch (Exception e) {
|
||||
FMLLog.log(Level.SEVERE, e, Reference.MOD_NAME + " has had a problem loading its block configuration");
|
||||
|
|
|
@ -5,7 +5,7 @@ import net.minecraft.inventory.IInventory;
|
|||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import com.pahimar.ee3.configuration.ConfigurationSettings;
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.core.helper.ItemStackNBTHelper;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
import cpw.mods.fml.common.ICraftingHandler;
|
||||
|
@ -50,7 +50,7 @@ public class CraftingHandler implements ICraftingHandler {
|
|||
|
||||
for (ItemStack itemStack : player.inventory.mainInventory) {
|
||||
if (itemStack != null) {
|
||||
if (GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
if (ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
openStone = itemStack;
|
||||
}
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ public class CraftingHandler implements ICraftingHandler {
|
|||
for (int i = 0; i < craftMatrix.getSizeInventory(); i++) {
|
||||
itemStack = craftMatrix.getStackInSlot(i);
|
||||
if (itemStack != null) {
|
||||
if (GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
if (ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
openStone = itemStack;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,17 +1,6 @@
|
|||
package com.pahimar.ee3.core.handler;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
import com.pahimar.ee3.core.helper.LogHelper;
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.emc.EmcBlackList;
|
||||
import com.pahimar.ee3.emc.EmcValue;
|
||||
import com.pahimar.ee3.emc.EmcValuesIMC;
|
||||
import com.pahimar.ee3.item.CustomWrappedStack;
|
||||
import com.pahimar.ee3.item.crafting.RecipesIMC;
|
||||
import com.pahimar.ee3.lib.InterModComms;
|
||||
|
||||
import cpw.mods.fml.common.event.FMLInterModComms.IMCEvent;
|
||||
|
@ -26,7 +15,7 @@ public class InterModCommsHandler {
|
|||
|
||||
for (IMCMessage imcMessage : event.getMessages()) {
|
||||
|
||||
if (imcMessage.getMessageType() == NBTTagCompound.class) {
|
||||
if (imcMessage.getMessageType() == String.class) {
|
||||
|
||||
if (imcMessage.key.equalsIgnoreCase(InterModComms.ADD_RECIPE)) {
|
||||
processAddRecipeMessage(imcMessage);
|
||||
|
@ -45,104 +34,33 @@ public class InterModCommsHandler {
|
|||
}
|
||||
}
|
||||
else {
|
||||
LogHelper.severe("[IMC] Mod '" + imcMessage.getSender() + "' sent a message with key '" + imcMessage.key + "' with an invalid argument type (received " + imcMessage.getMessageType().getSimpleName() + ", expected NBTTagCompound)");
|
||||
LogHelper.severe("[IMC] Mod '" + imcMessage.getSender() + "' sent a message with key '" + imcMessage.key + "' with an invalid argument type (received " + imcMessage.getMessageType().getSimpleName() + ", expected String)");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void processAddRecipeMessage(IMCMessage imcMessage) {
|
||||
|
||||
NBTTagCompound encodedRecipe = imcMessage.getNBTValue();
|
||||
|
||||
Map<CustomWrappedStack, List<CustomWrappedStack>> decodedRecipe = GeneralNBTHelper.decodeRecipeFromNBT(encodedRecipe);
|
||||
|
||||
if (!decodedRecipe.isEmpty()) {
|
||||
for (CustomWrappedStack key : decodedRecipe.keySet()) {
|
||||
RecipesIMC.addRecipe(key, decodedRecipe.get(key));
|
||||
LogHelper.info("[IMC] Mod '" + imcMessage.getSender() + "' added recipe with output '" + key.toString() + "' and inputs '" + decodedRecipe.get(key) + "'");
|
||||
}
|
||||
}
|
||||
else {
|
||||
LogHelper.severe("[IMC] Mod '" + imcMessage.getSender() + "' attempting to add a NBT encoded recipe to the recipe registry, but the encoded recipe is invalid");
|
||||
}
|
||||
// TODO
|
||||
}
|
||||
|
||||
private static void processAddBlackListMessage(IMCMessage imcMessage) {
|
||||
|
||||
NBTTagCompound encodedStack = imcMessage.getNBTValue();
|
||||
|
||||
CustomWrappedStack decodedStack = GeneralNBTHelper.decodeStackFromNBT(encodedStack);
|
||||
|
||||
if (decodedStack != null) {
|
||||
if (EmcBlackList.getInstance().add(decodedStack)) {
|
||||
LogHelper.info("[IMC] Mod '" + imcMessage.getSender() + "' added object '" + decodedStack.toString() + "' to the EMC blacklist");
|
||||
}
|
||||
else {
|
||||
LogHelper.severe("[IMC] Mod '" + imcMessage.getSender() + "' attempted to add an object to the EMC blacklist that already existed");
|
||||
}
|
||||
}
|
||||
// TODO
|
||||
}
|
||||
|
||||
private static void processRemoveBlackListMessage(IMCMessage imcMessage) {
|
||||
|
||||
NBTTagCompound encodedStack = imcMessage.getNBTValue();
|
||||
|
||||
CustomWrappedStack decodedStack = GeneralNBTHelper.decodeStackFromNBT(encodedStack);
|
||||
|
||||
if (decodedStack != null) {
|
||||
if (EmcBlackList.getInstance().remove(decodedStack)) {
|
||||
LogHelper.info("[IMC] Mod '" + imcMessage.getSender() + "' removed object '" + decodedStack.toString() + "' from the EMC blacklist");
|
||||
}
|
||||
else {
|
||||
LogHelper.severe("[IMC] Mod '" + imcMessage.getSender() + "' attempted to remove an object to the EMC blacklist that was not present");
|
||||
}
|
||||
}
|
||||
// TODO
|
||||
}
|
||||
|
||||
private static void processPreAssignEmcValueMessage(IMCMessage imcMessage) {
|
||||
|
||||
// FIXME Not all methods of passing mappings work, and logging not 100% yet
|
||||
|
||||
NBTTagCompound encodedEmcValueMapping = imcMessage.getNBTValue();
|
||||
|
||||
Map<CustomWrappedStack, EmcValue> emcValueMapping = GeneralNBTHelper.decodeEmcValueMappings(encodedEmcValueMapping);
|
||||
|
||||
if (emcValueMapping != null && emcValueMapping.size() > 0) {
|
||||
for (CustomWrappedStack stack : emcValueMapping.keySet()) {
|
||||
EmcValue emcValue = emcValueMapping.get(stack);
|
||||
|
||||
if (stack.getWrappedStack() != null && emcValue != null && emcValue.getValue() > 0) {
|
||||
EmcValuesIMC.addPreAssignedValued(stack, emcValue);
|
||||
LogHelper.fine(String.format("[IMC] Mod '%s' added a pre auto assignment EmcValue of %s (%s) for object '%s'",imcMessage.getSender(), emcValue.getValue(), emcValue.toString(), stack));
|
||||
}
|
||||
else {
|
||||
LogHelper.severe(String.format("[IMC] Mod '%s' failed in attempting to add a pre auto assignment EmcValue of %s (%s) for object '%s'",imcMessage.getSender(), emcValue.getValue(), emcValue.toString(), stack));
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
LogHelper.severe(String.format("[IMC] Mod failed in attempting to add a pre auto assignment: %s", encodedEmcValueMapping));
|
||||
}
|
||||
// TODO
|
||||
}
|
||||
|
||||
private static void processPostAssignEmcValueMessage(IMCMessage imcMessage) {
|
||||
|
||||
NBTTagCompound encodedEmcValueMapping = imcMessage.getNBTValue();
|
||||
|
||||
Map<CustomWrappedStack, EmcValue> emcValueMapping = GeneralNBTHelper.decodeEmcValueMappings(encodedEmcValueMapping);
|
||||
|
||||
if (emcValueMapping != null && emcValueMapping.size() > 0) {
|
||||
for (CustomWrappedStack stack : emcValueMapping.keySet()) {
|
||||
EmcValue emcValue = emcValueMapping.get(stack);
|
||||
|
||||
if (stack.getWrappedStack() != null && emcValue != null && emcValue.getValue() > 0) {
|
||||
EmcValuesIMC.addPostAssignedValued(stack, emcValue);
|
||||
LogHelper.fine(String.format("[IMC] Mod '%s' added a post auto assignment EmcValue of %s (%s) for object '%s'",imcMessage.getSender(), emcValue.getValue(), emcValue.toString(), stack));
|
||||
}
|
||||
else {
|
||||
LogHelper.severe(String.format("[IMC] Mod '%s' failed in attempting to add a post auto assignment EmcValue of %s (%s) for object '%s'",imcMessage.getSender(), emcValue.getValue(), emcValue.toString(), stack));
|
||||
}
|
||||
}
|
||||
}
|
||||
// TODO
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import net.minecraftforge.event.entity.item.ItemTossEvent;
|
|||
import net.minecraftforge.event.entity.player.EntityItemPickupEvent;
|
||||
import net.minecraftforge.event.entity.player.PlayerDropsEvent;
|
||||
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.core.helper.ItemStackNBTHelper;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
/**
|
||||
|
@ -23,28 +23,28 @@ public class ItemEventHandler {
|
|||
@ForgeSubscribe
|
||||
public void onItemPickup(EntityItemPickupEvent event) {
|
||||
|
||||
if (GeneralNBTHelper.hasTag(event.item.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(event.item.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN);
|
||||
if (ItemStackNBTHelper.hasTag(event.item.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(event.item.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN);
|
||||
}
|
||||
else if (GeneralNBTHelper.hasTag(event.item.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(event.item.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
else if (ItemStackNBTHelper.hasTag(event.item.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(event.item.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
}
|
||||
else if (GeneralNBTHelper.hasTag(event.item.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(event.item.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN);
|
||||
else if (ItemStackNBTHelper.hasTag(event.item.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(event.item.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN);
|
||||
}
|
||||
}
|
||||
|
||||
@ForgeSubscribe
|
||||
public void onItemToss(ItemTossEvent event) {
|
||||
|
||||
if (GeneralNBTHelper.hasTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN);
|
||||
if (ItemStackNBTHelper.hasTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN);
|
||||
}
|
||||
else if (GeneralNBTHelper.hasTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
else if (ItemStackNBTHelper.hasTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
}
|
||||
else if (GeneralNBTHelper.hasTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN);
|
||||
else if (ItemStackNBTHelper.hasTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(event.entityItem.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -52,14 +52,14 @@ public class ItemEventHandler {
|
|||
public void onPlayerDrop(PlayerDropsEvent event) {
|
||||
|
||||
for (EntityItem entityItem : event.drops) {
|
||||
if (GeneralNBTHelper.hasTag(entityItem.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(entityItem.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN);
|
||||
if (ItemStackNBTHelper.hasTag(entityItem.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(entityItem.getEntityItem(), Strings.NBT_ITEM_CRAFTING_GUI_OPEN);
|
||||
}
|
||||
else if (GeneralNBTHelper.hasTag(entityItem.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(entityItem.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
else if (ItemStackNBTHelper.hasTag(entityItem.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(entityItem.getEntityItem(), Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
}
|
||||
else if (GeneralNBTHelper.hasTag(entityItem.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(entityItem.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN);
|
||||
else if (ItemStackNBTHelper.hasTag(entityItem.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(entityItem.getEntityItem(), Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,17 +1,5 @@
|
|||
package com.pahimar.ee3.core.handler.addon;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.lib.InterModComms;
|
||||
import com.pahimar.ee3.lib.Reference;
|
||||
|
||||
import cpw.mods.fml.common.event.FMLInterModComms;
|
||||
|
||||
/**
|
||||
* Equivalent-Exchange-3
|
||||
*
|
||||
|
@ -25,12 +13,8 @@ public class AddonIMCVanilla {
|
|||
|
||||
public static void init() {
|
||||
|
||||
FMLInterModComms.sendMessage(Reference.MOD_ID, InterModComms.ADD_RECIPE, GeneralNBTHelper.encodeRecipeAsNBT(Item.bucketWater, Arrays.asList(Item.bucketEmpty, Block.waterStill)));
|
||||
FMLInterModComms.sendMessage(Reference.MOD_ID, InterModComms.ADD_RECIPE, GeneralNBTHelper.encodeRecipeAsNBT(Item.bucketLava, Arrays.asList(Item.bucketEmpty, Block.lavaStill)));
|
||||
FMLInterModComms.sendMessage(Reference.MOD_ID, InterModComms.ADD_RECIPE, GeneralNBTHelper.encodeRecipeAsNBT(new ItemStack(Block.anvil, 1, 1), Arrays.asList(new ItemStack(Item.ingotIron, 20))));
|
||||
FMLInterModComms.sendMessage(Reference.MOD_ID, InterModComms.ADD_RECIPE, GeneralNBTHelper.encodeRecipeAsNBT(new ItemStack(Block.anvil, 1, 2), Arrays.asList(new ItemStack(Item.ingotIron, 10))));
|
||||
FMLInterModComms.sendMessage(Reference.MOD_ID, InterModComms.ADD_RECIPE, GeneralNBTHelper.encodeRecipeAsNBT(Item.horseArmorIron, Arrays.asList(new ItemStack(Item.ingotIron, 6))));
|
||||
FMLInterModComms.sendMessage(Reference.MOD_ID, InterModComms.ADD_RECIPE, GeneralNBTHelper.encodeRecipeAsNBT(Item.horseArmorGold, Arrays.asList(new ItemStack(Item.ingotGold, 6))));
|
||||
FMLInterModComms.sendMessage(Reference.MOD_ID, InterModComms.ADD_RECIPE, GeneralNBTHelper.encodeRecipeAsNBT(Item.horseArmorDiamond, Arrays.asList(new ItemStack(Item.diamond, 6))));
|
||||
// TODO Once the API is more solid, add examples here for proper IMC calls
|
||||
// FMLInterModComms.sendMessage(Reference.MOD_ID, InterModComms.ADD_RECIPE, "");
|
||||
|
||||
}
|
||||
}
|
||||
|
|
198
common/com/pahimar/ee3/core/helper/ItemStackNBTHelper.java
Normal file
198
common/com/pahimar/ee3/core/helper/ItemStackNBTHelper.java
Normal file
|
@ -0,0 +1,198 @@
|
|||
package com.pahimar.ee3.core.helper;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
/**
|
||||
* Equivalent-Exchange-3
|
||||
*
|
||||
* NBTHelper
|
||||
*
|
||||
* @author pahimar
|
||||
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
|
||||
*
|
||||
*/
|
||||
public class ItemStackNBTHelper {
|
||||
|
||||
/**
|
||||
* Initializes the NBT Tag Compound for the given ItemStack if it is null
|
||||
*
|
||||
* @param itemStack
|
||||
* The ItemStack for which its NBT Tag Compound is being checked
|
||||
* for initialization
|
||||
*/
|
||||
private static void initNBTTagCompound(ItemStack itemStack) {
|
||||
|
||||
if (itemStack.stackTagCompound == null) {
|
||||
itemStack.setTagCompound(new NBTTagCompound());
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean hasTag(ItemStack itemStack, String keyName) {
|
||||
|
||||
if (itemStack.stackTagCompound != null)
|
||||
return itemStack.stackTagCompound.hasKey(keyName);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void removeTag(ItemStack itemStack, String keyName) {
|
||||
|
||||
if (itemStack.stackTagCompound != null) {
|
||||
itemStack.stackTagCompound.removeTag(keyName);
|
||||
}
|
||||
}
|
||||
|
||||
// String
|
||||
public static String getString(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setString(itemStack, keyName, "");
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getString(keyName);
|
||||
}
|
||||
|
||||
public static void setString(ItemStack itemStack, String keyName, String keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setString(keyName, keyValue);
|
||||
}
|
||||
|
||||
// boolean
|
||||
public static boolean getBoolean(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setBoolean(itemStack, keyName, false);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getBoolean(keyName);
|
||||
}
|
||||
|
||||
public static void setBoolean(ItemStack itemStack, String keyName, boolean keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setBoolean(keyName, keyValue);
|
||||
}
|
||||
|
||||
// byte
|
||||
public static byte getByte(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setByte(itemStack, keyName, (byte) 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getByte(keyName);
|
||||
}
|
||||
|
||||
public static void setByte(ItemStack itemStack, String keyName, byte keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setByte(keyName, keyValue);
|
||||
}
|
||||
|
||||
// short
|
||||
public static short getShort(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setShort(itemStack, keyName, (short) 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getShort(keyName);
|
||||
}
|
||||
|
||||
public static void setShort(ItemStack itemStack, String keyName, short keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setShort(keyName, keyValue);
|
||||
}
|
||||
|
||||
// int
|
||||
public static int getInt(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setInteger(itemStack, keyName, 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getInteger(keyName);
|
||||
}
|
||||
|
||||
public static void setInteger(ItemStack itemStack, String keyName, int keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setInteger(keyName, keyValue);
|
||||
}
|
||||
|
||||
// long
|
||||
public static long getLong(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setLong(itemStack, keyName, 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getLong(keyName);
|
||||
}
|
||||
|
||||
public static void setLong(ItemStack itemStack, String keyName, long keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setLong(keyName, keyValue);
|
||||
}
|
||||
|
||||
// float
|
||||
public static float getFloat(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setFloat(itemStack, keyName, 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getFloat(keyName);
|
||||
}
|
||||
|
||||
public static void setFloat(ItemStack itemStack, String keyName, float keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setFloat(keyName, keyValue);
|
||||
}
|
||||
|
||||
// double
|
||||
public static double getDouble(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setDouble(itemStack, keyName, 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getDouble(keyName);
|
||||
}
|
||||
|
||||
public static void setDouble(ItemStack itemStack, String keyName, double keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setDouble(keyName, keyValue);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,547 +0,0 @@
|
|||
package com.pahimar.ee3.core.helper.nbt;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.pahimar.ee3.emc.EmcType;
|
||||
import com.pahimar.ee3.emc.EmcValue;
|
||||
import com.pahimar.ee3.item.CustomWrappedStack;
|
||||
import com.pahimar.ee3.item.EnergyStack;
|
||||
import com.pahimar.ee3.item.OreStack;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
/**
|
||||
* Equivalent-Exchange-3
|
||||
*
|
||||
* EncodedNBTHelper
|
||||
*
|
||||
* @author pahimar
|
||||
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
|
||||
*
|
||||
*/
|
||||
public class EncodedNBTHelper {
|
||||
|
||||
// Constants for encoding/decoding EmcValues as NBT
|
||||
public static final String TAG_NAME_EMCVALUE = "emcValue";
|
||||
public static final String TEMPLATE_EMCVALUE_COMPONENT_ENTRY = "componentOrdinal_%s";
|
||||
|
||||
// Constants for encoding/decoding "stacks" as NBT
|
||||
public static final String TAG_NAME_STACK = "stack";
|
||||
|
||||
// Constants for encoding/decoding recipes as NBT
|
||||
public static final String TAG_NAME_RECIPES = "recipes";
|
||||
public static final String TAG_NAME_RECIPE_OUTPUT = "recipeOutput";
|
||||
public static final String TAG_NAME_RECIPE_INPUTS = "recipeInputs";
|
||||
public static final String TEMPLATE_RECIPE_LIST_ENTRY = "recipeListEntry_%s";
|
||||
public static final String TEMPLATE_RECIPE_INPUT_ENTRY = "recipeInput_%s";
|
||||
|
||||
// Constants for encoding/decoding Object:EmcValue mappings as NBT
|
||||
public static final String TAG_NAME_STACK_VALUE_MAP = "stackValueMap";
|
||||
public static final String TEMPLATE_STACK_VALUE_MAP_ENTRY = "stackValueMapEntry_%s";
|
||||
|
||||
/*
|
||||
* Begin NBT encode/decode helper methods for EmcValue
|
||||
*/
|
||||
|
||||
public static NBTTagCompound encodeEmcValue(float[] subValueArray) {
|
||||
|
||||
if (subValueArray.length == EmcType.TYPES.length) {
|
||||
return encodeEmcValue(new EmcValue(subValueArray));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param emcValue
|
||||
* @return
|
||||
*/
|
||||
public static NBTTagCompound encodeEmcValue(EmcValue emcValue) {
|
||||
|
||||
return encodeEmcValue(TAG_NAME_EMCVALUE, emcValue);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param tagCompoundName
|
||||
* @param emcValue
|
||||
* @return
|
||||
*/
|
||||
public static NBTTagCompound encodeEmcValue(String tagCompoundName, EmcValue emcValue) {
|
||||
|
||||
if (emcValue.getValue() > 0f) {
|
||||
NBTTagCompound encodedEmcValue = new NBTTagCompound(tagCompoundName);
|
||||
|
||||
for (EmcType emcType: EmcType.TYPES) {
|
||||
encodedEmcValue.setFloat(String.format(TEMPLATE_EMCVALUE_COMPONENT_ENTRY, emcType.ordinal()), emcValue.components[emcType.ordinal()]);
|
||||
}
|
||||
|
||||
return encodedEmcValue;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param nbtEncodedEmcValue
|
||||
* @return
|
||||
*/
|
||||
public static EmcValue decodeEmcValue(NBTTagCompound nbtEncodedEmcValue) {
|
||||
|
||||
if (nbtEncodedEmcValue != null) {
|
||||
|
||||
float[] components = new float[EmcType.TYPES.length];
|
||||
|
||||
for (EmcType emcType : EmcType.TYPES) {
|
||||
if (nbtEncodedEmcValue.hasKey(String.format(TEMPLATE_EMCVALUE_COMPONENT_ENTRY, emcType.ordinal())) && emcType.ordinal() < components.length) {
|
||||
components[emcType.ordinal()] = nbtEncodedEmcValue.getFloat(String.format(TEMPLATE_EMCVALUE_COMPONENT_ENTRY, emcType.ordinal()));
|
||||
}
|
||||
}
|
||||
|
||||
EmcValue decodedEmcValue = new EmcValue(components);
|
||||
|
||||
if (decodedEmcValue.getValue() > 0f) {
|
||||
return decodedEmcValue;
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Begin NBT encode/decode helpers for CustomWrappedStacks
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @param object
|
||||
* @return
|
||||
*/
|
||||
public static NBTTagCompound encodeStack(Object object) {
|
||||
|
||||
return encodeStack(TAG_NAME_STACK, object);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param tagCompoundName
|
||||
* @param object
|
||||
* @return
|
||||
*/
|
||||
// TODO Come back and move related NBT constants from Strings to this class
|
||||
public static NBTTagCompound encodeStack(String tagCompoundName, Object object) {
|
||||
|
||||
if (CustomWrappedStack.canBeWrapped(object)) {
|
||||
|
||||
NBTTagCompound encodedStack = new NBTTagCompound(tagCompoundName);
|
||||
CustomWrappedStack wrappedStack = new CustomWrappedStack(object);
|
||||
|
||||
if (wrappedStack.getWrappedStack() instanceof ItemStack) {
|
||||
|
||||
ItemStack itemStack = (ItemStack) wrappedStack.getWrappedStack();
|
||||
itemStack.stackSize = wrappedStack.getStackSize();
|
||||
encodedStack.setString(Strings.NBT_ENCODED_ATTR_TYPE, Strings.NBT_ENCODED_ATTR_TYPE_ITEM);
|
||||
itemStack.writeToNBT(encodedStack);
|
||||
}
|
||||
else if (wrappedStack.getWrappedStack() instanceof OreStack) {
|
||||
OreStack oreStack = (OreStack) wrappedStack.getWrappedStack();
|
||||
|
||||
encodedStack.setString(Strings.NBT_ENCODED_ATTR_TYPE, Strings.NBT_ENCODED_ATTR_TYPE_ORE);
|
||||
encodedStack.setString(Strings.NBT_ENCODED_ATTR_ORE_NAME, oreStack.oreName);
|
||||
encodedStack.setShort(Strings.NBT_ENCODED_ATTR_SIZE, (short) wrappedStack.getStackSize());
|
||||
}
|
||||
else if (wrappedStack.getWrappedStack() instanceof EnergyStack) {
|
||||
EnergyStack energyStack = (EnergyStack) wrappedStack.getWrappedStack();
|
||||
|
||||
encodedStack.setString(Strings.NBT_ENCODED_ATTR_TYPE, Strings.NBT_ENCODED_ATTR_TYPE_ENERGY);
|
||||
encodedStack.setString(Strings.NBT_ENCODED_ATTR_ENERGY_NAME, energyStack.energyName);
|
||||
encodedStack.setShort(Strings.NBT_ENCODED_ATTR_SIZE, (short) wrappedStack.getStackSize());
|
||||
}
|
||||
|
||||
return encodedStack;
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param nbtEncodedStack
|
||||
* @return
|
||||
*/
|
||||
// TODO Come back and move NBT related constants from Strings to this class
|
||||
public static CustomWrappedStack decodeStack(NBTTagCompound nbtEncodedStack) {
|
||||
|
||||
CustomWrappedStack decodedStack = null;
|
||||
|
||||
// If the encoded tag compound is of type ItemStack, parse out the ItemStack info
|
||||
if (nbtEncodedStack.hasKey(Strings.NBT_ENCODED_ATTR_TYPE)) {
|
||||
if (nbtEncodedStack.getString(Strings.NBT_ENCODED_ATTR_TYPE).equalsIgnoreCase(Strings.NBT_ENCODED_ATTR_TYPE_ITEM)) {
|
||||
|
||||
ItemStack itemStack = new ItemStack(0, 0, 0);
|
||||
itemStack.readFromNBT(nbtEncodedStack);
|
||||
decodedStack = new CustomWrappedStack(itemStack);
|
||||
}
|
||||
// Else if the encoded tag compound is of type OreStack, parse out the OreStack info
|
||||
else if (nbtEncodedStack.getString(Strings.NBT_ENCODED_ATTR_TYPE).equalsIgnoreCase(Strings.NBT_ENCODED_ATTR_TYPE_ORE)) {
|
||||
|
||||
if (nbtEncodedStack.hasKey(Strings.NBT_ENCODED_ATTR_ORE_NAME) && nbtEncodedStack.hasKey(Strings.NBT_ENCODED_ATTR_SIZE)) {
|
||||
if ((nbtEncodedStack.getString(Strings.NBT_ENCODED_ATTR_ORE_NAME).length() > 0) && (nbtEncodedStack.getShort(Strings.NBT_ENCODED_ATTR_SIZE) >= 0)) {
|
||||
decodedStack = new CustomWrappedStack(new OreStack(nbtEncodedStack.getString(Strings.NBT_ENCODED_ATTR_ORE_NAME), nbtEncodedStack.getShort(Strings.NBT_ENCODED_ATTR_SIZE)));
|
||||
}
|
||||
}
|
||||
}
|
||||
// Else if the encoded tag compound is of type EnergyStack, parse out the EnergyStack info
|
||||
else if (nbtEncodedStack.getString(Strings.NBT_ENCODED_ATTR_TYPE).equalsIgnoreCase(Strings.NBT_ENCODED_ATTR_TYPE_ENERGY)) {
|
||||
|
||||
if (nbtEncodedStack.hasKey(Strings.NBT_ENCODED_ATTR_ENERGY_NAME) && nbtEncodedStack.hasKey(Strings.NBT_ENCODED_ATTR_SIZE)) {
|
||||
if ((nbtEncodedStack.getString(Strings.NBT_ENCODED_ATTR_ENERGY_NAME).length() > 0) && (nbtEncodedStack.getShort(Strings.NBT_ENCODED_ATTR_SIZE) >= 0)) {
|
||||
decodedStack = new CustomWrappedStack(new EnergyStack(nbtEncodedStack.getString(Strings.NBT_ENCODED_ATTR_ENERGY_NAME), nbtEncodedStack.getShort(Strings.NBT_ENCODED_ATTR_SIZE)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This will only return non-null in the event that a proper
|
||||
* ItemStack|OreStack|EnergyStack was decoded from the encoded
|
||||
* NBTTagCompound
|
||||
*/
|
||||
return decodedStack;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Begin NBT encode/decode helpers for Recipe inputs
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @param recipeInputs
|
||||
* @return
|
||||
*/
|
||||
public static NBTTagCompound encodeRecipeInputs(List<?> recipeInputs) {
|
||||
|
||||
return encodeRecipeInputs(TAG_NAME_RECIPE_INPUTS, recipeInputs);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param tagCompoundName
|
||||
* @param recipeInputs
|
||||
* @return
|
||||
*/
|
||||
public static NBTTagCompound encodeRecipeInputs(String tagCompoundName, List<?> recipeInputs) {
|
||||
|
||||
// Check each element of the provided list to see if it can be wrapped as a CustomWrappedStack
|
||||
boolean validList = true;
|
||||
|
||||
if (recipeInputs != null && recipeInputs.size() > 0) {
|
||||
|
||||
for (Object recipeInput : recipeInputs) {
|
||||
|
||||
if (validList && !CustomWrappedStack.canBeWrapped(recipeInput)) {
|
||||
validList = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
validList = false;
|
||||
}
|
||||
|
||||
// If all elements in the list can be wrapped, then proceed with encoding
|
||||
if (validList) {
|
||||
|
||||
NBTTagCompound encodedRecipeInputs = new NBTTagCompound(tagCompoundName);
|
||||
|
||||
for (int i = 0; i < recipeInputs.size(); i++) {
|
||||
encodedRecipeInputs.setCompoundTag(String.format(TEMPLATE_RECIPE_INPUT_ENTRY, i), encodeStack(String.format(TEMPLATE_RECIPE_INPUT_ENTRY, i), recipeInputs.get(i)));
|
||||
}
|
||||
|
||||
return encodedRecipeInputs;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param encodedRecipeInputs
|
||||
* @return
|
||||
*/
|
||||
public static List<CustomWrappedStack> decodeRecipeInputs(NBTTagCompound encodedRecipeInputs) {
|
||||
|
||||
List<CustomWrappedStack> decodedRecipeInputs = new ArrayList<CustomWrappedStack>();
|
||||
|
||||
if (encodedRecipeInputs.getName().equalsIgnoreCase(TAG_NAME_RECIPE_INPUTS)) {
|
||||
|
||||
for (int i = 0; i < encodedRecipeInputs.getTags().size(); i++) {
|
||||
|
||||
NBTTagCompound encodedRecipeInput = encodedRecipeInputs.getCompoundTag(String.format(TEMPLATE_RECIPE_INPUT_ENTRY, i));
|
||||
|
||||
if (!encodedRecipeInput.hasNoTags()) {
|
||||
CustomWrappedStack decodedRecipeInput = decodeStack(encodedRecipeInput);
|
||||
|
||||
if (decodedRecipeInput.getWrappedStack() != null) {
|
||||
decodedRecipeInputs.add(decodedRecipeInput);
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return decodedRecipeInputs;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Begin NBT encode/decode helpers for Recipes
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @param recipeOutput
|
||||
* @param recipeInputs
|
||||
* @return
|
||||
*/
|
||||
public static NBTTagCompound encodeRecipe(Object recipeOutput, List<?> recipeInputs) {
|
||||
|
||||
Map<Object, List<?>> recipeMap = new HashMap<Object, List<?>>();
|
||||
recipeMap.put(recipeOutput, recipeInputs);
|
||||
|
||||
return encodeRecipes(TAG_NAME_RECIPES, recipeMap);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param tagCompoundName
|
||||
* @param recipeOutput
|
||||
* @param recipeInputs
|
||||
* @return
|
||||
*/
|
||||
public static NBTTagCompound encodeRecipe(String tagCompoundName, Object recipeOutput, List<?> recipeInputs) {
|
||||
|
||||
Map<Object, List<?>> recipeMap = new HashMap<Object, List<?>>();
|
||||
recipeMap.put(recipeOutput, recipeInputs);
|
||||
|
||||
return encodeRecipes(tagCompoundName, recipeMap);
|
||||
}
|
||||
|
||||
public static NBTTagCompound encodeRecipe(Map<Object, List<?>> recipes) {
|
||||
|
||||
return encodeRecipes(TAG_NAME_RECIPES, recipes);
|
||||
}
|
||||
|
||||
public static NBTTagCompound encodeRecipes(String tagCompoundName, Map<Object, List<?>> recipeMap) {
|
||||
|
||||
NBTTagCompound encodedRecipes = new NBTTagCompound(tagCompoundName);
|
||||
|
||||
int i = 0;
|
||||
for (Object recipeOutput : recipeMap.keySet()) {
|
||||
|
||||
boolean recipeMapEntryValid = true;
|
||||
List<?> recipeInputs = recipeMap.get(recipeOutput);
|
||||
|
||||
// Check to make sure that the given recipe map entry is valid (can be wrapped)
|
||||
if (CustomWrappedStack.canBeWrapped(recipeOutput)) {
|
||||
for (Object recipeInput : recipeInputs) {
|
||||
if (recipeMapEntryValid && !CustomWrappedStack.canBeWrapped(recipeInput)) {
|
||||
recipeMapEntryValid = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
recipeMapEntryValid = false;
|
||||
}
|
||||
|
||||
// Add the proven valid recipe map entry to the encoding
|
||||
if (recipeMapEntryValid) {
|
||||
|
||||
NBTTagCompound recipeListEntry = new NBTTagCompound(String.format(TEMPLATE_RECIPE_LIST_ENTRY, i));
|
||||
|
||||
recipeListEntry.setCompoundTag(TAG_NAME_RECIPE_OUTPUT, encodeStack(TAG_NAME_RECIPE_OUTPUT, recipeOutput));
|
||||
recipeListEntry.setCompoundTag(TAG_NAME_RECIPE_INPUTS, encodeRecipeInputs(recipeInputs));
|
||||
|
||||
encodedRecipes.setCompoundTag(String.format(TEMPLATE_RECIPE_LIST_ENTRY, i), recipeListEntry);
|
||||
i++;
|
||||
}
|
||||
else {
|
||||
// TODO Log the failure
|
||||
}
|
||||
}
|
||||
|
||||
if (encodedRecipes.hasNoTags()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return encodedRecipes;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param nbtEncodedRecipe
|
||||
* @return
|
||||
*/
|
||||
public static Multimap<CustomWrappedStack, List<CustomWrappedStack>> decodeRecipe(NBTTagCompound nbtEncodedRecipe) {
|
||||
|
||||
Multimap<CustomWrappedStack, List<CustomWrappedStack>> decodedRecipes = HashMultimap.create();
|
||||
|
||||
// TODO Finish
|
||||
|
||||
return decodedRecipes;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Begin NBT encode/decode helpers for CustomWrappedStack:EmcValue mappings
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @param object
|
||||
* @param emcValue
|
||||
* @return
|
||||
*/
|
||||
public static NBTTagCompound encodeStackValueMap(Object object, EmcValue emcValue) {
|
||||
|
||||
return encodeStackValueMap(TAG_NAME_STACK_VALUE_MAP, object, emcValue);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param tagCompoundName
|
||||
* @param object
|
||||
* @param emcValue
|
||||
* @return
|
||||
*/
|
||||
public static NBTTagCompound encodeStackValueMap(String tagCompoundName, Object object, EmcValue emcValue) {
|
||||
|
||||
Map<Object, EmcValue> stackValueMap = new HashMap<Object, EmcValue>();
|
||||
stackValueMap.put(object, emcValue);
|
||||
|
||||
return encodeStackValueMap(tagCompoundName, stackValueMap);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param stackValueMap
|
||||
* @return
|
||||
*/
|
||||
public static NBTTagCompound encodeStackValueMap(Map<?, EmcValue> stackValueMap) {
|
||||
|
||||
return encodeStackValueMap(TAG_NAME_STACK_VALUE_MAP, stackValueMap);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param tagCompoundName
|
||||
* @param stackValueMap
|
||||
* @return
|
||||
*/
|
||||
public static NBTTagCompound encodeStackValueMap(String tagCompoundName, Map<?, EmcValue> stackValueMap) {
|
||||
|
||||
NBTTagCompound encodedStackValueMap = new NBTTagCompound(tagCompoundName);
|
||||
|
||||
int i = 0;
|
||||
for (Object object : stackValueMap.keySet()) {
|
||||
|
||||
// Check to see if the mapping is a valid CustomWrappedStack:EmcValue mapping
|
||||
boolean validStackValueAssignment = true;
|
||||
if (CustomWrappedStack.canBeWrapped(object)) {
|
||||
if (stackValueMap.get(object) == null || stackValueMap.get(object).getValue() <= 0f) {
|
||||
validStackValueAssignment = false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
validStackValueAssignment = false;
|
||||
}
|
||||
|
||||
// If it is a valid mapping, encode the mapping and add it to the NBTTagCompound
|
||||
if (validStackValueAssignment) {
|
||||
|
||||
NBTTagCompound stackValueMapEntry = new NBTTagCompound(String.format(TEMPLATE_STACK_VALUE_MAP_ENTRY, i));
|
||||
|
||||
stackValueMapEntry.setCompoundTag(TAG_NAME_STACK, encodeStack(object));
|
||||
stackValueMapEntry.setCompoundTag(TAG_NAME_EMCVALUE, encodeEmcValue(stackValueMap.get(object)));
|
||||
|
||||
encodedStackValueMap.setCompoundTag(String.format(TEMPLATE_STACK_VALUE_MAP_ENTRY, i), stackValueMapEntry);
|
||||
i++;
|
||||
}
|
||||
else {
|
||||
// TODO Log the failure
|
||||
}
|
||||
}
|
||||
|
||||
if (encodedStackValueMap.hasNoTags()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return encodedStackValueMap;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param encodedStackValueMap
|
||||
* @return
|
||||
*/
|
||||
public static Map<CustomWrappedStack, EmcValue> decodeStackValueMap(NBTTagCompound encodedStackValueMap) {
|
||||
|
||||
Map<CustomWrappedStack, EmcValue> decodedStackValueMap = new TreeMap<CustomWrappedStack, EmcValue>();
|
||||
|
||||
if (!encodedStackValueMap.hasNoTags()) {
|
||||
if (encodedStackValueMap.getName().equalsIgnoreCase(TAG_NAME_STACK_VALUE_MAP)) {
|
||||
for (int i = 0; i < encodedStackValueMap.getTags().size(); i++) {
|
||||
|
||||
NBTTagCompound encodedStackValueMapEntry = encodedStackValueMap.getCompoundTag(String.format(TEMPLATE_STACK_VALUE_MAP_ENTRY, i));
|
||||
|
||||
if (encodedStackValueMapEntry.hasKey(TAG_NAME_STACK) && encodedStackValueMapEntry.hasKey(TAG_NAME_EMCVALUE)) {
|
||||
CustomWrappedStack decodedStack = decodeStack(encodedStackValueMapEntry.getCompoundTag(TAG_NAME_STACK));
|
||||
EmcValue decodedEmcValue = decodeEmcValue(encodedStackValueMapEntry.getCompoundTag(TAG_NAME_EMCVALUE));
|
||||
|
||||
if (decodedStack != null && decodedEmcValue != null) {
|
||||
if (!decodedStackValueMap.containsKey(decodedStack)) {
|
||||
decodedStackValueMap.put(decodedStack, decodedEmcValue);
|
||||
}
|
||||
else {
|
||||
// TODO Log the duplicate entry
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
// TODO Log the failure
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
// TODO Log the failure
|
||||
}
|
||||
}
|
||||
else {
|
||||
// TODO Log the failure
|
||||
}
|
||||
|
||||
if (decodedStackValueMap.size() > 0) {
|
||||
return decodedStackValueMap;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -1,480 +0,0 @@
|
|||
package com.pahimar.ee3.core.helper.nbt;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
|
||||
import com.pahimar.ee3.emc.EmcType;
|
||||
import com.pahimar.ee3.emc.EmcValue;
|
||||
import com.pahimar.ee3.item.CustomWrappedStack;
|
||||
import com.pahimar.ee3.item.EnergyStack;
|
||||
import com.pahimar.ee3.item.OreStack;
|
||||
import com.pahimar.ee3.lib.InterModComms;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
/**
|
||||
* Equivalent-Exchange-3
|
||||
*
|
||||
* NBTHelper
|
||||
*
|
||||
* @author pahimar
|
||||
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
|
||||
*
|
||||
*/
|
||||
public class GeneralNBTHelper {
|
||||
|
||||
public static NBTTagCompound encodeEmcValue(EmcValue emcValue) {
|
||||
|
||||
return encodeEmcValue(InterModComms.EMC_VALUE_TAG_NAME, emcValue);
|
||||
}
|
||||
|
||||
public static NBTTagCompound encodeEmcValue(String compoundName, EmcValue emcValue) {
|
||||
|
||||
NBTTagCompound encodedValue = new NBTTagCompound(compoundName);
|
||||
|
||||
for (EmcType emcType: EmcType.TYPES) {
|
||||
encodedValue.setFloat(String.format(InterModComms.EMC_VALUE_COMPONENT_ORDINAL_TEMPLATE, emcType.ordinal()), emcValue.components[emcType.ordinal()]);
|
||||
}
|
||||
|
||||
return encodedValue;
|
||||
}
|
||||
|
||||
public static EmcValue decodeEmcValue(NBTTagCompound encodedValue) {
|
||||
|
||||
float[] subValues = new float[EmcType.TYPES.length];
|
||||
|
||||
for (EmcType emcType : EmcType.TYPES) {
|
||||
if (encodedValue.hasKey(String.format(InterModComms.EMC_VALUE_COMPONENT_ORDINAL_TEMPLATE, emcType.ordinal())) && emcType.ordinal() < subValues.length) {
|
||||
subValues[emcType.ordinal()] = encodedValue.getFloat(String.format(InterModComms.EMC_VALUE_COMPONENT_ORDINAL_TEMPLATE, emcType.ordinal()));
|
||||
}
|
||||
}
|
||||
|
||||
return new EmcValue(subValues);
|
||||
}
|
||||
|
||||
public static NBTTagCompound encodeEmcValueMapping(Object object, EmcValue emcValue) {
|
||||
|
||||
return encodeEmcValueMapping(InterModComms.STACK_VALUE_MAPPING_TAG_NAME, object, emcValue);
|
||||
}
|
||||
|
||||
private static NBTTagCompound encodeEmcValueMapping(String compoundName, Object object, EmcValue emcValue) {
|
||||
|
||||
NBTTagCompound tagCompound = new NBTTagCompound(compoundName);
|
||||
|
||||
tagCompound.setCompoundTag(InterModComms.STACK_TAG_NAME, encodeStackAsNBT(InterModComms.STACK_TAG_NAME, object));
|
||||
tagCompound.setCompoundTag(InterModComms.EMC_VALUE_TAG_NAME, encodeEmcValue(InterModComms.EMC_VALUE_TAG_NAME, emcValue));
|
||||
|
||||
return tagCompound;
|
||||
}
|
||||
|
||||
public static NBTTagCompound encodeEmcValueMappings(String compoundName, Map<CustomWrappedStack, EmcValue> stackValueMap) {
|
||||
|
||||
NBTTagCompound tagCompound = new NBTTagCompound(compoundName);
|
||||
|
||||
tagCompound.setInteger(InterModComms.COUNT_TAG_NAME, stackValueMap.keySet().size());
|
||||
int i = 0;
|
||||
for (CustomWrappedStack stack : stackValueMap.keySet()) {
|
||||
tagCompound.setCompoundTag(String.format(InterModComms.STACK_VALUE_MAPPING_TEMPLATE, i), encodeEmcValueMapping(stack, stackValueMap.get(stack)));
|
||||
}
|
||||
|
||||
return tagCompound;
|
||||
}
|
||||
|
||||
public static NBTTagCompound encodeEmcValueMappings(Map<CustomWrappedStack, EmcValue> stackValueMap) {
|
||||
return encodeEmcValueMappings(InterModComms.STACK_VALUE_MAPPING_TAG_NAME, stackValueMap);
|
||||
}
|
||||
|
||||
public static NBTTagCompound encodeEmcValueMappings(String compoundName, Object object, EmcValue emcValue) {
|
||||
|
||||
HashMap<CustomWrappedStack, EmcValue> stackValueMap = new HashMap<CustomWrappedStack, EmcValue>();
|
||||
|
||||
if (CustomWrappedStack.canBeWrapped(object)) {
|
||||
CustomWrappedStack wrappedObject = new CustomWrappedStack(object);
|
||||
stackValueMap.put(wrappedObject, emcValue);
|
||||
return encodeEmcValueMappings(compoundName, stackValueMap);
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static Map<CustomWrappedStack, EmcValue> decodeEmcValueMappings(NBTTagCompound encodedEmcValueMap) {
|
||||
|
||||
Map<CustomWrappedStack, EmcValue> decodedEmcValueMapping = new HashMap<CustomWrappedStack, EmcValue>();
|
||||
|
||||
if (encodedEmcValueMap.getName().equals(InterModComms.STACK_VALUE_MAPPING_TAG_NAME)) {
|
||||
int count = encodedEmcValueMap.getInteger(InterModComms.COUNT_TAG_NAME);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
if (encodedEmcValueMap.hasKey(String.format(InterModComms.STACK_VALUE_MAPPING_TEMPLATE, i))) {
|
||||
|
||||
Map<CustomWrappedStack, EmcValue> decodedMapping = decodeEmcValueMapping(encodedEmcValueMap.getCompoundTag(String.format(InterModComms.STACK_VALUE_MAPPING_TEMPLATE, i)));
|
||||
|
||||
if (decodedMapping != null && decodedMapping.size() > 0) {
|
||||
decodedEmcValueMapping.putAll(decodedMapping);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return decodedEmcValueMapping;
|
||||
}
|
||||
|
||||
public static Map<CustomWrappedStack, EmcValue> decodeEmcValueMapping(NBTTagCompound encodedEmcValueMapping) {
|
||||
|
||||
Map<CustomWrappedStack, EmcValue> decodedEmcValueMapping = new HashMap<CustomWrappedStack, EmcValue>();
|
||||
|
||||
if (encodedEmcValueMapping.hasKey(InterModComms.STACK_TAG_NAME) && encodedEmcValueMapping.hasKey(InterModComms.EMC_VALUE_TAG_NAME)) {
|
||||
CustomWrappedStack stack = GeneralNBTHelper.decodeStackFromNBT(encodedEmcValueMapping.getCompoundTag(InterModComms.STACK_TAG_NAME));
|
||||
EmcValue emcValue = GeneralNBTHelper.decodeEmcValue(encodedEmcValueMapping.getCompoundTag(InterModComms.EMC_VALUE_TAG_NAME));
|
||||
|
||||
if (stack != null && emcValue != null) {
|
||||
if (stack.getWrappedStack() != null && emcValue.getValue() > 0) {
|
||||
decodedEmcValueMapping.put(stack, emcValue);
|
||||
return decodedEmcValueMapping;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// TODO Link this method to some API stuffs
|
||||
public static NBTTagCompound encodeStackAsNBT(Object stackObject) {
|
||||
|
||||
return encodeStackAsNBT("", stackObject);
|
||||
}
|
||||
|
||||
public static NBTTagCompound encodeStackAsNBT(String name, Object object) {
|
||||
|
||||
NBTTagCompound encodedStack = new NBTTagCompound(name);
|
||||
|
||||
if (CustomWrappedStack.canBeWrapped(object)) {
|
||||
|
||||
CustomWrappedStack wrappedStack = new CustomWrappedStack(object);
|
||||
|
||||
if (wrappedStack.getWrappedStack() instanceof ItemStack) {
|
||||
|
||||
ItemStack itemStack = (ItemStack) wrappedStack.getWrappedStack();
|
||||
itemStack.stackSize = wrappedStack.getStackSize();
|
||||
encodedStack.setString(Strings.NBT_ENCODED_ATTR_TYPE, Strings.NBT_ENCODED_ATTR_TYPE_ITEM);
|
||||
itemStack.writeToNBT(encodedStack);
|
||||
}
|
||||
else if (wrappedStack.getWrappedStack() instanceof OreStack) {
|
||||
OreStack oreStack = (OreStack) wrappedStack.getWrappedStack();
|
||||
|
||||
encodedStack.setString(Strings.NBT_ENCODED_ATTR_TYPE, Strings.NBT_ENCODED_ATTR_TYPE_ORE);
|
||||
encodedStack.setString(Strings.NBT_ENCODED_ATTR_ORE_NAME, oreStack.oreName);
|
||||
encodedStack.setShort(Strings.NBT_ENCODED_ATTR_SIZE, (short) wrappedStack.getStackSize());
|
||||
}
|
||||
else if (wrappedStack.getWrappedStack() instanceof EnergyStack) {
|
||||
EnergyStack energyStack = (EnergyStack) wrappedStack.getWrappedStack();
|
||||
|
||||
encodedStack.setString(Strings.NBT_ENCODED_ATTR_TYPE, Strings.NBT_ENCODED_ATTR_TYPE_ENERGY);
|
||||
encodedStack.setString(Strings.NBT_ENCODED_ATTR_ENERGY_NAME, energyStack.energyName);
|
||||
encodedStack.setShort(Strings.NBT_ENCODED_ATTR_SIZE, (short) wrappedStack.getStackSize());
|
||||
}
|
||||
}
|
||||
|
||||
return encodedStack;
|
||||
}
|
||||
|
||||
public static NBTTagCompound encodeRecipeAsNBT(Object recipeOutput, List<?> recipeInputs) {
|
||||
|
||||
NBTTagCompound encodedRecipe = new NBTTagCompound();
|
||||
|
||||
NBTTagCompound recipeOutputNBTCompound = encodeStackAsNBT(Strings.NBT_ENCODED_RECIPE_OUTPUT, recipeOutput);
|
||||
NBTTagList recipeInputsNBTList = new NBTTagList(Strings.NBT_ENCODED_RECIPE_INPUTS);
|
||||
|
||||
for (int i = 0; i < recipeInputs.size(); i++) {
|
||||
recipeInputsNBTList.appendTag(encodeStackAsNBT(Strings.NBT_ENCODED_RECIPE_INPUT_PREFIX.concat(Integer.toString(i)), recipeInputs.get(i)));
|
||||
}
|
||||
|
||||
encodedRecipe.setCompoundTag(Strings.NBT_ENCODED_RECIPE_OUTPUT, recipeOutputNBTCompound);
|
||||
encodedRecipe.setTag(Strings.NBT_ENCODED_RECIPE_INPUTS, recipeInputsNBTList);
|
||||
|
||||
return encodedRecipe;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param encodedStack
|
||||
* A NBTTagCompound containing the encoded information of either
|
||||
* a ItemStack, OreStack, or EnergyStack
|
||||
* @return A CustomWrappedStack containing the encoded stack provided in the
|
||||
* NBTTagCompound (could be ItemStack, OreStack, or EnergyStack).
|
||||
* Returns null in the event that no valid stack was able to be
|
||||
* parsed from the encoded NBTTagCompound.
|
||||
*/
|
||||
public static CustomWrappedStack decodeStackFromNBT(NBTTagCompound encodedStack) {
|
||||
|
||||
CustomWrappedStack decodedStack = null;
|
||||
|
||||
// If the encoded tag compound is of type ItemStack, parse out the ItemStack info
|
||||
if (encodedStack.hasKey(Strings.NBT_ENCODED_ATTR_TYPE)) {
|
||||
if (encodedStack.getString(Strings.NBT_ENCODED_ATTR_TYPE).equalsIgnoreCase(Strings.NBT_ENCODED_ATTR_TYPE_ITEM)) {
|
||||
|
||||
ItemStack itemStack = new ItemStack(0, 0, 0);
|
||||
itemStack.readFromNBT(encodedStack);
|
||||
decodedStack = new CustomWrappedStack(itemStack);
|
||||
}
|
||||
// Else if the encoded tag compound is of type OreStack, parse out the OreStack info
|
||||
else if (encodedStack.getString(Strings.NBT_ENCODED_ATTR_TYPE).equalsIgnoreCase(Strings.NBT_ENCODED_ATTR_TYPE_ORE)) {
|
||||
|
||||
if (encodedStack.hasKey(Strings.NBT_ENCODED_ATTR_ORE_NAME) && encodedStack.hasKey(Strings.NBT_ENCODED_ATTR_SIZE)) {
|
||||
if ((encodedStack.getString(Strings.NBT_ENCODED_ATTR_ORE_NAME).length() > 0) && (encodedStack.getShort(Strings.NBT_ENCODED_ATTR_SIZE) >= 0)) {
|
||||
decodedStack = new CustomWrappedStack(new OreStack(encodedStack.getString(Strings.NBT_ENCODED_ATTR_ORE_NAME), encodedStack.getShort(Strings.NBT_ENCODED_ATTR_SIZE)));
|
||||
}
|
||||
}
|
||||
}
|
||||
// Else if the encoded tag compound is of type EnergyStack, parse out the EnergyStack info
|
||||
else if (encodedStack.getString(Strings.NBT_ENCODED_ATTR_TYPE).equalsIgnoreCase(Strings.NBT_ENCODED_ATTR_TYPE_ENERGY)) {
|
||||
|
||||
if (encodedStack.hasKey(Strings.NBT_ENCODED_ATTR_ENERGY_NAME) && encodedStack.hasKey(Strings.NBT_ENCODED_ATTR_SIZE)) {
|
||||
if ((encodedStack.getString(Strings.NBT_ENCODED_ATTR_ENERGY_NAME).length() > 0) && (encodedStack.getShort(Strings.NBT_ENCODED_ATTR_SIZE) >= 0)) {
|
||||
decodedStack = new CustomWrappedStack(new EnergyStack(encodedStack.getString(Strings.NBT_ENCODED_ATTR_ENERGY_NAME), encodedStack.getShort(Strings.NBT_ENCODED_ATTR_SIZE)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This will only return non-null in the event that a proper
|
||||
* ItemStack|OreStack|EnergyStack was decoded from the encoded
|
||||
* NBTTagCompound
|
||||
*/
|
||||
return decodedStack;
|
||||
}
|
||||
|
||||
public static Map<CustomWrappedStack, List<CustomWrappedStack>> decodeRecipeFromNBT(NBTTagCompound encodedRecipe) {
|
||||
|
||||
HashMap<CustomWrappedStack, List<CustomWrappedStack>> decodedRecipe = new HashMap<CustomWrappedStack, List<CustomWrappedStack>>();
|
||||
|
||||
CustomWrappedStack recipeOutput = null;
|
||||
ArrayList<CustomWrappedStack> recipeInputs = new ArrayList<CustomWrappedStack>();
|
||||
|
||||
CustomWrappedStack decodedStack = null;
|
||||
NBTTagCompound encodedStack = null;
|
||||
|
||||
// Decode the recipe output
|
||||
if (encodedRecipe.hasKey(Strings.NBT_ENCODED_RECIPE_OUTPUT)) {
|
||||
|
||||
decodedStack = decodeStackFromNBT(encodedRecipe.getCompoundTag(Strings.NBT_ENCODED_RECIPE_OUTPUT));
|
||||
|
||||
if (decodedStack != null) {
|
||||
recipeOutput = decodedStack;
|
||||
}
|
||||
}
|
||||
|
||||
// Decode the recipe inputs
|
||||
if (encodedRecipe.hasKey("recipeInputs")) {
|
||||
NBTTagList recipeInputsTagList = encodedRecipe.getTagList(Strings.NBT_ENCODED_RECIPE_INPUTS);
|
||||
|
||||
for (int i = 0; i < recipeInputsTagList.tagCount(); i++) {
|
||||
if (recipeInputsTagList.tagAt(i) instanceof NBTTagCompound) {
|
||||
|
||||
encodedStack = (NBTTagCompound) recipeInputsTagList.tagAt(i);
|
||||
decodedStack = decodeStackFromNBT(encodedStack);
|
||||
|
||||
if (decodedStack != null) {
|
||||
recipeInputs.add(decodedStack);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If we decoded both a recipe output and some inputs for it, add it to the map
|
||||
if (recipeOutput != null && recipeInputs.size() > 0) {
|
||||
decodedRecipe.put(recipeOutput, recipeInputs);
|
||||
}
|
||||
|
||||
return decodedRecipe;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the NBT Tag Compound for the given ItemStack if it is null
|
||||
*
|
||||
* @param itemStack
|
||||
* The ItemStack for which its NBT Tag Compound is being checked
|
||||
* for initialization
|
||||
*/
|
||||
private static void initNBTTagCompound(ItemStack itemStack) {
|
||||
|
||||
if (itemStack.stackTagCompound == null) {
|
||||
itemStack.setTagCompound(new NBTTagCompound());
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean hasTag(ItemStack itemStack, String keyName) {
|
||||
|
||||
if (itemStack.stackTagCompound != null)
|
||||
return itemStack.stackTagCompound.hasKey(keyName);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void removeTag(ItemStack itemStack, String keyName) {
|
||||
|
||||
if (itemStack.stackTagCompound != null) {
|
||||
itemStack.stackTagCompound.removeTag(keyName);
|
||||
}
|
||||
}
|
||||
|
||||
// String
|
||||
public static String getString(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setString(itemStack, keyName, "");
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getString(keyName);
|
||||
}
|
||||
|
||||
public static void setString(ItemStack itemStack, String keyName, String keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setString(keyName, keyValue);
|
||||
}
|
||||
|
||||
// boolean
|
||||
public static boolean getBoolean(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setBoolean(itemStack, keyName, false);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getBoolean(keyName);
|
||||
}
|
||||
|
||||
public static void setBoolean(ItemStack itemStack, String keyName, boolean keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setBoolean(keyName, keyValue);
|
||||
}
|
||||
|
||||
// byte
|
||||
public static byte getByte(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setByte(itemStack, keyName, (byte) 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getByte(keyName);
|
||||
}
|
||||
|
||||
public static void setByte(ItemStack itemStack, String keyName, byte keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setByte(keyName, keyValue);
|
||||
}
|
||||
|
||||
// short
|
||||
public static short getShort(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setShort(itemStack, keyName, (short) 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getShort(keyName);
|
||||
}
|
||||
|
||||
public static void setShort(ItemStack itemStack, String keyName, short keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setShort(keyName, keyValue);
|
||||
}
|
||||
|
||||
// int
|
||||
public static int getInt(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setInteger(itemStack, keyName, 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getInteger(keyName);
|
||||
}
|
||||
|
||||
public static void setInteger(ItemStack itemStack, String keyName, int keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setInteger(keyName, keyValue);
|
||||
}
|
||||
|
||||
// long
|
||||
public static long getLong(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setLong(itemStack, keyName, 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getLong(keyName);
|
||||
}
|
||||
|
||||
public static void setLong(ItemStack itemStack, String keyName, long keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setLong(keyName, keyValue);
|
||||
}
|
||||
|
||||
// float
|
||||
public static float getFloat(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setFloat(itemStack, keyName, 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getFloat(keyName);
|
||||
}
|
||||
|
||||
public static void setFloat(ItemStack itemStack, String keyName, float keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setFloat(keyName, keyValue);
|
||||
}
|
||||
|
||||
// double
|
||||
public static double getDouble(ItemStack itemStack, String keyName) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
if (!itemStack.stackTagCompound.hasKey(keyName)) {
|
||||
setDouble(itemStack, keyName, 0);
|
||||
}
|
||||
|
||||
return itemStack.stackTagCompound.getDouble(keyName);
|
||||
}
|
||||
|
||||
public static void setDouble(ItemStack itemStack, String keyName, double keyValue) {
|
||||
|
||||
initNBTTagCompound(itemStack);
|
||||
|
||||
itemStack.stackTagCompound.setDouble(keyName, keyValue);
|
||||
}
|
||||
|
||||
}
|
|
@ -11,17 +11,13 @@ import net.minecraftforge.common.MinecraftForge;
|
|||
import com.pahimar.ee3.EquivalentExchange3;
|
||||
import com.pahimar.ee3.client.audio.SoundHandler;
|
||||
import com.pahimar.ee3.client.renderer.item.ItemAlchemicalChestRenderer;
|
||||
import com.pahimar.ee3.client.renderer.item.ItemAlchemyTableRenderer;
|
||||
import com.pahimar.ee3.client.renderer.item.ItemAludelRenderer;
|
||||
import com.pahimar.ee3.client.renderer.item.ItemCalcinatorRenderer;
|
||||
import com.pahimar.ee3.client.renderer.item.ItemGlassBellRenderer;
|
||||
import com.pahimar.ee3.client.renderer.item.ItemRenderingTankRenderer;
|
||||
import com.pahimar.ee3.client.renderer.tileentity.TileEntityAlchemicalChestRenderer;
|
||||
import com.pahimar.ee3.client.renderer.tileentity.TileEntityAlchemyTableRenderer;
|
||||
import com.pahimar.ee3.client.renderer.tileentity.TileEntityAludelRenderer;
|
||||
import com.pahimar.ee3.client.renderer.tileentity.TileEntityCalcinatorRenderer;
|
||||
import com.pahimar.ee3.client.renderer.tileentity.TileEntityGlassBellRenderer;
|
||||
import com.pahimar.ee3.client.renderer.tileentity.TileEntityRenderingTankRenderer;
|
||||
import com.pahimar.ee3.core.handler.DrawBlockHighlightHandler;
|
||||
import com.pahimar.ee3.core.handler.KeyBindingHandler;
|
||||
import com.pahimar.ee3.core.handler.TransmutationTargetOverlayHandler;
|
||||
|
@ -36,12 +32,10 @@ import com.pahimar.ee3.lib.RenderIds;
|
|||
import com.pahimar.ee3.network.PacketTypeHandler;
|
||||
import com.pahimar.ee3.network.packet.PacketRequestEvent;
|
||||
import com.pahimar.ee3.tileentity.TileAlchemicalChest;
|
||||
import com.pahimar.ee3.tileentity.TileAlchemyTable;
|
||||
import com.pahimar.ee3.tileentity.TileAludel;
|
||||
import com.pahimar.ee3.tileentity.TileCalcinator;
|
||||
import com.pahimar.ee3.tileentity.TileEE;
|
||||
import com.pahimar.ee3.tileentity.TileGlassBell;
|
||||
import com.pahimar.ee3.tileentity.TileRenderingTank;
|
||||
|
||||
import cpw.mods.fml.client.FMLClientHandler;
|
||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||
|
@ -100,15 +94,11 @@ public class ClientProxy extends CommonProxy {
|
|||
RenderIds.aludelRender = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderIds.alchemicalChestRender = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderIds.glassBell = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderIds.alchemyTable = RenderingRegistry.getNextAvailableRenderId();
|
||||
RenderIds.renderingTank = RenderingRegistry.getNextAvailableRenderId();
|
||||
|
||||
MinecraftForgeClient.registerItemRenderer(BlockIds.CALCINATOR, new ItemCalcinatorRenderer());
|
||||
MinecraftForgeClient.registerItemRenderer(BlockIds.ALUDEL_BASE, new ItemAludelRenderer());
|
||||
MinecraftForgeClient.registerItemRenderer(BlockIds.ALCHEMICAL_CHEST, new ItemAlchemicalChestRenderer());
|
||||
MinecraftForgeClient.registerItemRenderer(BlockIds.GLASS_BELL, new ItemGlassBellRenderer());
|
||||
MinecraftForgeClient.registerItemRenderer(BlockIds.ALCHEMY_TABLE, new ItemAlchemyTableRenderer());
|
||||
MinecraftForgeClient.registerItemRenderer(BlockIds.RENDERING_TANK, new ItemRenderingTankRenderer());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -120,8 +110,6 @@ public class ClientProxy extends CommonProxy {
|
|||
ClientRegistry.bindTileEntitySpecialRenderer(TileAludel.class, new TileEntityAludelRenderer());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileAlchemicalChest.class, new TileEntityAlchemicalChestRenderer());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileGlassBell.class, new TileEntityGlassBellRenderer());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileAlchemyTable.class, new TileEntityAlchemyTableRenderer());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileRenderingTank.class, new TileEntityRenderingTankRenderer());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -22,11 +22,9 @@ import com.pahimar.ee3.inventory.ContainerPortableTransmutation;
|
|||
import com.pahimar.ee3.lib.GuiIds;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
import com.pahimar.ee3.tileentity.TileAlchemicalChest;
|
||||
import com.pahimar.ee3.tileentity.TileAlchemyTable;
|
||||
import com.pahimar.ee3.tileentity.TileAludel;
|
||||
import com.pahimar.ee3.tileentity.TileCalcinator;
|
||||
import com.pahimar.ee3.tileentity.TileGlassBell;
|
||||
import com.pahimar.ee3.tileentity.TileRenderingTank;
|
||||
|
||||
import cpw.mods.fml.common.network.IGuiHandler;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
|
@ -72,8 +70,6 @@ public class CommonProxy implements IGuiHandler {
|
|||
GameRegistry.registerTileEntity(TileAludel.class, Strings.TE_ALUDEL_NAME);
|
||||
GameRegistry.registerTileEntity(TileAlchemicalChest.class, Strings.TE_ALCHEMICAL_CHEST_NAME);
|
||||
GameRegistry.registerTileEntity(TileGlassBell.class, Strings.TE_GLASS_BELL_NAME);
|
||||
GameRegistry.registerTileEntity(TileAlchemyTable.class, Strings.TE_ALCHEMY_TABLE_NAME);
|
||||
GameRegistry.registerTileEntity(TileRenderingTank.class, Strings.TE_RENDERING_TANK_NAME);
|
||||
}
|
||||
|
||||
public void transmuteBlock(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int sideHit) {
|
||||
|
|
|
@ -6,7 +6,7 @@ import net.minecraft.inventory.Container;
|
|||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.core.helper.ItemStackNBTHelper;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
/**
|
||||
|
@ -56,8 +56,8 @@ public class ContainerAlchemicalBag extends Container {
|
|||
InventoryPlayer invPlayer = player.inventory;
|
||||
for (ItemStack itemStack : invPlayer.mainInventory) {
|
||||
if (itemStack != null) {
|
||||
if (GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN);
|
||||
if (ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
package com.pahimar.ee3.inventory;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
|
||||
import com.pahimar.ee3.tileentity.TileAlchemyTable;
|
||||
|
||||
public class ContainerAlchemyTable extends Container {
|
||||
|
||||
private TileAlchemyTable tileAlchemyTable;
|
||||
|
||||
public ContainerAlchemyTable(InventoryPlayer inventoryPlayer, TileAlchemyTable tileAlchemyTable) {
|
||||
|
||||
this.tileAlchemyTable = tileAlchemyTable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer entityplayer) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -6,7 +6,7 @@ import net.minecraft.inventory.ContainerWorkbench;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.core.helper.ItemStackNBTHelper;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
/**
|
||||
|
@ -40,8 +40,8 @@ public class ContainerPortableCrafting extends ContainerWorkbench {
|
|||
InventoryPlayer invPlayer = player.inventory;
|
||||
for (ItemStack itemStack : invPlayer.mainInventory) {
|
||||
if (itemStack != null) {
|
||||
if (GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN);
|
||||
if (ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import net.minecraft.entity.player.InventoryPlayer;
|
|||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.core.helper.ItemStackNBTHelper;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
/**
|
||||
|
@ -35,8 +35,8 @@ public class ContainerPortableTransmutation extends Container {
|
|||
InventoryPlayer invPlayer = player.inventory;
|
||||
for (ItemStack itemStack : invPlayer.mainInventory) {
|
||||
if (itemStack != null) {
|
||||
if (GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
GeneralNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
if (ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN)) {
|
||||
ItemStackNBTHelper.removeTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,130 +0,0 @@
|
|||
package com.pahimar.ee3.inventory;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.WorldSavedData;
|
||||
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
/**
|
||||
* Equivalent-Exchange-3
|
||||
*
|
||||
* WorldSavedDataEE
|
||||
*
|
||||
* @author pahimar
|
||||
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
|
||||
*
|
||||
*/
|
||||
public class WorldSavedDataEE extends WorldSavedData implements IInventory {
|
||||
|
||||
public UUID uuid;
|
||||
public ItemStack[] inventory;
|
||||
|
||||
private final int INVENTORY_SIZE = 13 * 4;
|
||||
|
||||
public WorldSavedDataEE(String filePath) {
|
||||
|
||||
super(filePath);
|
||||
inventory = new ItemStack[INVENTORY_SIZE];
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
|
||||
return inventory.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int slot) {
|
||||
|
||||
return inventory[slot];
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int var1, int var2) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlotOnClosing(int var1) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(int var1, ItemStack var2) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInvName() {
|
||||
|
||||
return "worldsaveddata" + "." + Strings.ALCHEMICAL_BAG_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
|
||||
return 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInventoryChanged() {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseableByPlayer(EntityPlayer var1) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openChest() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeChest() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInvNameLocalized() {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack itemstack) {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -9,7 +9,7 @@ import net.minecraft.world.World;
|
|||
|
||||
import com.pahimar.ee3.EquivalentExchange3;
|
||||
import com.pahimar.ee3.core.helper.ItemHelper;
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.core.helper.ItemStackNBTHelper;
|
||||
import com.pahimar.ee3.lib.Colours;
|
||||
import com.pahimar.ee3.lib.GuiIds;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
@ -55,7 +55,7 @@ public class ItemAlchemicalBag extends ItemEE {
|
|||
public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer entityPlayer) {
|
||||
|
||||
if (!world.isRemote) {
|
||||
GeneralNBTHelper.setBoolean(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN, true);
|
||||
ItemStackNBTHelper.setBoolean(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN, true);
|
||||
entityPlayer.openGui(EquivalentExchange3.instance, GuiIds.ALCHEMICAL_BAG, entityPlayer.worldObj, (int) entityPlayer.posX, (int) entityPlayer.posY, (int) entityPlayer.posZ);
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,7 @@ public class ItemAlchemicalBag extends ItemEE {
|
|||
public Icon getIcon(ItemStack itemStack, int renderPass) {
|
||||
|
||||
// If the bag is open
|
||||
if (GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
if (ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_ALCHEMICAL_BAG_GUI_OPEN)) {
|
||||
if (renderPass != 1)
|
||||
return icons[0];
|
||||
else
|
||||
|
|
|
@ -7,8 +7,8 @@ import net.minecraft.world.World;
|
|||
|
||||
import com.pahimar.ee3.EquivalentExchange3;
|
||||
import com.pahimar.ee3.configuration.ConfigurationSettings;
|
||||
import com.pahimar.ee3.core.helper.ItemStackNBTHelper;
|
||||
import com.pahimar.ee3.core.helper.TransmutationHelper;
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.lib.GuiIds;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
|
@ -39,7 +39,7 @@ public class ItemMiniumStone extends ItemEE
|
|||
@SideOnly(Side.CLIENT)
|
||||
public boolean hasEffect(ItemStack itemStack) {
|
||||
|
||||
return GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN) || GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
return ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN) || ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -85,14 +85,14 @@ public class ItemMiniumStone extends ItemEE
|
|||
@Override
|
||||
public void openPortableCraftingGUI(EntityPlayer thePlayer, ItemStack itemStack) {
|
||||
|
||||
GeneralNBTHelper.setBoolean(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN, true);
|
||||
ItemStackNBTHelper.setBoolean(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN, true);
|
||||
thePlayer.openGui(EquivalentExchange3.instance, GuiIds.PORTABLE_CRAFTING, thePlayer.worldObj, (int) thePlayer.posX, (int) thePlayer.posY, (int) thePlayer.posZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openPortableTransmutationGUI(EntityPlayer thePlayer, ItemStack itemStack) {
|
||||
|
||||
GeneralNBTHelper.setBoolean(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN, true);
|
||||
ItemStackNBTHelper.setBoolean(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN, true);
|
||||
thePlayer.openGui(EquivalentExchange3.instance, GuiIds.PORTABLE_TRANSMUTATION, thePlayer.worldObj, (int) thePlayer.posX, (int) thePlayer.posY, (int) thePlayer.posZ);
|
||||
}
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ import net.minecraft.world.World;
|
|||
|
||||
import com.pahimar.ee3.EquivalentExchange3;
|
||||
import com.pahimar.ee3.configuration.ConfigurationSettings;
|
||||
import com.pahimar.ee3.core.helper.ItemStackNBTHelper;
|
||||
import com.pahimar.ee3.core.helper.TransmutationHelper;
|
||||
import com.pahimar.ee3.core.helper.nbt.GeneralNBTHelper;
|
||||
import com.pahimar.ee3.lib.GuiIds;
|
||||
import com.pahimar.ee3.lib.Sounds;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
@ -46,7 +46,7 @@ public class ItemPhilosophersStone extends ItemEE
|
|||
@SideOnly(Side.CLIENT)
|
||||
public boolean hasEffect(ItemStack itemStack) {
|
||||
|
||||
return GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN) || GeneralNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
return ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN) || ItemStackNBTHelper.hasTag(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -92,14 +92,14 @@ public class ItemPhilosophersStone extends ItemEE
|
|||
@Override
|
||||
public void openPortableCraftingGUI(EntityPlayer thePlayer, ItemStack itemStack) {
|
||||
|
||||
GeneralNBTHelper.setBoolean(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN, true);
|
||||
ItemStackNBTHelper.setBoolean(itemStack, Strings.NBT_ITEM_CRAFTING_GUI_OPEN, true);
|
||||
thePlayer.openGui(EquivalentExchange3.instance, GuiIds.PORTABLE_CRAFTING, thePlayer.worldObj, (int) thePlayer.posX, (int) thePlayer.posY, (int) thePlayer.posZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openPortableTransmutationGUI(EntityPlayer thePlayer, ItemStack itemStack) {
|
||||
|
||||
GeneralNBTHelper.setBoolean(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN, true);
|
||||
ItemStackNBTHelper.setBoolean(itemStack, Strings.NBT_ITEM_TRANSMUTATION_GUI_OPEN, true);
|
||||
thePlayer.openGui(EquivalentExchange3.instance, GuiIds.PORTABLE_TRANSMUTATION, thePlayer.worldObj, (int) thePlayer.posX, (int) thePlayer.posY, (int) thePlayer.posZ);
|
||||
}
|
||||
|
||||
|
@ -112,30 +112,30 @@ public class ItemPhilosophersStone extends ItemEE
|
|||
@Override
|
||||
public short getCharge(ItemStack stack) {
|
||||
|
||||
return GeneralNBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY);
|
||||
return ItemStackNBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCharge(ItemStack stack, short charge) {
|
||||
|
||||
if (charge <= maxChargeLevel) {
|
||||
GeneralNBTHelper.setShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY, charge);
|
||||
ItemStackNBTHelper.setShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY, charge);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void increaseCharge(ItemStack stack) {
|
||||
|
||||
if (GeneralNBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) < maxChargeLevel) {
|
||||
GeneralNBTHelper.setShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY, (short) (GeneralNBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) + 1));
|
||||
if (ItemStackNBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) < maxChargeLevel) {
|
||||
ItemStackNBTHelper.setShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY, (short) (ItemStackNBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) + 1));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decreaseCharge(ItemStack stack) {
|
||||
|
||||
if (GeneralNBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) > 0) {
|
||||
GeneralNBTHelper.setShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY, (short) (GeneralNBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) - 1));
|
||||
if (ItemStackNBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) > 0) {
|
||||
ItemStackNBTHelper.setShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY, (short) (ItemStackNBTHelper.getShort(stack, Strings.NBT_ITEM_CHARGE_LEVEL_KEY) - 1));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import net.minecraft.item.Item;
|
|||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import com.pahimar.ee3.lib.ItemIds;
|
||||
import com.pahimar.ee3.lib.Strings;
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
|
||||
|
@ -19,7 +20,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
|
|||
*/
|
||||
public class ModItems {
|
||||
|
||||
/* Mod item instances */
|
||||
// Mod item instances
|
||||
public static Item miniumShard;
|
||||
public static Item inertStone;
|
||||
public static Item miniumStone;
|
||||
|
@ -30,7 +31,7 @@ public class ModItems {
|
|||
|
||||
public static void init() {
|
||||
|
||||
/* Initialize each mod item individually */
|
||||
// Initialize each mod item individually
|
||||
miniumShard = new ItemMiniumShard(ItemIds.MINIUM_SHARD);
|
||||
inertStone = new ItemInertStone(ItemIds.INERT_STONE);
|
||||
miniumStone = new ItemMiniumStone(ItemIds.MINIUM_STONE);
|
||||
|
@ -39,14 +40,22 @@ public class ModItems {
|
|||
alchemicalBag = new ItemAlchemicalBag(ItemIds.ALCHEMICAL_BAG);
|
||||
alchemicalChalk = new ItemAlchemicalChalk(ItemIds.ALCHEMICAL_CHALK);
|
||||
|
||||
// Set container items
|
||||
miniumStone.setContainerItem(miniumStone);
|
||||
philStone.setContainerItem(philStone);
|
||||
|
||||
// TODO Register items with the GameRegistry
|
||||
|
||||
|
||||
// Register items with the GameRegistry
|
||||
GameRegistry.registerItem(miniumShard, Strings.MINIUM_SHARD_NAME);
|
||||
GameRegistry.registerItem(inertStone, Strings.INERT_STONE_NAME);
|
||||
GameRegistry.registerItem(miniumStone, Strings.MINIUM_STONE_NAME);
|
||||
GameRegistry.registerItem(philStone, Strings.PHILOSOPHERS_STONE_NAME);
|
||||
GameRegistry.registerItem(alchemicalDust, Strings.ALCHEMICAL_DUST_NAME);
|
||||
GameRegistry.registerItem(alchemicalBag, Strings.ALCHEMICAL_BAG_NAME);
|
||||
GameRegistry.registerItem(alchemicalChalk, Strings.ALCHEMICAL_CHALK_NAME);
|
||||
|
||||
// Add recipes for items
|
||||
GameRegistry.addRecipe(new ItemStack(inertStone), new Object[] { "sis", "igi", "sis", Character.valueOf('s'), Block.stone, Character.valueOf('i'), Item.ingotIron, Character.valueOf('g'), Item.ingotGold });
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(miniumStone), new Object[] { "sss", "sis", "sss", Character.valueOf('s'), miniumShard, Character.valueOf('i'), inertStone });
|
||||
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(alchemicalChalk), new ItemStack(Item.clay), new ItemStack(Item.dyePowder.itemID, 1, 15), new ItemStack(Item.dyePowder.itemID, 1, 15), new ItemStack(Item.dyePowder.itemID, 1, 15), new ItemStack(Item.dyePowder.itemID, 1, 15));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,20 +13,14 @@ public class BlockIds {
|
|||
|
||||
/* Default block ids */
|
||||
public static int CALCINATOR_DEFAULT = 2451;
|
||||
public static int RED_WATER_STILL_DEFAULT = 2453;
|
||||
public static int ALUDEL_BASE_DEFAULT = 2454;
|
||||
public static int ALCHEMICAL_CHEST_DEFAULT = 2455;
|
||||
public static int GLASS_BELL_DEFAULT = 2456;
|
||||
public static int ALCHEMY_TABLE_DEFAULT = 2457;
|
||||
public static int RENDERING_TANK_DEFAULT = 2458;
|
||||
|
||||
/* Current block ids */
|
||||
public static int CALCINATOR;
|
||||
public static int ALUDEL_BASE;
|
||||
public static int ALCHEMICAL_CHEST;
|
||||
public static int RED_WATER_STILL;
|
||||
public static int GLASS_BELL;
|
||||
public static int ALCHEMY_TABLE;
|
||||
public static int RENDERING_TANK;
|
||||
|
||||
}
|
||||
|
|
|
@ -8,7 +8,5 @@ public class Models {
|
|||
public static final String ALUDEL = MODEL_LOCATION + "aludel.obj";
|
||||
public static final String CALCINATOR = MODEL_LOCATION + "calcinator.obj";
|
||||
public static final String GLASS_BELL = MODEL_LOCATION + "aludel.obj";
|
||||
public static final String ALCHEMY_TABLE = MODEL_LOCATION + "alchemyTable.obj";
|
||||
public static final String RENDERING_TANK = MODEL_LOCATION + "renderingTank.obj";
|
||||
|
||||
}
|
||||
|
|
|
@ -15,7 +15,5 @@ public class RenderIds {
|
|||
public static int aludelRender;
|
||||
public static int alchemicalChestRender;
|
||||
public static int glassBell;
|
||||
public static int alchemyTable;
|
||||
public static int renderingTank;
|
||||
|
||||
}
|
||||
|
|
|
@ -62,10 +62,6 @@ public class Strings {
|
|||
public static final String ALUDEL_NAME = "aludel";
|
||||
public static final String ALCHEMICAL_CHEST_NAME = "alchemicalChest";
|
||||
public static final String GLASS_BELL_NAME = "glassBell";
|
||||
public static final String RED_WATER_STILL_NAME = "redWaterStill";
|
||||
public static final String RED_WATER_FLOWING_NAME = "redWaterFlowing";
|
||||
public static final String ALCHEMY_TABLE_NAME = "alchemyTable";
|
||||
public static final String RENDERING_TANK_NAME = "renderingTank";
|
||||
|
||||
/* Item name constants */
|
||||
public static final String MINIUM_SHARD_NAME = "shardMinium";
|
||||
|
@ -81,8 +77,6 @@ public class Strings {
|
|||
public static final String TE_ALUDEL_NAME = "tileAludel";
|
||||
public static final String TE_ALCHEMICAL_CHEST_NAME = "tileAlchemicalChest";
|
||||
public static final String TE_GLASS_BELL_NAME = "tileGlassBell";
|
||||
public static final String TE_ALCHEMY_TABLE_NAME = "tileAlchemyTable";
|
||||
public static final String TE_RENDERING_TANK_NAME = "tileRenderingTank";
|
||||
|
||||
/* Transmutation cost related constants */
|
||||
public static final String TRANSMUTATION_COST = "_cost";
|
||||
|
@ -98,6 +92,4 @@ public class Strings {
|
|||
public static final String CONTAINER_GLASS_BELL_NAME = "container.ee3:" + GLASS_BELL_NAME;
|
||||
public static final String CONTAINER_INVENTORY = "container.inventory";
|
||||
public static final String CONTAINER_PORTABLE_CRAFTING = "container.crafting";
|
||||
public static final String CONTAINER_ALCHEMY_TABLE = "container.ee3:" + ALCHEMY_TABLE_NAME;
|
||||
public static final String CONTAINER_RENDERING_TANK = "container.ee3:" + RENDERING_TANK_NAME;
|
||||
}
|
||||
|
|
|
@ -36,16 +36,12 @@ public class Textures {
|
|||
public static final ResourceLocation GUI_PORTABLE_CRAFTING = new ResourceLocation("textures/gui/container/crafting_table.png");
|
||||
public static final ResourceLocation GUI_PORTABLE_TRANSMUTATION = ResourceLocationHelper.getResourceLocation(GUI_SHEET_LOCATION + "portableTransmutation.png");
|
||||
public static final ResourceLocation GUI_GLASS_BELL = ResourceLocationHelper.getResourceLocation(GUI_SHEET_LOCATION + "glassBell.png");
|
||||
public static final ResourceLocation GUI_ALCHEMY_TABLE = ResourceLocationHelper.getResourceLocation(GUI_SHEET_LOCATION + "alchemyTable.png");
|
||||
public static final ResourceLocation GUI_RENDERING_TANK = ResourceLocationHelper.getResourceLocation(GUI_SHEET_LOCATION + "renderingTank.png");
|
||||
|
||||
// Model textures
|
||||
public static final ResourceLocation MODEL_CALCINATOR = ResourceLocationHelper.getResourceLocation(MODEL_SHEET_LOCATION + "calcinator.png");
|
||||
public static final ResourceLocation MODEL_ALUDEL = ResourceLocationHelper.getResourceLocation(MODEL_SHEET_LOCATION + "aludel.png");
|
||||
public static final ResourceLocation MODEL_ALCHEMICAL_CHEST = ResourceLocationHelper.getResourceLocation(MODEL_SHEET_LOCATION + "alchemicalChest.png");
|
||||
public static final ResourceLocation MODEL_GLASS_BELL = ResourceLocationHelper.getResourceLocation(MODEL_SHEET_LOCATION + "aludel.png");
|
||||
public static final ResourceLocation MODEL_ALCHEMY_TABLE = ResourceLocationHelper.getResourceLocation(MODEL_SHEET_LOCATION + "alchemyTable.png");
|
||||
public static final ResourceLocation MODEL_RENDERING_TANK = ResourceLocationHelper.getResourceLocation(MODEL_SHEET_LOCATION + "renderingTank.png");
|
||||
|
||||
// Effect textures
|
||||
public static final ResourceLocation EFFECT_WORLD_TRANSMUTATION = ResourceLocationHelper.getResourceLocation(EFFECTS_LOCATION + "noise.png");
|
||||
|
|
|
@ -1,89 +0,0 @@
|
|||
package com.pahimar.ee3.tileentity;
|
||||
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class TileAlchemyTable extends TileEE implements IInventory {
|
||||
|
||||
public TileAlchemyTable() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int slotIndex) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int slotIndex, int decrementAmount) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlotOnClosing(int slotIndex) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(int slotIndex, ItemStack itemstack) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInvName() {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInvNameLocalized() {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openChest() {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeChest() {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int slotIndex, ItemStack itemstack) {
|
||||
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
package com.pahimar.ee3.tileentity;
|
||||
|
||||
public class TileRenderingTank extends TileEE {
|
||||
|
||||
public TileRenderingTank() {
|
||||
|
||||
}
|
||||
}
|
|
@ -19,14 +19,10 @@ item.ee3:alchemicalBag.name=Alchemical Bag [WIP]
|
|||
item.ee3:alchemicalChalk.name=Alchemical Chalk [WIP]
|
||||
|
||||
# Block localizations
|
||||
tile.ee3:redWaterStill.name=Red Water (Still)
|
||||
tile.ee3:redWaterFlowing.name=Red Water (Flowing)
|
||||
tile.ee3:calcinator.name=Calcinator [WIP]
|
||||
tile.ee3:aludel.name=Aludel [WIP]
|
||||
tile.ee3:alchemicalChest.name=Alchemical Chest [WIP]
|
||||
tile.ee3:glassBell.name=Glass Bell [WIP]
|
||||
tile.ee3:alchemyTable.name=Alchemy Table [WIP]
|
||||
tile.ee3:renderingTank.name=Rendering Tank [WIP]
|
||||
|
||||
# GUI localizations
|
||||
container.ee3:calcinator=Calcinator [WIP]
|
||||
|
@ -34,8 +30,6 @@ container.ee3:aludel=Aludel [WIP]
|
|||
container.ee3:alchemicalChest=Alchemical Chest [WIP]
|
||||
container.ee3:alchemicalBag=Alchemical Bag [WIP]
|
||||
container.ee3:glassBell=Glass Bell [WIP]
|
||||
container.ee3:alchemyTable.name=Alchemy Table [WIP]
|
||||
container.ee3:renderingTank.name=Rendering Tank [WIP]
|
||||
|
||||
# Command localizations
|
||||
command.ee3:overlay.turned_on=Target transmutation overlay turned on
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
|
||||
<properties version="1.0">
|
||||
<comment>Welsh (cy_GB) Localization File</comment>
|
||||
<!--REQUIRES ADDITIONAL UPDATING-->
|
||||
<entry key="key.extra">Ychwanegol</entry>
|
||||
<entry key="key.release">Rhyddhau</entry>
|
||||
<entry key="key.toggle">Toglo</entry>
|
||||
<entry key="key.charge">Gwefru</entry>
|
||||
<entry key="item.shardMinium.name">Darn o Finiwm</entry>
|
||||
<entry key="item.stoneInert.name">Carreg Anadweithiol</entry>
|
||||
<entry key="item.stoneMinium.name">Carreg Miniwm</entry>
|
||||
<entry key="item.stonePhilosophers.name">Maen Athronwyr</entry>
|
||||
<entry key="item.alchemicalDustAsh.name">Lludw</entry>
|
||||
<entry key="item.alchemicalDustMinium.name">Llwch Miniwm</entry>
|
||||
<entry key="item.alchemicalDustVerdant.name">Llwch Werdd</entry>
|
||||
<entry key="item.alchemicalDustAzure.name">Llwch Asur</entry>
|
||||
<entry key="item.alchemicalDustAmaranthine.name">Llwch Amorol</entry>
|
||||
<entry key="item.alchemicalDustIridescent.name">Llwch Symudliw</entry>
|
||||
<entry key="item.alchemicalBag.name">Bag Alcemaidd</entry>
|
||||
<entry key="tile.redWaterStill.name">Dŵr Coch (Llonydd)</entry>
|
||||
<entry key="tile.redWaterFlowing.name">Dŵr Coch (Llifeiriol)</entry>
|
||||
<entry key="tile.calcinator.name">Calchyniadwr</entry>
|
||||
<entry key="container.calcinator">Calchyniadwr</entry>
|
||||
<entry key="itemGroup.EE3">Equivalent Exchange 3</entry>
|
||||
<entry key="version.init_log_message">Ymgychwynnu gwiriad fersiwn yn erbyn yr awdurdod fersiwn pell, a leolir ar</entry>
|
||||
<entry key="version.uninitialized">Ni ymgychwynodd y gwiriad fersiwn yn briodol</entry>
|
||||
<entry key="version.current">Rydych yn defnyddio y fersiwn diweddaraf (@REMOTE_MOD_VERSION@) o Equivalent Exchange 3 ar gyfer @MINECRAFT_VERSION@</entry>
|
||||
<entry key="version.outdated">Mae yna fersiwn mwy diweddar o @MOD_NAME@ ar gael (@REMOTE_MOD_VERSION@) ar gyfer @MINECRAFT_VERSION@. Ffeindiwch o yma: @MOD_UPDATE_LOCATION@</entry>
|
||||
<entry key="version.general_error">Gwall wrth drio gysylltu gyda'r ffeil awdurdod fersiwn pell; trio eto</entry>
|
||||
<entry key="version.final_error">Gwiriad fersiwn yn stopio ar ôl tri tro aflwyddiannus</entry>
|
||||
<entry key="command.ee3.overlay.turned_on">Wedi troi troshaen targed trawsnewidiad ymlaen</entry>
|
||||
<entry key="command.ee3.overlay.turned_off">Wedi diffodd troshaen targed trawsnewidiad</entry>
|
||||
<entry key="command.ee3.overlay.position.top_left">Safle troshaen targed trawsnewidiad wedi ei osod i'r top chwith</entry>
|
||||
<entry key="command.ee3.overlay.position.top_right">Safle troshaen targed trawsnewidiad wedi ei osod i'r top dde</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_left">Safle troshaen targed trawsnewidiad wedi ei osod i'r gwaelod chwith</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_right">Safle troshaen targed trawsnewidiad wedi ei osod i'r gwaelod dde</entry>
|
||||
<entry key="command.ee3.overlay.opacity.usage.additional_text">(ble mae ### yn werth degol rhwng 0.0 ac 1.0) </entry>
|
||||
<entry key="command.ee3.overlay.opacity.updated">Didreiddedd troshaen targed trawsnewidiad wedi'i ddiweddaru yn llwyddiannus</entry>
|
||||
<entry key="command.ee3.overlay.scale.usage.additional_text">(ble mae ### yn werth degol mwy na 0.0) </entry>
|
||||
<entry key="command.ee3.overlay.scale.updated">Graddfa troshaen targed trawsnewidiad wedi'i ddiweddaru yn llwyddiannus</entry>
|
||||
<entry key="command.ee3.particles.turned_on">Wedi troi gronynnau Equivalent Exchange 3 ymlaen</entry>
|
||||
<entry key="command.ee3.particles.turned_off">Wedi diffodd gronynnau Equivalent Exchange 3</entry>
|
||||
<entry key="command.ee3.sounds.set_to_all">Chwaraeir seiniau Equivalent Exchange 3 o holl chwaraewyr</entry>
|
||||
<entry key="command.ee3.sounds.set_to_self">Chwaraeir seiniau Equivalent Exchange 3 o'n hunan yn unig</entry>
|
||||
<entry key="command.ee3.sounds.turned_off">Ni chwaraeir seiniau Equivalent Exchange 3 o gwbl</entry>
|
||||
</properties>
|
|
@ -1,54 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
|
||||
<properties version="1.0">
|
||||
<comment>Danish (da_DK) Localization File</comment>
|
||||
<entry key="key.extra">Ekstra</entry>
|
||||
<entry key="key.release">Slip</entry>
|
||||
<entry key="key.toggle">Skift</entry>
|
||||
<entry key="key.charge">Oplad</entry>
|
||||
<entry key="item.shardMinium.name">Skår af Mønje</entry>
|
||||
<entry key="item.stoneInert.name">Inert Sten</entry>
|
||||
<entry key="item.stoneMinium.name">Mønje Sten</entry>
|
||||
<entry key="item.stonePhilosophers.name">De Vises Sten</entry>
|
||||
<entry key="item.alchemicalDustAsh.name">Aske</entry>
|
||||
<entry key="item.alchemicalDustMinium.name">Mønje Støv</entry>
|
||||
<entry key="item.alchemicalDustVerdant.name">Frodigt Støv</entry>
|
||||
<entry key="item.alchemicalDustAzure.name">Azur Støv</entry>
|
||||
<entry key="item.alchemicalDustAmaranthine.name">Evigtvarende Støv</entry>
|
||||
<entry key="item.alchemicalDustIridescent.name">Iriserende Støv</entry>
|
||||
<entry key="item.alchemicalBag.name">Alkymistisk Taske</entry>
|
||||
<entry key="tile.redWaterStill.name">Rødt Vand (Stille)</entry>
|
||||
<entry key="tile.redWaterFlowing.name">Rødt Vand (Stømmende)</entry>
|
||||
<entry key="tile.calcinator.name">Kalkbrænder</entry>
|
||||
<entry key="tile.aludel.name">Aludel</entry>
|
||||
<entry key="tile.alchemicalChest.name">Alkymistisk Kiste</entry>
|
||||
<entry key="tile.glassBell.name">Glasklokke</entry>
|
||||
<entry key="container.calcinator">Kalkbrænder</entry>
|
||||
<entry key="container.aludel">Aludel</entry>
|
||||
<entry key="container.alchemicalChest">Alkymistisk Kiste</entry>
|
||||
<entry key="container.alchemicalBag">Alkymistisk Taske</entry>
|
||||
<entry key="container.glassBell">Glasklokke</entry>
|
||||
<entry key="itemGroup.EE3">Equivalent Exchange 3</entry>
|
||||
<entry key="version.init_log_message">Initialiserer fjernversionstjek mod fjernversionens autoritetsfil, placeret i</entry>
|
||||
<entry key="version.uninitialized">Versionskontrollen mislykkedes (Fjernversionstjekket initialiserede ikke korrekt)</entry>
|
||||
<entry key="version.current">Bruger i øjeblikket den nyeste version (@REMOTE_MOD_VERSION@) af Equivalent Exchange 3 til @MINECRAFT_VERSION@</entry>
|
||||
<entry key="version.outdated">En ny version af @MOD_NAME@ findes (@REMOTE_MOD_VERSION@) til @MINECRAFT_VERSION@. Få den her: @MOD_UPDATE_LOCATION@</entry>
|
||||
<entry key="version.general_error">Der skete en fejl i forsøg på at forbinde til fjernversionens autoritetsfil; prøver igen</entry>
|
||||
<entry key="version.final_error">Versionstjekket stopper efter tre mislykkede forsøg</entry>
|
||||
<entry key="version.mc_version_not_found">Kunne ikke finde en version af @MOD_NAME@ til @MINECRAFT_VERSION@ i fjernversionens autoritetsfil</entry>
|
||||
<entry key="command.ee3.overlay.turned_on">Forvandlingsoverlæg slået til</entry>
|
||||
<entry key="command.ee3.overlay.turned_off">Forvandlingsoverlæg slået fra</entry>
|
||||
<entry key="command.ee3.overlay.position.top_left">Forvandlingsoverlæggets position er sat til øverst til venstre</entry>
|
||||
<entry key="command.ee3.overlay.position.top_right">Forvandlingsoverlæggets position er sat til øverst til højre</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_left">Forvandlingsoverlæggets position er sat til nederst til venstre</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_right">Forvandlingsoverlæggets position er sat til nederst til højre</entry>
|
||||
<entry key="command.ee3.overlay.opacity.usage.additional_text">(hvor ### er en decimalværdi imellem 0.0 og 1.0) </entry>
|
||||
<entry key="command.ee3.overlay.opacity.updated">Forvandlingsoverlæggets gennemsigtighed opdaterede vellykket</entry>
|
||||
<entry key="command.ee3.overlay.scale.usage.additional_text">(hvor ### er en decimalværdi større end 0.0) </entry>
|
||||
<entry key="command.ee3.overlay.scale.updated">Forvandlingsoverlæggets skala opdaterede vellykket</entry>
|
||||
<entry key="command.ee3.particles.turned_on">Equivalent Exchange 3 partikler slået til</entry>
|
||||
<entry key="command.ee3.particles.turned_off">Equivalent Exchange 3 partikler slået fra</entry>
|
||||
<entry key="command.ee3.sounds.set_to_all">Afspiller Equivalent Exchange 3 lyde fra alle spillere</entry>
|
||||
<entry key="command.ee3.sounds.set_to_self">Afspiller kun Equivalent Exchange 3 lyde fra en selv</entry>
|
||||
<entry key="command.ee3.sounds.turned_off">Afspiller ikke Equivalent Exchange 3 lyde</entry>
|
||||
</properties>
|
|
@ -1,54 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
|
||||
<properties version="1.0">
|
||||
<comment>French (fr_FR) Localization File</comment>
|
||||
<!--REQUIRES ADDITIONAL UPDATING-->
|
||||
<entry key="key.extra">Extra</entry>
|
||||
<entry key="key.release">Libérer</entry>
|
||||
<entry key="key.toggle">Basculer</entry>
|
||||
<entry key="key.charge">Charger</entry>
|
||||
<entry key="item.shardMinium.name">Eclat de Minium</entry>
|
||||
<entry key="item.stoneInert.name">Pierre inerte</entry>
|
||||
<entry key="item.stoneMinium.name">Pierre de Minium</entry>
|
||||
<entry key="item.stonePhilosophers.name">Pierre Philosophale</entry>
|
||||
<entry key="item.alchemicalDustAsh.name">Cendres</entry>
|
||||
<entry key="item.alchemicalDustMinium.name">Poussière de Minium</entry>
|
||||
<entry key="item.alchemicalDustVerdant.name">Poussière verdoyante</entry>
|
||||
<entry key="item.alchemicalDustAzure.name">Poussière azur</entry>
|
||||
<entry key="item.alchemicalDustAmaranthine.name">Poussière amarante</entry>
|
||||
<entry key="item.alchemicalDustIridescent.name">Poussière iridescente</entry>
|
||||
<entry key="item.alchemicalBag.name">Sac alchimique</entry>
|
||||
<entry key="tile.redWaterStill.name">Eau rouge (Immobile)</entry>
|
||||
<entry key="tile.redWaterFlowing.name">Eau rouge (Ruisselante)</entry>
|
||||
<entry key="tile.calcinator.name">Calcinateur</entry>
|
||||
<entry key="tile.aludel.name">Aludel</entry>
|
||||
<entry key="tile.alchemicalChest.name">Coffre d'alchimie</entry>
|
||||
<entry key="tile.glassBell.name">Cloche en verre</entry>
|
||||
<entry key="container.calcinator">Calcinateur</entry>
|
||||
<entry key="container.aludel">Aludel</entry>
|
||||
<entry key="container.alchemicalChest">Coffre d'alchimie</entry>
|
||||
<entry key="container.alchemicalBag">Sac alchimique</entry>
|
||||
<entry key="container.glassBell">Cloche en verre</entry>
|
||||
<entry key="itemGroup.EE3">Equivalent Exchange 3</entry>
|
||||
<entry key="version.init_log_message">Lancement de la vérification de votre version par rapport à celle de réference : </entry>
|
||||
<entry key="version.uninitialized">Le lancement de la vérification a échoué</entry>
|
||||
<entry key="version.current">Vous utilisez la version (@REMOTE_MOD_VERSION@) la plus récente pour votre version de Minecraft (@MINECRAFT_VERSION)</entry>
|
||||
<entry key="version.outdated">Vous utilisez une version obsolète, pensez à effectuer une mise à jour ici - @MOD_UPDATE_LOCATION@</entry>
|
||||
<entry key="version.general_error">Erreur de connexion vers la version de référence; réessai...</entry>
|
||||
<entry key="version.final_error">Vérification de version abandonnée apres trois échecs de connection</entry>
|
||||
<entry key="command.ee3.overlay.turned_on">Affichage de cible de transmutation activé</entry>
|
||||
<entry key="command.ee3.overlay.turned_off">Affichage de cible de transmutation désactivé</entry>
|
||||
<entry key="command.ee3.overlay.position.top_left">Affichage de cible de transmutation mis en haut à gauche</entry>
|
||||
<entry key="command.ee3.overlay.position.top_right">Affichage de cible de transmutation mis en haut à droite</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_left">Affichage de cible de transmutation mis en bas à gauche</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_right">Affichage de cible de transmutation mis en bas à droite</entry>
|
||||
<entry key="command.ee3.overlay.opacity.usage.additional_text">(où ### est un nombre décimal entre 0.0 et 1.0) </entry>
|
||||
<entry key="command.ee3.overlay.opacity.updated">Opacité de l'affichage de cible de transmutation changée avec succès</entry>
|
||||
<entry key="command.ee3.overlay.scale.usage.additional_text">(où ### est un nombre décimal supérieur à 0.0) </entry>
|
||||
<entry key="command.ee3.overlay.scale.updated">Taille de l'affichage de cible de transmutation changée avec succès</entry>
|
||||
<entry key="command.ee3.particles.turned_on">Particules d'Equivalent Exchange 3 activées</entry>
|
||||
<entry key="command.ee3.particles.turned_off">Particules d'Equivalent Exchange 3 désactivées</entry>
|
||||
<entry key="command.ee3.sounds.set_to_all">Joue les sons d'Equivalent Exchange 3 de tous les joueurs</entry>
|
||||
<entry key="command.ee3.sounds.set_to_self">Joue les sons d'Equivalent Exchange 3 de soi uniquement</entry>
|
||||
<entry key="command.ee3.sounds.turned_off">Sons d'Equivalent Exchange 3 désactivés</entry>
|
||||
</properties>
|
|
@ -1,37 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
|
||||
<properties version="1.0">
|
||||
<comment>Japanese (ja_JP) Localization File</comment>
|
||||
<!--REQUIRES ADDITIONAL UPDATING-->
|
||||
<entry key="key.extra">エクストラ</entry>
|
||||
<entry key="key.release">リリース</entry>
|
||||
<entry key="key.toggle">トグル</entry>
|
||||
<entry key="key.charge">チャージ</entry>
|
||||
<entry key="item.shardMinium.name">鉛丹の欠片</entry>
|
||||
<entry key="item.stoneInert.name">不活性な石</entry>
|
||||
<entry key="item.stoneMinium.name">鉛丹石</entry>
|
||||
<entry key="item.stonePhilosophers.name">賢者の石</entry>
|
||||
<entry key="item.alchemicalDustAsh.name">灰</entry>
|
||||
<entry key="item.alchemicalDustMinium.name">鉛丹の粉末</entry>
|
||||
<entry key="item.alchemicalDustVerdant.name">新緑の粉末</entry>
|
||||
<entry key="item.alchemicalDustAzure.name">紺碧の粉末</entry>
|
||||
<entry key="item.alchemicalDustAmaranthine.name">紫赤色の粉末</entry>
|
||||
<entry key="item.alchemicalDustIridescent.name">玉虫色の粉末</entry>
|
||||
<entry key="item.alchemicalBag.name">奇術袋</entry>
|
||||
<entry key="tile.redWaterStill.name">赤い水 (水源)</entry>
|
||||
<entry key="tile.redWaterFlowing.name">赤い水 (流水)</entry>
|
||||
<entry key="tile.calcinator.name">煆焼器</entry>
|
||||
<entry key="tile.aludel.name">アルデル</entry>
|
||||
<entry key="tile.alchemicalChest.name">奇術チェスト</entry>
|
||||
<entry key="title.glassBell.name">グラスの鐘</entry>
|
||||
<entry key="container.calcinator">煆焼器</entry>
|
||||
<entry key="container.aludel">アルデル</entry>
|
||||
<entry key="container.alchemicalChest">奇術チェスト</entry>
|
||||
<entry key="container.alchemicalBag">奇術袋</entry>
|
||||
<entry key="container.glassBell.name">グラスの鐘</entry>
|
||||
<entry key="itemGroup.EE3">Equivalent Exchange 3</entry>
|
||||
<entry key="version.init_log_message">オンラインバージョンチェックの初期化中。場所:</entry>
|
||||
<entry key="version.uninitialized">バージョンチェックに失敗しました。 (初期化に失敗しました。)</entry>
|
||||
<entry key="version.current">MINECRAFT (バージョン @REMOTE_MOD_VERSION@) ため @MOD_NAME@ の最新バージョンを使用しています。</entry>
|
||||
<entry key="version.outdated">@MINECRAFT_VERSION@ ため @MOD_NAME@ の新しいバージョン (@REMOTE_MOD_VERSION@) があります。 @MOD_UPDATE_LOCATION@ からアップデートしてください。</entry>
|
||||
</properties>
|
|
@ -1,32 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
|
||||
<properties version="1.0">
|
||||
<comment>Latin Italian (la_IT) Localization File</comment>
|
||||
<!--REQUIRES ADDITIONAL UPDATING-->
|
||||
<entry key="key.extra">Extra</entry>
|
||||
<entry key="key.release">Libe</entry>
|
||||
<entry key="key.toggle">Muta</entry>
|
||||
<entry key="key.charge">Trade</entry>
|
||||
<entry key="item.shardMinium.name">Pars Rufi Plumbi</entry>
|
||||
<entry key="item.stoneInert.name">Ignavus Lapidus</entry>
|
||||
<entry key="item.stoneMinium.name">Pars Rufi Lapidus</entry>
|
||||
<entry key="item.stonePhilosophers.name">Lapis Philosophi</entry>
|
||||
<entry key="item.alchemicalDustAsh.name">Fraxinus</entry>
|
||||
<entry key="item.alchemicalDustMinium.name">Afa Rufi Plumbi</entry>
|
||||
<entry key="item.alchemicalDustVerdant.name">Viridis Afae</entry>
|
||||
<entry key="item.alchemicalDustAzure.name">Caeruleus Afae</entry>
|
||||
<entry key="item.alchemicalDustAmaranthine.name">Amarantus Afae</entry>
|
||||
<entry key="item.alchemicalDustIridescent.name">Iris Afae</entry>
|
||||
<entry key="item.alchemicalBag.name">Saccus Alchimiae</entry>
|
||||
<entry key="tile.redWaterStill.name">Rufi Aqua (Residans)</entry>
|
||||
<entry key="tile.redWaterFlowing.name">Rufi Aqua (Fluens)</entry>
|
||||
<entry key="tile.calcinator.name">Auctor Calcus</entry>
|
||||
<entry key="container.calcinator">Auctor Calcus</entry>
|
||||
<entry key="itemGroup.EE3">Aequipollens Conlubi Trium</entry>
|
||||
<entry key="version.init_log_message">Incipiens senecti quaesitum contra procul senecti auctoritatis scapus, positus ad</entry>
|
||||
<entry key="version.uninitialized">Senecti quaesitum non adimplet cum fortuna (Senecti quaestim non incipit recte)</entry>
|
||||
<entry key="version.current">Iam abutas the most novellissimus senectus tuo senecto Meiarti(Minecraft) </entry>
|
||||
<entry key="version.outdated">Iam abutas non tempore senectus; Consule hic afferte hodie - @MOD_UPDATE_LOCATION@</entry>
|
||||
<entry key="version.connection_error">Erratum annectans ad procul senecto auctoritatis scapus (Scisa tuum retiacula ad invicem nexus?)</entry>
|
||||
<entry key="version.check_disabled">Procul senectus debilitatus, neglectens</entry>
|
||||
</properties>
|
|
@ -1,54 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
|
||||
<properties version="1.0">
|
||||
<comment>Polish (pl_PL) Localization File</comment>
|
||||
<entry key="key.extra">Dodatkowa funkcja</entry>
|
||||
<entry key="key.release">Wypuść</entry>
|
||||
<entry key="key.toggle">Przełącz</entry>
|
||||
<entry key="key.charge">Ładuj</entry>
|
||||
<entry key="item.shardMinium.name">Odłam Minium</entry>
|
||||
<entry key="item.stoneInert.name">Nieaktywny kamień</entry>
|
||||
<entry key="item.stoneMinium.name">Minium</entry>
|
||||
<entry key="item.stonePhilosophers.name">Kamień filozoficzny</entry>
|
||||
<entry key="item.alchemicalDustAsh.name">Popiół</entry>
|
||||
<entry key="item.alchemicalDustMinium.name">Proszek Minium</entry>
|
||||
<entry key="item.alchemicalDustVerdant.name">Zielony proszek</entry>
|
||||
<entry key="item.alchemicalDustAzure.name">Lazurowy proszek</entry>
|
||||
<entry key="item.alchemicalDustAmaranthine.name">Amarantowy proszek</entry>
|
||||
<entry key="item.alchemicalDustIridescent.name">Opalowy Proszek</entry>
|
||||
<entry key="item.alchemicalBag.name">Torba alchemiczna</entry>
|
||||
<entry key="tile.redWaterStill.name">Czerwona woda (Stojąca)</entry>
|
||||
<entry key="tile.redWaterFlowing.name">Czerwona woda (Płynąca)</entry>
|
||||
<entry key="tile.calcinator.name">Kalcynator</entry>
|
||||
<entry key="tile.aludel.name">Aludel</entry>
|
||||
<entry key="tile.alchemicalChest.name">Skrzynia alchemiczna</entry>
|
||||
<entry key="tile.glassBell.name">Szklany dzwon</entry>
|
||||
<entry key="container.calcinator">Kalcynator</entry>
|
||||
<entry key="container.aludel">Aludel</entry>
|
||||
<entry key="container.alchemicalChest">Skrzynia alchemiczna</entry>
|
||||
<entry key="container.alchemicalBag">Torba alchemiczna</entry>
|
||||
<entry key="container.glassBell">Szklany dzwon</entry>
|
||||
<entry key="itemGroup.EE3">Equivalent Exchange 3</entry>
|
||||
<entry key="version.init_log_message">Rozpoczynanie zdalnego sprawdzania wersji, według</entry>
|
||||
<entry key="version.uninitialized">Zdalne sprawdzanie wersji nie rozpoczęło się poprawnie</entry>
|
||||
<entry key="version.current">Używasz najnowszej wersji (@REMOTE_MOD_VERSION@) of Equivalent Exchange 3 dla @MINECRAFT_VERSION@</entry>
|
||||
<entry key="version.outdated">Nowa wersja @MOD_NAME@ (@REMOTE_MOD_VERSION@) dla @MINECRAFT_VERSION@ dostępna. Pobierz ją tutaj: @MOD_UPDATE_LOCATION@</entry>
|
||||
<entry key="version.general_error">Błąd podczas sprawdzania wersji; ponawianie próby</entry>
|
||||
<entry key="version.final_error">Sprawdzanie wersji przerwane po trzech nieudanych próbach</entry>
|
||||
<entry key="version.mc_version_not_found">Odnalezienie wersji @MOD_NAME@ dla @MINECRAFT_VERSION@ niemożliwe</entry>
|
||||
<entry key="command.ee3.overlay.turned_on">Nakładka transmutacji włączona</entry>
|
||||
<entry key="command.ee3.overlay.turned_off">Nakładka transmutacji wyłączona</entry>
|
||||
<entry key="command.ee3.overlay.position.top_left">Nakładka transmutacji przeniesona w lewy górny róg</entry>
|
||||
<entry key="command.ee3.overlay.position.top_right">Nakładka transmutacji przeniesona w prawy górny róg</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_left">Nakładka transmutacji przeniesona w lewy dolny róg</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_right">Nakładka transmutacji przeniesona w prawy dolny róg</entry>
|
||||
<entry key="command.ee3.overlay.opacity.usage.additional_text">(gdzie ### to wartość dziesiętna pomiędzy 0.0 i 1.0) </entry>
|
||||
<entry key="command.ee3.overlay.opacity.updated">Przezroczystość nakładki transmutacji zmieniona pomyślnie</entry>
|
||||
<entry key="command.ee3.overlay.scale.usage.additional_text">(gdzie ### to wartość dziesiętna powyżej 0.0) </entry>
|
||||
<entry key="command.ee3.overlay.scale.updated">Skala nakładki transmutacji zmieniona pomyślnie</entry>
|
||||
<entry key="command.ee3.particles.turned_on">Efekty cząsteczek Equivalent Exchange 3 włączone</entry>
|
||||
<entry key="command.ee3.particles.turned_off">Efekty cząsteczek Equivalent Exchange 3 wyłączone</entry>
|
||||
<entry key="command.ee3.sounds.set_to_all">Odtwarzanie dźwięków Equivalent Exchange 3 od wszystkich graczy</entry>
|
||||
<entry key="command.ee3.sounds.set_to_self">Odtwarzanie dźwięków Equivalent Exchange 3 tylko od siebie</entry>
|
||||
<entry key="command.ee3.sounds.turned_off">Odtwarzanie dźwięków Equivalent Exchange 3 wyłączone</entry>
|
||||
</properties>
|
|
@ -1,54 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
|
||||
<properties version="1.0">
|
||||
<comment>Portuguese (pt_BR) Localization File</comment>
|
||||
<entry key="key.extra">Extra</entry>
|
||||
<entry key="key.release">Liberar</entry>
|
||||
<entry key="key.toggle">Alterar</entry>
|
||||
<entry key="key.charge">Carregar</entry>
|
||||
<entry key="item.shardMinium.name">Fragmento de Minium</entry>
|
||||
<entry key="item.stoneInert.name">Pedra Inerte</entry>
|
||||
<entry key="item.stoneMinium.name">Pedra de Minium</entry>
|
||||
<entry key="item.stonePhilosophers.name">Pedra Filosofal</entry>
|
||||
<entry key="item.alchemicalDustAsh.name">Cinzas</entry>
|
||||
<entry key="item.alchemicalDustMinium.name">Pó de Minium</entry>
|
||||
<entry key="item.alchemicalDustVerdant.name">Pó Verdejantet</entry>
|
||||
<entry key="item.alchemicalDustAzure.name">Pó Indigo</entry>
|
||||
<entry key="item.alchemicalDustAmaranthine.name">Pó Amarantino</entry>
|
||||
<entry key="item.alchemicalDustIridescent.name">Pó Iridescente</entry>
|
||||
<entry key="item.alchemicalBag.name">Bolsa Alquímica</entry>
|
||||
<entry key="tile.redWaterStill.name">Água vermelha (Parada)</entry>
|
||||
<entry key="tile.redWaterFlowing.name">Água Vermelha(Corrente)</entry>
|
||||
<entry key="tile.calcinator.name">Calcinador</entry>
|
||||
<entry key="tile.aludel.name">Sublimador</entry>
|
||||
<entry key="tile.alchemicalChest.name">Baú Alquímico</entry>
|
||||
<entry key="tile.glassBell.name">Sino Vítreo</entry>
|
||||
<entry key="container.calcinator">Calcinador</entry>
|
||||
<entry key="container.aludel">Sublimador</entry>
|
||||
<entry key="container.alchemicalChest">Baú Alquímico</entry>
|
||||
<entry key="container.alchemicalBag">Bolsa Alquímica</entry>
|
||||
<entry key="container.glassBell">Sino Vítreo</entry>
|
||||
<entry key="itemGroup.EE3">Equivalent Exchange 3</entry>
|
||||
<entry key="version.init_log_message">Iniciando checagem da versão remota contra a versão remota autorítaria,localizada em</entry>
|
||||
<entry key="version.uninitialized">Checagem da versão remota não pode ser feita adequadamente</entry>
|
||||
<entry key="version.current">Atualmente usando a versão mais recente (@REMOTE_MOD_VERSION@) de Equivalent Exchange 3 para @MINECRAFT_VERSION@</entry>
|
||||
<entry key="version.outdated">Uma nova versão de @MOD_NAME@ existe (@REMOTE_MOD_VERSION@) para @MINECRAFT_VERSION@. Consigam-na aqui: @MOD_UPDATE_LOCATION@</entry>
|
||||
<entry key="version.general_error">Erro enquanto conectando à versão remota do arquivo autoritário; tentando novamente</entry>
|
||||
<entry key="version.final_error">Checagem de versão finalizada com erros após várias tentativas sem sucesso</entry>
|
||||
<entry key="version.mc_version_not_found">Não foi possível achar a versão de @MOD_NAME@ para @MINECRAFT_VERSION@ na versão remota autoritária</entry>
|
||||
<entry key="command.ee3.overlay.turned_on">Camdada do alvo de transmutação ligada</entry>
|
||||
<entry key="command.ee3.overlay.turned_off">Camada do alvo de transmutação desligada</entry>
|
||||
<entry key="command.ee3.overlay.position.top_left">Posição da camada alvo de transmutação configurada para noroeste</entry>
|
||||
<entry key="command.ee3.overlay.position.top_right">Posição da camada alvo de transmutação configurada para nordeste</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_left">Posição da camada alvo de transmutação configurada para sudoeste</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_right">Posição da camada alvo de transmutação configurada para sudeste</entry>
|
||||
<entry key="command.ee3.overlay.opacity.usage.additional_text">(onde ### é um valor decimal entre 0.0 e 1.0) </entry>
|
||||
<entry key="command.ee3.overlay.opacity.updated">Opacidade da camada alvo de transmutação configurada com sucesso</entry>
|
||||
<entry key="command.ee3.overlay.scale.usage.additional_text">(onde ### é um valor decimal maior que 0.0) </entry>
|
||||
<entry key="command.ee3.overlay.scale.updated">Escala da camada alvo de transmutação configurada com sucesso</entry>
|
||||
<entry key="command.ee3.particles.turned_on">Partículas do Equivalent Exchange 3 ligadas</entry>
|
||||
<entry key="command.ee3.particles.turned_off">Partículas do Equivalent Exchange 3 desligadas</entry>
|
||||
<entry key="command.ee3.sounds.set_to_all">Tocando sons do Equivalent Exchange 3 para todos os jogadores</entry>
|
||||
<entry key="command.ee3.sounds.set_to_self">Tocando sons do Equivalent Exchange 3 para si mesmo</entry>
|
||||
<entry key="command.ee3.sounds.turned_off">Sons do Equivalent Exchange 3 desabilitados</entry>
|
||||
</properties>
|
|
@ -1,54 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
|
||||
<properties version="1.0">
|
||||
<comment>Slovak (sk_SK) Localization File</comment>
|
||||
<entry key="key.extra">Extra</entry>
|
||||
<entry key="key.release">Vypustiť</entry>
|
||||
<entry key="key.toggle">Prepnúť</entry>
|
||||
<entry key="key.charge">Nabiť</entry>
|
||||
<entry key="item.shardMinium.name">Úlomok suríku</entry>
|
||||
<entry key="item.stoneInert.name">Inertný kameň</entry>
|
||||
<entry key="item.stoneMinium.name">Suríkový kameň</entry>
|
||||
<entry key="item.stonePhilosophers.name">Kameň mudrcov</entry>
|
||||
<entry key="item.alchemicalDustAsh.name">Popol</entry>
|
||||
<entry key="item.alchemicalDustMinium.name">Suríkový prach</entry>
|
||||
<entry key="item.alchemicalDustVerdant.name">Nazelenaný prach</entry>
|
||||
<entry key="item.alchemicalDustAzure.name">Azurový prach</entry>
|
||||
<entry key="item.alchemicalDustAmaranthine.name">Amarantový prach</entry>
|
||||
<entry key="item.alchemicalDustIridescent.name">Dúhový prach</entry>
|
||||
<entry key="item.alchemicalBag.name">Alchemystická taška</entry>
|
||||
<entry key="tile.redWaterStill.name">Červená voda (zdroj)</entry>
|
||||
<entry key="tile.redWaterFlowing.name">Červená voda (tečúca)</entry>
|
||||
<entry key="tile.calcinator.name">Kalcinátor</entry>
|
||||
<entry key="tile.aludel.name">Sublimačná nádoba</entry>
|
||||
<entry key="tile.alchemicalChest.name">Alchemystická truhla</entry>
|
||||
<entry key="tile.glassBell.name">Sklenený zvon</entry>
|
||||
<entry key="container.glassBell">Sklenený zvon</entry>
|
||||
<entry key="container.calcinator">Kalcinátor</entry>
|
||||
<entry key="container.aludel">Sublimačná nádoba</entry>
|
||||
<entry key="container.alchemicalChest">Alchemystická truhla</entry>
|
||||
<entry key="container.alchemicalBag">Alchemystická taška</entry>
|
||||
<entry key="itemGroup.EE3">Equivalent Exchange 3</entry>
|
||||
<entry key="version.init_log_message">Prebieha kontrola verzie, vzdialený soúbor je umiestnený na</entry>
|
||||
<entry key="version.uninitialized">Kontrola veruie nebola úspešná(nepodarila sa inicializácia)</entry>
|
||||
<entry key="version.current">Používate najaktuálnejšiu verziu (@REMOTE_MOD_VERSION@) módu Equivalent Exchange 3, ktorá je pre vašu verziu Minecraftu (@MINECRAFT_VERSION@) k dispozicií</entry>
|
||||
<entry key="version.outdated">Je k dispozicií nová verzia @MOD_NAME@ (@REMOTE_MOD_VERSION@) pre MC @MINECRAFT_VERSION@, stiahnuteľná tu: @MOD_UPDATE_LOCATION@</entry>
|
||||
<entry key="version.general_error">Chyba pri pripojovaní k servru, ktorý poskytuje informácie o verzii, skúšam sa znovu pripojiť</entry>
|
||||
<entry key="version.final_error">Kontrola verzie deaktivovaná, pretože tri posledné kontroly boli neúspešne</entry>
|
||||
<entry key="version.mc_version_not_found">Nepodarilo sa nájsť verziu @MOD_NAME@ pre @MINECRAFT_VERSION@</entry>
|
||||
<entry key="command.ee3.overlay.turned_on">Zobrazenie výsledku transmutácie zapnuté</entry>
|
||||
<entry key="command.ee3.overlay.turned_off">Zobrazenie výsledku transmutácie vypnuté</entry>
|
||||
<entry key="command.ee3.overlay.position.top_left">Pozícia zobrazenia výsledku transmutáce nastavená na ľavý horný kút</entry>
|
||||
<entry key="command.ee3.overlay.position.top_right">Pozícia zobrazenia výsledku transmutáce nastavená na pravý horný kút</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_left">Pozícia zobrazenia výsledku transmutáce nastavená na ľavý spodný kút</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_right">Pozícia zobrazenia výsledku transmutáce nastavená na pravý spodný kút</entry>
|
||||
<entry key="command.ee3.overlay.opacity.usage.additional_text">(kde ### je desetinná hodnota medzi 0,0 a 1,0) </entry>
|
||||
<entry key="command.ee3.overlay.opacity.updated">Priehľadnosť výsledku transmutácie úspešne zmenená</entry>
|
||||
<entry key="command.ee3.overlay.scale.usage.additional_text">(kde ### je desetinná hodnota vetšia než 0,0) </entry>
|
||||
<entry key="command.ee3.overlay.scale.updated">Veľkosť výsledku transmutácie úspešne zmenená</entry>
|
||||
<entry key="command.ee3.particles.turned_on">Časticové efekty módu Equivalent Exchange 3 zapnuté</entry>
|
||||
<entry key="command.ee3.particles.turned_off">Časticové efekty módu Equivalent Exchange 3 vypnuté</entry>
|
||||
<entry key="command.ee3.sounds.set_to_all">Prehrávane zvukov módu Equivalent Exchange 3: počuješ všetkých hráčov</entry>
|
||||
<entry key="command.ee3.sounds.set_to_self">Prehrávane zvukov módu Equivalent Exchange 3: počuješ iba seba</entry>
|
||||
<entry key="command.ee3.sounds.turned_off">Prehrávane zvukov módu Equivalent Exchange 3: vypnuté</entry>
|
||||
</properties>
|
|
@ -1,54 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
|
||||
<properties version="1.0">
|
||||
<comment>Serbian (sr_SP) Localization File</comment>
|
||||
<entry key="key.extra">Dodatno</entry>
|
||||
<entry key="key.release">Oslabiti</entry>
|
||||
<entry key="key.toggle">Menjati</entry>
|
||||
<entry key="key.charge">Pojačati</entry>
|
||||
<entry key="item.shardMinium.name">Odlomak Miniuma</entry>
|
||||
<entry key="item.stoneInert.name">Inertni Kamen</entry>
|
||||
<entry key="item.stoneMinium.name">Miniumski Kamen</entry>
|
||||
<entry key="item.stonePhilosophers.name">Filozofski Kamen</entry>
|
||||
<entry key="item.alchemicalDustAsh.name">Pepeo</entry>
|
||||
<entry key="item.alchemicalDustMinium.name">Miniumska Prašina</entry>
|
||||
<entry key="item.alchemicalDustVerdant.name">Verdantna Prašina</entry>
|
||||
<entry key="item.alchemicalDustAzure.name">Azurna Prašina</entry>
|
||||
<entry key="item.alchemicalDustAmaranthine.name">Amarantinska Prašina</entry>
|
||||
<entry key="item.alchemicalDustIridescent.name">Iridesentna Prašina</entry>
|
||||
<entry key="item.alchemicalBag.name">Alhemijska Vreća</entry>
|
||||
<entry key="tile.redWaterStill.name">Crvena Voda (Stajaća)</entry>
|
||||
<entry key="tile.redWaterFlowing.name">Crvena Voda (Tekuća)</entry>
|
||||
<entry key="tile.calcinator.name">Kalcinator</entry>
|
||||
<entry key="tile.aludel.name">Aludel</entry>
|
||||
<entry key="tile.alchemicalChest.name">Alhemijski Kovčeg</entry>
|
||||
<entry key="tile.glassBell.name">Stakleno Zvono</entry>
|
||||
<entry key="container.calcinator">Kalcinator</entry>
|
||||
<entry key="container.aludel">Aludel</entry>
|
||||
<entry key="container.alchemicalChest">Alhemijski Kovčeg</entry>
|
||||
<entry key="container.alchemicalBag">Alhemijska Vreća</entry>
|
||||
<entry key="container.glassBell">Stakleno Zvono</entry>
|
||||
<entry key="itemGroup.EE3">Equivalent Exchange 3</entry>
|
||||
<entry key="version.init_log_message">Započinjem proveru verzije u poređenju sa naj novijom, koji se nalazi u</entry>
|
||||
<entry key="version.uninitialized">Provera verzije neuspešna</entry>
|
||||
<entry key="version.current">Trenutno koristite naj noviju verziju (@REMOTE_MOD_VERSION@) Equivalent Exchange 3 moda za @MINECRAFT_VERSION@</entry>
|
||||
<entry key="version.outdated">Nova @MOD_NAME@ verzija postoji (@REMOTE_MOD_VERSION@) za @MINECRAFT_VERSION@. Skinite je ovde: @MOD_UPDATE_LOCATION@</entry>
|
||||
<entry key="version.general_error">Greška u konektovanju sa serverom; pokusavam ponovo</entry>
|
||||
<entry key="version.final_error">Provera verzije zaustavljena posle tri neušpesna pokušaja</entry>
|
||||
<entry key="version.mc_version_not_found">Potraga za verziju @MOD_NAME@ za @MINECRAFT_VERSION@, neuspešna</entry>
|
||||
<entry key="command.ee3.overlay.turned_on">Prikaz mete transmutacije uključen</entry>
|
||||
<entry key="command.ee3.overlay.turned_off">Prikaz mete transmutacije isključen</entry>
|
||||
<entry key="command.ee3.overlay.position.top_left">Prikaz mete transmutacije stavljen na gornji levi ugao</entry>
|
||||
<entry key="command.ee3.overlay.position.top_right">Prikaz mete transmutacije stavljen na gornji desni ugao</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_left">Prikaz mete transmutacije stavljen na donji levi ugao</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_right">Prikaz mete transmutacije stavljen na donji desni ugao</entry>
|
||||
<entry key="command.ee3.overlay.opacity.usage.additional_text">(gde je ### decimalna vrednost izmedju 0.0 i 1.0) </entry>
|
||||
<entry key="command.ee3.overlay.opacity.updated">Prozirnost prikaza mete transmutacije uspešno promenjena</entry>
|
||||
<entry key="command.ee3.overlay.scale.usage.additional_text">(gde je ### decimalna vrednost veća nego 0.0) </entry>
|
||||
<entry key="command.ee3.overlay.scale.updated">Veličina prikaza mete transmutacije uspešno promenjena</entry>
|
||||
<entry key="command.ee3.particles.turned_on">Equivalent Exchange 3 čestice uključene</entry>
|
||||
<entry key="command.ee3.particles.turned_off">Equivalent Exchange 3 čestice isključene</entry>
|
||||
<entry key="command.ee3.sounds.set_to_all">Čućete Equivalent Exchange 3 zvukove od svih igrača</entry>
|
||||
<entry key="command.ee3.sounds.set_to_self">Čućete samo svoje Equivalent Exchange 3 zvukove</entry>
|
||||
<entry key="command.ee3.sounds.turned_off">Equivalent Exchange 3 zvukovi isključeni</entry>
|
||||
</properties>
|
|
@ -1,54 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
|
||||
<properties version="1.0">
|
||||
<comment>Turkish (tr_TR) Localization File</comment>
|
||||
<entry key="key.extra">Ekstra</entry>
|
||||
<entry key="key.release">Bırak</entry>
|
||||
<entry key="key.toggle">Aç/Kapa</entry>
|
||||
<entry key="key.charge">Şarj</entry>
|
||||
<entry key="item.shardMinium.name">Minium Parçası</entry>
|
||||
<entry key="item.stoneInert.name">Inert Taşı</entry>
|
||||
<entry key="item.stoneMinium.name">Minium Taşı</entry>
|
||||
<entry key="item.stonePhilosophers.name">Felsefe Taşı</entry>
|
||||
<entry key="item.alchemicalDustAsh.name">Kül</entry>
|
||||
<entry key="item.alchemicalDustMinium.name">Minium Tozu</entry>
|
||||
<entry key="item.alchemicalDustVerdant.name">Verdant Tozu</entry>
|
||||
<entry key="item.alchemicalDustAzure.name">Azure Tozu</entry>
|
||||
<entry key="item.alchemicalDustAmaranthine.name">Amaranthine Tozu</entry>
|
||||
<entry key="item.alchemicalDustIridescent.name">Iridescent Tozu</entry>
|
||||
<entry key="item.alchemicalBag.name">Simyacı Çantası</entry>
|
||||
<entry key="tile.redWaterStill.name">Kızıl Su (Sakin)</entry>
|
||||
<entry key="tile.redWaterFlowing.name">Kızıl Su (Akışkan)</entry>
|
||||
<entry key="tile.calcinator.name">Kalsinator</entry>
|
||||
<entry key="tile.aludel.name">Aludel</entry>
|
||||
<entry key="tile.alchemicalChest.name">Simyacı Sandığı</entry>
|
||||
<entry key="tile.glassBell.name">Camdan Çan</entry>
|
||||
<entry key="container.calcinator">Kalsinator</entry>
|
||||
<entry key="container.aludel">Aludel</entry>
|
||||
<entry key="container.alchemicalChest">Simyacı Sandığı</entry>
|
||||
<entry key="container.alchemicalBag">Simyacı Çantası</entry>
|
||||
<entry key="container.glassBell">Camdan Çan</entry>
|
||||
<entry key="itemGroup.EE3">Equivalent Exchange 3</entry>
|
||||
<entry key="version.init_log_message">Uzak versiyon denetlemesi, bulundugu yer</entry>
|
||||
<entry key="version.uninitialized">Uzak versiyon denetlemesi başarisiz</entry>
|
||||
<entry key="version.current">Minecraft(@MINECRAFT_VERSION@) için en yeni Equivalent Exchange 3 versiyonunu(@REMOTE_MOD_VERSION@) kullanıyorsunuz.</entry>
|
||||
<entry key="version.outdated">Minecraft(@MINECRAFT_VERSION@) için yeni bir @MOD_NAME@ versiyonu var (@REMOTE_MOD_VERSION@). Burdan İndirin: @MOD_UPDATE_LOCATION@</entry>
|
||||
<entry key="version.general_error">Uzak versiyon yetki dosyasına bağlanılırken hata ile karşılaşıldı; tekrar deneniyor</entry>
|
||||
<entry key="version.final_error">3 başarısız bağlantı denemesi sonucu versiyon kontrolü durduruluyor</entry>
|
||||
<entry key="version.mc_version_not_found">Uzak versiyon yetkisinde @MOD_NAME@ 'in @MINECRAFT_VERSION@ için versiyon bulunamadı.</entry>
|
||||
<entry key="command.ee3.overlay.turned_on">Dönüşüm hedef arayüzü kapatıldı</entry>
|
||||
<entry key="command.ee3.overlay.turned_off">Dönüşüm hedef arayüzü açıldı</entry>
|
||||
<entry key="command.ee3.overlay.position.top_left">Dönüşüm hedef arayüzü konumu sol üst'e ayarlandı</entry>
|
||||
<entry key="command.ee3.overlay.position.top_right">Dönüşüm hedef arayüzü konumu sağ üst'e ayarlandı</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_left">Dönüşüm hedef arayüzü konumu sol alt'a ayarlandı</entry>
|
||||
<entry key="command.ee3.overlay.position.bottom_right">Dönüşüm hedef arayüzü konumu sağ alt'a ayarlandı</entry>
|
||||
<entry key="command.ee3.overlay.opacity.usage.additional_text">(###, 0.0 ile 1.0 arasında ondalıklı sayı) </entry>
|
||||
<entry key="command.ee3.overlay.opacity.updated">Dönüşüm hedef arayüzü şeffaflığı güncellendi</entry>
|
||||
<entry key="command.ee3.overlay.scale.usage.additional_text">(###, 0.0 dan daha büyük ondalıklı sayı) </entry>
|
||||
<entry key="command.ee3.overlay.scale.updated">Dönüşüm hedef arayüzü boyutu güncellendi</entry>
|
||||
<entry key="command.ee3.particles.turned_on">Equivalent Exchange 3 parçacık efekti açıldı</entry>
|
||||
<entry key="command.ee3.particles.turned_off">Equivalent Exchange 3 parçacık efekti kapatıldı</entry>
|
||||
<entry key="command.ee3.sounds.set_to_all">Equivalent Exchange 3 sesleri bütün oyuncular için açık</entry>
|
||||
<entry key="command.ee3.sounds.set_to_self">Equivalent Exchange 3 sesleri sadece kendinde açık</entry>
|
||||
<entry key="command.ee3.sounds.turned_off">Equivalent Exchange 3 sesleri kapalı</entry>
|
||||
</properties>
|
|
@ -1,694 +0,0 @@
|
|||
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
|
||||
# File Created: 18.09.2013 10:30:03
|
||||
|
||||
#
|
||||
# object Table_Top
|
||||
#
|
||||
|
||||
v 1.0000 0.9000 -0.5000
|
||||
v 0.8536 0.9000 -0.8536
|
||||
v 0.8536 1.0000 -0.8536
|
||||
v 1.0000 1.0000 -0.5000
|
||||
v 0.5000 0.9000 -1.0000
|
||||
v 0.5000 1.0000 -1.0000
|
||||
v 0.1464 0.9000 -0.8536
|
||||
v 0.1464 1.0000 -0.8536
|
||||
v 0.0000 0.9000 -0.5000
|
||||
v 0.0000 1.0000 -0.5000
|
||||
v 0.1464 0.9000 -0.1464
|
||||
v 0.1464 1.0000 -0.1464
|
||||
v 0.5000 0.9000 -0.0000
|
||||
v 0.5000 1.0000 -0.0000
|
||||
v 0.8536 0.9000 -0.1464
|
||||
v 0.8536 1.0000 -0.1464
|
||||
v 0.5000 0.9000 -0.5000
|
||||
v 0.5000 1.0000 -0.5000
|
||||
# 18 vertices
|
||||
|
||||
vn 0.9239 0.0000 -0.3827
|
||||
vn 0.3827 0.0000 -0.9239
|
||||
vn -0.3827 0.0000 -0.9239
|
||||
vn -0.9239 0.0000 -0.3827
|
||||
vn -0.9239 0.0000 0.3827
|
||||
vn -0.3827 0.0000 0.9239
|
||||
vn 0.3827 0.0000 0.9239
|
||||
vn 0.9239 0.0000 0.3827
|
||||
vn 0.0000 -1.0000 -0.0000
|
||||
vn 0.0000 1.0000 -0.0000
|
||||
# 10 vertex normals
|
||||
|
||||
vt 0.0000 0.3750 0.9995
|
||||
vt 0.3438 0.3750 0.8532
|
||||
vt 0.3438 0.4688 0.8532
|
||||
vt -0.0000 0.4688 0.9995
|
||||
vt 0.0000 0.3750 0.8532
|
||||
vt 0.3438 0.3750 0.9995
|
||||
vt 0.3438 0.4688 0.9995
|
||||
vt -0.0000 0.4688 0.8532
|
||||
vt 0.0000 0.3750 0.1468
|
||||
vt 0.3438 0.3750 0.0005
|
||||
vt 0.3438 0.4688 0.0005
|
||||
vt -0.0000 0.4688 0.1468
|
||||
vt 0.0000 0.3750 0.0005
|
||||
vt 0.3438 0.3750 0.1468
|
||||
vt 0.3438 0.4688 0.1468
|
||||
vt -0.0000 0.4688 0.0005
|
||||
vt 0.0625 0.9375 0.8987
|
||||
vt 0.0000 0.7500 0.8987
|
||||
vt 0.2500 0.7500 0.8987
|
||||
vt 0.2500 1.0000 0.8987
|
||||
vt 0.4375 0.9375 0.8987
|
||||
vt 0.5000 0.7500 0.8987
|
||||
vt 0.4375 0.5625 0.8987
|
||||
vt 0.2500 0.5000 0.8987
|
||||
vt 0.0625 0.5625 0.8987
|
||||
vt 0.5000 0.7500 0.9995
|
||||
vt 0.4375 0.9375 0.9995
|
||||
vt 0.2500 0.7500 0.9995
|
||||
vt 0.2500 1.0000 0.9995
|
||||
vt 0.0625 0.9375 0.9995
|
||||
vt 0.0000 0.7500 0.9995
|
||||
vt 0.0625 0.5625 0.9995
|
||||
vt 0.2500 0.5000 0.9995
|
||||
vt 0.4375 0.5625 0.9995
|
||||
# 34 texture coords
|
||||
|
||||
g Table_Top
|
||||
s off
|
||||
f 1/1/1 2/2/1 3/3/1
|
||||
f 3/3/1 4/4/1 1/1/1
|
||||
f 2/5/2 5/6/2 6/7/2
|
||||
f 6/7/2 3/8/2 2/5/2
|
||||
f 5/1/3 7/2/3 8/3/3
|
||||
f 8/3/3 6/4/3 5/1/3
|
||||
f 7/9/4 9/10/4 10/11/4
|
||||
f 10/11/4 8/12/4 7/9/4
|
||||
f 9/13/5 11/14/5 12/15/5
|
||||
f 12/15/5 10/16/5 9/13/5
|
||||
f 11/9/6 13/10/6 14/11/6
|
||||
f 14/11/6 12/12/6 11/9/6
|
||||
f 13/13/7 15/14/7 16/15/7
|
||||
f 16/15/7 14/16/7 13/13/7
|
||||
f 15/5/8 1/6/8 4/7/8
|
||||
f 4/7/8 16/8/8 15/5/8
|
||||
f 2/17/9 1/18/9 17/19/9
|
||||
f 5/20/9 2/17/9 17/19/9
|
||||
f 7/21/9 5/20/9 17/19/9
|
||||
f 9/22/9 7/21/9 17/19/9
|
||||
f 11/23/9 9/22/9 17/19/9
|
||||
f 13/24/9 11/23/9 17/19/9
|
||||
f 15/25/9 13/24/9 17/19/9
|
||||
f 1/18/9 15/25/9 17/19/9
|
||||
f 4/26/10 3/27/10 18/28/10
|
||||
f 3/27/10 6/29/10 18/28/10
|
||||
f 6/29/10 8/30/10 18/28/10
|
||||
f 8/30/10 10/31/10 18/28/10
|
||||
f 10/31/10 12/32/10 18/28/10
|
||||
f 12/32/10 14/33/10 18/28/10
|
||||
f 14/33/10 16/34/10 18/28/10
|
||||
f 16/34/10 4/26/10 18/28/10
|
||||
# 32 faces
|
||||
|
||||
#
|
||||
# object Table_Legs01
|
||||
#
|
||||
|
||||
v 0.5000 0.4599 -0.4766
|
||||
v 0.3957 0.4608 -0.4766
|
||||
v 0.3462 0.2251 -0.4766
|
||||
v 0.5000 0.2251 -0.4766
|
||||
v 0.0374 0.1074 -0.4766
|
||||
v 0.0097 0.0085 -0.4766
|
||||
v 0.1420 0.0085 -0.4766
|
||||
v 0.1482 0.1846 -0.4766
|
||||
v 0.2270 0.1584 -0.4766
|
||||
v 0.3210 0.0085 -0.4766
|
||||
v 0.5000 0.6855 -0.4766
|
||||
v 0.3687 0.6860 -0.4766
|
||||
v 0.2270 0.1584 -0.5234
|
||||
v 0.3462 0.2251 -0.5234
|
||||
v 0.3210 0.0085 -0.5234
|
||||
v 0.0374 0.1074 -0.5234
|
||||
v 0.1482 0.1846 -0.5234
|
||||
v 0.1420 0.0085 -0.5234
|
||||
v 0.0097 0.0085 -0.5234
|
||||
v 0.3957 0.4608 -0.5234
|
||||
v 0.3687 0.6860 -0.5234
|
||||
v 0.5000 0.6855 -0.5234
|
||||
v 0.5000 0.4599 -0.5234
|
||||
v 0.2525 0.9112 -0.4766
|
||||
v 0.2525 0.9112 -0.5234
|
||||
v 0.5000 0.0085 -0.5234
|
||||
v 0.5000 0.0085 -0.4766
|
||||
v 0.6538 0.2251 -0.4766
|
||||
v 0.6043 0.4608 -0.4766
|
||||
v 0.9626 0.1074 -0.4766
|
||||
v 0.8518 0.1846 -0.4766
|
||||
v 0.8580 0.0085 -0.4766
|
||||
v 0.9903 0.0085 -0.4766
|
||||
v 0.7730 0.1584 -0.4766
|
||||
v 0.6790 0.0085 -0.4766
|
||||
v 0.6313 0.6860 -0.4766
|
||||
v 0.7730 0.1584 -0.5234
|
||||
v 0.6790 0.0085 -0.5234
|
||||
v 0.6538 0.2251 -0.5234
|
||||
v 0.9626 0.1074 -0.5234
|
||||
v 0.9903 0.0085 -0.5234
|
||||
v 0.8580 0.0085 -0.5234
|
||||
v 0.8518 0.1846 -0.5234
|
||||
v 0.6313 0.6860 -0.5234
|
||||
v 0.6043 0.4608 -0.5234
|
||||
v 0.7475 0.9112 -0.4766
|
||||
v 0.7475 0.9112 -0.5234
|
||||
v 0.5000 0.9112 -0.4766
|
||||
v 0.5000 0.9112 -0.5234
|
||||
v 0.5000 0.2251 -0.5234
|
||||
# 50 vertices
|
||||
|
||||
vn 0.0000 -0.0000 1.0000
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -0.0000 0.0000 -1.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn -0.9628 0.2701 -0.0000
|
||||
vn -0.5719 0.8203 -0.0000
|
||||
vn -0.5719 0.8203 0.0000
|
||||
vn 0.3148 0.9492 0.0000
|
||||
vn -0.4877 0.8730 0.0000
|
||||
vn -0.9787 0.2052 0.0000
|
||||
vn -0.9787 0.2052 -0.0000
|
||||
vn -0.8888 -0.4583 0.0000
|
||||
vn -0.8888 -0.4583 -0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.9628 0.2701 -0.0000
|
||||
vn 0.5719 0.8203 0.0000
|
||||
vn 0.5719 0.8203 -0.0000
|
||||
vn -0.3148 0.9492 0.0000
|
||||
vn 0.4877 0.8730 0.0000
|
||||
vn 0.9787 0.2052 -0.0000
|
||||
vn 0.9787 0.2052 0.0000
|
||||
vn 0.8888 -0.4583 -0.0000
|
||||
vn -0.9929 -0.1190 0.0000
|
||||
vn 0.9929 -0.1190 0.0000
|
||||
vn 0.9929 -0.1190 -0.0000
|
||||
# 25 vertex normals
|
||||
|
||||
vt 0.6719 0.3594 0.4766
|
||||
vt 0.6094 0.3594 0.4766
|
||||
vt 0.5625 0.2188 0.4766
|
||||
vt 0.6719 0.2188 0.4766
|
||||
vt 0.3750 0.1406 0.4766
|
||||
vt 0.3594 0.0625 0.4766
|
||||
vt 0.4531 0.0625 0.4766
|
||||
vt 0.4531 0.1875 0.4766
|
||||
vt 0.5000 0.1719 0.4766
|
||||
vt 0.5625 0.0625 0.4766
|
||||
vt 0.6719 0.5156 0.4766
|
||||
vt 0.5781 0.5156 0.4766
|
||||
vt 0.8438 0.1719 0.5234
|
||||
vt 0.7813 0.2188 0.5234
|
||||
vt 0.7813 0.0625 0.5234
|
||||
vt 0.9688 0.1406 0.5234
|
||||
vt 0.8906 0.1875 0.5234
|
||||
vt 0.8906 0.0625 0.5234
|
||||
vt 0.9844 0.0625 0.5234
|
||||
vt 0.7344 0.3594 0.5234
|
||||
vt 0.7656 0.5156 0.5234
|
||||
vt 0.6719 0.5156 0.5234
|
||||
vt 0.6719 0.3594 0.5234
|
||||
vt 0.9375 -0.0000 0.0102
|
||||
vt 0.9375 0.0313 0.0102
|
||||
vt 0.8438 0.0313 0.0379
|
||||
vt 0.8438 -0.0000 0.0379
|
||||
vt 0.0000 0.0313 0.1001
|
||||
vt 0.0000 -0.0000 0.1001
|
||||
vt 0.0938 -0.0000 0.1779
|
||||
vt 0.0938 0.0313 0.1779
|
||||
vt 0.1875 -0.0000 0.1516
|
||||
vt 0.1875 0.0313 0.1516
|
||||
vt 0.3125 -0.0000 0.2187
|
||||
vt 0.3125 0.0313 0.2187
|
||||
vt 0.7188 -0.0000 0.3464
|
||||
vt 0.7188 0.0313 0.3464
|
||||
vt 0.5000 0.0313 0.3958
|
||||
vt 0.5000 -0.0000 0.3958
|
||||
vt 0.2500 -0.0000 0.3688
|
||||
vt 0.2500 0.0313 0.3688
|
||||
vt 0.0313 0.0313 0.2528
|
||||
vt 0.0313 -0.0000 0.2528
|
||||
vt 0.4375 0.0313 0.0005
|
||||
vt 0.4375 -0.0000 0.0005
|
||||
vt 0.6250 -0.0000 0.0005
|
||||
vt 0.6250 0.0313 0.0005
|
||||
vt 0.8125 -0.0000 0.0005
|
||||
vt 0.8125 0.0313 0.0005
|
||||
vt 0.9375 -0.0000 0.0005
|
||||
vt 0.9375 0.0313 0.0005
|
||||
vt 0.7813 0.2188 0.4766
|
||||
vt 0.7344 0.3594 0.4766
|
||||
vt 0.9688 0.1406 0.4766
|
||||
vt 0.8906 0.1875 0.4766
|
||||
vt 0.8906 0.0625 0.4766
|
||||
vt 0.9844 0.0625 0.4766
|
||||
vt 0.8438 0.1719 0.4766
|
||||
vt 0.7813 0.0625 0.4766
|
||||
vt 0.7656 0.5156 0.4766
|
||||
vt 0.5000 0.1719 0.5234
|
||||
vt 0.5625 0.0625 0.5234
|
||||
vt 0.5625 0.2188 0.5234
|
||||
vt 0.3750 0.1406 0.5234
|
||||
vt 0.3594 0.0625 0.5234
|
||||
vt 0.4531 0.0625 0.5234
|
||||
vt 0.4531 0.1875 0.5234
|
||||
vt 0.5781 0.5156 0.5234
|
||||
vt 0.6094 0.3594 0.5234
|
||||
vt 0.9375 0.0313 0.9898
|
||||
vt 0.8438 0.0313 0.9621
|
||||
vt 0.8438 -0.0000 0.9621
|
||||
vt 0.9375 -0.0000 0.9898
|
||||
vt 0.9063 0.0313 0.1001
|
||||
vt 0.8125 0.0313 0.1779
|
||||
vt 0.8125 -0.0000 0.1779
|
||||
vt 0.9063 -0.0000 0.1001
|
||||
vt 0.7188 0.0313 0.1516
|
||||
vt 0.7188 -0.0000 0.1516
|
||||
vt 0.5938 0.0313 0.2187
|
||||
vt 0.5938 -0.0000 0.2187
|
||||
vt 0.7188 0.0313 0.6536
|
||||
vt 0.5000 0.0313 0.6042
|
||||
vt 0.5000 -0.0000 0.6042
|
||||
vt 0.7188 -0.0000 0.6536
|
||||
vt 0.0313 -0.0000 0.7472
|
||||
vt 0.2500 -0.0000 0.6312
|
||||
vt 0.2500 0.0313 0.6312
|
||||
vt 0.0313 0.0313 0.7472
|
||||
vt 0.2813 0.0313 0.0005
|
||||
vt 0.2813 -0.0000 0.0005
|
||||
vt 0.0938 0.0313 0.0005
|
||||
vt 0.0938 -0.0000 0.0005
|
||||
vt -0.0000 0.0313 0.0005
|
||||
vt -0.0000 -0.0000 0.0005
|
||||
vt 0.6719 0.6875 0.4766
|
||||
vt 0.5000 0.6875 0.4766
|
||||
vt 0.8438 0.6875 0.5234
|
||||
vt 0.6719 0.6875 0.5234
|
||||
vt 0.6250 0.3594 0.3958
|
||||
vt 0.6563 0.3594 0.3958
|
||||
vt 0.6563 0.5156 0.3688
|
||||
vt 0.6250 0.5156 0.3688
|
||||
vt 0.8438 0.6875 0.4766
|
||||
vt 0.5000 0.6875 0.5234
|
||||
vt 0.6250 0.3594 0.6042
|
||||
vt 0.6563 0.3594 0.6042
|
||||
vt 0.6563 0.5156 0.6312
|
||||
vt 0.6250 0.5156 0.6312
|
||||
vt 0.6719 0.0625 0.4766
|
||||
vt 0.6719 0.2188 0.5234
|
||||
vt 0.6719 0.0625 0.5234
|
||||
# 112 texture coords
|
||||
|
||||
g Table_Legs01
|
||||
s off
|
||||
f 19/35/11 20/36/11 21/37/11
|
||||
f 21/37/11 22/38/11 19/35/11
|
||||
f 23/39/11 24/40/11 25/41/11
|
||||
f 25/41/11 26/42/11 23/39/11
|
||||
f 27/43/12 26/42/12 25/41/12
|
||||
f 25/41/11 28/44/11 27/43/11
|
||||
f 29/45/11 30/46/11 20/36/11
|
||||
f 20/36/11 19/35/11 29/45/11
|
||||
f 31/47/13 32/48/13 33/49/13
|
||||
f 34/50/13 35/51/13 36/52/13
|
||||
f 36/52/14 37/53/14 34/50/14
|
||||
f 31/47/14 33/49/14 36/52/14
|
||||
f 36/52/14 35/51/14 31/47/14
|
||||
f 38/54/13 39/55/13 40/56/13
|
||||
f 40/56/13 41/57/13 38/54/13
|
||||
f 37/58/15 24/59/15 23/60/15
|
||||
f 23/60/15 34/61/15 37/58/15
|
||||
f 34/62/16 23/63/16 26/64/16
|
||||
f 26/64/17 35/65/17 34/62/17
|
||||
f 35/65/18 26/64/18 27/66/18
|
||||
f 27/66/18 31/67/18 35/65/18
|
||||
f 31/67/19 27/66/19 21/68/19
|
||||
f 21/68/19 32/69/19 31/67/19
|
||||
f 32/70/20 21/71/20 20/72/20
|
||||
f 20/72/21 38/73/21 32/70/21
|
||||
f 39/74/22 30/75/22 42/76/22
|
||||
f 42/76/23 43/77/23 39/74/23
|
||||
f 44/78/24 45/79/24 28/80/24
|
||||
f 28/80/24 33/81/24 44/78/24
|
||||
f 33/81/24 28/80/24 25/82/24
|
||||
f 25/82/24 36/83/24 33/81/24
|
||||
f 36/83/24 25/82/24 24/84/24
|
||||
f 24/84/24 37/85/24 36/83/24
|
||||
f 46/86/12 47/87/12 19/35/12
|
||||
f 19/35/12 22/38/12 46/86/12
|
||||
f 48/88/12 49/89/12 50/90/12
|
||||
f 50/90/11 51/91/11 48/88/11
|
||||
f 52/92/11 53/93/11 50/90/11
|
||||
f 50/90/11 49/89/11 52/92/11
|
||||
f 47/87/12 54/94/12 29/45/12
|
||||
f 29/45/12 19/35/12 47/87/12
|
||||
f 55/95/14 56/96/14 57/97/14
|
||||
f 58/98/14 59/99/14 60/100/14
|
||||
f 60/100/14 61/101/14 58/98/14
|
||||
f 55/95/13 61/101/13 60/100/13
|
||||
f 60/100/14 56/96/14 55/95/14
|
||||
f 40/56/14 62/102/14 63/103/14
|
||||
f 63/103/14 41/57/14 40/56/14
|
||||
f 59/104/25 58/105/25 48/106/25
|
||||
f 48/106/25 51/107/25 59/104/25
|
||||
f 58/108/26 61/109/26 49/110/26
|
||||
f 49/110/27 48/111/27 58/108/27
|
||||
f 61/109/28 55/112/28 52/113/28
|
||||
f 52/113/28 49/110/28 61/109/28
|
||||
f 55/112/29 57/114/29 46/115/29
|
||||
f 46/115/29 52/113/29 55/112/29
|
||||
f 57/116/30 63/117/30 47/118/30
|
||||
f 47/118/31 46/119/31 57/116/31
|
||||
f 64/120/32 54/121/32 62/122/32
|
||||
f 62/122/32 65/123/32 64/120/32
|
||||
f 44/78/24 56/124/24 53/125/24
|
||||
f 53/125/24 45/79/24 44/78/24
|
||||
f 56/124/24 60/126/24 50/127/24
|
||||
f 50/127/24 53/125/24 56/124/24
|
||||
f 60/126/24 59/128/24 51/129/24
|
||||
f 51/129/24 50/127/24 60/126/24
|
||||
f 66/130/11 42/131/11 30/46/11
|
||||
f 30/46/11 29/45/11 66/130/11
|
||||
f 39/55/14 43/132/14 67/133/14
|
||||
f 67/133/13 40/56/13 39/55/13
|
||||
f 38/134/33 20/135/33 30/136/33
|
||||
f 30/136/33 39/137/33 38/134/33
|
||||
f 54/94/11 64/138/11 66/130/11
|
||||
f 66/130/12 29/45/12 54/94/12
|
||||
f 67/133/14 65/139/14 62/102/14
|
||||
f 62/102/14 40/56/14 67/133/14
|
||||
f 47/140/34 63/141/34 62/142/34
|
||||
f 62/142/35 54/143/35 47/140/35
|
||||
f 21/37/11 28/44/11 45/144/11
|
||||
f 45/144/11 22/38/11 21/37/11
|
||||
f 45/144/11 53/93/11 46/86/11
|
||||
f 46/86/12 22/38/12 45/144/12
|
||||
f 32/48/13 38/54/13 41/57/13
|
||||
f 41/57/13 68/145/13 32/48/13
|
||||
f 41/57/14 63/103/14 57/97/14
|
||||
f 57/97/14 68/145/14 41/57/14
|
||||
f 32/48/13 68/145/13 44/146/13
|
||||
f 44/146/14 33/49/14 32/48/14
|
||||
f 21/37/11 27/43/11 28/44/11
|
||||
f 44/146/14 68/145/14 57/97/14
|
||||
f 57/97/14 56/96/14 44/146/14
|
||||
f 53/93/12 52/92/12 46/86/12
|
||||
# 92 faces
|
||||
|
||||
#
|
||||
# object Table_Legs02
|
||||
#
|
||||
|
||||
v 0.5234 0.4599 -0.5000
|
||||
v 0.5234 0.4608 -0.3957
|
||||
v 0.5234 0.2251 -0.3462
|
||||
v 0.5234 0.2251 -0.5000
|
||||
v 0.5234 0.1074 -0.0374
|
||||
v 0.5234 0.0085 -0.0097
|
||||
v 0.5234 0.0085 -0.1420
|
||||
v 0.5234 0.1846 -0.1482
|
||||
v 0.5234 0.1584 -0.2270
|
||||
v 0.5234 0.0085 -0.3210
|
||||
v 0.5234 0.6855 -0.5000
|
||||
v 0.5234 0.6860 -0.3687
|
||||
v 0.4766 0.1584 -0.2270
|
||||
v 0.4766 0.2251 -0.3462
|
||||
v 0.4766 0.0085 -0.3210
|
||||
v 0.4766 0.1074 -0.0374
|
||||
v 0.4766 0.1846 -0.1482
|
||||
v 0.4766 0.0085 -0.1420
|
||||
v 0.4766 0.0085 -0.0097
|
||||
v 0.4766 0.4608 -0.3957
|
||||
v 0.4766 0.6860 -0.3687
|
||||
v 0.4766 0.6855 -0.5000
|
||||
v 0.4766 0.4599 -0.5000
|
||||
v 0.5234 0.9112 -0.2525
|
||||
v 0.4766 0.9112 -0.2525
|
||||
v 0.4766 0.0085 -0.5000
|
||||
v 0.5234 0.0085 -0.5000
|
||||
v 0.5234 0.2251 -0.6538
|
||||
v 0.5234 0.4608 -0.6043
|
||||
v 0.5234 0.1074 -0.9626
|
||||
v 0.5234 0.1846 -0.8518
|
||||
v 0.5234 0.0085 -0.8580
|
||||
v 0.5234 0.0085 -0.9903
|
||||
v 0.5234 0.1584 -0.7730
|
||||
v 0.5234 0.0085 -0.6790
|
||||
v 0.5234 0.6860 -0.6313
|
||||
v 0.4766 0.1584 -0.7730
|
||||
v 0.4766 0.0085 -0.6790
|
||||
v 0.4766 0.2251 -0.6538
|
||||
v 0.4766 0.1074 -0.9626
|
||||
v 0.4766 0.0085 -0.9903
|
||||
v 0.4766 0.0085 -0.8580
|
||||
v 0.4766 0.1846 -0.8518
|
||||
v 0.4766 0.6860 -0.6313
|
||||
v 0.4766 0.4608 -0.6043
|
||||
v 0.5234 0.9112 -0.7475
|
||||
v 0.4766 0.9112 -0.7475
|
||||
v 0.5234 0.9112 -0.5000
|
||||
v 0.4766 0.9112 -0.5000
|
||||
v 0.4766 0.2251 -0.5000
|
||||
# 50 vertices
|
||||
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn 1.0000 -0.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn -0.0000 0.2701 0.9628
|
||||
vn -0.0000 0.8203 0.5719
|
||||
vn 0.0000 0.8203 0.5719
|
||||
vn 0.0000 0.9492 -0.3148
|
||||
vn 0.0000 0.8730 0.4877
|
||||
vn 0.0000 0.2052 0.9787
|
||||
vn 0.0000 -0.4583 0.8888
|
||||
vn -0.0000 -0.4583 0.8888
|
||||
vn 0.0000 -1.0000 -0.0000
|
||||
vn -0.0000 0.2701 -0.9628
|
||||
vn 0.0000 0.8203 -0.5719
|
||||
vn -0.0000 0.8203 -0.5719
|
||||
vn 0.0000 0.9492 0.3148
|
||||
vn 0.0000 0.8730 -0.4877
|
||||
vn -0.0000 0.2052 -0.9787
|
||||
vn -0.0000 -0.4583 -0.8888
|
||||
vn 0.0000 -0.1190 0.9929
|
||||
vn -0.0000 -0.1190 -0.9929
|
||||
# 22 vertex normals
|
||||
|
||||
vt 0.6719 0.3594 0.5234
|
||||
vt 0.6094 0.3594 0.5234
|
||||
vt 0.5625 0.2188 0.5234
|
||||
vt 0.6719 0.2188 0.5234
|
||||
vt 0.3750 0.1406 0.5234
|
||||
vt 0.3594 0.0625 0.5234
|
||||
vt 0.4531 0.0625 0.5234
|
||||
vt 0.4531 0.1875 0.5234
|
||||
vt 0.5000 0.1719 0.5234
|
||||
vt 0.5625 0.0625 0.5234
|
||||
vt 0.6719 0.5156 0.5234
|
||||
vt 0.5781 0.5156 0.5234
|
||||
vt 0.8438 0.1719 0.4766
|
||||
vt 0.7813 0.2188 0.4766
|
||||
vt 0.7813 0.0625 0.4766
|
||||
vt 0.9688 0.1406 0.4766
|
||||
vt 0.8906 0.1875 0.4766
|
||||
vt 0.8906 0.0625 0.4766
|
||||
vt 0.9844 0.0625 0.4766
|
||||
vt 0.7344 0.3594 0.4766
|
||||
vt 0.7656 0.5156 0.4766
|
||||
vt 0.6719 0.5156 0.4766
|
||||
vt 0.6719 0.3594 0.4766
|
||||
vt 0.9375 -0.0000 0.0102
|
||||
vt 0.9375 0.0313 0.0102
|
||||
vt 0.8438 0.0313 0.0379
|
||||
vt 0.8438 -0.0000 0.0379
|
||||
vt 0.9063 -0.0000 0.1001
|
||||
vt 0.9063 0.0313 0.1001
|
||||
vt 0.8125 0.0313 0.1779
|
||||
vt 0.8125 -0.0000 0.1779
|
||||
vt 0.7188 0.0313 0.1516
|
||||
vt 0.7188 -0.0000 0.1516
|
||||
vt 0.5938 0.0313 0.2187
|
||||
vt 0.5938 -0.0000 0.2187
|
||||
vt 0.7188 -0.0000 0.3464
|
||||
vt 0.7188 0.0313 0.3464
|
||||
vt 0.5000 0.0313 0.3958
|
||||
vt 0.5000 -0.0000 0.3958
|
||||
vt 0.2500 -0.0000 0.3688
|
||||
vt 0.2500 0.0313 0.3688
|
||||
vt 0.0313 0.0313 0.2528
|
||||
vt 0.0313 -0.0000 0.2528
|
||||
vt 0.4375 0.0313 0.0005
|
||||
vt 0.4375 -0.0000 0.0005
|
||||
vt 0.6250 -0.0000 0.0005
|
||||
vt 0.6250 0.0313 0.0005
|
||||
vt 0.8125 -0.0000 0.0005
|
||||
vt 0.8125 0.0313 0.0005
|
||||
vt 0.9375 -0.0000 0.0005
|
||||
vt 0.9375 0.0313 0.0005
|
||||
vt 0.7813 0.2188 0.5234
|
||||
vt 0.7344 0.3594 0.5234
|
||||
vt 0.9688 0.1406 0.5234
|
||||
vt 0.8906 0.1875 0.5234
|
||||
vt 0.8906 0.0625 0.5234
|
||||
vt 0.9844 0.0625 0.5234
|
||||
vt 0.8438 0.1719 0.5234
|
||||
vt 0.7813 0.0625 0.5234
|
||||
vt 0.7656 0.5156 0.5234
|
||||
vt 0.5000 0.1719 0.4766
|
||||
vt 0.5625 0.0625 0.4766
|
||||
vt 0.5625 0.2188 0.4766
|
||||
vt 0.3750 0.1406 0.4766
|
||||
vt 0.3594 0.0625 0.4766
|
||||
vt 0.4531 0.0625 0.4766
|
||||
vt 0.4531 0.1875 0.4766
|
||||
vt 0.5781 0.5156 0.4766
|
||||
vt 0.6094 0.3594 0.4766
|
||||
vt 0.9375 0.0313 0.9898
|
||||
vt 0.8438 0.0313 0.9621
|
||||
vt 0.8438 -0.0000 0.9621
|
||||
vt 0.9375 -0.0000 0.9898
|
||||
vt -0.0000 -0.0000 0.1001
|
||||
vt 0.0938 -0.0000 0.1779
|
||||
vt 0.0938 0.0313 0.1779
|
||||
vt -0.0000 0.0313 0.1001
|
||||
vt 0.1875 -0.0000 0.1516
|
||||
vt 0.1875 0.0313 0.1516
|
||||
vt 0.2813 -0.0000 0.2187
|
||||
vt 0.2813 0.0313 0.2187
|
||||
vt 0.7188 0.0313 0.6536
|
||||
vt 0.5000 0.0313 0.6042
|
||||
vt 0.5000 -0.0000 0.6042
|
||||
vt 0.7188 -0.0000 0.6536
|
||||
vt 0.0313 -0.0000 0.7472
|
||||
vt 0.2500 -0.0000 0.6312
|
||||
vt 0.2500 0.0313 0.6312
|
||||
vt 0.0313 0.0313 0.7472
|
||||
vt 0.2813 0.0313 0.0005
|
||||
vt 0.2813 -0.0000 0.0005
|
||||
vt 0.0938 0.0313 0.0005
|
||||
vt 0.0938 -0.0000 0.0005
|
||||
vt -0.0000 0.0313 0.0005
|
||||
vt -0.0000 -0.0000 0.0005
|
||||
vt 0.6719 0.6875 0.5234
|
||||
vt 0.5000 0.6875 0.5234
|
||||
vt 0.8438 0.6875 0.4766
|
||||
vt 0.6719 0.6875 0.4766
|
||||
vt 0.2656 0.0313 0.3958
|
||||
vt 0.2656 0.0000 0.3958
|
||||
vt 0.5000 0.0000 0.3688
|
||||
vt 0.5000 0.0313 0.3688
|
||||
vt 0.8438 0.6875 0.5234
|
||||
vt 0.5000 0.6875 0.4766
|
||||
vt 0.6250 0.3594 0.6042
|
||||
vt 0.6563 0.3594 0.6042
|
||||
vt 0.6563 0.5156 0.6312
|
||||
vt 0.6250 0.5156 0.6312
|
||||
vt 0.6719 0.0625 0.5234
|
||||
vt 0.6719 0.2188 0.4766
|
||||
vt 0.6719 0.0625 0.4766
|
||||
# 112 texture coords
|
||||
|
||||
g Table_Legs02
|
||||
s off
|
||||
f 69/147/36 70/148/36 71/149/36
|
||||
f 71/149/36 72/150/36 69/147/36
|
||||
f 73/151/36 74/152/36 75/153/36
|
||||
f 75/153/36 76/154/36 73/151/36
|
||||
f 77/155/37 76/154/37 75/153/37
|
||||
f 75/153/36 78/156/36 77/155/36
|
||||
f 79/157/36 80/158/36 70/148/36
|
||||
f 70/148/36 69/147/36 79/157/36
|
||||
f 81/159/38 82/160/38 83/161/38
|
||||
f 84/162/38 85/163/38 86/164/38
|
||||
f 86/164/38 87/165/38 84/162/38
|
||||
f 81/159/38 83/161/38 86/164/38
|
||||
f 86/164/39 85/163/39 81/159/39
|
||||
f 88/166/38 89/167/38 90/168/38
|
||||
f 90/168/38 91/169/38 88/166/38
|
||||
f 87/170/40 74/171/40 73/172/40
|
||||
f 73/172/40 84/173/40 87/170/40
|
||||
f 84/174/41 73/175/41 76/176/41
|
||||
f 76/176/42 85/177/42 84/174/42
|
||||
f 85/177/43 76/176/43 77/178/43
|
||||
f 77/178/43 81/179/43 85/177/43
|
||||
f 81/179/44 77/178/44 71/180/44
|
||||
f 71/180/44 82/181/44 81/179/44
|
||||
f 82/182/45 71/183/45 70/184/45
|
||||
f 70/184/45 88/185/45 82/182/45
|
||||
f 89/186/46 80/187/46 92/188/46
|
||||
f 92/188/47 93/189/47 89/186/47
|
||||
f 94/190/48 95/191/48 78/192/48
|
||||
f 78/192/48 83/193/48 94/190/48
|
||||
f 83/193/48 78/192/48 75/194/48
|
||||
f 75/194/48 86/195/48 83/193/48
|
||||
f 86/195/48 75/194/48 74/196/48
|
||||
f 74/196/48 87/197/48 86/195/48
|
||||
f 96/198/37 97/199/37 69/147/37
|
||||
f 69/147/37 72/150/37 96/198/37
|
||||
f 98/200/37 99/201/37 100/202/37
|
||||
f 100/202/36 101/203/36 98/200/36
|
||||
f 102/204/36 103/205/36 100/202/36
|
||||
f 100/202/36 99/201/36 102/204/36
|
||||
f 97/199/37 104/206/37 79/157/37
|
||||
f 79/157/37 69/147/37 97/199/37
|
||||
f 105/207/39 106/208/39 107/209/39
|
||||
f 108/210/38 109/211/38 110/212/38
|
||||
f 110/212/39 111/213/39 108/210/39
|
||||
f 105/207/38 111/213/38 110/212/38
|
||||
f 110/212/38 106/208/38 105/207/38
|
||||
f 90/168/39 112/214/39 113/215/39
|
||||
f 113/215/39 91/169/39 90/168/39
|
||||
f 109/216/49 108/217/49 98/218/49
|
||||
f 98/218/49 101/219/49 109/216/49
|
||||
f 108/220/50 111/221/50 99/222/50
|
||||
f 99/222/51 98/223/51 108/220/51
|
||||
f 111/221/52 105/224/52 102/225/52
|
||||
f 102/225/52 99/222/52 111/221/52
|
||||
f 105/224/53 107/226/53 96/227/53
|
||||
f 96/227/53 102/225/53 105/224/53
|
||||
f 107/228/54 113/229/54 97/230/54
|
||||
f 97/230/54 96/231/54 107/228/54
|
||||
f 114/232/55 104/233/55 112/234/55
|
||||
f 112/234/55 115/235/55 114/232/55
|
||||
f 94/190/48 106/236/48 103/237/48
|
||||
f 103/237/48 95/191/48 94/190/48
|
||||
f 106/236/48 110/238/48 100/239/48
|
||||
f 100/239/48 103/237/48 106/236/48
|
||||
f 110/238/48 109/240/48 101/241/48
|
||||
f 101/241/48 100/239/48 110/238/48
|
||||
f 116/242/36 92/243/36 80/158/36
|
||||
f 80/158/36 79/157/36 116/242/36
|
||||
f 89/167/38 93/244/38 117/245/38
|
||||
f 117/245/38 90/168/38 89/167/38
|
||||
f 88/246/56 70/247/56 80/248/56
|
||||
f 80/248/56 89/249/56 88/246/56
|
||||
f 104/206/36 114/250/36 116/242/36
|
||||
f 116/242/37 79/157/37 104/206/37
|
||||
f 117/245/38 115/251/38 112/214/38
|
||||
f 112/214/39 90/168/39 117/245/39
|
||||
f 97/252/57 113/253/57 112/254/57
|
||||
f 112/254/57 104/255/57 97/252/57
|
||||
f 71/149/36 78/156/36 95/256/36
|
||||
f 95/256/36 72/150/36 71/149/36
|
||||
f 95/256/36 103/205/36 96/198/36
|
||||
f 96/198/37 72/150/37 95/256/37
|
||||
f 82/160/38 88/166/38 91/169/38
|
||||
f 91/169/38 118/257/38 82/160/38
|
||||
f 91/169/39 113/215/39 107/209/39
|
||||
f 107/209/39 118/257/39 91/169/39
|
||||
f 82/160/38 118/257/38 94/258/38
|
||||
f 94/258/38 83/161/38 82/160/38
|
||||
f 71/149/36 77/155/36 78/156/36
|
||||
f 94/258/39 118/257/39 107/209/39
|
||||
f 107/209/38 106/208/38 94/258/38
|
||||
f 103/205/37 102/204/37 96/198/37
|
||||
# 92 faces
|
||||
|
File diff suppressed because it is too large
Load diff
Binary file not shown.
Before Width: | Height: | Size: 6.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 490 B After Width: | Height: | Size: 543 B |
Binary file not shown.
Before Width: | Height: | Size: 6.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
BIN
resources/assets/ee3/textures/xcf/items/alchemicalChalk.xcf
Normal file
BIN
resources/assets/ee3/textures/xcf/items/alchemicalChalk.xcf
Normal file
Binary file not shown.
Binary file not shown.
Loading…
Reference in a new issue