Skip to content

Commit

Permalink
Add CustomDoubleWidthBlock#canPlacePartAt
Browse files Browse the repository at this point in the history
Some Stellar Elements Refactoring Fixes
  • Loading branch information
FirstMegaGame4 committed Nov 11, 2023
1 parent 46d686d commit 8a52e52
Show file tree
Hide file tree
Showing 9 changed files with 17 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import org.jetbrains.annotations.Nullable;
import org.quiltmc.qsl.item.setting.api.QuiltItemSettings;

import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;

public class CustomDoubleWidthBlock extends Block implements BlockRegistrable, BlockWithItem {
Expand Down Expand Up @@ -58,13 +57,17 @@ public CustomDoubleWidthBlock(Settings settings, boolean hasItem, Item.Settings
@Override
public BlockState getPlacementState(ItemPlacementContext ctx) {
OrientedBlockPos oriented = OrientedBlockPos.of(ctx.getBlockPos()).apply(ctx.getPlayerFacing());
boolean validOrigin = ctx.getWorld().getBlockState(oriented).canReplace(ctx);
boolean validSub0 = ctx.getWorld().getBlockState(oriented.front()).canReplace(ctx);
boolean validSub1 = ctx.getWorld().getBlockState(oriented.front().left()).canReplace(ctx);
boolean validSub2 = ctx.getWorld().getBlockState(oriented.left()).canReplace(ctx);
boolean validOrigin = this.canPlacePartAt(ctx.getWorld().getBlockState(oriented), ctx);
boolean validSub0 = this.canPlacePartAt(ctx.getWorld().getBlockState(oriented.front()), ctx);
boolean validSub1 = this.canPlacePartAt(ctx.getWorld().getBlockState(oriented.front().left()), ctx);
boolean validSub2 = this.canPlacePartAt(ctx.getWorld().getBlockState(oriented.left()), ctx);
return validOrigin && validSub0 && validSub1 && validSub2 ? this.getDefaultState().with(PART, DoubleWidthPart.ORIGIN).with(FACING, ctx.getPlayerFacing()) : null;
}

public boolean canPlacePartAt(BlockState state, ItemPlacementContext ctx) {
return state.canReplace(ctx);
}

@Override
public void onPlaced(World world, BlockPos pos, BlockState state, @Nullable LivingEntity placer, ItemStack itemStack) {
super.onPlaced(world, pos, state, placer, itemStack);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.mmodding.mmodding_lib.library.glint.GlintPackView;
import com.mmodding.mmodding_lib.library.glint.client.GlintPack;
import com.mmodding.mmodding_lib.library.stellar.StellarObject;
import com.mmodding.mmodding_lib.library.stellar.client.StellarObject;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.Pair;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.mmodding.mmodding_lib.library.glint.GlintPackView;
import com.mmodding.mmodding_lib.library.glint.client.GlintPack;
import com.mmodding.mmodding_lib.library.stellar.StellarObject;
import com.mmodding.mmodding_lib.library.stellar.client.StellarObject;
import com.mmodding.mmodding_lib.mixin.accessors.client.BufferBuilderStorageAccessor;
import com.mmodding.mmodding_lib.mixin.accessors.client.RenderLayerFirstAccessor;
import com.mmodding.mmodding_lib.mixin.accessors.client.RenderLayerSecondAccessor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.mmodding.mmodding_lib.library.stellar.client;
package com.mmodding.mmodding_lib.library.stellar;

import com.mmodding.mmodding_lib.library.math.MathFunction;
import com.mmodding.mmodding_lib.library.utils.RegistrationUtils;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package com.mmodding.mmodding_lib.library.stellar;

import com.mmodding.mmodding_lib.library.stellar.client.StellarCycle;

public class StellarStatus {

protected final long fullRotationTime;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package com.mmodding.mmodding_lib.library.stellar;
package com.mmodding.mmodding_lib.library.stellar.client;

import com.mmodding.mmodding_lib.ducks.ClientWorldDuckInterface;
import com.mmodding.mmodding_lib.library.client.utils.RenderLayerUtils;
import com.mmodding.mmodding_lib.library.stellar.client.StellarCycle;
import com.mmodding.mmodding_lib.library.stellar.StellarCycle;
import com.mmodding.mmodding_lib.library.stellar.StellarStatus;
import com.mmodding.mmodding_lib.library.utils.MModdingGlobalMaps;
import com.mmodding.mmodding_lib.library.utils.TextureLocation;
import com.mojang.blaze3d.platform.GlStateManager;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.mmodding.mmodding_lib.library.portals.squared.AbstractSquaredPortal;
import com.mmodding.mmodding_lib.library.portals.squared.CustomSquaredPortal;
import com.mmodding.mmodding_lib.library.portals.squared.UnlinkedCustomSquaredPortal;
import com.mmodding.mmodding_lib.library.stellar.client.StellarCycle;
import com.mmodding.mmodding_lib.library.stellar.StellarCycle;
import com.mmodding.mmodding_lib.library.worldgen.veins.CustomVeinType;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.RegistryKey;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.mmodding.mmodding_lib.library.blocks.BlockWithItem;
import com.mmodding.mmodding_lib.library.portals.squared.CustomSquaredPortal;
import com.mmodding.mmodding_lib.library.portals.squared.UnlinkedCustomSquaredPortal;
import com.mmodding.mmodding_lib.library.stellar.client.StellarCycle;
import com.mmodding.mmodding_lib.library.stellar.StellarCycle;
import net.minecraft.block.Block;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.block.entity.BlockEntityType;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.mmodding.mmodding_lib.mixin.injectors;

import com.mmodding.mmodding_lib.library.stellar.StellarStatus;
import com.mmodding.mmodding_lib.library.stellar.client.StellarCycle;
import com.mmodding.mmodding_lib.library.stellar.StellarCycle;
import com.mmodding.mmodding_lib.library.utils.MModdingGlobalMaps;
import com.mmodding.mmodding_lib.library.utils.Self;
import com.mmodding.mmodding_lib.states.readable.ReadableStellarStatuses;
Expand Down

0 comments on commit 8a52e52

Please sign in to comment.