Add GravitationStabilizerModel

This commit is contained in:
DBotThePony 2022-01-24 13:02:51 +07:00
parent 7826e5d842
commit fc685f40bb
Signed by: DBot
GPG Key ID: DCC23B5715498507
3 changed files with 39 additions and 2 deletions

View File

@ -27,6 +27,7 @@ import ru.dbotthepony.mc.otm.capability.android.AndroidCapabilityPlayer;
import ru.dbotthepony.mc.otm.capability.drive.DrivePool; import ru.dbotthepony.mc.otm.capability.drive.DrivePool;
import ru.dbotthepony.mc.otm.client.AndroidGui; import ru.dbotthepony.mc.otm.client.AndroidGui;
import ru.dbotthepony.mc.otm.client.EventHandler; import ru.dbotthepony.mc.otm.client.EventHandler;
import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel;
import ru.dbotthepony.mc.otm.client.model.TritaniumArmorModel; import ru.dbotthepony.mc.otm.client.model.TritaniumArmorModel;
import ru.dbotthepony.mc.otm.core.Fraction; import ru.dbotthepony.mc.otm.core.Fraction;
import ru.dbotthepony.mc.otm.item.ItemPortableCondensationDrive; import ru.dbotthepony.mc.otm.item.ItemPortableCondensationDrive;
@ -170,6 +171,7 @@ public class OverdriveThatMatters {
ITEM_STORAGE = StorageObjectRegistry.register(ItemStackWrapper.class, ItemStackWrapper.EMPTY, new Fraction("3.125")); ITEM_STORAGE = StorageObjectRegistry.register(ItemStackWrapper.class, ItemStackWrapper.EMPTY, new Fraction("3.125"));
TritaniumArmorModel.register(); TritaniumArmorModel.register();
GravitationStabilizerModel.register();
} }
private void setupClient(final FMLClientSetupEvent event) { private void setupClient(final FMLClientSetupEvent event) {

View File

@ -0,0 +1,34 @@
package ru.dbotthepony.mc.otm.client.model;
import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.builders.*;
import net.minecraftforge.client.ForgeHooksClient;
import ru.dbotthepony.mc.otm.Registry;
public class GravitationStabilizerModel {
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(Registry.Names.PORTABLE_GRAVITATION_STABILIZER, "main");
private static HumanoidModel<?> model;
private static LayerDefinition def;
public static HumanoidModel<?> getModel() {
if (model == null) {
return model = new HumanoidModel<>(def.bakeRoot());
}
return model;
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
model = null;
return def = LayerDefinition.create(meshdefinition, 64, 64);
}
public static void register() {
ForgeHooksClient.registerLayerDefinition(LAYER_LOCATION, GravitationStabilizerModel::createBodyLayer);
}
}

View File

@ -10,6 +10,7 @@ import net.minecraft.world.item.crafting.Ingredient
import net.minecraftforge.client.IItemRenderProperties import net.minecraftforge.client.IItemRenderProperties
import net.minecraftforge.common.ForgeTier import net.minecraftforge.common.ForgeTier
import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.OverdriveThatMatters
import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel
import java.util.function.Consumer import java.util.function.Consumer
private object GravitationStabilizerArmorMaterial : ArmorMaterial { private object GravitationStabilizerArmorMaterial : ArmorMaterial {
@ -32,8 +33,8 @@ private object GravitationStabilizerArmorRenderProperties : IItemRenderPropertie
itemStack: ItemStack, itemStack: ItemStack,
armorSlot: EquipmentSlot, armorSlot: EquipmentSlot,
_default: A _default: A
): A? { ): A {
return super.getArmorModel(entityLiving, itemStack, armorSlot, _default) return GravitationStabilizerModel.getModel() as A
} }
} }