address review

This commit is contained in:
Quantumlyy committed 2023-12-13 09:58:59 +01:00
1 parent 65b698face
commit f55a9f7643
4 files changed
+31 -42

No files matched your search

@@ -77,14 +77,7 @@ public class BlockApiamancersDrainer extends BlockContainer {
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) {
if (side == 0) {
return icons[0];
} else if (side == 1) {
return icons[1];
} else {
return icons[2];
}
return icons[side <= 1 ? side : 2];
}
@Override
@@ -92,8 +85,8 @@ public class BlockApiamancersDrainer extends BlockContainer {
public void registerBlockIcons(IIconRegister register) {
icons = new IIcon[4];
icons[0] = register.registerIcon(CommonProxy.DOMAIN + ":apiamancersdrainer.0");
icons[1] = register.registerIcon(CommonProxy.DOMAIN + ":apiamancersdrainer.1");
icons[2] = register.registerIcon(CommonProxy.DOMAIN + ":apiamancersdrainer.2");
for (int i = 0; i < icons.length; i++) {
icons[i] = register.registerIcon(CommonProxy.DOMAIN + ":apiamancersdrainer." + i);
}
}
}
@@ -1,16 +1,12 @@
package magicbees.tileentity;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
import org.apache.commons.lang3.ClassUtils;
import forestry.api.apiculture.EnumBeeType;
import forestry.api.apiculture.IAlleleBeeSpecies;
import forestry.api.apiculture.IBee;
@@ -35,7 +31,7 @@ public class TileEntityApiamancersDrainerCommon extends TileEntity implements IA
public final int maxAmount = Config.drainerCapacity;
private int increment = 0;
protected int increment = 0;
public void setAspect(Aspect sAspect) {
aspect = sAspect;
@@ -54,11 +50,10 @@ public class TileEntityApiamancersDrainerCommon extends TileEntity implements IA
IBeeHousing beeHousing = beeHousing(above);
if (beeHousing != null) {
LogHelper.warn("is housing");
IBeekeepingLogic beekeepingLogic = beeHousing.getBeekeepingLogic();
// This performs all the checks to see if the bee is a living queen and if the species conditions
// are met.
if (!beekeepingLogic.canWork()) return;
if (!canWork(beeHousing, above)) return;
LogHelper.warn("can work");
ItemStack queenStack = beeHousing.getBeeInventory().getQueen();
@@ -88,12 +83,12 @@ public class TileEntityApiamancersDrainerCommon extends TileEntity implements IA
}
protected IBeeHousing beeHousing(TileEntity above) {
// TODO: Revert once Industrial Apiary is working
Set<String> classes = ClassUtils.getAllInterfaces(above.getClass()).stream().map(Class::getName)
.collect(Collectors.toSet());
LogHelper.warn(classes);
return above instanceof IBeeHousing ? (IBeeHousing) above : null;
}
return classes.contains("forestry.api.apiculture.IBeeHousing") ? (IBeeHousing) above : null;
protected boolean canWork(IBeeHousing beeHousing, TileEntity above) {
IBeekeepingLogic beekeepingLogic = beeHousing.getBeekeepingLogic();
return beekeepingLogic.canWork();
}
private void drainQueen(IBeeHousing housing, IBeeModifier modifier, IBee queen) {
@@ -143,9 +138,8 @@ public class TileEntityApiamancersDrainerCommon extends TileEntity implements IA
if (this.essentia.getAmount(tag) >= amount) {
this.essentia.reduce(tag, amount);
return true;
} else {
return false;
}
return false;
}
@Override
@@ -163,9 +157,8 @@ public class TileEntityApiamancersDrainerCommon extends TileEntity implements IA
essentia.reduce(next, ot.getAmount(next));
}
return true;
} else {
return false;
}
return false;
}
@Override
@@ -1,18 +1,12 @@
package magicbees.tileentity;
import java.util.Set;
import java.util.stream.Collectors;
import net.minecraft.tileentity.TileEntity;
import org.apache.commons.lang3.ClassUtils;
import cpw.mods.fml.common.Loader;
import forestry.api.apiculture.*;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.metatileentity.BaseMetaTileEntity;
import gregtech.common.tileentities.machines.basic.GT_MetaTileEntity_IndustrialApiary;
import magicbees.main.utils.LogHelper;
public class TileEntityApiamancersDrainerGT extends TileEntityApiamancersDrainerCommon {
@@ -23,21 +17,30 @@ public class TileEntityApiamancersDrainerGT extends TileEntityApiamancersDrainer
IBeeHousing regularCheck = super.beeHousing(above);
if (regularCheck != null) return regularCheck;
boolean isGTMetaTileEntity = above instanceof BaseMetaTileEntity;
BaseMetaTileEntity GTMetaTileEntity = GTTileEntity(above);
if (isGTMetaTileEntity) {
BaseMetaTileEntity metaTileEntity = (BaseMetaTileEntity) above;
IMetaTileEntity underlyingMetaTileEntity = metaTileEntity.getMetaTileEntity();
if (GTMetaTileEntity != null) {
IMetaTileEntity underlyingMetaTileEntity = GTMetaTileEntity.getMetaTileEntity();
if (!(underlyingMetaTileEntity instanceof GT_MetaTileEntity_IndustrialApiary)) return null;
Set<String> classes = ClassUtils.getAllInterfaces(underlyingMetaTileEntity.getClass()).stream()
.map(Class::getName).collect(Collectors.toSet());
LogHelper.warn(classes);
return (IBeeHousing) underlyingMetaTileEntity;
}
return null;
}
@Override
protected boolean canWork(IBeeHousing beeHousing, TileEntity te) {
boolean canNormallyWork = super.canWork(beeHousing, te);
BaseMetaTileEntity GTMetaTileEntity = GTTileEntity(te);
return GTMetaTileEntity != null ? GTMetaTileEntity.isActive() : canNormallyWork;
}
private BaseMetaTileEntity GTTileEntity(TileEntity te) {
boolean isGTMetaTileEntity = te instanceof BaseMetaTileEntity;
return isGTMetaTileEntity ? (BaseMetaTileEntity) te : null;
}
}