Skip to content

Commit c35b0dd

Browse files
committed
better render method + default textures
1 parent 1611359 commit c35b0dd

File tree

6 files changed

+67
-1
lines changed

6 files changed

+67
-1
lines changed

src/main/java/de/timmi6790/barrier/mixins/blocks/MixinBlockBarrier.java

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,46 @@
44
import de.timmi6790.barrier.Cache;
55
import de.timmi6790.barrier.McMod;
66
import lombok.Getter;
7+
import net.minecraft.block.Block;
78
import net.minecraft.block.BlockBarrier;
9+
import net.minecraft.block.material.MapColor;
10+
import net.minecraft.block.material.Material;
11+
import net.minecraft.block.state.IBlockState;
12+
import net.minecraft.init.Blocks;
13+
import net.minecraft.util.BlockPos;
14+
import net.minecraft.util.EnumFacing;
15+
import net.minecraft.util.EnumWorldBlockLayer;
16+
import net.minecraft.world.IBlockAccess;
17+
import net.minecraftforge.fml.relauncher.Side;
18+
import net.minecraftforge.fml.relauncher.SideOnly;
819
import org.spongepowered.asm.mixin.Mixin;
920
import org.spongepowered.asm.mixin.injection.At;
1021
import org.spongepowered.asm.mixin.injection.Inject;
1122
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
1223

1324
@Mixin(BlockBarrier.class)
14-
public class MixinBlockBarrier {
25+
public class MixinBlockBarrier extends Block {
1526
@Getter(lazy = true)
1627
private final Cache cache = McMod.getInstance().getCache();
1728

29+
public MixinBlockBarrier(Material blockMaterialIn) {
30+
super(blockMaterialIn);
31+
}
32+
1833
@Inject(method = "getRenderType", at = @At("HEAD"), cancellable = true)
1934
public void getRenderType(final CallbackInfoReturnable<Integer> cir) {
2035
if (this.getCache().isVisibleBarrier()) {
2136
cir.setReturnValue(3);
2237
}
2338
}
39+
40+
@SideOnly(Side.CLIENT)
41+
public EnumWorldBlockLayer getBlockLayer() {
42+
return EnumWorldBlockLayer.CUTOUT;
43+
}
44+
45+
@SideOnly(Side.CLIENT)
46+
public boolean shouldSideBeRendered(IBlockAccess worldIn, BlockPos pos, EnumFacing side) {
47+
return worldIn.getBlockState(pos).getBlock() != this && super.shouldSideBeRendered(worldIn, pos, side);
48+
}
2449
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package de.timmi6790.barrier.mixins.blocks;
2+
3+
4+
import de.timmi6790.barrier.Cache;
5+
import de.timmi6790.barrier.McMod;
6+
import lombok.Getter;
7+
import net.minecraft.block.Block;
8+
import net.minecraft.block.BlockBarrier;
9+
import net.minecraft.client.renderer.block.statemap.BlockStateMapper;
10+
import net.minecraft.init.Blocks;
11+
import org.spongepowered.asm.mixin.Mixin;
12+
import org.spongepowered.asm.mixin.injection.At;
13+
import org.spongepowered.asm.mixin.injection.Redirect;
14+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
15+
16+
import java.util.Set;
17+
18+
@Mixin(BlockStateMapper.class)
19+
public class MixinBlockStateMapper {
20+
@Getter(lazy = true)
21+
private final Cache cache = McMod.getInstance().getCache();
22+
23+
@Redirect(method = "putAllStateModelLocations", at = @At(value = "INVOKE", target = "Ljava/util/Set;contains(Ljava/lang/Object;)Z"))
24+
public boolean getRenderType(Set instance, Object o) {
25+
return o != Blocks.barrier && instance.contains(o);
26+
}
27+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"variants": {
3+
"normal": { "model": "barrier" }
4+
}
5+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "block/cube_all",
3+
"textures": {
4+
"all": "items/barrier"
5+
}
6+
}
293 Bytes
Loading

src/main/resources/mixins.barrierVisibility.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,8 @@
55
"compatibilityLevel": "JAVA_8",
66
"mixins": [
77
"blocks.MixinBlockBarrier"
8+
],
9+
"client": [
10+
"blocks.MixinBlockStateMapper"
811
]
912
}

0 commit comments

Comments
 (0)