修改蓄力使用逻辑;修正选择界面文字
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user