Skip to content

Commit 4c21584

Browse files
authored
Merge pull request #2019
1.20.1 arc furnace
2 parents 4d8de26 + 933fdae commit 4c21584

File tree

2 files changed

+32
-19
lines changed

2 files changed

+32
-19
lines changed

src/main/java/wayoftime/bloodmagic/common/item/ItemLavaCrystal.java

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import net.minecraft.advancements.CriteriaTriggers;
44
import net.minecraft.core.BlockPos;
55
import net.minecraft.core.Direction;
6+
import net.minecraft.nbt.CompoundTag;
67
import net.minecraft.server.level.ServerPlayer;
78
import net.minecraft.sounds.SoundEvents;
89
import net.minecraft.sounds.SoundSource;
@@ -17,6 +18,7 @@
1718
import net.minecraftforge.fml.util.thread.EffectiveSide;
1819
import wayoftime.bloodmagic.core.data.Binding;
1920
import wayoftime.bloodmagic.core.data.SoulTicket;
21+
import wayoftime.bloodmagic.util.BMLog;
2022
import wayoftime.bloodmagic.util.helper.NetworkHelper;
2123
import wayoftime.bloodmagic.util.helper.PlayerHelper;
2224

@@ -72,22 +74,25 @@ public int getBurnTime(ItemStack stack)
7274
return -1;
7375
}
7476

75-
// @Nullable
76-
// @Override
77-
// public Binding getBinding(ItemStack stack)
78-
// {
79-
// if (stack.getTag() == null) // hasTagCompound doesn't work on empty stacks with tags
80-
// return null;
81-
//
82-
// NBTBase bindingTag = stack.getTag().get("binding");
83-
// if (bindingTag == null || bindingTag.getId() != 10 || bindingTag.isEmpty()) // Make sure it's both a tag
84-
// // compound and that it has actual
85-
// // data.
86-
// return null;
87-
//
88-
// NBTTagCompound nbt = (NBTTagCompound) bindingTag;
89-
// return new Binding(NBTUtil.getUUIDFromTag(nbt.getCompoundTag("id")), nbt.getString("name"));
90-
// }
77+
// @Nullable
78+
// @Override
79+
// public Binding getBinding(ItemStack stack)
80+
// {
81+
// if (stack.getTag() == null) // hasTagCompound doesn't work on empty stacks
82+
// with tags
83+
// return null;
84+
//
85+
// NBTBase bindingTag = stack.getTag().get("binding");
86+
// if (bindingTag == null || bindingTag.getId() != 10 || bindingTag.isEmpty())
87+
// // Make sure it's both a tag
88+
// // compound and that it has actual
89+
// // data.
90+
// return null;
91+
//
92+
// NBTTagCompound nbt = (NBTTagCompound) bindingTag;
93+
// return new Binding(NBTUtil.getUUIDFromTag(nbt.getCompoundTag("id")),
94+
// nbt.getString("name"));
95+
// }
9196

9297
@Override
9398
public InteractionResult useOn(UseOnContext context)

src/main/java/wayoftime/bloodmagic/common/tile/TileAlchemicalReactionChamber.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,15 @@
3131
import wayoftime.bloodmagic.api.compat.EnumDemonWillType;
3232
import wayoftime.bloodmagic.common.block.BlockAlchemicalReactionChamber;
3333
import wayoftime.bloodmagic.common.container.tile.ContainerAlchemicalReactionChamber;
34+
import wayoftime.bloodmagic.common.item.ItemLavaCrystal;
3435
import wayoftime.bloodmagic.common.item.arc.IARCTool;
3536
import wayoftime.bloodmagic.common.item.inventory.InventoryWrapper;
3637
import wayoftime.bloodmagic.common.tags.BloodMagicTags;
3738
import wayoftime.bloodmagic.impl.BloodMagicAPI;
3839
import wayoftime.bloodmagic.network.ARCTanksPacket;
3940
import wayoftime.bloodmagic.recipe.RecipeARC;
4041
import wayoftime.bloodmagic.recipe.helper.FluidStackIngredient;
42+
import wayoftime.bloodmagic.util.BMLog;
4143
import wayoftime.bloodmagic.util.Constants;
4244
import wayoftime.bloodmagic.util.MultiSlotItemHandler;
4345

@@ -347,6 +349,12 @@ private void craftItem(RecipeARC recipe, ItemStack inputStack, ItemStack toolSta
347349

348350
private boolean canCraftFurnace(ItemStack outputStack, MultiSlotItemHandler outputSlotHandler)
349351
{
352+
ItemStack toolStack = this.getItem(ARC_TOOL_SLOT);
353+
if (toolStack.getItem() instanceof ItemLavaCrystal)
354+
{
355+
if (((ItemLavaCrystal) toolStack.getItem()).getBurnTime(toolStack) <= 0)
356+
return false;
357+
}
350358
List<ItemStack> outputList = new ArrayList<>();
351359
outputList.add(outputStack);
352360
return outputSlotHandler.canTransferAllItemsToSlots(outputList, true);
@@ -357,7 +365,7 @@ private void craftFurnace(ItemStack outputStack, MultiSlotItemHandler outputSlot
357365
List<ItemStack> outputList = new ArrayList<>();
358366
outputList.add(outputStack);
359367
outputSlotHandler.canTransferAllItemsToSlots(outputList, false);
360-
consumeInventory(1, false, false);
368+
consumeInventory(1, false, true);
361369
}
362370

363371
public void consumeInventory(int inputCount, boolean consumeInput, boolean breakTool)
@@ -394,7 +402,7 @@ public void consumeInventory(int inputCount, boolean consumeInput, boolean break
394402
}
395403
} else if (toolStack.getItem().hasCraftingRemainingItem(toolStack))
396404
{
397-
setItem(ARC_TOOL_SLOT, toolStack.getItem().getCraftingRemainingItem(inputStack));
405+
setItem(ARC_TOOL_SLOT, toolStack.getItem().getCraftingRemainingItem(toolStack));
398406
} else
399407
{
400408
toolStack.shrink(1);
@@ -572,4 +580,4 @@ public FluidStack drain(int maxDrain, FluidAction action)
572580
}
573581
return drainedStack;
574582
}
575-
}
583+
}

0 commit comments

Comments
 (0)