添加专注的射速累加机制

This commit is contained in:
Atsuihsio 2024-09-20 23:22:43 +08:00
parent 18ebf6c308
commit f629b9ced0
3 changed files with 11 additions and 2 deletions

View file

@ -114,8 +114,8 @@ public class ClientEventHandler {
double customRpm = 0;
if (stack.getItem() == ModItems.MARLIN.get() && GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) == GLFW.GLFW_PRESS) {
customRpm = -40;
if (stack.getItem() == ModItems.DEVOTION.get()) {
customRpm = stack.getOrCreateTag().getInt("customRpm");
}
double rpm = stack.getOrCreateTag().getDouble("rpm") + customRpm;

View file

@ -83,6 +83,10 @@ public class FireMessage {
handleBowShoot(player);
}
if (player.getMainHandItem().getItem() == ModItems.DEVOTION.get()) {
player.getMainHandItem().getOrCreateTag().putDouble("customRpm", 0);
}
if (player.getMainHandItem().getItem() == ModItems.JAVELIN.get()) {
var handItem = player.getMainHandItem();
var tag = handItem.getOrCreateTag();

View file

@ -8,6 +8,7 @@ import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.Mth;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
@ -107,6 +108,10 @@ public class ShootMessage {
stack.getOrCreateTag().putBoolean("bullet_chain", true);
}
if (stack.getItem() == ModItems.DEVOTION.get()) {
stack.getOrCreateTag().putInt("customRpm", Mth.clamp(stack.getOrCreateTag().getInt("customRpm") + 20, 0, 500));
}
if (stack.getItem() == ModItems.ABEKIRI.get()) {
stack.hurtAndBreak(1, player, p -> p.broadcastBreakEvent(InteractionHand.MAIN_HAND));
if (player instanceof ServerPlayer serverPlayer && player.level() instanceof ServerLevel serverLevel) {