mirror of
https://github.com/GTNewHorizons/AE2FluidCraft-Rework.git
synced 2026-11-15 09:34:42 +00:00
begin work
This commit is contained in:
commit
db2ad29b52
124 files changed
+11799
No files matched your search
@@ -0,0 +1,102 @@
|
||||
package com.glodblock.github.util;
|
||||
|
||||
import appeng.api.config.SecurityPermissions;
|
||||
import appeng.api.networking.IGrid;
|
||||
import appeng.api.networking.IGridHost;
|
||||
import appeng.api.networking.IGridNode;
|
||||
import appeng.api.networking.security.ISecurityGrid;
|
||||
import appeng.api.parts.IPart;
|
||||
import com.glodblock.github.common.item.ItemFluidPacket;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.fluids.FluidContainerRegistry;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.IFluidContainerItem;
|
||||
|
||||
public final class Util {
|
||||
|
||||
public static EnumFacing from(ForgeDirection direction) {
|
||||
switch (direction) {
|
||||
case WEST: return EnumFacing.EAST;
|
||||
case EAST: return EnumFacing.WEST;
|
||||
case UNKNOWN: return null;
|
||||
default: {
|
||||
int o = direction.ordinal();
|
||||
return EnumFacing.values()[o];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static ForgeDirection from(EnumFacing direction) {
|
||||
switch (direction) {
|
||||
case WEST: return ForgeDirection.EAST;
|
||||
case EAST: return ForgeDirection.WEST;
|
||||
default: {
|
||||
int o = direction.ordinal();
|
||||
return ForgeDirection.values()[o];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean hasPermission(EntityPlayer player, SecurityPermissions permission, IGrid grid) {
|
||||
return grid == null || hasPermission(player, permission, (ISecurityGrid) grid.getCache(ISecurityGrid.class));
|
||||
}
|
||||
|
||||
public static boolean hasPermission(EntityPlayer player, SecurityPermissions permission, IGridHost host) {
|
||||
return hasPermission(player, permission, host, ForgeDirection.UNKNOWN);
|
||||
}
|
||||
|
||||
public static boolean hasPermission(EntityPlayer player, SecurityPermissions permission, IGridHost host, ForgeDirection side) {
|
||||
return host == null || hasPermission(player, permission, host.getGridNode(side));
|
||||
}
|
||||
|
||||
public static boolean hasPermission(EntityPlayer player, SecurityPermissions permission, IGridNode host) {
|
||||
return host == null || hasPermission(player, permission, host.getGrid());
|
||||
}
|
||||
|
||||
public static boolean hasPermission(EntityPlayer player, SecurityPermissions permission, IPart part) {
|
||||
return part == null || hasPermission(player, permission, part.getGridNode());
|
||||
}
|
||||
|
||||
public static boolean hasPermission(EntityPlayer player, SecurityPermissions permission, ISecurityGrid securityGrid) {
|
||||
return player == null || permission == null || securityGrid == null || securityGrid.hasPermission(player, permission);
|
||||
}
|
||||
|
||||
public static ItemStack copyStackWithSize(ItemStack itemStack, int size)
|
||||
{
|
||||
if (size == 0 || itemStack == null)
|
||||
return null;
|
||||
ItemStack copy = itemStack.copy();
|
||||
copy.stackSize = size;
|
||||
return copy;
|
||||
}
|
||||
|
||||
public static FluidStack getFluidFromItem(ItemStack stack) {
|
||||
if (stack != null && (stack.getItem() instanceof IFluidContainerItem || FluidContainerRegistry.isContainer(stack))) {
|
||||
if (stack.getItem() instanceof IFluidContainerItem) {
|
||||
FluidStack fluid = ((IFluidContainerItem) stack.getItem()).getFluid(stack);
|
||||
if (fluid != null) {
|
||||
FluidStack fluid0 = fluid.copy();
|
||||
fluid0.amount *= stack.stackSize;
|
||||
return fluid0;
|
||||
}
|
||||
}
|
||||
if (FluidContainerRegistry.isContainer(stack)) {
|
||||
FluidStack fluid = FluidContainerRegistry.getFluidForFilledItem(stack);
|
||||
if (fluid != null) {
|
||||
FluidStack fluid0 = fluid.copy();
|
||||
fluid0.amount *= stack.stackSize;
|
||||
return fluid0;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static boolean isFluidPacket(ItemStack stack) {
|
||||
return stack != null && stack.getItem() instanceof ItemFluidPacket;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user