From 79de02c7b9564b8b8468a4dc7d0be9174f33957a Mon Sep 17 00:00:00 2001 From: Thutmose Date: Tue, 6 Sep 2022 22:03:36 -0400 Subject: [PATCH] more general rendering adjustments fixes some issues with transparencies in textures, this makes gastly more foggy, and fixes the issue with the glasses. improved smoothness of animations in various guis --- blender_files/mega_glasses.blend | Bin 0 -> 620024 bytes .../gui/trainer/editor/pages/Pokemob.java | 2 +- .../gui/trainer/editor/pages/Trainer.java | 6 +- .../client/render/layers/BeltLayerRender.java | 57 ++++++++---- .../wearables/layers/WearableWrapper.java | 7 +- .../core/client/gui/AnimationGui.java | 6 +- .../client/gui/GuiChooseFirstPokemob.java | 39 ++++---- .../client/gui/GuiDisplayPokecubeInfo.java | 5 +- .../pokecube/core/client/gui/GuiPokedex.java | 2 +- .../core/client/gui/WearableSetupGui.java | 6 +- .../core/client/gui/blocks/Trade.java | 26 +++--- .../client/gui/pokemob/GuiPokemobBase.java | 18 ++-- .../client/gui/watch/PokemobInfoPage.java | 55 +++++------ .../core/client/render/model/BaseModel.java | 2 +- .../core/client/render/model/parts/Mesh.java | 2 +- .../core/client/render/model/parts/Part.java | 4 +- .../model/parts/RenderTypeProvider.java | 10 +- src/main/java/thut/wearables/CommandGui.java | 1 - .../pokecube/models/worn/megaglasses.x3d | 87 ++++++++++++++---- .../pokecube/models/worn/megaglasses.xml | 5 +- .../pokecube/textures/worn/megaglasses.png | Bin 4048 -> 216 bytes .../assets/thut_bling/models/worn/shades.x3d | 64 ++++++++++--- .../assets/thut_bling/models/worn/shades.xml | 3 +- 23 files changed, 264 insertions(+), 143 deletions(-) create mode 100644 blender_files/mega_glasses.blend diff --git a/blender_files/mega_glasses.blend b/blender_files/mega_glasses.blend new file mode 100644 index 0000000000000000000000000000000000000000..32b02c784ec1dd4d9f629e119da75f7bdfd90f1b GIT binary patch literal 620024 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 qTWas4Grl2c#}z->SvRh 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 extends RenderLayer { - - private static final Set> addedLayers = Sets.newHashSet(); - @SuppressWarnings( { "rawtypes", "unchecked" }) @SubscribeEvent - public static void renderSpecial(final RenderLivingEvent.Post> event) + public static void registerLayers(final EntityRenderersEvent.AddLayers event) { - // Only apply to model bipeds. - if (!(event.getRenderer().getModel() instanceof HumanoidModel)) return; - // Only one layer per renderer. - if (addedLayers.contains(event.getRenderer())) return; - event.getRenderer().addLayer(new BeltLayerRender(event.getRenderer())); + try + { + Field f = event.getClass().getDeclaredField("renderers"); + f.setAccessible(true); + Map, EntityRenderer> renderers = (Map, EntityRenderer>) f.get(event); + for (EntityType type : ForgeRegistries.ENTITIES.getValues()) + { + EntityRenderer render = renderers.get(type); + if (render instanceof LivingEntityRenderer livingRender + && livingRender.getModel() instanceof HumanoidModel) + { + livingRender.addLayer(new BeltLayerRender(livingRender)); + } + } + + EntityRenderer renderer = event.getSkin("slim"); + if (renderer instanceof LivingEntityRenderer livingRenderer) + { + livingRenderer.addLayer(new BeltLayerRender<>(livingRenderer)); + } + + renderer = event.getSkin("default"); + if (renderer instanceof LivingEntityRenderer livingRenderer) + { + livingRenderer.addLayer(new BeltLayerRender<>(livingRenderer)); + } + } + catch (Exception e) + { + e.printStackTrace(); + } - addedLayers.add(event.getRenderer()); } private final RenderLayerParent parent; @@ -73,7 +99,7 @@ public void render(final PoseStack mat, final MultiBufferSource buff, final int mat.pushPose(); theModel.body.translateAndRotate(mat); - mat.translate(0, 0.65, -.125); + mat.translate(0, 0.7, -.125); mat.mulPose(Vector3f.XP.rotationDegrees(180)); mat.mulPose(Vector3f.YP.rotationDegrees(180)); mat.scale(0.25f, 0.25f, 0.25f); @@ -117,7 +143,6 @@ public void render(final PoseStack mat, final MultiBufferSource buff, final int buff, packedLightIn); mat.popPose(); } - mat.popPose(); } } diff --git a/src/main/java/pokecube/compat/wearables/layers/WearableWrapper.java b/src/main/java/pokecube/compat/wearables/layers/WearableWrapper.java index 5c8b4a587c..c417329a24 100644 --- a/src/main/java/pokecube/compat/wearables/layers/WearableWrapper.java +++ b/src/main/java/pokecube/compat/wearables/layers/WearableWrapper.java @@ -78,6 +78,7 @@ public void render(final PoseStack mat, final VertexConsumer buffer) mat.pushPose(); this.preRender(mat); mat.translate(this.offsets.offset.x, this.offsets.offset.y, this.offsets.offset.z); + mat.scale(1, -1, -1); mat.mulPose(Vector3f.YP.rotationDegrees(180)); @@ -163,6 +164,7 @@ public static void applyWearables(final LivingEntity wearer, final IModelRendere if (offsets != null && imodel.getParts().containsKey(offsets.parent)) { WearableRenderWrapper wrapper; + final IExtendedModelPart part = imodel.getParts().get(offsets.parent); if (imodel.getParts().get(ident) instanceof WearableRenderWrapper wrap) { wrapper = wrap; @@ -170,11 +172,11 @@ public static void applyWearables(final LivingEntity wearer, final IModelRendere else { wrapper = new WearableRenderWrapper(ident, offsets); - final IExtendedModelPart part = imodel.getParts().get(offsets.parent); wrapper.setParent(part); part.addChild(wrapper); part.getRenderOrder().add(ident); imodel.getParts().put(ident, wrapper); + imodel.getRenderOrder().add(ident); } wrapper.setOffsets(offsets); wrapper.slot = wearable; @@ -182,6 +184,9 @@ public static void applyWearables(final LivingEntity wearer, final IModelRendere wrapper.stack = worn.getWearable(wearable); wrapper.wrapped = w; wrapper.subIndex = i; + imodel.getRenderOrder().remove(ident); + imodel.getRenderOrder().add(ident); + part.preProcess(); } } } diff --git a/src/main/java/pokecube/core/client/gui/AnimationGui.java b/src/main/java/pokecube/core/client/gui/AnimationGui.java index 8be9e87d3e..2bbe44afff 100644 --- a/src/main/java/pokecube/core/client/gui/AnimationGui.java +++ b/src/main/java/pokecube/core/client/gui/AnimationGui.java @@ -452,7 +452,7 @@ else if (s < sml) } @Override - public void render(final PoseStack mat, final int unk1, final int unk2, final float partialTicks) + public void render(final PoseStack mat, final int unk1, final int unk2, float partialTicks) { if (this.bg) { @@ -463,6 +463,8 @@ public void render(final PoseStack mat, final int unk1, final int unk2, final fl } super.render(mat, unk1, unk2, partialTicks); + if (this.isPauseScreen()) partialTicks = 0; + final int yOffset = this.height / 2; this.font.draw(mat, "State-General", this.width - 101, yOffset - 42 - yOffset / 2, 0xFFFFFF); this.font.draw(mat, "State-Combat", this.width - 101, yOffset - 22 - yOffset / 2, 0xFFFFFF); @@ -514,7 +516,7 @@ public void render(final PoseStack mat, final int unk1, final int unk2, final fl if (l <= 0.0001 || l > 1e10) AnimationGui.entry.getModelSize().set(1, 1, 1); GuiPokemobBase.autoScale = false; GuiPokemobBase.renderMob(mat, entity, j, k, this.yRenderAngle, this.xRenderAngle, this.yHeadRenderAngle, - this.xHeadRenderAngle, zoom); + this.xHeadRenderAngle, zoom, partialTicks); GuiPokemobBase.autoScale = true; if (this.renderHolder != null) this.renderHolder.overrideAnim = false; mat.popPose(); diff --git a/src/main/java/pokecube/core/client/gui/GuiChooseFirstPokemob.java b/src/main/java/pokecube/core/client/gui/GuiChooseFirstPokemob.java index 2e819bcb55..61f42b364b 100644 --- a/src/main/java/pokecube/core/client/gui/GuiChooseFirstPokemob.java +++ b/src/main/java/pokecube/core/client/gui/GuiChooseFirstPokemob.java @@ -37,8 +37,8 @@ public class GuiChooseFirstPokemob extends Screen { public final static float POKEDEX_RENDER = 1.5f; - public static boolean special = false; - public static boolean pick = false; + public static boolean special = false; + public static boolean pick = false; public static PokedexEntry[] starters; @@ -47,9 +47,9 @@ public class GuiChooseFirstPokemob extends Screen private boolean gotSpecial = true; - protected Player player = null; + protected Player player = null; protected PokedexEntry pokedexEntry = null; - int index = 0; + int index = 0; Button next; @@ -94,23 +94,23 @@ public void init() if (GuiChooseFirstPokemob.starters.length > 0) { final Component next = TComponent.translatable("block.pc.next"); - this.addRenderableWidget(this.next = new Button(this.width / 2 - xOffset + 65, this.height / 2 - yOffset, - 50, 20, next, b -> + this.addRenderableWidget( + this.next = new Button(this.width / 2 - xOffset + 65, this.height / 2 - yOffset, 50, 20, next, b -> { this.index++; if (this.index >= GuiChooseFirstPokemob.starters.length) this.index = 0; })); final Component prev = TComponent.translatable("block.pc.previous"); - this.addRenderableWidget(this.prev = new Button(this.width / 2 - xOffset - 115, this.height / 2 - yOffset, - 50, 20, prev, b -> + this.addRenderableWidget( + this.prev = new Button(this.width / 2 - xOffset - 115, this.height / 2 - yOffset, 50, 20, prev, b -> { if (this.index > 0) this.index--; else this.index = GuiChooseFirstPokemob.starters.length - 1; })); } - this.addRenderableWidget(this.choose = new Button(this.width / 2 - xOffset - 25, this.height / 2 - yOffset - + 160, 50, 20, TComponent.translatable("gui.pokemob.select"), b -> + this.addRenderableWidget(this.choose = new Button(this.width / 2 - xOffset - 25, + this.height / 2 - yOffset + 160, 50, 20, TComponent.translatable("gui.pokemob.select"), b -> { this.sendMessage(this.pokedexEntry); this.player.closeContainer(); @@ -171,7 +171,8 @@ public void render(final PoseStack mat, final int i, final int j, final float f) return; } if (GuiChooseFirstPokemob.starters == null || GuiChooseFirstPokemob.starters.length == 0) - GuiChooseFirstPokemob.starters = new PokedexEntry[] { Pokedex.getInstance().getFirstEntry() }; + GuiChooseFirstPokemob.starters = new PokedexEntry[] + { Pokedex.getInstance().getFirstEntry() }; this.pokedexEntry = GuiChooseFirstPokemob.starters[this.index % GuiChooseFirstPokemob.starters.length]; @@ -185,8 +186,8 @@ public void render(final PoseStack mat, final int i, final int j, final float f) GuiComponent.drawCenteredString(mat, this.font, I18n.get("gui.pokemob.choose1st"), this.width / 2, 17, 0xffffff); - GuiComponent.drawCenteredString(mat, this.font, I18n.get(this.pokedexEntry.getUnlocalizedName()), this.width - / 2, 45, 0xffffff); + GuiComponent.drawCenteredString(mat, this.font, I18n.get(this.pokedexEntry.getUnlocalizedName()), + this.width / 2, 45, 0xffffff); int n = 0; int m = 0; @@ -195,9 +196,9 @@ public void render(final PoseStack mat, final int i, final int j, final float f) final int l = 40; final int k = 150; - if (this.pokedexEntry.getType2() == PokeType.unknown) GuiComponent.drawCenteredString(mat, this.font, PokeType - .getTranslatedName(this.pokedexEntry.getType1()), this.width / 2, 65, this.pokedexEntry - .getType1().colour); + if (this.pokedexEntry.getType2() == PokeType.unknown) + GuiComponent.drawCenteredString(mat, this.font, PokeType.getTranslatedName(this.pokedexEntry.getType1()), + this.width / 2, 65, this.pokedexEntry.getType1().colour); else { GuiComponent.drawCenteredString(mat, this.font, PokeType.getTranslatedName(this.pokedexEntry.getType1()), @@ -241,7 +242,7 @@ public void render(final PoseStack mat, final int i, final int j, final float f) GuiComponent.drawCenteredString(mat, this.font, DS + ": ", n + k - 18, m + l + 55, 0x57933A); GuiComponent.drawCenteredString(mat, this.font, S + ": ", n + k - 10, m + l + 67, 0xB44062); - this.renderMob(mat); + this.renderMob(mat, f); this.renderItem(n + 00, m + 75, 40); } @@ -271,7 +272,7 @@ public void renderItem(final double x, final double y, final double z) } } - private void renderMob(final PoseStack stack) + private void renderMob(final PoseStack stack, float partialTicks) { try { @@ -291,7 +292,7 @@ private void renderMob(final PoseStack stack) //@formatter:on stack.pushPose(); stack.translate(0, 0, 100); - GuiPokemobBase.renderMob(entity, dx, dy, 0, yaw, hx, hy, size); + GuiPokemobBase.renderMob(entity, dx, dy, 0, yaw, hx, hy, size, partialTicks); stack.popPose(); } catch (final Throwable e) diff --git a/src/main/java/pokecube/core/client/gui/GuiDisplayPokecubeInfo.java b/src/main/java/pokecube/core/client/gui/GuiDisplayPokecubeInfo.java index ca9d1c389b..4440f612e8 100644 --- a/src/main/java/pokecube/core/client/gui/GuiDisplayPokecubeInfo.java +++ b/src/main/java/pokecube/core/client/gui/GuiDisplayPokecubeInfo.java @@ -389,7 +389,7 @@ else if ((lastMove = MovesUtils.getMoveFromName(pokemob.getLastMoveUsed())) != n this.blit(evt.getMat(), mobOffsetX, mobOffsetY, 0, 0, 42, 42); GuiPokemobBase.renderMob(evt.getMat(), pokemob.getEntity(), mobOffsetX - 30, mobOffsetY - 25, 0, 0, 0, 0, - 0.75f); + 0.75f, Minecraft.getInstance().getFrameTime()); evt.getMat().popPose(); } } @@ -468,7 +468,8 @@ public void drawTarget(final GuiEvent.RenderTargetInfo evt) final int mobBoxOffsetY = 0; this.blit(evt.getMat(), mobBoxOffsetX, mobBoxOffsetY, 0, 0, 42, 42); // Render Mob - GuiPokemobBase.renderMob(evt.getMat(), entity, mobBoxOffsetX - 30, mobBoxOffsetY - 25, 0, 0, 0, 0, 0.75f); + GuiPokemobBase.renderMob(evt.getMat(), entity, mobBoxOffsetX - 30, mobBoxOffsetY - 25, 0, 0, 0, 0, 0.75f, + Minecraft.getInstance().getFrameTime()); evt.getMat().popPose(); } } diff --git a/src/main/java/pokecube/core/client/gui/GuiPokedex.java b/src/main/java/pokecube/core/client/gui/GuiPokedex.java index cae975f243..f7d9edac52 100644 --- a/src/main/java/pokecube/core/client/gui/GuiPokedex.java +++ b/src/main/java/pokecube/core/client/gui/GuiPokedex.java @@ -334,7 +334,7 @@ public void render(final PoseStack mat, final int mouseX, final int mouseY, fina final float pitch = 0; final float hx = 0; final float hy = yaw; - GuiPokemobBase.renderMob(renderMob.getEntity(), j2, k2 + 40, pitch, yaw, hx, hy, 1); + GuiPokemobBase.renderMob(renderMob.getEntity(), j2, k2 + 40, pitch, yaw, hx, hy, 1, partialTick); // Draw info about mob final int yOffset = this.height / 2 - 80; diff --git a/src/main/java/pokecube/core/client/gui/WearableSetupGui.java b/src/main/java/pokecube/core/client/gui/WearableSetupGui.java index 591252555c..6733484759 100644 --- a/src/main/java/pokecube/core/client/gui/WearableSetupGui.java +++ b/src/main/java/pokecube/core/client/gui/WearableSetupGui.java @@ -306,7 +306,7 @@ void onUpdated() } @Override - public void render(final PoseStack mat, final int unk1, final int unk2, final float partialTicks) + public void render(final PoseStack mat, final int unk1, final int unk2, float partialTicks) { if (this.bg) { @@ -366,8 +366,10 @@ public void render(final PoseStack mat, final int unk1, final int unk2, final fl // Sometimes things go bad and this happens if (l <= 0.0001 || l > 1e10) WearableSetupGui.entry.getModelSize().set(1, 1, 1); GuiPokemobBase.autoScale = false; + if (this.isPauseScreen()) partialTicks = 0; + else partialTicks = Minecraft.getInstance().getFrameTime(); GuiPokemobBase.renderMob(mat, entity, j, k, this.yRenderAngle, this.xRenderAngle, this.yHeadRenderAngle, - this.xHeadRenderAngle, zoom); + this.xHeadRenderAngle, zoom, partialTicks); GuiPokemobBase.autoScale = true; if (this.renderHolder != null) this.renderHolder.overrideAnim = false; mat.popPose(); diff --git a/src/main/java/pokecube/core/client/gui/blocks/Trade.java b/src/main/java/pokecube/core/client/gui/blocks/Trade.java index f18ab0fca1..9c340b1a0e 100644 --- a/src/main/java/pokecube/core/client/gui/blocks/Trade.java +++ b/src/main/java/pokecube/core/client/gui/blocks/Trade.java @@ -42,16 +42,16 @@ protected void renderBg(final PoseStack mat, final float f, final int i, final i } /** - * Draw the foreground layer for the ContainerScreen (everything in front - * of the items) + * Draw the foreground layer for the ContainerScreen (everything in front of + * the items) */ @Override protected void renderLabels(final PoseStack mat, final int p_146979_1_, final int p_146979_2_) { ItemStack stack = this.menu.getInv().getItem(0); - if (PokecubeManager.isFilled(stack)) this.renderMob(0); + if (PokecubeManager.isFilled(stack)) this.renderMob(0, 0); stack = this.menu.getInv().getItem(1); - if (PokecubeManager.isFilled(stack)) this.renderMob(1); + if (PokecubeManager.isFilled(stack)) this.renderMob(1, 0); } @Override @@ -59,14 +59,12 @@ public void init() { super.init(); final Component trade = TComponent.translatable("block.trade_machine.trade"); - this.addRenderableWidget(new Button(this.width / 2 - 70, this.height / 2 - 22, 40, 20, trade, b -> - { + this.addRenderableWidget(new Button(this.width / 2 - 70, this.height / 2 - 22, 40, 20, trade, b -> { final PacketTrade packet = new PacketTrade(); packet.data.putByte("s", (byte) 0); PokecubeCore.packets.sendToServer(packet); })); - this.addRenderableWidget(new Button(this.width / 2 + 30, this.height / 2 - 22, 40, 20, trade, b -> - { + this.addRenderableWidget(new Button(this.width / 2 + 30, this.height / 2 - 22, 40, 20, trade, b -> { final PacketTrade packet = new PacketTrade(); packet.data.putByte("s", (byte) 1); PokecubeCore.packets.sendToServer(packet); @@ -95,10 +93,10 @@ public void render(final PoseStack mat, final int i, final int j, final float f) this.renderTooltip(mat, i, j); } - protected void renderMob(final int index) + protected void renderMob(final int index, float partialTicks) { - final LivingEntity mob = PokecubeManager.itemToMob(this.menu.getInv().getItem(index), PokecubeCore.proxy - .getWorld()); + final LivingEntity mob = PokecubeManager.itemToMob(this.menu.getInv().getItem(index), + PokecubeCore.proxy.getWorld()); int dx = 0; float rotX = 0; float rotY = 50; @@ -124,7 +122,7 @@ protected void renderMob(final int index) break; } - GuiPokemobBase.renderMob(mob, dx, dy, 0, rotX, rotY, rotZ, size); + GuiPokemobBase.renderMob(mob, dx, dy, 0, rotX, rotY, rotZ, size, partialTicks); switch (index) { @@ -142,8 +140,8 @@ protected void renderMob(final int index) break; } - if (poke != null && poke.getOwner() instanceof Player) GuiPokemobBase.renderMob(poke.getOwner(), dx, dy, 0, - rotX, rotY, rotZ, size); + if (poke != null && poke.getOwner() instanceof Player) + GuiPokemobBase.renderMob(poke.getOwner(), dx, dy, 0, rotX, rotY, rotZ, size, partialTicks); } } diff --git a/src/main/java/pokecube/core/client/gui/pokemob/GuiPokemobBase.java b/src/main/java/pokecube/core/client/gui/pokemob/GuiPokemobBase.java index 761ae37fa0..156c0f2c7f 100644 --- a/src/main/java/pokecube/core/client/gui/pokemob/GuiPokemobBase.java +++ b/src/main/java/pokecube/core/client/gui/pokemob/GuiPokemobBase.java @@ -81,13 +81,14 @@ public static void initSizeMap() } public static void renderMob(final LivingEntity entity, final int dx, final int dy, final float pitch, - final float yaw, final float headPitch, final float headYaw, final float scale) + final float yaw, final float headPitch, final float headYaw, final float scale, float partialTicks) { - GuiPokemobBase.renderMob(new PoseStack(), entity, dx, dy, pitch, yaw, headPitch, headYaw, scale); + GuiPokemobBase.renderMob(new PoseStack(), entity, dx, dy, pitch, yaw, headPitch, headYaw, scale, partialTicks); } public static void renderMob(final PoseStack mat, final LivingEntity entity, final int dx, final int dy, - final float pitch, final float yaw, final float headPitch, final float headYaw, float scale) + final float pitch, final float yaw, final float headPitch, final float headYaw, float scale, + float partialTicks) { IPokemob pokemob = PokemobCaps.getPokemobFor(entity); LivingEntity renderMob = entity; @@ -128,12 +129,12 @@ public static void renderMob(final PoseStack mat, final LivingEntity entity, fin mat.translate(j + 55, k + 60, 50.0F); mat.scale(scale, scale, scale); final Quaternion quaternion = Vector3f.ZP.rotationDegrees(180.0F); - final Quaternion quaternion1 = Vector3f.YP.rotationDegrees(180-yaw); - + final Quaternion quaternion1 = Vector3f.YP.rotationDegrees(180 - yaw); + final Matrix3f norms = mat.last().normal().copy(); mat.scale(1, 1, -1); mat.last().normal().load(norms); - + quaternion.mul(quaternion1); quaternion.mul(Vector3f.XP.rotationDegrees(pitch)); mat.mulPose(quaternion); @@ -147,7 +148,8 @@ public static void renderMob(final PoseStack mat, final LivingEntity entity, fin // Disable the face culling that occurs if too far away double bak = Mesh.CULLTHRESHOLD; Mesh.CULLTHRESHOLD = Double.MAX_VALUE; - entityrenderermanager.render(renderMob, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F, mat, irendertypebuffer$impl, 15728880); + entityrenderermanager.render(renderMob, 0.0D, 0.0D, 0.0D, 0.0F, partialTicks, mat, irendertypebuffer$impl, + 15728880); // Re-enable the face culling that occurs if too far away Mesh.CULLTHRESHOLD = bak; RenderMobOverlays.enabled = true; @@ -203,7 +205,7 @@ protected void renderBg(final PoseStack mat, final float partialTicks, final int if (this.menu.mode == 0) this.blit(mat, k + 79, l + 17, 0, this.imageHeight, 90, 18); this.blit(mat, k + 7, l + 35, 0, this.imageHeight + 54, 18, 18); if (this.menu.pokemob != null) - GuiPokemobBase.renderMob(mat, this.menu.pokemob.getEntity(), k, l, 0, 0, 0, 0, 1); + GuiPokemobBase.renderMob(mat, this.menu.pokemob.getEntity(), k, l, 0, 0, 0, 0, 1, partialTicks); } /** diff --git a/src/main/java/pokecube/core/client/gui/watch/PokemobInfoPage.java b/src/main/java/pokecube/core/client/gui/watch/PokemobInfoPage.java index 3d12e77163..6808b9978e 100644 --- a/src/main/java/pokecube/core/client/gui/watch/PokemobInfoPage.java +++ b/src/main/java/pokecube/core/client/gui/watch/PokemobInfoPage.java @@ -80,16 +80,15 @@ private static PokeInfoPage makePage(final Class clazz, public PokemobInfoPage(final GuiPokeWatch watch) { - super(TComponent.translatable("pokewatch.title.pokeinfo"), watch, GuiPokeWatch.TEX_DM, - GuiPokeWatch.TEX_NM); + super(TComponent.translatable("pokewatch.title.pokeinfo"), watch, GuiPokeWatch.TEX_DM, GuiPokeWatch.TEX_NM); this.pokemob = watch.pokemob; } @Override public boolean keyPressed(final int keyCode, final int b, final int c) { - if (this.search.isFocused()) if (keyCode == GLFW.GLFW_KEY_RIGHT && this.search - .getCursorPosition() == this.search.value.length()) + if (this.search.isFocused()) + if (keyCode == GLFW.GLFW_KEY_RIGHT && this.search.getCursorPosition() == this.search.value.length()) { String text = this.search.getValue(); text = Database.trim(text); @@ -104,28 +103,25 @@ public boolean keyPressed(final int keyCode, final int b, final int c) ret.add(name); } } - Collections.sort(ret, (o1, o2) -> - { + Collections.sort(ret, (o1, o2) -> { if (o1.startsWith("'") && !o2.startsWith("'")) return 1; else if (o2.startsWith("'") && !o1.startsWith("'")) return -1; return o1.compareToIgnoreCase(o2); }); - ret.replaceAll(t -> - { + ret.replaceAll(t -> { if (t.startsWith("'") && t.endsWith("'")) t = t.substring(1, t.length() - 1); return t; }); String match = text; - for (final String name : ret) - if (ThutCore.trim(name).startsWith(ThutCore.trim(match))) - { - match = name; - break; - } + for (final String name : ret) if (ThutCore.trim(name).startsWith(ThutCore.trim(match))) + { + match = name; + break; + } if (!ret.isEmpty()) this.search.setValue(ret.get(0)); return true; } - else if (keyCode == GLFW.GLFW_KEY_ENTER) + else if (keyCode == GLFW.GLFW_KEY_ENTER) { PokedexEntry entry = this.pokemob.getPokedexEntry(); final PokedexEntry newEntry = Database.getEntry(this.search.getValue()); @@ -247,8 +243,8 @@ public boolean mouseClicked(final double mouseX, final double mouseY, final int dy = 60; // Click for toggling if it is shiny - if (mx > ox && mx < ox + dx && my > oy && my < oy + dy) if (this.pokemob.getPokedexEntry().hasShiny) - this.pokemob.setShiny(!this.pokemob.isShiny()); + if (mx > ox && mx < ox + dx && my > oy && my < oy + dy) + if (this.pokemob.getPokedexEntry().hasShiny) this.pokemob.setShiny(!this.pokemob.isShiny()); } return ret; } @@ -273,15 +269,14 @@ public void postPageDraw(final PoseStack mat, final int mouseX, final int mouseY { final List text = Lists.newArrayList(); text.add(this.pokemob.getPokedexEntry().getTranslatedName().getString()); - if (!this.pokemob.getPokemonNickname().isEmpty()) text.add("\"" + this.pokemob.getPokemonNickname() - + "\""); + if (!this.pokemob.getPokemonNickname().isEmpty()) + text.add("\"" + this.pokemob.getPokemonNickname() + "\""); GlStateManager._disableDepthTest(); mx = -65; my = 20; final int dy = this.font.lineHeight; int box = 0; - for (final String s : text) - box = Math.max(box, this.font.width(s) + 2); + for (final String s : text) box = Math.max(box, this.font.width(s) + 2); GuiComponent.fill(mat, x + mx - 1, y + my - 1, x + mx + box + 1, y + my + dy * text.size() + 1, 0xFF78C850); @@ -342,16 +337,16 @@ public void prePageDraw(final PoseStack mat, final int mouseX, final int mouseY, RenderSystem.setShaderTexture(0, GuiPokeWatch.TEXTURE_BASE); final PokedexEntry pokedexEntry = this.pokemob.getPokedexEntry(); - final PokecubePlayerStats stats = PlayerDataHandler.getInstance().getPlayerData(Minecraft - .getInstance().player).getData(PokecubePlayerStats.class); + final PokecubePlayerStats stats = PlayerDataHandler.getInstance() + .getPlayerData(Minecraft.getInstance().player).getData(PokecubePlayerStats.class); boolean fullColour = StatsCollector.getCaptured(pokedexEntry, Minecraft.getInstance().player) > 0 || StatsCollector.getHatched(pokedexEntry, Minecraft.getInstance().player) > 0 || this.minecraft.player.getAbilities().instabuild; // Megas Inherit colouring from the base form. - if (!fullColour && pokedexEntry.isMega()) fullColour = StatsCollector.getCaptured(pokedexEntry.getBaseForme(), - Minecraft.getInstance().player) > 0 || StatsCollector.getHatched(pokedexEntry.getBaseForme(), - Minecraft.getInstance().player) > 0; + if (!fullColour && pokedexEntry.isMega()) + fullColour = StatsCollector.getCaptured(pokedexEntry.getBaseForme(), Minecraft.getInstance().player) > 0 + || StatsCollector.getHatched(pokedexEntry.getBaseForme(), Minecraft.getInstance().player) > 0; IPokemob pokemob = this.pokemob; // Copy the stuff to the render mob if this mob is in world @@ -376,7 +371,7 @@ public void prePageDraw(final PoseStack mat, final int mouseX, final int mouseY, dy = 40; // Draw the actual pokemob - GuiPokemobBase.renderMob(pokemob.getEntity(), x + dx, y + dy, 0, yaw, 0, yaw, 1.5f); + GuiPokemobBase.renderMob(pokemob.getEntity(), x + dx, y + dy, 0, yaw, 0, yaw, 1.5f, partialTicks); // Draw gender, types and lvl int genderColor = 0xBBBBBB; @@ -430,13 +425,11 @@ public void preSubOpened() final int y = this.watch.height / 2 - 5; final Component next = TComponent.literal(">"); final Component prev = TComponent.literal("<"); - final TexButton nextBtn = this.addRenderableWidget(new TexButton(x + 95, y - 74, 12, 12, next, b -> - { + final TexButton nextBtn = this.addRenderableWidget(new TexButton(x + 95, y - 74, 12, 12, next, b -> { this.changePage(this.index + 1); PokemobInfoPage.savedIndex = this.index; }).setTex(GuiPokeWatch.getWidgetTex()).setRender(new UVImgRender(200, 0, 12, 12))); - final TexButton prevBtn = this.addRenderableWidget(new TexButton(x + 81, y - 74, 12, 12, prev, b -> - { + final TexButton prevBtn = this.addRenderableWidget(new TexButton(x + 81, y - 74, 12, 12, prev, b -> { this.changePage(this.index - 1); PokemobInfoPage.savedIndex = this.index; }).setTex(GuiPokeWatch.getWidgetTex()).setRender(new UVImgRender(200, 0, 12, 12))); diff --git a/src/main/java/thut/core/client/render/model/BaseModel.java b/src/main/java/thut/core/client/render/model/BaseModel.java index ad8ebe8154..3facc7c756 100644 --- a/src/main/java/thut/core/client/render/model/BaseModel.java +++ b/src/main/java/thut/core/client/render/model/BaseModel.java @@ -133,7 +133,7 @@ public Set getHeadParts() @Override public List getRenderOrder() { - if ((this.order.isEmpty() || this.order.size() != this.parts.size()) && this.loaded) + if ((this.order.isEmpty()) && this.loaded) { if (this.callback != null) this.callback.run(this); this.callback = null; diff --git a/src/main/java/thut/core/client/render/model/parts/Mesh.java b/src/main/java/thut/core/client/render/model/parts/Mesh.java index 743185d4e2..448236ee77 100644 --- a/src/main/java/thut/core/client/render/model/parts/Mesh.java +++ b/src/main/java/thut/core/client/render/model/parts/Mesh.java @@ -127,7 +127,7 @@ protected void doRender(final PoseStack mat, final VertexConsumer buffer, final com.mojang.math.Vector3f camera_view = com.mojang.math.Vector3f.ZP; - boolean cull = material.cull && alpha >= 1; + boolean cull = material.cull && alpha >= 1 && !material.transluscent; if (cull) { diff --git a/src/main/java/thut/core/client/render/model/parts/Part.java b/src/main/java/thut/core/client/render/model/parts/Part.java index de10551fc4..62120448cf 100644 --- a/src/main/java/thut/core/client/render/model/parts/Part.java +++ b/src/main/java/thut/core/client/render/model/parts/Part.java @@ -405,10 +405,12 @@ public void setTexturer(final IPartTexturer texturer) public void updateMaterial(final Mat mat, final Material material) { final String[] parts = mat.name.split(":"); + if (mat.meshs == null) mat.meshs = ""; for (final String s : parts) for (final Mesh mesh : this.shapes) { if (mesh.name == null) mesh.name = this.getName(); - if (mesh.name.equals(ThutCore.trim(s)) || mesh.name.equals(mat.name)) mesh.setMaterial(material); + if (mesh.name.equals(ThutCore.trim(s)) || mesh.name.equals(mat.name) || mat.meshs.contains(mesh.name)) + mesh.setMaterial(material); } for (final Material m : this.materials) if (m.name.equals(mat.name)) { diff --git a/src/main/java/thut/core/client/render/model/parts/RenderTypeProvider.java b/src/main/java/thut/core/client/render/model/parts/RenderTypeProvider.java index b0427b88ce..89a7678417 100644 --- a/src/main/java/thut/core/client/render/model/parts/RenderTypeProvider.java +++ b/src/main/java/thut/core/client/render/model/parts/RenderTypeProvider.java @@ -43,15 +43,17 @@ public RenderType makeRenderType(Material material, ResourceLocation tex, Mode m builder.setOverlayState(RenderStateShard.OVERLAY); final boolean transp = material.alpha < 1 || material.transluscent; + // disable culling entirely + if (material.alpha >= 1) + { + builder.setCullState(RenderStateShard.NO_CULL); + } if (transp) { // These act like masking builder.setWriteMaskState(RenderStateShard.COLOR_WRITE); - builder.setDepthTestState(Material.LESSTHAN); + builder.setDepthTestState(RenderStateShard.LEQUAL_DEPTH_TEST); } - // Otheerwise disable culling entirely - else builder.setCullState(RenderStateShard.NO_CULL); - final RenderType.CompositeState rendertype$state = builder.createCompositeState(true); type = RenderType.create(id, DefaultVertexFormat.NEW_ENTITY, mode, 256, true, false, rendertype$state); diff --git a/src/main/java/thut/wearables/CommandGui.java b/src/main/java/thut/wearables/CommandGui.java index 57d9e332cf..fc1a3b4f35 100644 --- a/src/main/java/thut/wearables/CommandGui.java +++ b/src/main/java/thut/wearables/CommandGui.java @@ -41,7 +41,6 @@ public static int execute(final CommandSourceStack commandSource, final LivingEn packet.handleServer(user); } return 0; - } public static void register(final CommandDispatcher commandDispatcher) diff --git a/src/main/resources/assets/pokecube/models/worn/megaglasses.x3d b/src/main/resources/assets/pokecube/models/worn/megaglasses.x3d index 8fc55af034..74e6ecef02 100644 --- a/src/main/resources/assets/pokecube/models/worn/megaglasses.x3d +++ b/src/main/resources/assets/pokecube/models/worn/megaglasses.x3d @@ -2,8 +2,8 @@ - - + + - - - + + - - - + + + @@ -43,27 +51,66 @@ - + - - - + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/assets/pokecube/models/worn/megaglasses.xml b/src/main/resources/assets/pokecube/models/worn/megaglasses.xml index 297d625681..0f9679f35c 100644 --- a/src/main/resources/assets/pokecube/models/worn/megaglasses.xml +++ b/src/main/resources/assets/pokecube/models/worn/megaglasses.xml @@ -1,9 +1,10 @@ - + - + + \ No newline at end of file diff --git a/src/main/resources/assets/pokecube/textures/worn/megaglasses.png b/src/main/resources/assets/pokecube/textures/worn/megaglasses.png index 15ea38be9d0d832af22ad2de5bf1795f8cdbe468..8323474bcd4124cd42511c890caf4d7e3883a2dc 100644 GIT binary patch delta 199 zcmca0e}hr4Gr-TCmrII^fq{Y7)59eQNIL+r0tXwATr{_?1xPU#2e~^jtUD+3a-yPi z{Q(9Bz5|R|*E%_YQn{Wkjv*P&Z!a72wgiZzW1clQP|yj;a|i zpBaAtiEi<^`vTD`!b=WG^kY&nnHH%@@Rfdq&j4KclUzm07C)@9g-x~Y9 j{qy>-OigTe~DWM4f8Bat( literal 4048 zcmeAS@N?(olHy`uVBq!ia0y~yU~ynzU{c^<1B$fXmeB`NEa{HEjtmSN`?>!lvI6;> z1s;*b3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXJ~ol+NKl+ z27X^p7srr_xVJYBu2sIx>w2;85~IWqNedhHD}i4=KVg_RXP!st(WFe>g!7zNSy?_^ z7p?pM@9*OO)90tg%=Z2K^z)v#&!0ap`}_U=|6lIswf*@R7&5%?nIojv$|@|&KE3(d zbai$HhApb^XP-WAwC?P(pPwr4UE>qDy!C11@6(f+85nL&`hNCly5#k=%QZi3^0V1H zUf%k&=I_&!j0_C9Cx1Wtw7DmHbLPI9dE2)#A1TSLy!P+Y69$HcZBJ^8e?}hLdebD{ z?)>drj7ht;*<{yO7BMh5M1R`1^N-HsTRF4z=RePV%U~EAJ#XuN8%qX;1-g~@W9p_A z=9-aADe>d_DWqJIrQ3JN>*e+Swg)4lc&6e(-`W#euuFpKZtYrJA7+_iUz%=*fly_nCw1L8Vmg&yEboW#-Fvm4q z-;x@2z{r - - + + - - - + + - - - + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/assets/thut_bling/models/worn/shades.xml b/src/main/resources/assets/thut_bling/models/worn/shades.xml index f0b30480ab..0bfd1ff050 100644 --- a/src/main/resources/assets/thut_bling/models/worn/shades.xml +++ b/src/main/resources/assets/thut_bling/models/worn/shades.xml @@ -1,7 +1,8 @@ - + + \ No newline at end of file