Skip to content

Commit

Permalink
Update to 23w43a
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander01998 committed Oct 25, 2023
1 parent 0335713 commit 21f5233
Show file tree
Hide file tree
Showing 4 changed files with 100 additions and 99 deletions.
73 changes: 38 additions & 35 deletions src/main/java/net/wurstclient/glass/mixin/GlassBlockMixin.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,78 +9,81 @@

import org.spongepowered.asm.mixin.Mixin;

import net.minecraft.block.AbstractGlassBlock;
import net.minecraft.class_8923;
import net.minecraft.block.BlockState;
import net.minecraft.block.GlassBlock;
import net.minecraft.block.Blocks;
import net.minecraft.block.SlabBlock;
import net.minecraft.block.StairsBlock;
import net.minecraft.block.TransparentBlock;
import net.minecraft.block.enums.BlockHalf;
import net.minecraft.block.enums.SlabType;
import net.minecraft.util.math.Direction;
import net.wurstclient.glass.MoGlass;
import net.wurstclient.glass.MoGlassBlocks;

@Mixin(GlassBlock.class)
public abstract class GlassBlockMixin extends AbstractGlassBlock
@Mixin(class_8923.class)
public abstract class GlassBlockMixin extends TransparentBlock
{
private GlassBlockMixin(MoGlass moGlass, Settings block$Settings_1)
private GlassBlockMixin(MoGlass moGlass, Settings settings)
{
super(block$Settings_1);
super(settings);
}

@Override
public boolean isSideInvisible(BlockState blockState_1,
BlockState blockState_2, Direction direction_1)
public boolean isSideInvisible(BlockState state, BlockState stateFrom,
Direction direction)
{
if(blockState_2.getBlock() == MoGlassBlocks.GLASS_SLAB)
if(isInvisibleToGlassSlab(blockState_1, blockState_2, direction_1))
return true;

if(blockState_2.getBlock() == MoGlassBlocks.GLASS_STAIRS)
if(isInvisibleToGlassStairs(blockState_1, blockState_2,
direction_1))
return true;

return super.isSideInvisible(blockState_1, blockState_2, direction_1);
if(state.getBlock() == Blocks.GLASS)
{
if(stateFrom.getBlock() == MoGlassBlocks.GLASS_SLAB)
if(isInvisibleToGlassSlab(state, stateFrom, direction))
return true;

if(stateFrom.getBlock() == MoGlassBlocks.GLASS_STAIRS)
if(isInvisibleToGlassStairs(state, stateFrom, direction))
return true;
}

return super.isSideInvisible(state, stateFrom, direction);
}

private boolean isInvisibleToGlassSlab(BlockState blockState_1,
BlockState blockState_2, Direction direction_1)
private boolean isInvisibleToGlassSlab(BlockState state,
BlockState stateFrom, Direction direction)
{
SlabType type2 = blockState_2.get(SlabBlock.TYPE);
SlabType typeFrom = stateFrom.get(SlabBlock.TYPE);

if(type2 == SlabType.DOUBLE)
if(typeFrom == SlabType.DOUBLE)
return true;

if(direction_1 == Direction.UP)
if(type2 != SlabType.TOP)
if(direction == Direction.UP)
if(typeFrom != SlabType.TOP)
return true;

if(direction_1 == Direction.DOWN)
if(type2 != SlabType.BOTTOM)
if(direction == Direction.DOWN)
if(typeFrom != SlabType.BOTTOM)
return true;

return false;
}

private boolean isInvisibleToGlassStairs(BlockState blockState_1,
BlockState blockState_2, Direction direction_1)
private boolean isInvisibleToGlassStairs(BlockState state,
BlockState stateFrom, Direction direction)
{
BlockHalf half2 = blockState_2.get(StairsBlock.HALF);
Direction facing2 = blockState_2.get(StairsBlock.FACING);
BlockHalf halfFrom = stateFrom.get(StairsBlock.HALF);
Direction facingFrom = stateFrom.get(StairsBlock.FACING);

// up
if(direction_1 == Direction.UP)
if(half2 == BlockHalf.BOTTOM)
if(direction == Direction.UP)
if(halfFrom == BlockHalf.BOTTOM)
return true;

// down
if(direction_1 == Direction.DOWN)
if(half2 == BlockHalf.TOP)
if(direction == Direction.DOWN)
if(halfFrom == BlockHalf.TOP)
return true;

// other stairs rear
if(facing2 == direction_1.getOpposite())
if(facingFrom == direction.getOpposite())
return true;

return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

import net.minecraft.block.AbstractGlassBlock;
import net.minecraft.class_8923;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.SlabBlock;
Expand All @@ -26,74 +26,73 @@
import net.wurstclient.glass.StainedGlassStairsBlock;

@Mixin(StainedGlassBlock.class)
public abstract class StainedGlassBlockMixin extends AbstractGlassBlock
public abstract class StainedGlassBlockMixin extends class_8923
{
@Shadow
@Final
private DyeColor color;

private StainedGlassBlockMixin(MoGlass moGlass, Settings block$Settings_1)
private StainedGlassBlockMixin(MoGlass moGlass, Settings settings)
{
super(block$Settings_1);
super(settings);
}

@Override
public boolean isSideInvisible(BlockState blockState_1,
BlockState blockState_2, Direction direction_1)
public boolean isSideInvisible(BlockState state, BlockState stateFrom,
Direction direction)
{
Block block_2 = blockState_2.getBlock();
Block blockFrom = stateFrom.getBlock();

if(block_2 instanceof StainedGlassSlabBlock
&& ((StainedGlassSlabBlock)block_2).getColor() == color)
if(isInvisibleToGlassSlab(blockState_1, blockState_2, direction_1))
if(blockFrom instanceof StainedGlassSlabBlock
&& ((StainedGlassSlabBlock)blockFrom).getColor() == color)
if(isInvisibleToGlassSlab(state, stateFrom, direction))
return true;

if(block_2 instanceof StainedGlassStairsBlock
&& ((StainedGlassStairsBlock)block_2).getColor() == color)
if(isInvisibleToGlassStairs(blockState_1, blockState_2,
direction_1))
if(blockFrom instanceof StainedGlassStairsBlock
&& ((StainedGlassStairsBlock)blockFrom).getColor() == color)
if(isInvisibleToGlassStairs(state, stateFrom, direction))
return true;

return super.isSideInvisible(blockState_1, blockState_2, direction_1);
return super.isSideInvisible(state, stateFrom, direction);
}

private boolean isInvisibleToGlassSlab(BlockState blockState_1,
BlockState blockState_2, Direction direction_1)
private boolean isInvisibleToGlassSlab(BlockState state,
BlockState stateFrom, Direction direction)
{
SlabType type2 = blockState_2.get(SlabBlock.TYPE);
SlabType typeFrom = stateFrom.get(SlabBlock.TYPE);

if(type2 == SlabType.DOUBLE)
if(typeFrom == SlabType.DOUBLE)
return true;

if(direction_1 == Direction.UP)
if(type2 != SlabType.TOP)
if(direction == Direction.UP)
if(typeFrom != SlabType.TOP)
return true;

if(direction_1 == Direction.DOWN)
if(type2 != SlabType.BOTTOM)
if(direction == Direction.DOWN)
if(typeFrom != SlabType.BOTTOM)
return true;

return false;
}

private boolean isInvisibleToGlassStairs(BlockState blockState_1,
BlockState blockState_2, Direction direction_1)
private boolean isInvisibleToGlassStairs(BlockState state,
BlockState stateFrom, Direction direction)
{
BlockHalf half2 = blockState_2.get(StairsBlock.HALF);
Direction facing2 = blockState_2.get(StairsBlock.FACING);
BlockHalf halfFrom = stateFrom.get(StairsBlock.HALF);
Direction directionFrom = stateFrom.get(StairsBlock.FACING);

// up
if(direction_1 == Direction.UP)
if(half2 == BlockHalf.BOTTOM)
if(direction == Direction.UP)
if(halfFrom == BlockHalf.BOTTOM)
return true;

// down
if(direction_1 == Direction.DOWN)
if(half2 == BlockHalf.TOP)
if(direction == Direction.DOWN)
if(halfFrom == BlockHalf.TOP)
return true;

// other stairs rear
if(facing2 == direction_1.getOpposite())
if(directionFrom == direction.getOpposite())
return true;

return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import org.spongepowered.asm.mixin.Mixin;

import net.minecraft.block.AbstractGlassBlock;
import net.minecraft.class_8923;
import net.minecraft.block.BlockState;
import net.minecraft.block.SlabBlock;
import net.minecraft.block.StairsBlock;
Expand All @@ -21,66 +21,65 @@
import net.wurstclient.glass.MoGlassBlocks;

@Mixin(TintedGlassBlock.class)
public abstract class TintedGlassBlockMixin extends AbstractGlassBlock
public abstract class TintedGlassBlockMixin extends class_8923
{
private TintedGlassBlockMixin(MoGlass moGlass, Settings block$Settings_1)
private TintedGlassBlockMixin(MoGlass moGlass, Settings settings)
{
super(block$Settings_1);
super(settings);
}

@Override
public boolean isSideInvisible(BlockState blockState_1,
BlockState blockState_2, Direction direction_1)
public boolean isSideInvisible(BlockState state, BlockState stateFrom,
Direction direction)
{
if(blockState_2.getBlock() == MoGlassBlocks.TINTED_GLASS_SLAB)
if(isInvisibleToGlassSlab(blockState_1, blockState_2, direction_1))
if(stateFrom.getBlock() == MoGlassBlocks.TINTED_GLASS_SLAB)
if(isInvisibleToGlassSlab(state, stateFrom, direction))
return true;

if(blockState_2.getBlock() == MoGlassBlocks.TINTED_GLASS_STAIRS)
if(isInvisibleToGlassStairs(blockState_1, blockState_2,
direction_1))
if(stateFrom.getBlock() == MoGlassBlocks.TINTED_GLASS_STAIRS)
if(isInvisibleToGlassStairs(state, stateFrom, direction))
return true;

return super.isSideInvisible(blockState_1, blockState_2, direction_1);
return super.isSideInvisible(state, stateFrom, direction);
}

private boolean isInvisibleToGlassSlab(BlockState blockState_1,
BlockState blockState_2, Direction direction_1)
private boolean isInvisibleToGlassSlab(BlockState state,
BlockState stateFrom, Direction direction)
{
SlabType type2 = blockState_2.get(SlabBlock.TYPE);
SlabType typeFrom = stateFrom.get(SlabBlock.TYPE);

if(type2 == SlabType.DOUBLE)
if(typeFrom == SlabType.DOUBLE)
return true;

if(direction_1 == Direction.UP)
if(type2 != SlabType.TOP)
if(direction == Direction.UP)
if(typeFrom != SlabType.TOP)
return true;

if(direction_1 == Direction.DOWN)
if(type2 != SlabType.BOTTOM)
if(direction == Direction.DOWN)
if(typeFrom != SlabType.BOTTOM)
return true;

return false;
}

private boolean isInvisibleToGlassStairs(BlockState blockState_1,
BlockState blockState_2, Direction direction_1)
private boolean isInvisibleToGlassStairs(BlockState state,
BlockState stateFrom, Direction direction)
{
BlockHalf half2 = blockState_2.get(StairsBlock.HALF);
Direction facing2 = blockState_2.get(StairsBlock.FACING);
BlockHalf halfFrom = stateFrom.get(StairsBlock.HALF);
Direction directionFrom = stateFrom.get(StairsBlock.FACING);

// up
if(direction_1 == Direction.UP)
if(half2 == BlockHalf.BOTTOM)
if(direction == Direction.UP)
if(halfFrom == BlockHalf.BOTTOM)
return true;

// down
if(direction_1 == Direction.DOWN)
if(half2 == BlockHalf.TOP)
if(direction == Direction.DOWN)
if(halfFrom == BlockHalf.TOP)
return true;

// other stairs rear
if(facing2 == direction_1.getOpposite())
if(directionFrom == direction.getOpposite())
return true;

return false;
Expand Down
6 changes: 3 additions & 3 deletions src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@
],

"depends": {
"fabricloader": ">=0.14.23",
"fabric-api": ">=0.89.4",
"minecraft": "~1.20.3-alpha.23.40.a",
"fabricloader": ">=0.14.24",
"fabric-api": ">=0.90.5",
"minecraft": "~1.20.3-alpha.23.43.a",
"java": ">=17"
},
"suggests": {
Expand Down

0 comments on commit 21f5233

Please sign in to comment.