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

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,29 +57,33 @@ public class MirrorItem extends Item {
}
@Override
public void releaseUsing(ItemStack stack, Level level, LivingEntity entity, int timeCharged) {
if (!(entity instanceof Player player)) {
return;
}
int chargeTicks = Config.CHARGE_TICKS.get();
if (timeCharged < chargeTicks) {
return;
}
public void onUseTick(Level level, LivingEntity livingEntity, ItemStack stack, int remainingUseDuration) {
if (level.isClientSide) {
return;
}
ServerPlayer serverPlayer = (ServerPlayer) player;
int chargeTicks = Config.CHARGE_TICKS.get();
int usedTicks = getUseDuration(stack, livingEntity) - remainingUseDuration;
if (type == MirrorType.RETURN) {
performReturnTeleport(serverPlayer, stack);
} else {
MirrorNetwork.sendOpenSelectionToClient(serverPlayer, tier);
if (usedTicks >= chargeTicks) {
if (!(livingEntity instanceof ServerPlayer serverPlayer)) {
return;
}
livingEntity.stopUsingItem();
if (type == MirrorType.RETURN) {
performReturnTeleport(serverPlayer, stack);
} else {
MirrorNetwork.sendOpenSelectionToClient(serverPlayer, tier);
}
}
}
@Override
public void releaseUsing(ItemStack stack, Level level, LivingEntity entity, int timeCharged) {
}
private void performReturnTeleport(ServerPlayer player, ItemStack stack) {
ServerLevel serverLevel = player.serverLevel();
BlockPos targetPos;

View File

@@ -89,7 +89,8 @@ public class PlayerSelectionScreen extends Screen {
@Override
public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float 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);
}