优化狗牌编辑
This commit is contained in:
parent
3866ee858d
commit
f5093b7af0
2 changed files with 16 additions and 15 deletions
|
@ -1,6 +1,7 @@
|
|||
package com.atsuishio.superbwarfare.client.screens;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.component.ModDataComponents;
|
||||
import com.atsuishio.superbwarfare.item.DogTag;
|
||||
import com.atsuishio.superbwarfare.network.message.send.DogTagFinishEditMessage;
|
||||
import net.minecraft.ChatFormatting;
|
||||
|
@ -25,6 +26,7 @@ import org.jetbrains.annotations.NotNull;
|
|||
import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public class DogTagEditorScreen extends Screen {
|
||||
|
@ -52,7 +54,7 @@ public class DogTagEditorScreen extends Screen {
|
|||
imageHeight = 185;
|
||||
}
|
||||
|
||||
protected void renderBg(GuiGraphics pGuiGraphics, float pPartialTick, int pMouseX, int pMouseY) {
|
||||
protected void renderBg(GuiGraphics pGuiGraphics) {
|
||||
int i = (this.width - this.imageWidth) / 2;
|
||||
int j = (this.height - this.imageHeight) / 2;
|
||||
pGuiGraphics.blit(TEXTURE, i, j, 0, 0, this.imageWidth, this.imageHeight, 256, 256);
|
||||
|
@ -82,7 +84,7 @@ public class DogTagEditorScreen extends Screen {
|
|||
this.renderBackground(pGuiGraphics, pMouseX, pMouseY, pPartialTick);
|
||||
super.render(pGuiGraphics, pMouseX, pMouseY, pPartialTick);
|
||||
this.name.render(pGuiGraphics, pMouseX, pMouseY, pPartialTick);
|
||||
this.renderBg(pGuiGraphics, pPartialTick, pMouseX, pMouseY);
|
||||
this.renderBg(pGuiGraphics);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -264,6 +266,7 @@ public class DogTagEditorScreen extends Screen {
|
|||
}
|
||||
}
|
||||
|
||||
this.updateLocal(colors, DogTagEditorScreen.this.name.getValue());
|
||||
PacketDistributor.sendToServer(new DogTagFinishEditMessage(colors, DogTagEditorScreen.this.name.getValue()));
|
||||
}
|
||||
|
||||
|
@ -278,6 +281,14 @@ public class DogTagEditorScreen extends Screen {
|
|||
@Override
|
||||
protected void updateWidgetNarration(@NotNull NarrationElementOutput pNarrationElementOutput) {
|
||||
}
|
||||
|
||||
protected void updateLocal(List<Short> colors, String name) {
|
||||
DogTagEditorScreen.this.stack.set(ModDataComponents.DOG_TAG_IMAGE, colors);
|
||||
|
||||
if (!name.isEmpty()) {
|
||||
DogTagEditorScreen.this.stack.set(DataComponents.CUSTOM_NAME, Component.literal(name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static int getColorFromFormatting(ChatFormatting chatFormatting) {
|
||||
|
|
|
@ -9,6 +9,8 @@ import net.minecraft.world.entity.player.Player;
|
|||
import net.minecraft.world.inventory.tooltip.TooltipComponent;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.api.distmarker.OnlyIn;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import top.theillusivec4.curios.api.CuriosApi;
|
||||
|
@ -34,19 +36,6 @@ public class DogTag extends Item implements ICurioItem, ItemScreenProvider {
|
|||
return flag.get();
|
||||
}
|
||||
|
||||
// @Override
|
||||
// @ParametersAreNonnullByDefault
|
||||
// public @NotNull InteractionResultHolder<ItemStack> use(Level pLevel, Player pPlayer, InteractionHand pUsedHand) {
|
||||
// ItemStack stack = pPlayer.getItemInHand(pUsedHand);
|
||||
// if (pLevel.isClientSide) {
|
||||
// return InteractionResultHolder.success(stack);
|
||||
// } else {
|
||||
// pPlayer.openMenu(new SimpleMenuProvider((i, inventory, player) ->
|
||||
// new DogTagEditorMenu(i, ContainerLevelAccess.create(pLevel, pPlayer.getOnPos()), stack), Component.empty()));
|
||||
// return InteractionResultHolder.consume(stack);
|
||||
// }
|
||||
// }
|
||||
|
||||
@Override
|
||||
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
||||
return Optional.of(new DogTagImageComponent(pStack));
|
||||
|
@ -72,6 +61,7 @@ public class DogTag extends Item implements ICurioItem, ItemScreenProvider {
|
|||
return colors;
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Override
|
||||
public @Nullable Screen getItemScreen(ItemStack stack, Player player) {
|
||||
return new DogTagEditorScreen(stack);
|
||||
|
|
Loading…
Add table
Reference in a new issue