Fixed Double-T support thick steel pole connection. Concrete and Clinker walls connect to windows and glass panes.
This commit is contained in:
parent
3efa21e1b6
commit
16ad286f59
9 changed files with 67 additions and 31 deletions
16
build.gradle
16
build.gradle
|
@ -93,14 +93,18 @@ def reobfArtifact = artifacts.add('default', reobfFile) { type 'jar'; builtBy 'r
|
||||||
|
|
||||||
def signing = { ->
|
def signing = { ->
|
||||||
def sp = new Properties()
|
def sp = new Properties()
|
||||||
sp.keystore_file = project.keystore_file
|
if(project.hasProperty("keystore_file")) {
|
||||||
sp.keystore_alias = project.keystore_alias
|
sp.keystore_file = project.keystore_file
|
||||||
sp.keystore_pass = project.keystore_pass
|
sp.keystore_alias = project.keystore_alias
|
||||||
sp.keystore_keypass = project.keystore_keypass
|
sp.keystore_pass = project.keystore_pass
|
||||||
sp.fingerprint_sha1 = project.fingerprint_sha1
|
sp.keystore_keypass = project.keystore_keypass
|
||||||
|
sp.fingerprint_sha1 = project.fingerprint_sha1
|
||||||
|
} else {
|
||||||
|
logger.warn("[WARNING] No signing data available.")
|
||||||
|
}
|
||||||
if(file("signing.properties").exists()) file("signing.properties").withInputStream { sp.load(it) }
|
if(file("signing.properties").exists()) file("signing.properties").withInputStream { sp.load(it) }
|
||||||
return sp
|
return sp
|
||||||
}();
|
}()
|
||||||
task signJar(type: SignJar, dependsOn: jar) {
|
task signJar(type: SignJar, dependsOn: jar) {
|
||||||
onlyIf { signing.hasProperty("keystore_file") }
|
onlyIf { signing.hasProperty("keystore_file") }
|
||||||
if(signing.hasProperty("keystore_file")) {
|
if(signing.hasProperty("keystore_file")) {
|
||||||
|
|
|
@ -5,4 +5,4 @@ version_minecraft=1.16.3
|
||||||
version_forge_minecraft=1.16.3-34.0.1
|
version_forge_minecraft=1.16.3-34.0.1
|
||||||
version_fml_mappings=20200723-1.16.1
|
version_fml_mappings=20200723-1.16.1
|
||||||
version_jei=1.16.3:7.1.3.19
|
version_jei=1.16.3:7.1.3.19
|
||||||
version_engineersdecor=1.1.2-b7
|
version_engineersdecor=1.1.2-b8
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
|
"homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
|
||||||
"1.16.3": {
|
"1.16.3": {
|
||||||
|
"1.1.2-b8": "[F] Fixed Double-T support thick steel pole connection (thx @CastCrafter).\n[A] Concrete and Clinker walls connect to windows and glass panes.",
|
||||||
"1.1.2-b7": "[U] Ported to MC1.16.3.\n[F] Roof lighting improved.",
|
"1.1.2-b7": "[U] Ported to MC1.16.3.\n[F] Roof lighting improved.",
|
||||||
"1.1.2-b6": "[A] Signs added: Generic Caution, Magical Hazard, Radioactive Hazard, Laser Hazard, Fire Hazard, Caution Hot Surface, Magnetic Field Caution, Frost Warning.\n[A] Water Freezer added (generates Ice, Packed Ice, Blue Ice from water).\n[F] Mineral Smelter GUI model facing fixed.\n[M] Hatch handling improved.\n[M] Ladder fast-move improved.\n[F] Roof Chimney Trunk shape hollow to allow feeding IE Wire power over the roof into the building.\n[A] Roof Chimney added (smoking offset for Dark Shingle Roof Chimney Trunk block).\n[A] Metal Bar (ingredient item) added to circumvent recipe collisions with other mods.\n[M] Recipes for metallic blocks modified accordingly to depend on Metal Bars.",
|
"1.1.2-b6": "[A] Signs added: Generic Caution, Magical Hazard, Radioactive Hazard, Laser Hazard, Fire Hazard, Caution Hot Surface, Magnetic Field Caution, Frost Warning.\n[A] Water Freezer added (generates Ice, Packed Ice, Blue Ice from water).\n[F] Mineral Smelter GUI model facing fixed.\n[M] Hatch handling improved.\n[M] Ladder fast-move improved.\n[F] Roof Chimney Trunk shape hollow to allow feeding IE Wire power over the roof into the building.\n[A] Roof Chimney added (smoking offset for Dark Shingle Roof Chimney Trunk block).\n[A] Metal Bar (ingredient item) added to circumvent recipe collisions with other mods.\n[M] Recipes for metallic blocks modified accordingly to depend on Metal Bars.",
|
||||||
"1.1.2-b5": "[A] Sandstone Ornamented Clinker Brick added.\n[A] Old Industrial Wood Planks/Stairs/Slabs/Slab Slices added.\n[A] Old Industrial Wood Door added.\n[M] Wood textures made slightly darker.\n[F] Milking Machine fluid transfer re-added (thx gebcrafter).\n[F] Fluid Barrel status overlay message format fixed.\n[F] Fixed missing Dense Grit Dirt loot table (issue #124, thx vaelzan).",
|
"1.1.2-b5": "[A] Sandstone Ornamented Clinker Brick added.\n[A] Old Industrial Wood Planks/Stairs/Slabs/Slab Slices added.\n[A] Old Industrial Wood Door added.\n[M] Wood textures made slightly darker.\n[F] Milking Machine fluid transfer re-added (thx gebcrafter).\n[F] Fluid Barrel status overlay message format fixed.\n[F] Fixed missing Dense Grit Dirt loot table (issue #124, thx vaelzan).",
|
||||||
|
@ -10,7 +11,7 @@
|
||||||
"1.1.2-b1": "[U] Ported to MC1.16.2."
|
"1.1.2-b1": "[U] Ported to MC1.16.2."
|
||||||
},
|
},
|
||||||
"promos": {
|
"promos": {
|
||||||
"1.16.3-recommended": "1.1.2-b7",
|
"1.16.3-recommended": "1.1.2-b8",
|
||||||
"1.16.3-latest": "1.1.2-b7"
|
"1.16.3-latest": "1.1.2-b8"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -11,6 +11,9 @@ Mod sources for Minecraft version 1.16.3.
|
||||||
|
|
||||||
## Version history
|
## Version history
|
||||||
|
|
||||||
|
- v1.1.2-b8 [F] Fixed Double-T support thick steel pole connection (thx @CastCrafter).
|
||||||
|
[A] Concrete and Clinker walls connect to windows and glass panes.
|
||||||
|
|
||||||
- v1.1.2-b7 [U] Ported to MC1.16.3.
|
- v1.1.2-b7 [U] Ported to MC1.16.3.
|
||||||
[F] Roof lighting improved.
|
[F] Roof lighting improved.
|
||||||
|
|
||||||
|
|
|
@ -484,7 +484,10 @@ public class ModContent
|
||||||
public static final EdHorizontalSupportBlock STEEL_DOUBLE_T_SUPPORT = (EdHorizontalSupportBlock)(new EdHorizontalSupportBlock(
|
public static final EdHorizontalSupportBlock STEEL_DOUBLE_T_SUPPORT = (EdHorizontalSupportBlock)(new EdHorizontalSupportBlock(
|
||||||
DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT,
|
DecorBlock.CFG_CUTOUT|DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT,
|
||||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL).notSolid(),
|
||||||
Auxiliaries.getPixeledAABB(5,11,0, 11,16,16)
|
Auxiliaries.getPixeledAABB( 5,11,0, 11,16,16), // main beam
|
||||||
|
Auxiliaries.getPixeledAABB(10,11,5, 16,16,11), // east beam (also for west 180deg)
|
||||||
|
Auxiliaries.getPixeledAABB( 6, 0,6, 10,16,10), // down thin
|
||||||
|
Auxiliaries.getPixeledAABB( 5, 0,5, 11,16,11) // down thick
|
||||||
)).setRegistryName(new ResourceLocation(MODID, "steel_double_t_support"));
|
)).setRegistryName(new ResourceLocation(MODID, "steel_double_t_support"));
|
||||||
|
|
||||||
// -------------------------------------------------------------------------------------------------------------------
|
// -------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -9,12 +9,9 @@
|
||||||
*/
|
*/
|
||||||
package wile.engineersdecor.blocks;
|
package wile.engineersdecor.blocks;
|
||||||
|
|
||||||
import net.minecraft.entity.EntitySpawnPlacementRegistry;
|
|
||||||
import wile.engineersdecor.ModContent;
|
|
||||||
import wile.engineersdecor.libmc.detail.Auxiliaries;
|
|
||||||
import net.minecraft.entity.EntityType;
|
|
||||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.entity.EntitySpawnPlacementRegistry;
|
||||||
|
import net.minecraft.entity.EntityType;
|
||||||
import net.minecraft.item.BlockItemUseContext;
|
import net.minecraft.item.BlockItemUseContext;
|
||||||
import net.minecraft.state.BooleanProperty;
|
import net.minecraft.state.BooleanProperty;
|
||||||
import net.minecraft.state.IntegerProperty;
|
import net.minecraft.state.IntegerProperty;
|
||||||
|
@ -22,15 +19,20 @@ import net.minecraft.state.StateContainer;
|
||||||
import net.minecraft.util.*;
|
import net.minecraft.util.*;
|
||||||
import net.minecraft.util.math.shapes.VoxelShape;
|
import net.minecraft.util.math.shapes.VoxelShape;
|
||||||
import net.minecraft.util.math.shapes.VoxelShapes;
|
import net.minecraft.util.math.shapes.VoxelShapes;
|
||||||
|
import net.minecraft.util.math.shapes.IBooleanFunction;
|
||||||
|
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||||
import net.minecraft.world.IBlockReader;
|
import net.minecraft.world.IBlockReader;
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.IWorld;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.util.math.AxisAlignedBB;
|
import net.minecraft.util.math.AxisAlignedBB;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import wile.engineersdecor.ModContent;
|
||||||
|
import wile.engineersdecor.libmc.detail.Auxiliaries;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.ArrayList;
|
import java.util.HashMap;
|
||||||
import java.util.Arrays;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
public class EdHorizontalSupportBlock extends DecorBlock.WaterLoggable implements IDecorBlock
|
public class EdHorizontalSupportBlock extends DecorBlock.WaterLoggable implements IDecorBlock
|
||||||
|
@ -39,19 +41,29 @@ public class EdHorizontalSupportBlock extends DecorBlock.WaterLoggable implement
|
||||||
public static final BooleanProperty LEFTBEAM = BooleanProperty.create("leftbeam");
|
public static final BooleanProperty LEFTBEAM = BooleanProperty.create("leftbeam");
|
||||||
public static final BooleanProperty RIGHTBEAM = BooleanProperty.create("rightbeam");
|
public static final BooleanProperty RIGHTBEAM = BooleanProperty.create("rightbeam");
|
||||||
public static final IntegerProperty DOWNCONNECT = IntegerProperty.create("downconnect", 0, 2);
|
public static final IntegerProperty DOWNCONNECT = IntegerProperty.create("downconnect", 0, 2);
|
||||||
protected final ArrayList<VoxelShape> AABBs;
|
protected final Map<BlockState, VoxelShape> AABBs;
|
||||||
|
|
||||||
public EdHorizontalSupportBlock(long config, Block.Properties builder, final AxisAlignedBB unrotatedAABB)
|
public EdHorizontalSupportBlock(long config, Block.Properties builder, final AxisAlignedBB mainBeamAABB, final AxisAlignedBB eastBeamAABB, final AxisAlignedBB thinDownBeamAABB, final AxisAlignedBB thickDownBeamAABB)
|
||||||
{
|
{
|
||||||
super(config|DecorBlock.CFG_HORIZIONTAL, builder);
|
super(config|DecorBlock.CFG_HORIZIONTAL, builder);
|
||||||
AABBs = new ArrayList<VoxelShape>(Arrays.asList(
|
Map<BlockState, VoxelShape> aabbs = new HashMap<>();
|
||||||
// Effective bounding box
|
for(boolean eastwest:EASTWEST.getAllowedValues()) {
|
||||||
VoxelShapes.create(Auxiliaries.getRotatedAABB(unrotatedAABB.grow(2.0/16, 0, 0), Direction.NORTH, true)),
|
for(boolean leftbeam:LEFTBEAM.getAllowedValues()) {
|
||||||
VoxelShapes.create(Auxiliaries.getRotatedAABB(unrotatedAABB.grow(2.0/16, 0, 0), Direction.WEST, true)),
|
for(boolean rightbeam:RIGHTBEAM.getAllowedValues()) {
|
||||||
// Displayed bounding box
|
for(int downconnect:DOWNCONNECT.getAllowedValues()) {
|
||||||
VoxelShapes.create(Auxiliaries.getRotatedAABB(unrotatedAABB, Direction.NORTH, true)),
|
final BlockState state = getDefaultState().with(EASTWEST, eastwest).with(LEFTBEAM, leftbeam).with(RIGHTBEAM, rightbeam).with(DOWNCONNECT, downconnect);
|
||||||
VoxelShapes.create(Auxiliaries.getRotatedAABB(unrotatedAABB, Direction.WEST, true))
|
VoxelShape shape = VoxelShapes.create(Auxiliaries.getRotatedAABB(mainBeamAABB, eastwest?Direction.EAST:Direction.NORTH, true));
|
||||||
));
|
if(rightbeam) shape = VoxelShapes.combine(shape, VoxelShapes.create(Auxiliaries.getRotatedAABB(eastBeamAABB, eastwest?Direction.EAST:Direction.NORTH, true)), IBooleanFunction.OR);
|
||||||
|
if(leftbeam) shape = VoxelShapes.combine(shape, VoxelShapes.create(Auxiliaries.getRotatedAABB(eastBeamAABB, eastwest?Direction.WEST:Direction.SOUTH, true)), IBooleanFunction.OR);
|
||||||
|
if(downconnect==1) shape = VoxelShapes.combine(shape, VoxelShapes.create(thinDownBeamAABB), IBooleanFunction.OR);
|
||||||
|
if(downconnect==2) shape = VoxelShapes.combine(shape, VoxelShapes.create(thickDownBeamAABB), IBooleanFunction.OR);
|
||||||
|
aabbs.put(state.with(WATERLOGGED, false), shape);
|
||||||
|
aabbs.put(state.with(WATERLOGGED, true), shape);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AABBs = aabbs;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -68,7 +80,7 @@ public class EdHorizontalSupportBlock extends DecorBlock.WaterLoggable implement
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public VoxelShape getShape(BlockState state, IBlockReader source, BlockPos pos, ISelectionContext selectionContext)
|
public VoxelShape getShape(BlockState state, IBlockReader source, BlockPos pos, ISelectionContext selectionContext)
|
||||||
{ return AABBs.get(state.get(EASTWEST) ? 0x1 : 0x0); }
|
{ return AABBs.get(state); }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public VoxelShape getCollisionShape(BlockState state, IBlockReader world, BlockPos pos, ISelectionContext selectionContext)
|
public VoxelShape getCollisionShape(BlockState state, IBlockReader world, BlockPos pos, ISelectionContext selectionContext)
|
||||||
|
|
|
@ -8,11 +8,24 @@
|
||||||
*/
|
*/
|
||||||
package wile.engineersdecor.blocks;
|
package wile.engineersdecor.blocks;
|
||||||
|
|
||||||
import wile.engineersdecor.libmc.blocks.VariantWallBlock;
|
|
||||||
import net.minecraft.block.*;
|
import net.minecraft.block.*;
|
||||||
|
import net.minecraft.util.Direction;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.IWorldReader;
|
||||||
|
import wile.engineersdecor.libmc.blocks.VariantWallBlock;
|
||||||
|
|
||||||
|
|
||||||
public class EdWallBlock extends VariantWallBlock implements IDecorBlock
|
public class EdWallBlock extends VariantWallBlock implements IDecorBlock
|
||||||
{
|
{
|
||||||
public EdWallBlock(long config, Block.Properties builder)
|
public EdWallBlock(long config, Block.Properties builder)
|
||||||
{ super(config, builder); }
|
{ super(config, builder); }
|
||||||
|
|
||||||
|
protected boolean attachesTo(BlockState facingState, IWorldReader world, BlockPos facingPos, Direction side)
|
||||||
|
{
|
||||||
|
if(facingState==null) return false;
|
||||||
|
if(super.attachesTo(facingState, world, facingPos, side)) return true;
|
||||||
|
if(facingState.getBlock() instanceof EdWindowBlock) return true;
|
||||||
|
if(facingState.getBlock() instanceof PaneBlock) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,7 +132,7 @@ public class VariantWallBlock extends WallBlock implements StandardBlocks.IStand
|
||||||
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder)
|
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder)
|
||||||
{ super.fillStateContainer(builder); builder.add(TEXTURE_VARIANT); }
|
{ super.fillStateContainer(builder); builder.add(TEXTURE_VARIANT); }
|
||||||
|
|
||||||
private boolean attachesTo(BlockState facingState, IWorldReader world, BlockPos facingPos, Direction side)
|
protected boolean attachesTo(BlockState facingState, IWorldReader world, BlockPos facingPos, Direction side)
|
||||||
{
|
{
|
||||||
final Block block = facingState.getBlock();
|
final Block block = facingState.getBlock();
|
||||||
if((block instanceof FenceGateBlock) || (block instanceof WallBlock)) return true;
|
if((block instanceof FenceGateBlock) || (block instanceof WallBlock)) return true;
|
||||||
|
|
|
@ -14,6 +14,6 @@
|
||||||
},{ "when": { "downconnect" : "1" },
|
},{ "when": { "downconnect" : "1" },
|
||||||
"apply": { "model": "engineersdecor:block/hsupport/steel_double_t_support_xconnect_thin_pole_model" }
|
"apply": { "model": "engineersdecor:block/hsupport/steel_double_t_support_xconnect_thin_pole_model" }
|
||||||
},{ "when": { "downconnect" : "2" },
|
},{ "when": { "downconnect" : "2" },
|
||||||
"apply": { "model": "engineersdecor:block/hsupport/steel_double_t_support_xconnect_thin_pole_model" }
|
"apply": { "model": "engineersdecor:block/hsupport/steel_double_t_support_xconnect_thick_pole_model" }
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue