@SubscribeEvent public void onMilkDrink(LivingEntityUseItemEvent.Finish e) { if (milkResets && e.getItem().getItem() instanceof ItemBucketMilk && FloofBullet.oldPartCache.containsKey(e.getEntityLiving().getPersistentID())) { UUID uuid = e.getEntityLiving().getPersistentID(); PartsData oldParts = FloofBullet.oldPartCache.get(uuid); boolean remove = oldParts == null; if (remove) { Tails.proxy.removePartsData(uuid); } else { Tails.proxy.addPartsData(uuid, oldParts); } if (FMLCommonHandler.instance().getSide() == Side.SERVER) { Tails.networkWrapper.sendToAll(new PlayerDataMessage(uuid, oldParts, remove)); } } }
@Override public int fill(FluidStack resource, boolean doFill) { if (container.stackSize != 1 || resource == null || resource.amount < Fluid.BUCKET_VOLUME || container.getItem() instanceof ItemBucketMilk || getFluid() != null || !canFillFluidType(resource)) { return 0; } if (doFill) { setFluid(resource.getFluid()); } return Fluid.BUCKET_VOLUME; }
public static boolean canItemAcceptSockets(ItemStack stack) { Item item = stack.getItem(); if (item == PhysisItems.socketable) { return false; } if (item instanceof ItemBlock || item instanceof ItemReed || item instanceof ItemBed || item instanceof ItemFood || item instanceof ItemPotion || item instanceof ItemMinecart || item instanceof ItemBoat || item instanceof ItemEnchantedBook || item instanceof ItemWritableBook || item instanceof ItemBucket || item instanceof ItemBucketMilk || item instanceof ItemDoor) { return false; } if (item.getItemStackLimit(stack) > 1) { return false; } if (item.hasContainerItem(stack)){ ItemStack container = item.getContainerItem(stack); if (container != null && container.getItem() instanceof ItemBucket) { return false; } } if (item.getUnlocalizedName(stack).toLowerCase().contains("bucket")) { return false; } return true; }