Skip to content

Commit

Permalink
Use AE2's own pattern provider "push direction" property
Browse files Browse the repository at this point in the history
  • Loading branch information
62832 committed Aug 17, 2023
1 parent 867742e commit d9c4fbc
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.EnumProperty;
import net.minecraft.world.phys.BlockHitResult;

import appeng.api.networking.IManagedGridNode;
import appeng.block.AEBaseEntityBlock;
import appeng.block.crafting.PatternProviderBlock;
import appeng.block.crafting.PushDirection;
import appeng.core.definitions.AEItems;
import appeng.helpers.patternprovider.PatternProviderLogic;
Expand All @@ -31,12 +31,9 @@

@SuppressWarnings("deprecation")
public class MEGAPatternProviderBlock extends AEBaseEntityBlock<MEGAPatternProviderBlockEntity> {
public static final EnumProperty<PushDirection> PUSH_DIRECTION =
EnumProperty.create("push_direction", PushDirection.class);

public MEGAPatternProviderBlock(Properties props) {
super(props);
registerDefaultState(defaultBlockState().setValue(PUSH_DIRECTION, PushDirection.ALL));
registerDefaultState(defaultBlockState().setValue(PatternProviderBlock.PUSH_DIRECTION, PushDirection.ALL));
}

public static PatternProviderLogic createLogic(IManagedGridNode mainNode, PatternProviderLogicHost host) {
Expand All @@ -49,13 +46,14 @@ public static PatternProviderLogic createLogic(IManagedGridNode mainNode, Patter
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(PUSH_DIRECTION);
builder.add(PatternProviderBlock.PUSH_DIRECTION);
}

@Override
public void neighborChanged(
BlockState state, Level level, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) {
var be = this.getBlockEntity(level, pos);

if (be != null) {
be.getLogic().updateRedstoneState();
}
Expand Down Expand Up @@ -93,7 +91,8 @@ public InteractionResult onActivated(

public void setSide(Level level, BlockPos pos, Direction facing) {
var currentState = level.getBlockState(pos);
var pushSide = currentState.getValue(PUSH_DIRECTION).getDirection();
var pushSide =
currentState.getValue(PatternProviderBlock.PUSH_DIRECTION).getDirection();

PushDirection newPushDirection;
if (pushSide == facing.getOpposite()) {
Expand All @@ -106,6 +105,6 @@ public void setSide(Level level, BlockPos pos, Direction facing) {
newPushDirection = PushDirection.fromDirection(Platform.rotateAround(pushSide, facing));
}

level.setBlockAndUpdate(pos, currentState.setValue(PUSH_DIRECTION, newPushDirection));
level.setBlockAndUpdate(pos, currentState.setValue(PatternProviderBlock.PUSH_DIRECTION, newPushDirection));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@

import appeng.api.orientation.BlockOrientation;
import appeng.block.crafting.AbstractCraftingUnitBlock;
import appeng.block.crafting.PatternProviderBlock;
import appeng.block.networking.EnergyCellBlock;
import appeng.core.AppEng;
import appeng.core.definitions.AEItems;
import appeng.core.definitions.ItemDefinition;

import gripe._90.megacells.MEGACells;
import gripe._90.megacells.block.MEGAPatternProviderBlock;
import gripe._90.megacells.definition.MEGABlocks;
import gripe._90.megacells.definition.MEGAItems;
import gripe._90.megacells.integration.appbot.AppBotItems;
Expand Down Expand Up @@ -290,7 +290,7 @@ private void patternProviderBlock(BlockModelGenerators generator) {
generator.modelOutput);

generator.blockStateOutput.accept(MultiVariantGenerator.multiVariant(MEGABlocks.MEGA_PATTERN_PROVIDER.block())
.with(PropertyDispatch.property(MEGAPatternProviderBlock.PUSH_DIRECTION)
.with(PropertyDispatch.property(PatternProviderBlock.PUSH_DIRECTION)
.generate(pushDirection -> {
var forward = pushDirection.getDirection();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

import appeng.api.orientation.BlockOrientation;
import appeng.block.crafting.AbstractCraftingUnitBlock;
import appeng.block.crafting.PatternProviderBlock;
import appeng.block.networking.EnergyCellBlock;
import appeng.core.AppEng;
import appeng.core.definitions.BlockDefinition;
Expand All @@ -29,7 +30,6 @@
import appeng.init.client.InitItemModelsProperties;

import gripe._90.megacells.MEGACells;
import gripe._90.megacells.block.MEGAPatternProviderBlock;
import gripe._90.megacells.definition.MEGABlocks;
import gripe._90.megacells.definition.MEGAItems;
import gripe._90.megacells.definition.MEGAParts;
Expand Down Expand Up @@ -267,7 +267,7 @@ private void patternProvider() {
.texture("particle", "block/mega_pattern_provider");

multiVariantGenerator(MEGABlocks.MEGA_PATTERN_PROVIDER, Variant.variant())
.with(PropertyDispatch.property(MEGAPatternProviderBlock.PUSH_DIRECTION)
.with(PropertyDispatch.property(PatternProviderBlock.PUSH_DIRECTION)
.generate(pushDirection -> {
var forward = pushDirection.getDirection();
if (forward == null) {
Expand Down

0 comments on commit d9c4fbc

Please sign in to comment.