feat: damage stone on transmutation
This commit is contained in:
parent
a56eba3482
commit
35b99ffa98
|
@ -38,7 +38,6 @@ public class Recipes
|
|||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.researchStation), "ipi", " s ", "sss", 'i', "ingotIron", 's', Blocks.stone, 'p', "slabWood"));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stoneInert), "sis", "igi", "sis", 's', Blocks.stone, 'i', "ingotIron", 'g', "ingotGold"));
|
||||
|
||||
}
|
||||
|
||||
private static void initAludelRecipes()
|
||||
|
@ -72,7 +71,7 @@ public class Recipes
|
|||
AludelRecipeManager.getInstance().addRecipe(new ItemStack(ModBlocks.alchemicalChest, 1, 2), new ItemStack(ModBlocks.alchemicalChest, 1, 1), new ItemStack(ModItems.alchemicalDust, 8, 3));
|
||||
|
||||
// Minium Stone
|
||||
AludelRecipeManager.getInstance().addRecipe(new ItemStack(ModItems.stoneMinium), new ItemStack(ModItems.stoneInert), new ItemStack(ModItems.alchemicalDust, 8, 3));
|
||||
AludelRecipeManager.getInstance().addRecipe(new ItemStack(ModItems.stoneMinium), new ItemStack(ModItems.stoneInert), new ItemStack(ModItems.shardMinium, 8));
|
||||
|
||||
// Alchenomicon
|
||||
AludelRecipeManager.getInstance().addRecipe(new ItemStack(ModItems.alchenomicon), new ItemStack(Items.book), new ItemStack(ModItems.alchemicalDust, 1, 3));
|
||||
|
|
|
@ -7,8 +7,9 @@ import com.pahimar.ee3.util.IOverlayItem;
|
|||
import com.pahimar.ee3.util.LogHelper;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ItemPhilosophersStone extends ItemEE implements IKeyBound, IOverlayItem
|
||||
public class ItemPhilosophersStone extends ItemEE implements IKeyBound, IOverlayItem, ITransmutationStone
|
||||
{
|
||||
private int maxChargeLevel;
|
||||
|
||||
|
@ -48,4 +49,19 @@ public class ItemPhilosophersStone extends ItemEE implements IKeyBound, IOverlay
|
|||
{
|
||||
LogHelper.info("{} {} {}", entityPlayer.toString(), itemStack.toString(), key.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openPortableCraftingGUI(EntityPlayer p0, ItemStack p1) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openPortableTransmutationGUI(EntityPlayer p0, ItemStack p1) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transmuteBlock(ItemStack p0, EntityPlayer p1, World p2, int p3, int p4, int p5, int p6) {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,9 +5,8 @@ import com.pahimar.ee3.api.exchange.EnergyValue;
|
|||
import com.pahimar.ee3.api.exchange.EnergyValueRegistryProxy;
|
||||
import com.pahimar.ee3.api.exchange.ITransmutationContainer;
|
||||
import com.pahimar.ee3.block.BlockAshInfusedStoneSlab;
|
||||
import com.pahimar.ee3.item.ITransmutationStone;
|
||||
import com.pahimar.ee3.item.ItemAlchenomicon;
|
||||
import com.pahimar.ee3.item.ItemMiniumStone;
|
||||
import com.pahimar.ee3.item.ItemPhilosophersStone;
|
||||
import com.pahimar.ee3.knowledge.PlayerKnowledge;
|
||||
import com.pahimar.ee3.network.PacketHandler;
|
||||
import com.pahimar.ee3.network.message.MessageTileEntityTransmutationTablet;
|
||||
|
@ -57,7 +56,7 @@ public class TileEntityTransmutationTablet extends TileEntityEE implements ISide
|
|||
@Override
|
||||
public EnergyValue getAvailableEnergy()
|
||||
{
|
||||
if (inventory[STONE_INDEX] != null && inventory[STONE_INDEX].getItem() instanceof ItemMiniumStone) {
|
||||
if (inventory[STONE_INDEX] != null && inventory[STONE_INDEX].getItem() instanceof ITransmutationStone) {
|
||||
return availableEnergy;
|
||||
} else {
|
||||
return new EnergyValue(0);
|
||||
|
@ -132,6 +131,27 @@ public class TileEntityTransmutationTablet extends TileEntityEE implements ISide
|
|||
}
|
||||
}
|
||||
|
||||
int damageAmount = 1;
|
||||
|
||||
if (outputEnergyValue.getValue() >= 8192) {
|
||||
damageAmount = 200;
|
||||
} else if (outputEnergyValue.getValue() >= 2048) {
|
||||
damageAmount = 50;
|
||||
} else if (outputEnergyValue.getValue() >= 64) {
|
||||
damageAmount = 10;
|
||||
}
|
||||
|
||||
ItemStack stone = this.inventory[STONE_INDEX];
|
||||
|
||||
if (stone != null && stone.isItemStackDamageable()) {
|
||||
int newDamage = stone.getItemDamage() + damageAmount;
|
||||
if (newDamage >= stone.getMaxDamage()) {
|
||||
this.inventory[STONE_INDEX] = null;
|
||||
} else {
|
||||
stone.setItemDamage(newDamage);
|
||||
}
|
||||
}
|
||||
|
||||
updateEnergyValueFromInventory();
|
||||
}
|
||||
|
||||
|
@ -332,7 +352,7 @@ public class TileEntityTransmutationTablet extends TileEntityEE implements ISide
|
|||
{
|
||||
return true;
|
||||
}
|
||||
else if (slotIndex == STONE_INDEX && (itemStack.getItem() instanceof ItemMiniumStone || itemStack.getItem() instanceof ItemPhilosophersStone))
|
||||
else if (slotIndex == STONE_INDEX && itemStack.getItem() instanceof ITransmutationStone)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue