Skip to content

Commit

Permalink
add gun client rendering mixin
Browse files Browse the repository at this point in the history
  • Loading branch information
finxx authored and finxx committed Dec 26, 2024
1 parent 35bf8c6 commit e348f5f
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.nuclearcrackhead.serverboss.mixin.client;

import net.minecraft.client.render.item.HeldItemRenderer;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Arm;
import net.minecraft.item.ItemStack;
import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.util.Hand;

import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import org.spongepowered.asm.mixin.Shadow;
import org.jetbrains.annotations.Nullable;

import com.nuclearcrackhead.serverboss.content.item.IGun;

@Mixin(HeldItemRenderer.class)
public class HeldItemRendererMixin {
@Inject(at = @At("HEAD"), method = "renderFirstPersonItem", cancellable = true)
private void renderGun(AbstractClientPlayerEntity player, float tickDelta, float pitch, Hand hand, float swingProgress, ItemStack item, float equipProgress, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, CallbackInfo ci) {
if (item.getItem() instanceof IGun gun) {
// todo render
ci.cancel();
}
}
}
5 changes: 3 additions & 2 deletions src/client/resources/svbcr.client.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
"package": "com.nuclearcrackhead.serverboss.mixin.client",
"compatibilityLevel": "JAVA_21",
"client": [
"ExampleClientMixin"
"ExampleClientMixin",
"HeldItemRendererMixin"
],
"injectors": {
"defaultRequire": 1
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.nuclearcrackhead.serverboss.content.item;

public interface IGun {
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import com.nuclearcrackhead.serverboss.content.entity.*;

public class Pistol extends Item implements IAttackItem {
public class Pistol extends Item implements IAttackItem, IGun {
public Pistol(Settings settings) {
super(settings);
}
Expand Down

0 comments on commit e348f5f

Please sign in to comment.