修改蓄力使用逻辑;修正选择界面文字

This commit is contained in:
LiuEnder
2026-04-25 20:02:39 +08:00
parent ceb59bb625
commit 9f85d3c610
2 changed files with 21 additions and 16 deletions

View File

@@ -57,21 +57,20 @@ public class MirrorItem extends Item {
} }
@Override @Override
public void releaseUsing(ItemStack stack, Level level, LivingEntity entity, int timeCharged) { public void onUseTick(Level level, LivingEntity livingEntity, ItemStack stack, int remainingUseDuration) {
if (!(entity instanceof Player player)) {
return;
}
int chargeTicks = Config.CHARGE_TICKS.get();
if (timeCharged < chargeTicks) {
return;
}
if (level.isClientSide) { if (level.isClientSide) {
return; return;
} }
ServerPlayer serverPlayer = (ServerPlayer) player; int chargeTicks = Config.CHARGE_TICKS.get();
int usedTicks = getUseDuration(stack, livingEntity) - remainingUseDuration;
if (usedTicks >= chargeTicks) {
if (!(livingEntity instanceof ServerPlayer serverPlayer)) {
return;
}
livingEntity.stopUsingItem();
if (type == MirrorType.RETURN) { if (type == MirrorType.RETURN) {
performReturnTeleport(serverPlayer, stack); performReturnTeleport(serverPlayer, stack);
@@ -79,6 +78,11 @@ public class MirrorItem extends Item {
MirrorNetwork.sendOpenSelectionToClient(serverPlayer, tier); MirrorNetwork.sendOpenSelectionToClient(serverPlayer, tier);
} }
} }
}
@Override
public void releaseUsing(ItemStack stack, Level level, LivingEntity entity, int timeCharged) {
}
private void performReturnTeleport(ServerPlayer player, ItemStack stack) { private void performReturnTeleport(ServerPlayer player, ItemStack stack) {
ServerLevel serverLevel = player.serverLevel(); ServerLevel serverLevel = player.serverLevel();

View File

@@ -89,7 +89,8 @@ public class PlayerSelectionScreen extends Screen {
@Override @Override
public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) { public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) {
this.renderBackground(guiGraphics, mouseX, mouseY, partialTick); this.renderBackground(guiGraphics, mouseX, mouseY, partialTick);
guiGraphics.drawCenteredString(this.font, this.title, this.width / 2, 15, 0xFFFFFF); guiGraphics.fill(0, 0, this.width, 32, 0x88000000);
guiGraphics.drawCenteredString(this.font, this.title, this.width / 2, 10, 0xFFFFFF);
super.render(guiGraphics, mouseX, mouseY, partialTick); super.render(guiGraphics, mouseX, mouseY, partialTick);
} }