feat: damage stone on transmutation

This commit is contained in:
Timo Ley 2022-12-11 16:40:20 +01:00
parent a56eba3482
commit 35b99ffa98
3 changed files with 42 additions and 7 deletions

View file

@ -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(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")); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stoneInert), "sis", "igi", "sis", 's', Blocks.stone, 'i', "ingotIron", 'g', "ingotGold"));
} }
private static void initAludelRecipes() 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)); AludelRecipeManager.getInstance().addRecipe(new ItemStack(ModBlocks.alchemicalChest, 1, 2), new ItemStack(ModBlocks.alchemicalChest, 1, 1), new ItemStack(ModItems.alchemicalDust, 8, 3));
// Minium Stone // 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 // Alchenomicon
AludelRecipeManager.getInstance().addRecipe(new ItemStack(ModItems.alchenomicon), new ItemStack(Items.book), new ItemStack(ModItems.alchemicalDust, 1, 3)); AludelRecipeManager.getInstance().addRecipe(new ItemStack(ModItems.alchenomicon), new ItemStack(Items.book), new ItemStack(ModItems.alchemicalDust, 1, 3));

View file

@ -7,8 +7,9 @@ import com.pahimar.ee3.util.IOverlayItem;
import com.pahimar.ee3.util.LogHelper; import com.pahimar.ee3.util.LogHelper;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; 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; private int maxChargeLevel;
@ -48,4 +49,19 @@ public class ItemPhilosophersStone extends ItemEE implements IKeyBound, IOverlay
{ {
LogHelper.info("{} {} {}", entityPlayer.toString(), itemStack.toString(), key.toString()); 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) {
}
} }

View file

@ -5,9 +5,8 @@ import com.pahimar.ee3.api.exchange.EnergyValue;
import com.pahimar.ee3.api.exchange.EnergyValueRegistryProxy; import com.pahimar.ee3.api.exchange.EnergyValueRegistryProxy;
import com.pahimar.ee3.api.exchange.ITransmutationContainer; import com.pahimar.ee3.api.exchange.ITransmutationContainer;
import com.pahimar.ee3.block.BlockAshInfusedStoneSlab; import com.pahimar.ee3.block.BlockAshInfusedStoneSlab;
import com.pahimar.ee3.item.ITransmutationStone;
import com.pahimar.ee3.item.ItemAlchenomicon; 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.knowledge.PlayerKnowledge;
import com.pahimar.ee3.network.PacketHandler; import com.pahimar.ee3.network.PacketHandler;
import com.pahimar.ee3.network.message.MessageTileEntityTransmutationTablet; import com.pahimar.ee3.network.message.MessageTileEntityTransmutationTablet;
@ -57,7 +56,7 @@ public class TileEntityTransmutationTablet extends TileEntityEE implements ISide
@Override @Override
public EnergyValue getAvailableEnergy() 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; return availableEnergy;
} else { } else {
return new EnergyValue(0); 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(); updateEnergyValueFromInventory();
} }
@ -332,7 +352,7 @@ public class TileEntityTransmutationTablet extends TileEntityEE implements ISide
{ {
return true; 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; return true;
} }