Skip to content

Commit

Permalink
updated mod for a major problem as well as obf names and fixed mob re…
Browse files Browse the repository at this point in the history
…ndering
  • Loading branch information
sekwah41 committed Oct 4, 2017
1 parent b3eedc0 commit 3333288
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 13 deletions.
3 changes: 3 additions & 0 deletions src/main/java/com/sekwah/sekcphysics/SekCPhysics.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.sekwah.sekcphysics.ragdoll.Ragdolls;
import com.sekwah.sekcphysics.ragdoll.ragdolls.vanilla.VanillaRagdolls;
import com.sekwah.sekcphysics.settings.ModSettings;
import net.minecraft.launchwrapper.Launch;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy;
Expand Down Expand Up @@ -44,6 +45,8 @@ public class SekCPhysics {

public static final String version = "0.0.1";

public static final boolean isDeObf = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment");

/**
* Start using interfaces more
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ public void doRender(T entity, double x, double y, double z, float entityYaw, fl
* {@link net.minecraft.client.renderer.entity.layers}
* {@link net.minecraft.client.renderer.entity.RenderZombie}
*
* {@link net.minecraft.client.renderer.entity.RenderLivingBase#doRender}
*
* Need to make a layer renderer handler for methods like
* {@link net.minecraft.client.renderer.entity.layers.LayerCustomHead#doRenderLayer}
*
Expand All @@ -57,10 +59,12 @@ public void doRender(T entity, double x, double y, double z, float entityYaw, fl
GlStateManager.depthMask(false);
GL11.glEnable(GL11.GL_BLEND);
GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569F);
GlStateManager.depthMask(true);

GL11.glColor4f(1,1,1,0.5f);
}

GlStateManager.disableCull();
for(Tracker tracker : bipedRagdoll.trackerHashmap.values()) {
//tracker.calcPosition();
tracker.render(partialTicks);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,15 @@ private void generateRagdollsFrom(String modid) {
ModelConstructData modelConstructData = getRagdollModelData(entry.getValue().getAsJsonObject(), ragdollFileJson);
ModelData modelData = createModelAndAddTrackers(ragdollData, modelConstructData);
ragdollData.addModelData(modelData);
SekCPhysics.ragdolls.registerRagdoll(entry.getKey(), ragdollData);

if(SekCPhysics.isDeObf || !entry.getValue().getAsJsonObject().has("entityObf")) {
SekCPhysics.ragdolls.registerRagdoll(entry.getKey(), ragdollData);
}
else {
SekCPhysics.ragdolls.registerRagdoll(entry.getValue().getAsJsonObject().get("entityObf").getAsString(),
ragdollData);
}

}
catch(ClassCastException | RagdollInvalidDataException | IllegalStateException
| UnsupportedOperationException e) {
Expand Down Expand Up @@ -234,6 +242,14 @@ private ModelConstructData getRagdollModelData(JsonObject ragdollJsonData,

JsonObject modelJSON = ragdollJsonData.getAsJsonObject("modelData");
if(modelJSON != null) {

// TODO example of a place where checking if its a dev environment is needed so switch it over
if(SekCPhysics.isDeObf || !modelJSON.has("classObf")) {
modelConstructData.setClassName(modelJSON.get("class").getAsString());
}
else {
modelConstructData.setClassName(modelJSON.get("classObf").getAsString());
}
modelConstructData.setClassName(modelJSON.get("class").getAsString());

JsonArray constructData = modelJSON.getAsJsonArray("constructData");
Expand Down Expand Up @@ -280,20 +296,34 @@ private ModelConstructData getRagdollModelData(JsonObject ragdollJsonData,
JsonObject vertexObj = vertexName.getValue().getAsJsonObject();
String anchor = vertexObj.get("anchor").getAsString();
String pointTo = vertexObj.get("pointTo").getAsString();
VertexTrackerData trackerData = new VertexTrackerData(vertexName.getKey(), anchor, pointTo, vertexObj);
String name;
if(SekCPhysics.isDeObf || !vertexObj.has("obfName")) {
name = vertexName.getKey();
}
else {
name = vertexObj.get("obfName").getAsString();
}
VertexTrackerData trackerData = new VertexTrackerData(name, anchor, pointTo, vertexObj);
modelConstructData.addVertexTracker(trackerData);
}
}


JsonObject triangleTrackers = modelJSON.getAsJsonObject("triangleTrackers");

if(vertexTrackers != null) {
if(triangleTrackers != null) {
Set<Map.Entry<String, JsonElement>> triangleNames = triangleTrackers.entrySet();
for(Map.Entry<String, JsonElement> triangleName : triangleNames) {
JsonObject vertexObj = triangleName.getValue().getAsJsonObject();
String tracker = vertexObj.get("tracker").getAsString();
TriangleTrackerData trackerData = new TriangleTrackerData(triangleName.getKey(), tracker, vertexObj);
String name;
if(SekCPhysics.isDeObf || !vertexObj.has("obfName")) {
name = triangleName.getKey();
}
else {
name = vertexObj.get("obfName").getAsString();
}
TriangleTrackerData trackerData = new TriangleTrackerData(name, tracker, vertexObj);
modelConstructData.addTriangleTracker(trackerData);
}
}
Expand Down
27 changes: 18 additions & 9 deletions src/main/resources/assets/sekcphysics/ragdolldata/minecraft.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"rightShoulder" : [-5,-2,0],
"leftLegTop" : [2,-12,0],
"rightLegTop" : [-2,-12,0],
"rightArm" : [-6.40,10.40,0],
"leftArm" : [6.40,10.40,0],
"rightArm" : [-6.40,-8,0],
"leftArm" : [6.40,-8,0],
"leftLegBot" : [2,-23,0],
"rightLegBot" : [-2,-23,0]
},
Expand Down Expand Up @@ -41,6 +41,7 @@
},
"modelData":{
"class" : "net.minecraft.client.model.ModelBiped",
"classObf" : "bpv",
"constructData" : [
["float", 0],
["float", 0],
Expand All @@ -50,37 +51,45 @@
"vertexTrackers" : {
"bipedRightArm": {
"anchor" : "rightShoulder",
"pointTo" : "rightArm"
"pointTo" : "rightArm",
"obfName" : "field_178723_h"
},
"bipedLeftArm": {
"anchor" : "leftShoulder",
"pointTo" : "leftArm"
"pointTo" : "leftArm",
"obfName" : "field_178724_i"
},
"bipedRightLeg": {
"anchor" : "rightLegTop",
"pointTo" : "rightLegBot"
"pointTo" : "rightLegBot",
"obfName" : "field_178721_j"
},
"bipedLeftLeg":{
"anchor" : "leftLegTop",
"pointTo" : "leftLegBot"
"pointTo" : "leftLegBot",
"obfName" : "field_178722_k"
}
},
"triangleTrackers" : {
"bipedBody":{
"tracker" : "body"
"tracker" : "body",
"obfName" : "field_78115_e"
},
"bipedHead":{
"tracker" : "head",
"rotOffX" : 180
"rotOffX" : 180,
"obfName" : "field_78116_c"
}
}
}
},
"net.minecraft.entity.monster.EntitySkeleton" : {
"entityObf" : "adi",
"inherit" : "EntityBiped",
"texture": ["minecraft", "textures/entity/skeleton/skeleton.png"],
"modelData": {
"class": "net.minecraft.client.model.ModelSkeleton"
"class": "net.minecraft.client.model.ModelSkeleton",
"classObf" : "bqu"
}
},
"net.minecraft.entity.monster.EntityZombie" : {
Expand Down

0 comments on commit 3333288

Please sign in to comment.