From dbf4dfdc1da6ea99d2ad60e4d01ef5ef4ffd37f0 Mon Sep 17 00:00:00 2001 From: repo_alt Date: Wed, 26 Feb 2020 19:15:39 +0300 Subject: [PATCH] geolyzer should also update scan level, acting as crop scanner add 'maxSize' to the scan output to better decide harvest time --- .../li/cil/oc/integration/ic2/DriverCrop.java | 16 +--------------- .../ic2/EventHandlerIndustrialCraft2.scala | 2 ++ 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/src/main/scala/li/cil/oc/integration/ic2/DriverCrop.java b/src/main/scala/li/cil/oc/integration/ic2/DriverCrop.java index 6a67b595d..6be69a5dc 100644 --- a/src/main/scala/li/cil/oc/integration/ic2/DriverCrop.java +++ b/src/main/scala/li/cil/oc/integration/ic2/DriverCrop.java @@ -18,21 +18,7 @@ public final class DriverCrop extends DriverSidedTileEntity { @Override public ManagedEnvironment createEnvironment(World world, int x, int y, int z, ForgeDirection side) { - ICropTile tile = (ICropTile) world.getTileEntity(x, y, z); - if (tile.getScanLevel() < 4) - return new DriverCrop.DummyEnvironment((ICropTile) world.getTileEntity(x, y, z)); - else - return new DriverCrop.Environment((ICropTile) world.getTileEntity(x, y, z)); - } - public static final class DummyEnvironment extends ManagedTileEntityEnvironment { - public DummyEnvironment(final ICropTile tileEntity) { - super(tileEntity, "crop"); - } - - @Callback - public Object[] getScanLevel(final Context context, final Arguments args) { - return new Object[]{tileEntity.getScanLevel()}; - } + return new DriverCrop.Environment((ICropTile) world.getTileEntity(x, y, z)); } public static final class Environment extends ManagedTileEntityEnvironment { public Environment(final ICropTile tileEntity) { diff --git a/src/main/scala/li/cil/oc/integration/ic2/EventHandlerIndustrialCraft2.scala b/src/main/scala/li/cil/oc/integration/ic2/EventHandlerIndustrialCraft2.scala index 991ecf01d..7958ee611 100644 --- a/src/main/scala/li/cil/oc/integration/ic2/EventHandlerIndustrialCraft2.scala +++ b/src/main/scala/li/cil/oc/integration/ic2/EventHandlerIndustrialCraft2.scala @@ -18,10 +18,12 @@ object EventHandlerIndustrialCraft2 { val world = e.host.world val tile = world.getTileEntity(e.x, e.y, e.z) match { case crop : ICropTile => { + crop.setScanLevel(4) val cc = crop.getCrop e.data += "crop:name" -> cc.name() e.data += "crop:tier" -> Int.box(cc.tier) e.data += "crop:size" -> Int.box(crop.getSize) + e.data += "crop:maxSize" -> Int.box(cc.maxSize) e.data += "crop:growth" -> Int.box(crop.getGrowth) e.data += "crop:gain" -> Int.box(crop.getGain) e.data += "crop:resistance" -> Int.box(crop.getResistance)