Updated freezer multiblock. More work on #1672
This commit is contained in:
parent
8ad5419ce1
commit
74d1837167
2 changed files with 46 additions and 5 deletions
|
@ -99,6 +99,7 @@ public class GuiVacuumFreezer extends GuiBase {
|
||||||
// This code here makes a basic multiblock and then sets to the selected one.
|
// This code here makes a basic multiblock and then sets to the selected one.
|
||||||
final Multiblock multiblock = new Multiblock();
|
final Multiblock multiblock = new Multiblock();
|
||||||
IBlockState reinforcedCasing = ModBlocks.MACHINE_CASINGS.getDefaultState().withProperty(BlockMachineCasing.TYPE, "reinforced");
|
IBlockState reinforcedCasing = ModBlocks.MACHINE_CASINGS.getDefaultState().withProperty(BlockMachineCasing.TYPE, "reinforced");
|
||||||
|
IBlockState advancedCasing = ModBlocks.MACHINE_CASINGS.getDefaultState().withProperty(BlockMachineCasing.TYPE, "advanced");
|
||||||
|
|
||||||
addComponent(0, -1, 0, reinforcedCasing, multiblock);
|
addComponent(0, -1, 0, reinforcedCasing, multiblock);
|
||||||
addComponent(1, -1, 0, reinforcedCasing, multiblock);
|
addComponent(1, -1, 0, reinforcedCasing, multiblock);
|
||||||
|
@ -110,6 +111,27 @@ public class GuiVacuumFreezer extends GuiBase {
|
||||||
addComponent(1, -1, -1, reinforcedCasing, multiblock);
|
addComponent(1, -1, -1, reinforcedCasing, multiblock);
|
||||||
addComponent(1, -1, 1, reinforcedCasing, multiblock);
|
addComponent(1, -1, 1, reinforcedCasing, multiblock);
|
||||||
|
|
||||||
|
if (TileVacuumFreezer.bigMultiblock) {
|
||||||
|
addComponent(1, -2, 0, advancedCasing, multiblock);
|
||||||
|
addComponent(0, -2, 1, advancedCasing, multiblock);
|
||||||
|
addComponent(-1, -2, 0, advancedCasing, multiblock);
|
||||||
|
addComponent(0, -2, -1, advancedCasing, multiblock);
|
||||||
|
addComponent(-1, -2, -1, advancedCasing, multiblock);
|
||||||
|
addComponent(-1, -2, 1, advancedCasing, multiblock);
|
||||||
|
addComponent(1, -2, -1, advancedCasing, multiblock);
|
||||||
|
addComponent(1, -2, 1, advancedCasing, multiblock);
|
||||||
|
|
||||||
|
addComponent(0, -3, 0, reinforcedCasing, multiblock);
|
||||||
|
addComponent(1, -3, 0, reinforcedCasing, multiblock);
|
||||||
|
addComponent(0, -3, 1, reinforcedCasing, multiblock);
|
||||||
|
addComponent(-1, -3, 0, reinforcedCasing, multiblock);
|
||||||
|
addComponent(0, -3, -1, reinforcedCasing, multiblock);
|
||||||
|
addComponent(-1, -3, -1, reinforcedCasing, multiblock);
|
||||||
|
addComponent(-1, -3, 1, reinforcedCasing, multiblock);
|
||||||
|
addComponent(1, -3, -1, reinforcedCasing, multiblock);
|
||||||
|
addComponent(1, -3, 1, reinforcedCasing, multiblock);
|
||||||
|
}
|
||||||
|
|
||||||
final MultiblockSet set = new MultiblockSet(multiblock);
|
final MultiblockSet set = new MultiblockSet(multiblock);
|
||||||
ClientProxy.multiblockRenderEvent.setMultiblock(set);
|
ClientProxy.multiblockRenderEvent.setMultiblock(set);
|
||||||
ClientProxy.multiblockRenderEvent.parent = tile.getPos();
|
ClientProxy.multiblockRenderEvent.parent = tile.getPos();
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
package techreborn.tiles.multiblock;
|
package techreborn.tiles.multiblock;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
import reborncore.common.recipes.RecipeCrafter;
|
import reborncore.common.recipes.RecipeCrafter;
|
||||||
import reborncore.common.registration.RebornRegistry;
|
import reborncore.common.registration.RebornRegistry;
|
||||||
import reborncore.common.registration.impl.ConfigRegistry;
|
import reborncore.common.registration.impl.ConfigRegistry;
|
||||||
|
@ -44,6 +45,9 @@ public class TileVacuumFreezer extends TileGenericMachine implements IContainerP
|
||||||
public static int maxInput = 64;
|
public static int maxInput = 64;
|
||||||
@ConfigRegistry(config = "machines", category = "vacuumfreezer", key = "VacuumFreezerMaxEnergy", comment = "Vacuum Freezer Max Energy (Value in EU)")
|
@ConfigRegistry(config = "machines", category = "vacuumfreezer", key = "VacuumFreezerMaxEnergy", comment = "Vacuum Freezer Max Energy (Value in EU)")
|
||||||
public static int maxEnergy = 64_000;
|
public static int maxEnergy = 64_000;
|
||||||
|
@ConfigRegistry(config = "machines", category = "vacuumfreezer", key = "VacuumFreezerBigMultiblock", comment = "Vacuum Freezer requires big multiblock")
|
||||||
|
public static boolean bigMultiblock = false;
|
||||||
|
|
||||||
|
|
||||||
public MultiblockChecker multiblockChecker;
|
public MultiblockChecker multiblockChecker;
|
||||||
|
|
||||||
|
@ -59,20 +63,35 @@ public class TileVacuumFreezer extends TileGenericMachine implements IContainerP
|
||||||
if(multiblockChecker == null){
|
if(multiblockChecker == null){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return multiblockChecker.checkRectY(1, 1, MultiblockChecker.REINFORCED_CASING, MultiblockChecker.ZERO_OFFSET);
|
|
||||||
|
final boolean up = multiblockChecker.checkRectY(1, 1, MultiblockChecker.REINFORCED_CASING, MultiblockChecker.ZERO_OFFSET);
|
||||||
|
final boolean down = multiblockChecker.checkRectY(1, 1, MultiblockChecker.REINFORCED_CASING, new BlockPos(0, -2, 0));
|
||||||
|
final boolean chamber = multiblockChecker.checkRingYHollow(1, 1, MultiblockChecker.ADVANCED_CASING, new BlockPos(0, -1, 0));
|
||||||
|
|
||||||
|
if (bigMultiblock) {
|
||||||
|
return down && chamber && up;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return up;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TileGenericMachine
|
// TileGenericMachine
|
||||||
@Override
|
@Override
|
||||||
public void update() {
|
public void update() {
|
||||||
if(multiblockChecker == null){
|
|
||||||
multiblockChecker = new MultiblockChecker(world, pos.down());
|
|
||||||
}
|
|
||||||
if (!world.isRemote && getMultiBlock()) {
|
if (!world.isRemote && getMultiBlock()) {
|
||||||
super.update();
|
super.update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TileEntity
|
||||||
|
@Override
|
||||||
|
public void validate() {
|
||||||
|
super.validate();
|
||||||
|
multiblockChecker = new MultiblockChecker(world, pos.down());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// IContainerProvider
|
// IContainerProvider
|
||||||
@Override
|
@Override
|
||||||
public BuiltContainer createContainer(final EntityPlayer player) {
|
public BuiltContainer createContainer(final EntityPlayer player) {
|
||||||
|
|
Loading…
Reference in a new issue