Skip to content

Commit

Permalink
0.5.0a
Browse files Browse the repository at this point in the history
Added hold to play gesture/pose mode
Added non looping gestures reset after playing
Improved Gesture gui on big gui scales
Added new poses:
- In Menu
- First Person Model View
Added new type of animation: Layers (Closes #64)
Added an updated gesture system when mod is installed on the server (Closes #66)
Updated Simplified Chinese translations (#276)

Fixed settings popup/gui always asking to discard changes
Fixed some popups opening way too big with some gui scales
Fixed Optifine breaking Glowing parts (Closes #278)
Fixed skull rendering when the First Person Model mod is installed
Fixed model loading status rendering in the wrong place in some cases
  • Loading branch information
tom5454 committed Aug 30, 2022
1 parent 6de940e commit b4276c0
Show file tree
Hide file tree
Showing 140 changed files with 2,565 additions and 1,130 deletions.
2 changes: 1 addition & 1 deletion CustomPlayerModels-1.10/gradle.properties
Expand Up @@ -3,4 +3,4 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.4.8a
mod_version=0.5.0a
@@ -1,6 +1,5 @@
package com.tom.cpm.client;

import java.util.Map.Entry;
import java.util.concurrent.Executor;

import net.minecraft.client.Minecraft;
Expand All @@ -21,18 +20,20 @@
import net.minecraft.client.renderer.VertexBuffer;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.PacketBuffer;
import net.minecraft.network.play.client.CPacketCustomPayload;
import net.minecraft.scoreboard.ScoreObjective;
import net.minecraft.scoreboard.Scoreboard;
import net.minecraft.scoreboard.Team;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.text.ITextComponent;

import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.client.event.GuiScreenEvent;
import net.minecraftforge.client.event.GuiScreenEvent.DrawScreenEvent;
import net.minecraftforge.client.event.RenderLivingEvent;
import net.minecraftforge.client.event.RenderPlayerEvent;
import net.minecraftforge.common.MinecraftForge;
Expand Down Expand Up @@ -139,6 +140,16 @@ public void openGui(GuiOpenEvent openGui) {
}
}

@SubscribeEvent
public void drawGuiPre(DrawScreenEvent.Pre evt) {
PlayerProfile.inGui = true;
}

@SubscribeEvent
public void drawGuiPost(DrawScreenEvent.Post evt) {
PlayerProfile.inGui = false;
}

public void renderSkull(ModelBase skullModel, GameProfile profile) {
manager.bindSkull(profile, null, skullModel);
manager.bindSkin(skullModel, TextureSheetType.SKIN);
Expand Down Expand Up @@ -185,11 +196,7 @@ public void clientTick(ClientTickEvent evt) {
Player.setEnableRendering(!Player.isEnableRendering());
}

for (Entry<Integer, KeyBinding> e : KeyBindings.quickAccess.entrySet()) {
if(e.getValue().isPressed()) {
mc.getPlayerRenderManager().getAnimationEngine().onKeybind(e.getKey());
}
}
mc.getPlayerRenderManager().getAnimationEngine().updateKeys(KeyBindings.quickAccess);
}

@SubscribeEvent
Expand All @@ -202,10 +209,15 @@ public void onRenderName(RenderLivingEvent.Specials.Pre<AbstractClientPlayer> ev
if(st != null) {
double d0 = evt.getEntity().getDistanceSqToEntity(minecraft.getRenderViewEntity());
if (d0 < 32*32) {
Scoreboard scoreboard = ((EntityPlayer) evt.getEntity()).getWorldScoreboard();
ScoreObjective scoreobjective = scoreboard.getObjectiveInDisplaySlot(2);
double y = evt.getY();
if (scoreobjective != null)
y += evt.getRenderer().getFontRendererFromRenderManager().FONT_HEIGHT * 1.15F * 0.025F;
GlStateManager.pushMatrix();
GlStateManager.translate(0, 0.25F, 0);
String str = ((ITextComponent) st.remap()).getFormattedText();
renderLivingLabel(evt.getEntity(), str, evt.getX(), evt.getY(), evt.getZ(), 64);
renderLivingLabel(evt.getEntity(), str, evt.getX(), y, evt.getZ(), 64);
GlStateManager.popMatrix();
}
}
Expand Down
@@ -1,9 +1,7 @@
package com.tom.cpm.client;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.lwjgl.input.Keyboard;

Expand All @@ -20,7 +18,7 @@
public class KeyBindings implements IKeybind {
private static KeyConflictCtx conflictCtx = new KeyConflictCtx();
public static KeyBinding gestureMenuBinding, renderToggleBinding;
public static Map<Integer, KeyBinding> quickAccess = new HashMap<>();
public static IKeybind[] quickAccess = new IKeybind[IKeybind.QUICK_ACCESS_KEYBINDS_COUNT];

public static void init() {
gestureMenuBinding = new KeyBinding("key.cpm.gestureMenu", KeyConflictContext.IN_GAME, Keyboard.KEY_G, "key.cpm.category");
Expand All @@ -29,7 +27,7 @@ public static void init() {
renderToggleBinding = new KeyBinding("key.cpm.renderToggle", KeyConflictContext.IN_GAME, 0, "key.cpm.category");
kbs.add(new KeyBindings(renderToggleBinding, "renderToggle"));

for(int i = 1;i<=6;i++)
for(int i = 1;i<=IKeybind.QUICK_ACCESS_KEYBINDS_COUNT;i++)
createQA(i);
}

Expand All @@ -49,8 +47,9 @@ public boolean conflicts(IKeyConflictContext other) {

private static void createQA(int id) {
KeyBinding kb = new KeyBinding("key.cpm.qa_" + id, conflictCtx, 0, "key.cpm.category");
kbs.add(new KeyBindings(kb, "qa_" + id));
quickAccess.put(id, kb);
KeyBindings kbs = new KeyBindings(kb, "qa_" + id);
KeyBindings.kbs.add(kbs);
quickAccess[id - 1] = kbs;
}

public static List<IKeybind> kbs = new ArrayList<>();
Expand All @@ -77,4 +76,9 @@ public String getBoundKey() {
public String getName() {
return name;
}

@Override
public boolean isPressed() {
return kb.isKeyDown();
}
}
Expand Up @@ -30,6 +30,7 @@
import com.tom.cpm.shared.skin.PlayerTextureLoader;

public class PlayerProfile extends Player<EntityPlayer> {
public static boolean inGui;
private final GameProfile profile;
private String skinType;

Expand Down Expand Up @@ -111,6 +112,7 @@ public void updateFromPlayer(EntityPlayer player) {
animState.hurtTime = player.hurtTime;
animState.isOnLadder = player.isOnLadder();
animState.isBurning = player.canRenderOnFire();
animState.inGui = inGui;

if(player.getActiveItemStack() != null && player.getActiveItemStack().getItem() instanceof ItemBow) {
float f = 20F;
Expand Down
2 changes: 1 addition & 1 deletion CustomPlayerModels-1.12/gradle.properties
Expand Up @@ -3,4 +3,4 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.4.8a
mod_version=0.5.0a
@@ -1,6 +1,5 @@
package com.tom.cpm.client;

import java.util.Map.Entry;
import java.util.concurrent.Executor;

import net.minecraft.client.Minecraft;
Expand All @@ -20,11 +19,12 @@
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.PacketBuffer;
import net.minecraft.network.play.client.CPacketCustomPayload;
import net.minecraft.scoreboard.ScoreObjective;
import net.minecraft.scoreboard.Scoreboard;
import net.minecraft.scoreboard.Team;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
Expand All @@ -33,6 +33,7 @@

import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.client.event.GuiScreenEvent;
import net.minecraftforge.client.event.GuiScreenEvent.DrawScreenEvent;
import net.minecraftforge.client.event.PlayerSPPushOutOfBlocksEvent;
import net.minecraftforge.client.event.RenderLivingEvent;
import net.minecraftforge.client.event.RenderPlayerEvent;
Expand Down Expand Up @@ -140,6 +141,16 @@ public void openGui(GuiOpenEvent openGui) {
}
}

@SubscribeEvent
public void drawGuiPre(DrawScreenEvent.Pre evt) {
PlayerProfile.inGui = true;
}

@SubscribeEvent
public void drawGuiPost(DrawScreenEvent.Post evt) {
PlayerProfile.inGui = false;
}

public void renderSkull(ModelBase skullModel, GameProfile profile) {
manager.bindSkull(profile, null, skullModel);
manager.bindSkin(skullModel, TextureSheetType.SKIN);
Expand Down Expand Up @@ -182,11 +193,7 @@ public void clientTick(ClientTickEvent evt) {
Player.setEnableRendering(!Player.isEnableRendering());
}

for (Entry<Integer, KeyBinding> e : KeyBindings.quickAccess.entrySet()) {
if(e.getValue().isPressed()) {
mc.getPlayerRenderManager().getAnimationEngine().onKeybind(e.getKey());
}
}
mc.getPlayerRenderManager().getAnimationEngine().updateKeys(KeyBindings.quickAccess);
}

@SubscribeEvent
Expand All @@ -199,10 +206,15 @@ public void onRenderName(RenderLivingEvent.Specials.Pre<AbstractClientPlayer> ev
if(st != null) {
double d0 = evt.getEntity().getDistanceSq(minecraft.getRenderViewEntity());
if (d0 < 32*32) {
Scoreboard scoreboard = ((EntityPlayer) evt.getEntity()).getWorldScoreboard();
ScoreObjective scoreobjective = scoreboard.getObjectiveInDisplaySlot(2);
double y = evt.getY();
if (scoreobjective != null)
y += evt.getRenderer().getFontRendererFromRenderManager().FONT_HEIGHT * 1.15F * 0.025F;
GlStateManager.pushMatrix();
GlStateManager.translate(0, 0.25F, 0);
String str = ((ITextComponent) st.remap()).getFormattedText();
renderLivingLabel(evt.getEntity(), str, evt.getX(), evt.getY(), evt.getZ(), 64);
renderLivingLabel(evt.getEntity(), str, evt.getX(), y, evt.getZ(), 64);
GlStateManager.popMatrix();
}
}
Expand Down
@@ -1,9 +1,7 @@
package com.tom.cpm.client;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.lwjgl.input.Keyboard;

Expand All @@ -20,7 +18,7 @@
public class KeyBindings implements IKeybind {
private static KeyConflictCtx conflictCtx = new KeyConflictCtx();
public static KeyBinding gestureMenuBinding, renderToggleBinding;
public static Map<Integer, KeyBinding> quickAccess = new HashMap<>();
public static IKeybind[] quickAccess = new IKeybind[IKeybind.QUICK_ACCESS_KEYBINDS_COUNT];

public static void init() {
gestureMenuBinding = new KeyBinding("key.cpm.gestureMenu", KeyConflictContext.IN_GAME, Keyboard.KEY_G, "key.cpm.category");
Expand All @@ -29,7 +27,7 @@ public static void init() {
renderToggleBinding = new KeyBinding("key.cpm.renderToggle", KeyConflictContext.IN_GAME, 0, "key.cpm.category");
kbs.add(new KeyBindings(renderToggleBinding, "renderToggle"));

for(int i = 1;i<=6;i++)
for(int i = 1;i<=IKeybind.QUICK_ACCESS_KEYBINDS_COUNT;i++)
createQA(i);
}

Expand All @@ -49,8 +47,9 @@ public boolean conflicts(IKeyConflictContext other) {

private static void createQA(int id) {
KeyBinding kb = new KeyBinding("key.cpm.qa_" + id, conflictCtx, 0, "key.cpm.category");
kbs.add(new KeyBindings(kb, "qa_" + id));
quickAccess.put(id, kb);
KeyBindings kbs = new KeyBindings(kb, "qa_" + id);
KeyBindings.kbs.add(kbs);
quickAccess[id - 1] = kbs;
}

public static List<IKeybind> kbs = new ArrayList<>();
Expand All @@ -77,4 +76,9 @@ public String getBoundKey() {
public String getName() {
return name;
}

@Override
public boolean isPressed() {
return kb.isKeyDown();
}
}
Expand Up @@ -30,6 +30,7 @@
import com.tom.cpm.shared.skin.PlayerTextureLoader;

public class PlayerProfile extends Player<EntityPlayer> {
public static boolean inGui;
private final GameProfile profile;
private String skinType;

Expand Down Expand Up @@ -111,6 +112,7 @@ public void updateFromPlayer(EntityPlayer player) {
animState.hurtTime = player.hurtTime;
animState.isOnLadder = player.isOnLadder();
animState.isBurning = player.canRenderOnFire();
animState.inGui = inGui;

if(player.getActiveItemStack().getItem() instanceof ItemBow) {
float f = 20F;
Expand Down
2 changes: 1 addition & 1 deletion CustomPlayerModels-1.16/gradle.properties
Expand Up @@ -3,4 +3,4 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.4.8a
mod_version=0.5.0a
@@ -1,7 +1,5 @@
package com.tom.cpm.client;

import java.util.Map.Entry;

import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.entity.player.ClientPlayerEntity;
Expand All @@ -16,7 +14,6 @@
import net.minecraft.client.renderer.entity.model.PlayerModel;
import net.minecraft.client.renderer.model.Model;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
Expand All @@ -31,6 +28,7 @@
import net.minecraftforge.client.event.ClientPlayerNetworkEvent;
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.client.event.GuiScreenEvent;
import net.minecraftforge.client.event.GuiScreenEvent.DrawScreenEvent;
import net.minecraftforge.client.event.RenderPlayerEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.TickEvent.ClientTickEvent;
Expand Down Expand Up @@ -176,11 +174,7 @@ public void clientTick(ClientTickEvent evt) {
Player.setEnableRendering(!Player.isEnableRendering());
}

for (Entry<Integer, KeyBinding> e : KeyBindings.quickAccess.entrySet()) {
if(e.getValue().consumeClick()) {
mc.getPlayerRenderManager().getAnimationEngine().onKeybind(e.getKey());
}
}
mc.getPlayerRenderManager().getAnimationEngine().updateKeys(KeyBindings.quickAccess);
}

@SubscribeEvent
Expand All @@ -193,6 +187,16 @@ public void openGui(GuiOpenEvent openGui) {
}
}

@SubscribeEvent
public void drawGuiPre(DrawScreenEvent.Pre evt) {
PlayerProfile.inGui = true;
}

@SubscribeEvent
public void drawGuiPost(DrawScreenEvent.Post evt) {
PlayerProfile.inGui = false;
}

public static class Button extends net.minecraft.client.gui.widget.button.Button {

public Button(int x, int y, Runnable r) {
Expand Down

0 comments on commit b4276c0

Please sign in to comment.