ActuallyAdditions/src/main/java/de/ellpeck/actuallyadditions/mod/recipe/EnchBookConversion.java

36 lines
1.4 KiB
Java
Raw Normal View History

package de.ellpeck.actuallyadditions.mod.recipe;
import com.google.common.collect.ImmutableMap;
import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI;
import de.ellpeck.actuallyadditions.api.internal.IAtomicReconstructor;
import de.ellpeck.actuallyadditions.api.recipe.LensConversionRecipe;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.util.math.BlockPos;
2021-02-27 16:33:00 +01:00
import java.util.Map;
// TODO: [port][test] check that this works
public class EnchBookConversion extends LensConversionRecipe {
2019-02-27 19:53:05 +01:00
public EnchBookConversion() {
super(Ingredient.fromItems(Items.ENCHANTED_BOOK), ItemStack.EMPTY, 155000, ActuallyAdditionsAPI.lensDefaultConversion);
2019-02-27 19:53:05 +01:00
}
@Override
2021-02-26 22:15:48 +01:00
public void transformHook(ItemStack stack, BlockState state, BlockPos pos, IAtomicReconstructor tile) {
2019-05-02 09:10:29 +02:00
for (Map.Entry<Enchantment, Integer> e : EnchantmentHelper.getEnchantments(stack).entrySet()) {
2019-02-27 19:53:05 +01:00
ItemStack book = new ItemStack(Items.ENCHANTED_BOOK);
Map<Enchantment, Integer> ench = ImmutableMap.of(e.getKey(), e.getValue());
EnchantmentHelper.setEnchantments(ench, book);
Block.spawnAsEntity(tile.getWorldObject(), pos, book);
}
}
}