Skip to content

Commit

Permalink
Meat feeders now fill from tank in your inventory, closes #444
Browse files Browse the repository at this point in the history
  • Loading branch information
Buuz135 committed Apr 16, 2019
1 parent 9e53f53 commit d435b01
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
# This is required to provide enough memory for the Minecraft decompilation process.
org.gradle.jvmargs=-Xmx3G
mod_version=1.12.11
mod_version=1.12.12
minecraft_version=1.12.2
teslacorelib_version=1.0.15.+
teslacorelib_mc_version=1.12.2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,40 @@
package com.buuz135.industrial.proxy.event;

import com.buuz135.industrial.item.MeatFeederItem;
import com.buuz135.industrial.proxy.FluidsRegistry;
import com.buuz135.industrial.proxy.ItemRegistry;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.living.LivingEvent;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandlerItem;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

public class MeatFeederTickHandler {

public static boolean meatTick(ItemStack stack, EntityPlayer player) {
int filledAmount = ((MeatFeederItem) stack.getItem()).getFilledAmount(stack);
public static boolean meatTick(ItemStack feeder, EntityPlayer player) {
int filledAmount = ((MeatFeederItem) feeder.getItem()).getFilledAmount(feeder);
if (filledAmount >= 400 && (player.getFoodStats().getSaturationLevel() < 20 || player.getFoodStats().getFoodLevel() < 20)) {
((MeatFeederItem) stack.getItem()).drain(stack, 400);
((MeatFeederItem) feeder.getItem()).drain(feeder, 400);
player.getFoodStats().addStats(1, 1);
return true;
}
for (ItemStack stack : player.inventory.mainInventory) {
if (stack.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null)) {
IFluidHandlerItem itemCap = stack.getCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null);
if (!feeder.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null)) continue;
FluidStack amount = feeder.getCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null).drain(128000, false);
FluidStack fluidStack = itemCap.drain(new FluidStack(FluidsRegistry.MEAT, amount == null ? 128000 : 128000 - amount.amount), false);
if (fluidStack != null) {
int filled = feeder.getCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null).fill(fluidStack, true);
if (filled > 0) {
itemCap.drain(filled, true);
break;
}
}
}
}
return false;
}

Expand Down

0 comments on commit d435b01

Please sign in to comment.