Skip to content

Commit 8207a06

Browse files
committed
Create IClientHelper service.
1 parent a52bb3b commit 8207a06

File tree

8 files changed

+71
-0
lines changed

8 files changed

+71
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package net.darkhax.bookshelf.api;
2+
3+
import net.darkhax.bookshelf.api.util.IClientHelper;
4+
5+
public class ClientServices {
6+
7+
public static final IClientHelper CLIENT = Services.load(IClientHelper.class);
8+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package net.darkhax.bookshelf.api.util;
2+
3+
import net.minecraft.client.renderer.RenderType;
4+
import net.minecraft.world.level.block.Block;
5+
6+
public interface IClientHelper {
7+
8+
void setRenderType(Block block, RenderType type);
9+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package net.darkhax.bookshelf.impl.util;
2+
3+
import net.darkhax.bookshelf.api.util.IClientHelper;
4+
import net.darkhax.bookshelf.mixin.client.AccessorItemBlockRenderTypes;
5+
import net.minecraft.client.renderer.RenderType;
6+
import net.minecraft.world.level.block.Block;
7+
8+
public class ClientHelperFabric implements IClientHelper {
9+
10+
@Override
11+
public void setRenderType(Block block, RenderType type) {
12+
13+
AccessorItemBlockRenderTypes.getTypes().put(block, type);
14+
}
15+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package net.darkhax.bookshelf.mixin.client;
2+
3+
import net.minecraft.client.renderer.ItemBlockRenderTypes;
4+
import net.minecraft.client.renderer.RenderType;
5+
import net.minecraft.world.level.block.Block;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.gen.Accessor;
8+
9+
import java.util.Map;
10+
11+
@Mixin(ItemBlockRenderTypes.class)
12+
public interface AccessorItemBlockRenderTypes {
13+
14+
@Accessor("TYPE_BY_BLOCK")
15+
public static Map<Block, RenderType> getTypes() {
16+
17+
throw new AssertionError();
18+
}
19+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
net.darkhax.bookshelf.impl.util.ClientHelperFabric

Fabric/src/main/resources/bookshelf.mixins.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
"item.AccessorItem",
99
"loot.MixinLootItemKilledByPlayerCondition"
1010
],
11+
"client": [
12+
"client.AccessorItemBlockRenderTypes"
13+
],
1114
"injectors": {
1215
"defaultRequire": 1
1316
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package net.darkhax.bookshelf.impl.util;
2+
3+
import net.darkhax.bookshelf.api.util.IClientHelper;
4+
import net.minecraft.client.renderer.ItemBlockRenderTypes;
5+
import net.minecraft.client.renderer.RenderType;
6+
import net.minecraft.world.level.block.Block;
7+
8+
public class ClientHelperForge implements IClientHelper {
9+
10+
@Override
11+
public void setRenderType(Block block, RenderType type) {
12+
13+
ItemBlockRenderTypes.setRenderLayer(block, type);
14+
}
15+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
net.darkhax.bookshelf.impl.util.ClientHelperForge

0 commit comments

Comments
 (0)