aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/util')
-rw-r--r--src/main/java/gregtech/api/util/GT_StructureUtilityMuTE.java30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/main/java/gregtech/api/util/GT_StructureUtilityMuTE.java b/src/main/java/gregtech/api/util/GT_StructureUtilityMuTE.java
index 4010fae3bc..a4c4630209 100644
--- a/src/main/java/gregtech/api/util/GT_StructureUtilityMuTE.java
+++ b/src/main/java/gregtech/api/util/GT_StructureUtilityMuTE.java
@@ -19,11 +19,10 @@ import com.gtnewhorizon.structurelib.structure.IStructureElement;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.TextureSet;
-import gregtech.api.multitileentity.MultiTileEntityContainer;
+import gregtech.api.multitileentity.MultiTileEntityBlock;
import gregtech.api.multitileentity.MultiTileEntityRegistry;
import gregtech.api.multitileentity.enums.GT_MultiTileUpgradeCasing;
import gregtech.api.multitileentity.interfaces.IMultiBlockController;
-import gregtech.api.multitileentity.interfaces.IMultiTileEntity;
import gregtech.api.multitileentity.multiblock.base.Controller;
import gregtech.api.multitileentity.multiblock.base.MultiBlockPart;
@@ -189,25 +188,18 @@ public class GT_StructureUtilityMuTE {
@Override
public boolean placeBlock(T t, World world, int x, int y, int z, ItemStack trigger) {
- final MultiTileEntityRegistry tRegistry = MultiTileEntityRegistry
- .getRegistry(validCasings[0].getRegistryId());
- if (tRegistry == null) {
+ final int registryID = validCasings[0].getRegistryId();
+ final MultiTileEntityRegistry registry = MultiTileEntityRegistry.getRegistry(registryID);
+ if (registry == null) {
GT_FML_LOGGER.error("NULL REGISTRY");
return false;
}
- final MultiTileEntityContainer tContainer = tRegistry
- .getNewTileEntityContainer(world, x, y, z, validCasings[0].defaultMeta, null);
- if (tContainer == null) {
- GT_FML_LOGGER.error("NULL CONTAINER");
- return false;
- }
- final IMultiTileEntity te = ((IMultiTileEntity) tContainer.tileEntity);
- if (!(te instanceof MultiBlockPart)) {
- GT_FML_LOGGER.error("Not a multiblock part");
- return false;
- }
- if (world.setBlock(x, y, z, tContainer.block, 15 - tContainer.blockMetaData, 2)) {
- tContainer.setMultiTile(world, x, y, z);
+ final MultiTileEntityBlock block = registry.getBlock();
+ if (world.setBlock(x, y, z, block, allowedCasings[0].getDefaultMeta(), 2)) {
+ final TileEntity te = world.getTileEntity(x, y, z);
+ if (!(te instanceof MultiBlockPart)) {
+ throw new IllegalStateException("TE is not an MultiBlockPart");
+ }
((MultiBlockPart) te).setTarget((IMultiBlockController) t, modes);
((Controller<?, ?>) t).registerSpecialCasings((MultiBlockPart) te);
@@ -233,7 +225,7 @@ public class GT_StructureUtilityMuTE {
private final Integer[] validIds;
public MuTEStructureCasing(String registryName, Integer... validIds) {
- MultiTileEntityRegistry registry = MultiTileEntityRegistry.getRegistry(registryName);
+ final MultiTileEntityRegistry registry = MultiTileEntityRegistry.getRegistry(registryName);
if (validIds == null || validIds.length == 0 || registry == null) {
throw new IllegalArgumentException();
}