-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PCB Multiblocks #395
PCB Multiblocks #395
Conversation
these multis look very nice |
...n/java/supersymmetry/common/metatileentities/multi/electric/MetaTileEntityCurtainCoater.java
Outdated
Show resolved
Hide resolved
...upersymmetry/common/metatileentities/multi/electric/MetaTileEntityPreciseMillingMachine.java
Show resolved
Hide resolved
...upersymmetry/common/metatileentities/multi/electric/MetaTileEntityPreciseMillingMachine.java
Outdated
Show resolved
Hide resolved
...upersymmetry/common/metatileentities/multi/electric/MetaTileEntityPreciseMillingMachine.java
Show resolved
Hide resolved
6d15dfa
to
b0dc9a4
Compare
…ts to upper/lower parts
b0dc9a4
to
4be0194
Compare
src/main/java/supersymmetry/api/metatileentity/multiblock/SuSyPredicates.java
Outdated
Show resolved
Hide resolved
@Override | ||
protected void formStructure(PatternMatchContext context) { | ||
super.formStructure(context); | ||
|
||
// RelativeDirection will take into account of the multi flipping pattern | ||
EnumFacing conveyorFacing = RelativeDirection.LEFT.getRelativeFacing(getFrontFacing(), getUpwardsFacing(), isFlipped()); | ||
|
||
List<BlockPos> conveyorBlocks = context.getOrDefault("ConveyorBelt", new LinkedList<>()); | ||
if (conveyorBlocks != null && !conveyorBlocks.isEmpty()) { | ||
World world = getWorld(); | ||
for (BlockPos blockPos : conveyorBlocks) { | ||
Block conveyor = world.getBlockState(blockPos).getBlock(); | ||
if (conveyor instanceof BlockConveyor) { | ||
world.setBlockState(blockPos, world.getBlockState(blockPos).withProperty(BlockConveyor.FACING, conveyorFacing)); | ||
} | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With this implementation, the direction will only be corrected once when the multi is formed
so if you wrench the belt to rotate it after the multi gets formed, it won't invadiate the structure
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
now the multi will store conveyor belt blocks and check that every 20 ticks (through updateFormedValid
)
the multiblock will not be invalidated, but the directions will be corrected quickly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think its impossible to actually maintain animations for both top-bottom and front-back sides smoothly without some extra texture support. Should I just leave the top-bottom face animations? |
yeah ig that makes sense |
Can we keep this funny wall-shared setup (#395 (comment)) |
maybe just change the structure a bit to avoid such sharing? |
…onger wall share conveyors
i have changed the structure which made the conveyor belts completely closed in the multiblock structure |
nice! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
This PR adds two multiblocks: Curtain Coater
curtain_coater
and Precise Milling Machinemilling
.