Remove TE's that don't need to tick from the ticking TE list
Use IE uranium if IC2 isn't installed
This commit is contained in:
parent
d5d0dca298
commit
67562ef296
|
@ -66,7 +66,7 @@ import org.apache.logging.log4j.Logger;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
//TODO require IE 0.12-72
|
||||
@Mod(modid = IndustrialWires.MODID, version = IndustrialWires.VERSION, dependencies = "required-after:immersiveengineering@[0.10-58,);after:ic2",
|
||||
certificateFingerprint = "7e11c175d1e24007afec7498a1616bef0000027d")
|
||||
@Mod.EventBusSubscriber
|
||||
|
|
|
@ -18,12 +18,18 @@
|
|||
|
||||
package malte0811.industrialWires.blocks;
|
||||
|
||||
import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces;
|
||||
import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IGeneralMultiblock;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
||||
public interface IHasDummyBlocksIW {
|
||||
public interface IHasDummyBlocksIW extends IGeneralMultiblock {
|
||||
void placeDummies(IBlockState state);
|
||||
|
||||
void breakDummies();
|
||||
|
||||
boolean isDummy();
|
||||
|
||||
default boolean isLogicDummy() {
|
||||
return isDummy();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
|
||||
package malte0811.industrialWires.blocks;
|
||||
|
||||
import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces;
|
||||
import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IGeneralMultiblock;
|
||||
import malte0811.industrialWires.util.MiscUtils;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
|
@ -33,7 +35,7 @@ import javax.annotation.Nonnull;
|
|||
import javax.annotation.Nullable;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
public abstract class TileEntityIWMultiblock extends TileEntityIWBase {
|
||||
public abstract class TileEntityIWMultiblock extends TileEntityIWBase implements IGeneralMultiblock {
|
||||
protected final static String OFFSET = "offset";
|
||||
protected final static String FORMED = "formed";
|
||||
protected final static String MIRRORED = "mirrored";
|
||||
|
@ -53,7 +55,7 @@ public abstract class TileEntityIWMultiblock extends TileEntityIWBase {
|
|||
}
|
||||
@Nullable
|
||||
public <T extends TileEntityIWMultiblock> T master(T here) {
|
||||
if (offset.getX()==0&&offset.getY()==0&&offset.getZ()==0) {
|
||||
if (!isLogicDummy()) {
|
||||
return here;
|
||||
}
|
||||
TileEntity m = world.getTileEntity(pos.subtract(offset));
|
||||
|
@ -62,6 +64,12 @@ public abstract class TileEntityIWMultiblock extends TileEntityIWBase {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLogicDummy() {
|
||||
return offset.getX()!=0||offset.getY()!=0||offset.getZ()!=0;
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
public <T extends TileEntityIWMultiblock> T masterOr(T here, @Nonnull T def) {
|
||||
T master = master(here);
|
||||
|
|
|
@ -114,6 +114,7 @@ public class TileEntityJacobsLadder extends TileEntityIEBase implements ITickabl
|
|||
|
||||
@Override
|
||||
public void update() {
|
||||
ApiUtils.checkForNeedlessTicking(this);
|
||||
if (isDummy()) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
package malte0811.industrialWires.blocks.hv;
|
||||
|
||||
import blusunrize.immersiveengineering.api.ApiUtils;
|
||||
import blusunrize.immersiveengineering.api.IEProperties;
|
||||
import blusunrize.immersiveengineering.api.TargetingInfo;
|
||||
import blusunrize.immersiveengineering.api.energy.wires.IImmersiveConnectable;
|
||||
|
@ -217,6 +218,7 @@ public class TileEntityMarx extends TileEntityIWMultiblock implements ITickable,
|
|||
|
||||
@Override
|
||||
public void update() {
|
||||
ApiUtils.checkForNeedlessTicking(this);
|
||||
FIRING_GENERATORS.remove(this);
|
||||
switch (state) {
|
||||
case NEXT_TICK:
|
||||
|
@ -544,8 +546,8 @@ public class TileEntityMarx extends TileEntityIWMultiblock implements ITickable,
|
|||
public int outputEnergy(int amount, boolean simulate, int energyType) {
|
||||
TileEntityMarx master = master(this);
|
||||
if (master!=null && amount>0) {
|
||||
double ret = master.storage.insertIF(amount, leftover, !simulate);
|
||||
leftover -= ret;
|
||||
double ret = master.storage.insertIF(amount, master.leftover, !simulate);
|
||||
master.leftover -= ret;
|
||||
return (int) ret;
|
||||
} else {
|
||||
return 0;
|
||||
|
|
|
@ -58,7 +58,8 @@ public class MarxOreHandler {
|
|||
for (String ore : ores) {
|
||||
putOre("ore" + ore, .75, 4, "dust" + ore, "nugget" + ore);
|
||||
}
|
||||
putOre("oreUranium", 1.25, 4, "crushedUranium", "nuggetUranium");
|
||||
putOre("oreUranium", 1.25, 4,
|
||||
IndustrialWires.hasIC2?"crushedUranium":"ingotUranium", "nuggetUranium");
|
||||
}
|
||||
|
||||
public static void putOre(String oreName, double avgEnergy, double maxYield, String oreOut) {
|
||||
|
|
Loading…
Reference in a new issue