修改蓄力使用逻辑;修正选择界面文字
This commit is contained in:
@@ -57,29 +57,33 @@ 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 (type == MirrorType.RETURN) {
|
if (usedTicks >= chargeTicks) {
|
||||||
performReturnTeleport(serverPlayer, stack);
|
if (!(livingEntity instanceof ServerPlayer serverPlayer)) {
|
||||||
} else {
|
return;
|
||||||
MirrorNetwork.sendOpenSelectionToClient(serverPlayer, tier);
|
}
|
||||||
|
|
||||||
|
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) {
|
private void performReturnTeleport(ServerPlayer player, ItemStack stack) {
|
||||||
ServerLevel serverLevel = player.serverLevel();
|
ServerLevel serverLevel = player.serverLevel();
|
||||||
BlockPos targetPos;
|
BlockPos targetPos;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user