mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-08-10 17:55:44 +00:00
cleanup
This commit is contained in:
parent
1043470ca6
commit
95fd600419
100
changelog
100
changelog
@ -1,98 +1,4 @@
|
|||||||
## Added
|
|
||||||
* Redstone-over-Radio Terminal
|
|
||||||
* Allows commands to be sent manually, command line style
|
|
||||||
* Supports single commands and repeated ones (polling)
|
|
||||||
* Grenade machinegun
|
|
||||||
* 30rnd automatic 40mm grenade weapon firing at 120 RPS
|
|
||||||
* Can be upgraded with an auxiliary electric engine to double the firerate
|
|
||||||
* Automatic thresher
|
|
||||||
* A specialized machine for automatically harvesting crops in a 7x7 area
|
|
||||||
* Replaces the buzzsaw's temporary functionality to do just that (the buzzsaw now loses that ability)
|
|
||||||
* Drops harvested items using a chute instead of leaving them on the farmland
|
|
||||||
* When cutting down hemp, willows, and other NTM double plants, only the top part will be cut off, no matter where the thresher touches it
|
|
||||||
* Can also harvest items from sunflowers and tall grass without breaking the blocks
|
|
||||||
* Can also handle tall plants like cacti and sugar cane
|
|
||||||
* New big-ass tank
|
|
||||||
* Successor to the BAT9k
|
|
||||||
* Larger footprint, way more storage space
|
|
||||||
* Needs to be placed on a proper foundation or else it'll sink into the ground
|
|
||||||
* Legacy BAT9ks can be recycled in a tier 3 anvil
|
|
||||||
* AUTOCAL Automatic Calculator
|
|
||||||
* Highly advanced programmable RoR device
|
|
||||||
* Can send and receive signals and do calculations with the same system as NTM's calculator
|
|
||||||
* Vending machines
|
|
||||||
* Comes in snack machine and soda machine variants
|
|
||||||
* The machines can be purchased off of bobmazon for 64 caps each
|
|
||||||
* Use vending machine tokens as currency, which can be found occasionally in most structures
|
|
||||||
* New blast furnace
|
|
||||||
* 3x3 base, 7 blocks tall
|
|
||||||
* Can be accelerated with hot air blast (just compressed air in a boiler)
|
|
||||||
* The faster it is supplied with hot air blast, the faster it gets
|
|
||||||
* Uses smarter IO, one port can supply all slots without needing to configure anything or have multiple item inputs
|
|
||||||
* A firebox burning coal can already take the blast furnace to 130% speed (default speed with no blast at all is 50%)
|
|
||||||
* Produces flue gas, a new type of exhaust that can be burned
|
|
||||||
|
|
||||||
## Changed
|
|
||||||
* RoR graphs can now have their min and max bounds set to a fixed number
|
|
||||||
* This should make it easier to accurately tell the difference/scale of values when they exist in an expected range (for example, RBMK temperatures)
|
|
||||||
* RoR controllers now use polling by default, since state change is unable to actually perform a function unless the state changes, preventing repeated commands
|
|
||||||
* HE/RF converters now have a tooltip showing their buffered energy
|
|
||||||
* Updated the models of the cage lamp, fluorescent light and halogen lamp
|
|
||||||
* 528 mode now has a new config for enabling gravity on machines
|
|
||||||
* Machines not on solid ground will tilt, causing them to break
|
|
||||||
* Still a work in progress, not all machines make use of it yet
|
|
||||||
* The ZIRNOX for example will continue to operate when tilted, however the pipes will disconnect, resulting in a fatal loss of cooling
|
|
||||||
* Slightly adjusted the automatic buzzsaw's texture
|
|
||||||
* Mobs can no longer spawn on most versions of concrete
|
|
||||||
* Notable exceptions are mossy and cracked concrete bricks
|
|
||||||
* Increased the yield of lye from wood ash
|
|
||||||
* All fluid tanks larger than barrels now have dynamic IO speed instead of providing their entire contents instantly
|
|
||||||
* Tank fill will slow down the fuller the tank becomes, tank drain also slow downs as it gets emptier
|
|
||||||
* This means that multiple tanks in IO mode in the same network will still ping pong, but only a small portion of fluid will be "lost" (i.e. invisible due to subtick transfer operations)
|
|
||||||
* The stinger is now classified as a special weapon
|
|
||||||
* The carbine can now take a scope
|
|
||||||
* The battery socket now renders supports when a block is placed on top of it, allowing somewhat aesthetic stacking of sockets
|
|
||||||
* The bayonet weapon attachment now uses regular steel plates instead of weapon steel, making them available as early as the blast furnace
|
|
||||||
* Adjusted some 528 mode recipes
|
|
||||||
* Removed the template crates entirely for being literally useless
|
|
||||||
* Oil bubbles can no longer go down to Y:0, they now have a minimum center height of Y:15
|
|
||||||
* The automatic buzzsaw and thresher now have sound loops when active
|
|
||||||
* The shredder auto shotgun now uses the plasma damage type instead of laser
|
|
||||||
* Added "nitra to ammunition" recipe in the assembly machine, turning large piles of nitra into random casings/propellants
|
|
||||||
* Removed more unused blocks to free up block IDs
|
|
||||||
* Removed the old iron barrel
|
|
||||||
* Removed the factory hull blocks
|
|
||||||
* Removed the vacuum block that has been unused for like 5 years at this point
|
|
||||||
* Removed five of the 10 sturdy ladder variants because they were hella ugly anyway
|
|
||||||
* Added a new alternate recipe "instant aggregate" in the chemical plant, turning 16 cobblestone into 8 gravel and 8 sand
|
|
||||||
* Added a new alternate recipe for making obsidian in the chemical plant
|
|
||||||
* Removed the water and steam geysers, which were so obscenely rare most people have never seen either one of them, and became functionally useless without the old geothermal generator
|
|
||||||
* Moved the napalm recipe to the chemical plant
|
|
||||||
* Moved the microchip (all variants) and atomic clock recipes to the assembler
|
|
||||||
* The analog and integrated circuit boards now have alternate recipes in the assembler
|
|
||||||
* Removed two of the older motor recipes in the arc welder
|
|
||||||
* The only remaining recipe is the dense red copper one
|
|
||||||
* Using state of the art anti-leave-the-screen technology, recipe tooltips (and most tooltips used by `GuiInfoScreen`) should no longer leave the screen
|
|
||||||
* This means that the recipe selector can now have the tooltip follow the mouse instead of being eternally stuck in the corner
|
|
||||||
* Recipe selector tooltips now have a nice orange and yellow border
|
|
||||||
* The nuclear charge and demolition nuclear grenade charge now need neutron reflectors
|
|
||||||
* Schrabidium grenade charges now use CMB steel instead of bronze
|
|
||||||
* The satellite base now only uses a medium thruster instead of a large one, making it no longer post pyrolysis
|
|
||||||
* The steel recipe in the crucible now requires flux
|
|
||||||
* The recipe is also now a fair bit slower (still faster than a blast furnace overall)
|
|
||||||
* Remodeled the catalytic reformer
|
|
||||||
* Crane structure
|
|
||||||
* Crane structure
|
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
* Fixed RoR graph showing the wrong name in the GUI
|
* Fixed AUTOCAL's `listen` command failing if the buffer is empty
|
||||||
* Fixed polling option in RoR controllers reading dead signals
|
* Fixed things not intended to be used in the blast furnace (scrap, lava) being usable fuels
|
||||||
* Fixed state change in RoR controllers not allowing repeat commands
|
* Fixed blast furnace swallowing container items left behind by fuels, instead fuels with containers will not be accepted at all
|
||||||
* Fixed RoR transmitter sending empty signals when unused mappings apply
|
|
||||||
* Fixed hopper IO for battery sockets being entirely broken
|
|
||||||
* Fixed cargo elevators not dropping the correct amount of segments
|
|
||||||
* Fixed broken config check causing smithing recipes in anvils to always be tier 1
|
|
||||||
* Fixed potential client desync when placing or removing lids on a hot RBMK
|
|
||||||
* Fixed custom missile launch pad cores not being obtainable in 528 mode
|
|
||||||
* Fixed industrial turbines never fully spinning down
|
|
||||||
* Fixed bricked furnace IO not working right
|
|
||||||
@ -6,7 +6,6 @@ import com.hbm.blocks.ILookOverlay;
|
|||||||
import com.hbm.blocks.ITooltipProvider;
|
import com.hbm.blocks.ITooltipProvider;
|
||||||
import com.hbm.blocks.ModBlocks;
|
import com.hbm.blocks.ModBlocks;
|
||||||
import com.hbm.config.ServerConfig;
|
import com.hbm.config.ServerConfig;
|
||||||
import com.hbm.config.StructureConfig;
|
|
||||||
import com.hbm.interfaces.IBomb;
|
import com.hbm.interfaces.IBomb;
|
||||||
import com.hbm.interfaces.ICopiable;
|
import com.hbm.interfaces.ICopiable;
|
||||||
import com.hbm.lib.RefStrings;
|
import com.hbm.lib.RefStrings;
|
||||||
|
|||||||
@ -10,7 +10,6 @@ import com.hbm.blocks.ILookOverlay;
|
|||||||
import com.hbm.blocks.ITooltipProvider;
|
import com.hbm.blocks.ITooltipProvider;
|
||||||
import com.hbm.blocks.ModBlocks;
|
import com.hbm.blocks.ModBlocks;
|
||||||
import com.hbm.config.ServerConfig;
|
import com.hbm.config.ServerConfig;
|
||||||
import com.hbm.config.StructureConfig;
|
|
||||||
import com.hbm.interfaces.IBomb;
|
import com.hbm.interfaces.IBomb;
|
||||||
import com.hbm.interfaces.ICopiable;
|
import com.hbm.interfaces.ICopiable;
|
||||||
import com.hbm.itempool.ItemPool;
|
import com.hbm.itempool.ItemPool;
|
||||||
@ -38,7 +37,6 @@ import net.minecraft.client.renderer.texture.IIconRegister;
|
|||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.item.Item;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|||||||
@ -14,7 +14,6 @@ import org.lwjgl.input.Keyboard;
|
|||||||
import com.hbm.blocks.IBlockMulti;
|
import com.hbm.blocks.IBlockMulti;
|
||||||
import com.hbm.blocks.ILookOverlay;
|
import com.hbm.blocks.ILookOverlay;
|
||||||
import com.hbm.blocks.ModBlocks;
|
import com.hbm.blocks.ModBlocks;
|
||||||
import com.hbm.config.StructureConfig;
|
|
||||||
import com.hbm.interfaces.IControlReceiver;
|
import com.hbm.interfaces.IControlReceiver;
|
||||||
import com.hbm.inventory.gui.element.GuiFileList;
|
import com.hbm.inventory.gui.element.GuiFileList;
|
||||||
import com.hbm.lib.RefStrings;
|
import com.hbm.lib.RefStrings;
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
package com.hbm.blocks.generic;
|
package com.hbm.blocks.generic;
|
||||||
|
|
||||||
import com.hbm.blocks.IBlockSideRotation;
|
|
||||||
import com.hbm.blocks.ModBlocks;
|
|
||||||
import com.hbm.world.gen.util.LogicBlockActions;
|
import com.hbm.world.gen.util.LogicBlockActions;
|
||||||
import com.hbm.world.gen.util.LogicBlockConditions;
|
import com.hbm.world.gen.util.LogicBlockConditions;
|
||||||
import com.hbm.world.gen.util.LogicBlockInteractions;
|
import com.hbm.world.gen.util.LogicBlockInteractions;
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
package com.hbm.blocks.generic;
|
package com.hbm.blocks.generic;
|
||||||
|
|
||||||
import com.hbm.blocks.IBlockSideRotation;
|
|
||||||
import net.minecraft.block.material.Material;
|
|
||||||
|
|
||||||
public class LogicBlockInvis extends LogicBlock{
|
public class LogicBlockInvis extends LogicBlock{
|
||||||
|
|
||||||
public LogicBlockInvis() {
|
public LogicBlockInvis() {
|
||||||
|
|||||||
@ -1,22 +1,14 @@
|
|||||||
package com.hbm.items.tool;
|
package com.hbm.items.tool;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import com.hbm.blocks.ModBlocks;
|
|
||||||
import com.hbm.config.GeneralConfig;
|
|
||||||
import com.hbm.itempool.ItemPool;
|
|
||||||
import com.hbm.itempool.ItemPoolsSingle;
|
|
||||||
import com.hbm.lib.Library;
|
import com.hbm.lib.Library;
|
||||||
import com.hbm.main.MainRegistry;
|
|
||||||
|
|
||||||
import com.hbm.main.StructureManager;
|
import com.hbm.main.StructureManager;
|
||||||
import com.hbm.tileentity.machine.storage.TileEntitySafe;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.MovingObjectPosition;
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
import net.minecraft.util.WeightedRandomChestContent;
|
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class ItemWandD extends Item {
|
public class ItemWandD extends Item {
|
||||||
@ -33,8 +25,6 @@ public class ItemWandD extends Item {
|
|||||||
|
|
||||||
int y = world.getHeightValue(pos.blockX, pos.blockZ);
|
int y = world.getHeightValue(pos.blockX, pos.blockZ);
|
||||||
|
|
||||||
Random rand = new Random();
|
|
||||||
|
|
||||||
StructureManager.crane.build(world, pos.blockX, y, pos.blockZ);
|
StructureManager.crane.build(world, pos.blockX, y, pos.blockZ);
|
||||||
/*if(world.getBlock(pos.blockX, y - 1, pos.blockZ).canPlaceTorchOnTop(world, pos.blockX, y - 1, pos.blockZ)) {
|
/*if(world.getBlock(pos.blockX, y - 1, pos.blockZ).canPlaceTorchOnTop(world, pos.blockX, y - 1, pos.blockZ)) {
|
||||||
world.setBlock(pos.blockX, y, pos.blockZ, ModBlocks.safe, rand.nextInt(4) + 2, 2);
|
world.setBlock(pos.blockX, y, pos.blockZ, ModBlocks.safe, rand.nextInt(4) + 2, 2);
|
||||||
|
|||||||
@ -81,19 +81,23 @@ public class ModuleBurnTime {
|
|||||||
writer.name("D:heatBalefie").value(modHeat[modBalefire]);
|
writer.name("D:heatBalefie").value(modHeat[modBalefire]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getBurnTime(ItemStack stack) {
|
public int getBurnTime(ItemStack stack, double def) {
|
||||||
//int fuel = TileEntityFurnace.getItemBurnTime(stack);
|
|
||||||
int fuel = FuelHandler.getBurnTimeFromCache(stack);
|
int fuel = FuelHandler.getBurnTimeFromCache(stack);
|
||||||
|
if(fuel == 0) return 0;
|
||||||
|
return (int) (fuel * getMod(stack, modTime, def));
|
||||||
|
}
|
||||||
|
|
||||||
if(fuel == 0)
|
public int getBurnTime(ItemStack stack) {
|
||||||
return 0;
|
return getBurnTime(stack, 1D);
|
||||||
|
}
|
||||||
|
|
||||||
return (int) (fuel * getMod(stack, modTime));
|
public int getBurnHeat(int base, ItemStack stack, double def) {
|
||||||
|
if(base <= 0) return 0;
|
||||||
|
return (int) (base * getMod(stack, modHeat));
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getBurnHeat(int base, ItemStack stack) {
|
public int getBurnHeat(int base, ItemStack stack) {
|
||||||
if(base <= 0) return 0;
|
return getBurnHeat(base, stack, 1D);
|
||||||
return (int) (base * getMod(stack, modHeat));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getMod(ItemStack stack, double[] mod, double def) {
|
public double getMod(ItemStack stack, double[] mod, double def) {
|
||||||
|
|||||||
@ -231,7 +231,7 @@ public class ParseMSES1 implements IParse {
|
|||||||
|
|
||||||
// listens to an RoR signal using the supplied channel name and saves it to the buffer
|
// listens to an RoR signal using the supplied channel name and saves it to the buffer
|
||||||
if(lower.startsWith("listen ")) {
|
if(lower.startsWith("listen ")) {
|
||||||
if(line.length() <= 7 || ctx.buffer.isEmpty()) return EnumStatementReturn.PARAMETER_ERROR;
|
if(line.length() <= 7) return EnumStatementReturn.PARAMETER_ERROR;
|
||||||
RTTYChannel chan = RTTYSystem.listen(ctx.world, substitute(ctx, line.substring(7)));
|
RTTYChannel chan = RTTYSystem.listen(ctx.world, substitute(ctx, line.substring(7)));
|
||||||
if(chan != null) ctx.buffer = chan.signal + "";
|
if(chan != null) ctx.buffer = chan.signal + "";
|
||||||
return EnumStatementReturn.OK;
|
return EnumStatementReturn.OK;
|
||||||
|
|||||||
@ -199,7 +199,8 @@ public class TileEntityMachineBlastFurnace extends TileEntityMachineBase impleme
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getBurnTime(ItemStack stack) {
|
public int getBurnTime(ItemStack stack) {
|
||||||
return burnModule.getBurnHeat(burnModule.getBurnTime(stack), stack);
|
if(stack.getItem().hasContainerItem(stack)) return 0;
|
||||||
|
return burnModule.getBurnHeat(burnModule.getBurnTime(stack, 0D), stack, 0D);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import java.util.function.Function;
|
|||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
import com.hbm.config.ServerConfig;
|
import com.hbm.config.ServerConfig;
|
||||||
import com.hbm.config.StructureConfig;
|
|
||||||
import com.hbm.util.Tuple.Pair;
|
import com.hbm.util.Tuple.Pair;
|
||||||
import com.hbm.util.Tuple.Quartet;
|
import com.hbm.util.Tuple.Quartet;
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import com.hbm.blocks.generic.LogicBlock;
|
|||||||
import com.hbm.entity.mob.EntityUndeadSoldier;
|
import com.hbm.entity.mob.EntityUndeadSoldier;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
import com.hbm.tileentity.bomb.TileEntityCharge;
|
import com.hbm.tileentity.bomb.TileEntityCharge;
|
||||||
import com.hbm.tileentity.machine.TileEntityLockableBase;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
|
|||||||
@ -5,15 +5,12 @@ import com.hbm.blocks.generic.LogicBlock;
|
|||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
import com.hbm.potion.HbmPotion;
|
import com.hbm.potion.HbmPotion;
|
||||||
import com.hbm.tileentity.machine.TileEntityLockableBase;
|
import com.hbm.tileentity.machine.TileEntityLockableBase;
|
||||||
import com.hbm.tileentity.machine.storage.TileEntityCrateBase;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.potion.PotionEffect;
|
import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
|
||||||
import net.minecraft.util.ChatComponentText;
|
import net.minecraft.util.ChatComponentText;
|
||||||
import net.minecraft.util.EnumChatFormatting;
|
import net.minecraft.util.EnumChatFormatting;
|
||||||
import net.minecraft.util.Facing;
|
import net.minecraft.util.Facing;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
@ -28,13 +25,8 @@ public class LogicBlockInteractions {
|
|||||||
public static LinkedHashMap<String, Consumer<Object[]>> interactions;
|
public static LinkedHashMap<String, Consumer<Object[]>> interactions;
|
||||||
|
|
||||||
public static Consumer<Object[]> TEST = (array) -> {
|
public static Consumer<Object[]> TEST = (array) -> {
|
||||||
World world = (World) array[0];
|
|
||||||
LogicBlock.TileEntityLogicBlock logic = (LogicBlock.TileEntityLogicBlock) array[1];
|
LogicBlock.TileEntityLogicBlock logic = (LogicBlock.TileEntityLogicBlock) array[1];
|
||||||
int x = (int) array[2];
|
|
||||||
int y = (int) array[3];
|
|
||||||
int z = (int) array[4];
|
|
||||||
EntityPlayer player = (EntityPlayer) array[5];
|
EntityPlayer player = (EntityPlayer) array[5];
|
||||||
int side = (int) array[6];
|
|
||||||
|
|
||||||
if(logic.phase > 1) return;
|
if(logic.phase > 1) return;
|
||||||
|
|
||||||
@ -62,14 +54,12 @@ public class LogicBlockInteractions {
|
|||||||
|
|
||||||
public static Consumer<Object[]> POWER_LOCK = (array) -> {
|
public static Consumer<Object[]> POWER_LOCK = (array) -> {
|
||||||
World world = (World) array[0];
|
World world = (World) array[0];
|
||||||
LogicBlock.TileEntityLogicBlock logic = (LogicBlock.TileEntityLogicBlock) array[1];
|
|
||||||
EntityPlayer player = (EntityPlayer) array[5];
|
EntityPlayer player = (EntityPlayer) array[5];
|
||||||
int x = (int) array[2];
|
int x = (int) array[2];
|
||||||
int y = (int) array[3];
|
int y = (int) array[3];
|
||||||
int z = (int) array[4];
|
int z = (int) array[4];
|
||||||
|
|
||||||
IEnergyHandlerMK2 handler = null;
|
IEnergyHandlerMK2 handler = null;
|
||||||
ForgeDirection parallel = logic.direction.getRotation(ForgeDirection.UP);
|
|
||||||
|
|
||||||
for (int i1 = 0; i1 < 6; ++i1) {
|
for (int i1 = 0; i1 < 6; ++i1) {
|
||||||
if(world.getTileEntity(x + Facing.offsetsXForSide[i1], y + Facing.offsetsYForSide[i1], z + Facing.offsetsZForSide[i1]) instanceof IEnergyHandlerMK2) {
|
if(world.getTileEntity(x + Facing.offsetsXForSide[i1], y + Facing.offsetsYForSide[i1], z + Facing.offsetsZForSide[i1]) instanceof IEnergyHandlerMK2) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user