mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-01-27 13:28:00 +01:00
And the hunt continues...
- Fixed kinetic stress loop caused by neighbouring belts - Fixed kinetic stress loop caused by activating ejectors - Fixed recipe book logspam regarding seq. assembly recipes
This commit is contained in:
parent
dcc0c27855
commit
0fb5556960
5 changed files with 19 additions and 4 deletions
|
@ -78,6 +78,8 @@ public abstract class KineticBlock extends Block implements IRotate {
|
|||
}
|
||||
|
||||
protected boolean areStatesKineticallyEquivalent(BlockState oldState, BlockState newState) {
|
||||
if (oldState.getBlock() != newState.getBlock())
|
||||
return false;
|
||||
return getRotationAxis(newState) == getRotationAxis(oldState);
|
||||
}
|
||||
|
||||
|
|
|
@ -209,6 +209,11 @@ public class SequencedAssemblyRecipe implements IRecipe<RecipeWrapper> {
|
|||
return serializer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDynamic() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IRecipeType<?> getType() {
|
||||
return AllRecipeTypes.SEQUENCED_ASSEMBLY.getType();
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.processing;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
|
@ -138,9 +138,9 @@ public class BeltConnectorItem extends BlockItem {
|
|||
part = BeltPart.PULLEY;
|
||||
if (pulley && shaftState.get(AbstractShaftBlock.AXIS) == Axis.Y)
|
||||
slope = BeltSlope.SIDEWAYS;
|
||||
world.setBlockState(pos, beltBlock.with(BeltBlock.SLOPE, slope)
|
||||
KineticTileEntity.switchToBlockState(world, pos, beltBlock.with(BeltBlock.SLOPE, slope)
|
||||
.with(BeltBlock.PART, part)
|
||||
.with(BeltBlock.HORIZONTAL_FACING, facing), 3);
|
||||
.with(BeltBlock.HORIZONTAL_FACING, facing));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputB
|
|||
import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.IntAttached;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
||||
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||
|
@ -28,6 +29,7 @@ import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
|||
import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.ObserverBlock;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.item.ItemEntity;
|
||||
|
@ -224,7 +226,14 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
}
|
||||
|
||||
if (!world.isRemote)
|
||||
world.markAndNotifyBlock(pos, world.getChunkAt(pos), getBlockState(), getBlockState(), 0, 512);
|
||||
for (Direction d : Iterate.directions) {
|
||||
BlockState blockState = world.getBlockState(pos.offset(d));
|
||||
if (!(blockState.getBlock() instanceof ObserverBlock))
|
||||
continue;
|
||||
if (blockState.get(ObserverBlock.FACING) != d.getOpposite())
|
||||
continue;
|
||||
blockState.updatePostPlacement(d.getOpposite(), blockState, world, pos.offset(d), pos);
|
||||
}
|
||||
|
||||
if (depotBehaviour.heldItem != null) {
|
||||
addToLaunchedItems(heldItemStack);
|
||||
|
|
Loading…
Reference in a new issue