diff --git a/src/main/java/com/minelittlepony/pony/IPony.java b/src/main/java/com/minelittlepony/api/pony/IPony.java similarity index 97% rename from src/main/java/com/minelittlepony/pony/IPony.java rename to src/main/java/com/minelittlepony/api/pony/IPony.java index 89973764..1f7dcbde 100644 --- a/src/main/java/com/minelittlepony/pony/IPony.java +++ b/src/main/java/com/minelittlepony/api/pony/IPony.java @@ -1,4 +1,4 @@ -package com.minelittlepony.pony; +package com.minelittlepony.api.pony; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; @@ -6,8 +6,8 @@ import net.minecraft.util.Identifier; import net.minecraft.util.math.Box; import net.minecraft.util.math.Vec3d; +import com.minelittlepony.api.pony.meta.Race; import com.minelittlepony.client.MineLittlePony; -import com.minelittlepony.pony.meta.Race; public interface IPony { diff --git a/src/main/java/com/minelittlepony/pony/IPonyData.java b/src/main/java/com/minelittlepony/api/pony/IPonyData.java similarity index 79% rename from src/main/java/com/minelittlepony/pony/IPonyData.java rename to src/main/java/com/minelittlepony/api/pony/IPonyData.java index 5c0b70bc..54f772e3 100644 --- a/src/main/java/com/minelittlepony/pony/IPonyData.java +++ b/src/main/java/com/minelittlepony/api/pony/IPonyData.java @@ -1,10 +1,10 @@ -package com.minelittlepony.pony; +package com.minelittlepony.api.pony; -import com.minelittlepony.pony.meta.Gender; -import com.minelittlepony.pony.meta.Race; -import com.minelittlepony.pony.meta.Size; -import com.minelittlepony.pony.meta.TailLength; -import com.minelittlepony.pony.meta.Wearable; +import com.minelittlepony.api.pony.meta.Gender; +import com.minelittlepony.api.pony.meta.Race; +import com.minelittlepony.api.pony.meta.Size; +import com.minelittlepony.api.pony.meta.TailLength; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.util.IInterpolator; import java.util.UUID; diff --git a/src/main/java/com/minelittlepony/pony/IPonyManager.java b/src/main/java/com/minelittlepony/api/pony/IPonyManager.java similarity index 98% rename from src/main/java/com/minelittlepony/pony/IPonyManager.java rename to src/main/java/com/minelittlepony/api/pony/IPonyManager.java index ce5821bb..6484c26b 100644 --- a/src/main/java/com/minelittlepony/pony/IPonyManager.java +++ b/src/main/java/com/minelittlepony/api/pony/IPonyManager.java @@ -1,4 +1,4 @@ -package com.minelittlepony.pony; +package com.minelittlepony.api.pony; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.Identifier; diff --git a/src/main/java/com/minelittlepony/pony/ITriggerPixelMapped.java b/src/main/java/com/minelittlepony/api/pony/ITriggerPixelMapped.java similarity index 96% rename from src/main/java/com/minelittlepony/pony/ITriggerPixelMapped.java rename to src/main/java/com/minelittlepony/api/pony/ITriggerPixelMapped.java index b15811a6..9afbcd58 100644 --- a/src/main/java/com/minelittlepony/pony/ITriggerPixelMapped.java +++ b/src/main/java/com/minelittlepony/api/pony/ITriggerPixelMapped.java @@ -1,4 +1,4 @@ -package com.minelittlepony.pony; +package com.minelittlepony.api.pony; /** * Interface for enums that can be parsed from an image trigger pixel value. diff --git a/src/main/java/com/minelittlepony/pony/meta/Gender.java b/src/main/java/com/minelittlepony/api/pony/meta/Gender.java similarity index 81% rename from src/main/java/com/minelittlepony/pony/meta/Gender.java rename to src/main/java/com/minelittlepony/api/pony/meta/Gender.java index 3faac243..a769d671 100644 --- a/src/main/java/com/minelittlepony/pony/meta/Gender.java +++ b/src/main/java/com/minelittlepony/api/pony/meta/Gender.java @@ -1,6 +1,6 @@ -package com.minelittlepony.pony.meta; +package com.minelittlepony.api.pony.meta; -import com.minelittlepony.pony.ITriggerPixelMapped; +import com.minelittlepony.api.pony.ITriggerPixelMapped; public enum Gender implements ITriggerPixelMapped { MARE(0), diff --git a/src/main/java/com/minelittlepony/pony/meta/Race.java b/src/main/java/com/minelittlepony/api/pony/meta/Race.java similarity index 96% rename from src/main/java/com/minelittlepony/pony/meta/Race.java rename to src/main/java/com/minelittlepony/api/pony/meta/Race.java index c6f2092e..66fc9d3d 100644 --- a/src/main/java/com/minelittlepony/pony/meta/Race.java +++ b/src/main/java/com/minelittlepony/api/pony/meta/Race.java @@ -1,7 +1,7 @@ -package com.minelittlepony.pony.meta; +package com.minelittlepony.api.pony.meta; +import com.minelittlepony.api.pony.ITriggerPixelMapped; import com.minelittlepony.client.MineLittlePony; -import com.minelittlepony.pony.ITriggerPixelMapped; import com.minelittlepony.settings.PonyLevel; import javax.annotation.Nonnull; diff --git a/src/main/java/com/minelittlepony/pony/meta/Size.java b/src/main/java/com/minelittlepony/api/pony/meta/Size.java similarity index 95% rename from src/main/java/com/minelittlepony/pony/meta/Size.java rename to src/main/java/com/minelittlepony/api/pony/meta/Size.java index 5f72b0c5..bd940e99 100644 --- a/src/main/java/com/minelittlepony/pony/meta/Size.java +++ b/src/main/java/com/minelittlepony/api/pony/meta/Size.java @@ -1,7 +1,7 @@ -package com.minelittlepony.pony.meta; +package com.minelittlepony.api.pony.meta; +import com.minelittlepony.api.pony.ITriggerPixelMapped; import com.minelittlepony.client.MineLittlePony; -import com.minelittlepony.pony.ITriggerPixelMapped; public enum Size implements ITriggerPixelMapped { TALL (0x534b76, 0.45f, 1.1F, 1.15F), diff --git a/src/main/java/com/minelittlepony/pony/meta/TailLength.java b/src/main/java/com/minelittlepony/api/pony/meta/TailLength.java similarity index 80% rename from src/main/java/com/minelittlepony/pony/meta/TailLength.java rename to src/main/java/com/minelittlepony/api/pony/meta/TailLength.java index a1c8a283..3cdfd8cd 100644 --- a/src/main/java/com/minelittlepony/pony/meta/TailLength.java +++ b/src/main/java/com/minelittlepony/api/pony/meta/TailLength.java @@ -1,6 +1,6 @@ -package com.minelittlepony.pony.meta; +package com.minelittlepony.api.pony.meta; -import com.minelittlepony.pony.ITriggerPixelMapped; +import com.minelittlepony.api.pony.ITriggerPixelMapped; public enum TailLength implements ITriggerPixelMapped { diff --git a/src/main/java/com/minelittlepony/pony/meta/TriggerPixels.java b/src/main/java/com/minelittlepony/api/pony/meta/TriggerPixels.java similarity index 96% rename from src/main/java/com/minelittlepony/pony/meta/TriggerPixels.java rename to src/main/java/com/minelittlepony/api/pony/meta/TriggerPixels.java index 8a11ca0e..11202c83 100644 --- a/src/main/java/com/minelittlepony/pony/meta/TriggerPixels.java +++ b/src/main/java/com/minelittlepony/api/pony/meta/TriggerPixels.java @@ -1,8 +1,8 @@ -package com.minelittlepony.pony.meta; +package com.minelittlepony.api.pony.meta; import net.minecraft.client.texture.NativeImage; -import com.minelittlepony.pony.ITriggerPixelMapped; +import com.minelittlepony.api.pony.ITriggerPixelMapped; import com.minelittlepony.util.Color; /** diff --git a/src/main/java/com/minelittlepony/pony/meta/Wearable.java b/src/main/java/com/minelittlepony/api/pony/meta/Wearable.java similarity index 88% rename from src/main/java/com/minelittlepony/pony/meta/Wearable.java rename to src/main/java/com/minelittlepony/api/pony/meta/Wearable.java index d8fae8c2..d3e36bb2 100644 --- a/src/main/java/com/minelittlepony/pony/meta/Wearable.java +++ b/src/main/java/com/minelittlepony/api/pony/meta/Wearable.java @@ -1,6 +1,6 @@ -package com.minelittlepony.pony.meta; +package com.minelittlepony.api.pony.meta; -import com.minelittlepony.pony.ITriggerPixelMapped; +import com.minelittlepony.api.pony.ITriggerPixelMapped; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/minelittlepony/pony/meta/package-info.java b/src/main/java/com/minelittlepony/api/pony/meta/package-info.java similarity index 67% rename from src/main/java/com/minelittlepony/pony/meta/package-info.java rename to src/main/java/com/minelittlepony/api/pony/meta/package-info.java index 09fddcc4..fec360a6 100644 --- a/src/main/java/com/minelittlepony/pony/meta/package-info.java +++ b/src/main/java/com/minelittlepony/api/pony/meta/package-info.java @@ -1,4 +1,4 @@ @ParametersAreNonnullByDefault -package com.minelittlepony.pony.meta; +package com.minelittlepony.api.pony.meta; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/src/main/java/com/minelittlepony/pony/package-info.java b/src/main/java/com/minelittlepony/api/pony/package-info.java similarity index 70% rename from src/main/java/com/minelittlepony/pony/package-info.java rename to src/main/java/com/minelittlepony/api/pony/package-info.java index 29d2d648..b83ba342 100644 --- a/src/main/java/com/minelittlepony/pony/package-info.java +++ b/src/main/java/com/minelittlepony/api/pony/package-info.java @@ -1,4 +1,4 @@ @ParametersAreNonnullByDefault -package com.minelittlepony.pony; +package com.minelittlepony.api.pony; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/src/main/java/com/minelittlepony/client/HorseCam.java b/src/main/java/com/minelittlepony/client/HorseCam.java index 24b8987e..9a6f8cf3 100644 --- a/src/main/java/com/minelittlepony/client/HorseCam.java +++ b/src/main/java/com/minelittlepony/client/HorseCam.java @@ -5,7 +5,7 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.hit.HitResult; import net.minecraft.util.math.Vec3d; -import com.minelittlepony.pony.IPony; +import com.minelittlepony.api.pony.IPony; public class HorseCam { /** diff --git a/src/main/java/com/minelittlepony/client/MineLittlePony.java b/src/main/java/com/minelittlepony/client/MineLittlePony.java index c936451b..b16580e9 100644 --- a/src/main/java/com/minelittlepony/client/MineLittlePony.java +++ b/src/main/java/com/minelittlepony/client/MineLittlePony.java @@ -1,5 +1,6 @@ package com.minelittlepony.client; +import com.minelittlepony.api.pony.IPonyManager; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.pony.PonyManager; import com.minelittlepony.client.render.PonyRenderDispatcher; @@ -12,7 +13,6 @@ import com.minelittlepony.common.event.ClientReadyCallback; import com.minelittlepony.common.event.ScreenInitCallback; import com.minelittlepony.common.event.SkinFilterCallback; import com.minelittlepony.common.util.GamePaths; -import com.minelittlepony.pony.IPonyManager; import com.minelittlepony.settings.PonyConfig; import net.fabricmc.api.ClientModInitializer; diff --git a/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java b/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java index 8e03aa18..d78ed048 100644 --- a/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java +++ b/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java @@ -1,5 +1,7 @@ package com.minelittlepony.client.hdskins; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.meta.Race; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ClientPonyModel; import com.minelittlepony.client.model.ModelType; @@ -13,8 +15,6 @@ import com.minelittlepony.client.render.entity.feature.ElytraFeature; import com.minelittlepony.hdskins.client.dummy.DummyPlayerRenderer; import com.minelittlepony.hdskins.profile.SkinType; import com.minelittlepony.mson.api.ModelKey; -import com.minelittlepony.pony.IPony; -import com.minelittlepony.pony.meta.Race; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.entity.EntityRenderDispatcher; diff --git a/src/main/java/com/minelittlepony/client/hdskins/GuiSkinsMineLP.java b/src/main/java/com/minelittlepony/client/hdskins/GuiSkinsMineLP.java index 406bf060..6293bcc8 100644 --- a/src/main/java/com/minelittlepony/client/hdskins/GuiSkinsMineLP.java +++ b/src/main/java/com/minelittlepony/client/hdskins/GuiSkinsMineLP.java @@ -1,5 +1,6 @@ package com.minelittlepony.client.hdskins; +import com.minelittlepony.api.pony.IPonyManager; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.common.client.gui.element.Cycler; import com.minelittlepony.common.client.gui.style.Style; @@ -7,7 +8,6 @@ import com.minelittlepony.hdskins.client.dummy.PlayerPreview; import com.minelittlepony.hdskins.client.gui.GuiSkins; import com.minelittlepony.hdskins.server.SkinServerList; import com.minelittlepony.hdskins.profile.SkinType; -import com.minelittlepony.pony.IPonyManager; import com.mojang.authlib.minecraft.MinecraftProfileTexture; import net.minecraft.item.Items; diff --git a/src/main/java/com/minelittlepony/client/hdskins/PonyPreview.java b/src/main/java/com/minelittlepony/client/hdskins/PonyPreview.java index a737d5e9..7ee31a71 100644 --- a/src/main/java/com/minelittlepony/client/hdskins/PonyPreview.java +++ b/src/main/java/com/minelittlepony/client/hdskins/PonyPreview.java @@ -2,12 +2,12 @@ package com.minelittlepony.client.hdskins; import net.minecraft.util.Identifier; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.meta.Race; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.hdskins.client.dummy.DummyPlayer; import com.minelittlepony.hdskins.client.dummy.PlayerPreview; import com.minelittlepony.hdskins.profile.SkinType; -import com.minelittlepony.pony.IPony; -import com.minelittlepony.pony.meta.Race; class PonyPreview extends PlayerPreview { diff --git a/src/main/java/com/minelittlepony/client/mixin/MixinCamera.java b/src/main/java/com/minelittlepony/client/mixin/MixinCamera.java index 77179ed3..d4fb9758 100644 --- a/src/main/java/com/minelittlepony/client/mixin/MixinCamera.java +++ b/src/main/java/com/minelittlepony/client/mixin/MixinCamera.java @@ -5,8 +5,8 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; +import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.MineLittlePony; -import com.minelittlepony.pony.IPony; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.Camera; diff --git a/src/main/java/com/minelittlepony/client/mixin/MixinClientPlayerEntity.java b/src/main/java/com/minelittlepony/client/mixin/MixinClientPlayerEntity.java index 8b6539cc..b6dee851 100644 --- a/src/main/java/com/minelittlepony/client/mixin/MixinClientPlayerEntity.java +++ b/src/main/java/com/minelittlepony/client/mixin/MixinClientPlayerEntity.java @@ -1,7 +1,8 @@ package com.minelittlepony.client.mixin; +import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.MineLittlePony; -import com.minelittlepony.pony.IPony; + import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.entity.EntityDimensions; diff --git a/src/main/java/com/minelittlepony/client/mixin/MixinDefaultPlayerSkin.java b/src/main/java/com/minelittlepony/client/mixin/MixinDefaultPlayerSkin.java index 39525997..4d159074 100644 --- a/src/main/java/com/minelittlepony/client/mixin/MixinDefaultPlayerSkin.java +++ b/src/main/java/com/minelittlepony/client/mixin/MixinDefaultPlayerSkin.java @@ -1,8 +1,8 @@ package com.minelittlepony.client.mixin; +import com.minelittlepony.api.pony.IPonyManager; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.entity.race.PlayerModels; -import com.minelittlepony.pony.IPonyManager; import com.minelittlepony.settings.PonyLevel; import net.minecraft.client.util.DefaultSkinHelper; diff --git a/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java b/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java index 48265f39..1c90bf32 100644 --- a/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java @@ -1,13 +1,13 @@ package com.minelittlepony.client.model; import com.minelittlepony.client.model.armour.PonyArmourModel; +import com.minelittlepony.api.pony.meta.Race; import com.minelittlepony.client.model.armour.ArmourWrapper; import com.minelittlepony.client.transform.PonyTransformation; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.armour.IEquestrianArmour; import com.minelittlepony.mson.api.ModelContext; import com.minelittlepony.mson.api.model.MsonPart; -import com.minelittlepony.pony.meta.Race; import net.minecraft.client.model.ModelPart; import net.minecraft.client.render.VertexConsumer; diff --git a/src/main/java/com/minelittlepony/client/model/ClientPonyModel.java b/src/main/java/com/minelittlepony/client/model/ClientPonyModel.java index b6d28222..af43d2b5 100644 --- a/src/main/java/com/minelittlepony/client/model/ClientPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/ClientPonyModel.java @@ -5,13 +5,13 @@ import net.minecraft.client.render.entity.model.BipedEntityModel; import net.minecraft.entity.LivingEntity; import net.minecraft.util.Arm; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.IPonyData; +import com.minelittlepony.api.pony.meta.Size; import com.minelittlepony.client.pony.PonyData; import com.minelittlepony.client.render.EquineRenderManager; import com.minelittlepony.model.ModelAttributes; import com.minelittlepony.mson.api.model.biped.MsonPlayer; -import com.minelittlepony.pony.IPony; -import com.minelittlepony.pony.IPonyData; -import com.minelittlepony.pony.meta.Size; /** * The raw pony model without any implementations. diff --git a/src/main/java/com/minelittlepony/client/model/IPonyMixinModel.java b/src/main/java/com/minelittlepony/client/model/IPonyMixinModel.java index 7a081055..33d896ab 100644 --- a/src/main/java/com/minelittlepony/client/model/IPonyMixinModel.java +++ b/src/main/java/com/minelittlepony/client/model/IPonyMixinModel.java @@ -6,6 +6,9 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.LivingEntity; import net.minecraft.util.Arm; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.IPonyData; +import com.minelittlepony.api.pony.meta.Size; import com.minelittlepony.client.render.EquineRenderManager; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.IUnicorn; @@ -13,9 +16,6 @@ import com.minelittlepony.model.ModelAttributes; import com.minelittlepony.model.armour.IEquestrianArmour; import com.minelittlepony.mson.api.ModelContext; import com.minelittlepony.mson.api.model.BoxBuilder.RenderLayerSetter; -import com.minelittlepony.pony.IPony; -import com.minelittlepony.pony.IPonyData; -import com.minelittlepony.pony.meta.Size; public interface IPonyMixinModel> extends IPonyModel { diff --git a/src/main/java/com/minelittlepony/client/model/IPonyModel.java b/src/main/java/com/minelittlepony/client/model/IPonyModel.java index 07680cb9..5c7735d4 100644 --- a/src/main/java/com/minelittlepony/client/model/IPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/IPonyModel.java @@ -4,17 +4,19 @@ import net.minecraft.client.model.ModelPart; import net.minecraft.client.render.entity.model.BipedEntityModel; import net.minecraft.entity.LivingEntity; +import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.render.EquineRenderManager; +import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.ICapitated; -import com.minelittlepony.model.ICompartmented; import com.minelittlepony.model.IModel; import com.minelittlepony.model.PonyModelConstants; import com.minelittlepony.mson.api.MsonModel; -import com.minelittlepony.pony.IPony; -public interface IPonyModel extends PonyModelConstants, IModel, ICapitated, ICompartmented, MsonModel { +public interface IPonyModel extends PonyModelConstants, IModel, ICapitated, MsonModel { void copyAttributes(BipedEntityModel other); void updateLivingState(T entity, IPony pony, EquineRenderManager.Mode mode); + + ModelPart getBodyPart(BodyPart part); } diff --git a/src/main/java/com/minelittlepony/client/model/ModelType.java b/src/main/java/com/minelittlepony/client/model/ModelType.java index bde9ae29..d293ae2a 100644 --- a/src/main/java/com/minelittlepony/client/model/ModelType.java +++ b/src/main/java/com/minelittlepony/client/model/ModelType.java @@ -5,6 +5,8 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.entity.mob.VexEntity; import net.minecraft.util.Identifier; +import com.minelittlepony.api.pony.meta.Race; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.client.model.armour.PonyArmourModel; import com.minelittlepony.client.model.entity.BreezieModel; import com.minelittlepony.client.model.entity.EnderStallionModel; @@ -35,8 +37,6 @@ import com.minelittlepony.model.gear.IGear; import com.minelittlepony.mson.api.ModelKey; import com.minelittlepony.mson.api.Mson; import com.minelittlepony.mson.api.MsonModel; -import com.minelittlepony.pony.meta.Race; -import com.minelittlepony.pony.meta.Wearable; import javax.annotation.Nullable; diff --git a/src/main/java/com/minelittlepony/client/model/ModelWrapper.java b/src/main/java/com/minelittlepony/client/model/ModelWrapper.java index 0bae4543..aba00a76 100644 --- a/src/main/java/com/minelittlepony/client/model/ModelWrapper.java +++ b/src/main/java/com/minelittlepony/client/model/ModelWrapper.java @@ -2,12 +2,12 @@ package com.minelittlepony.client.model; import net.minecraft.entity.LivingEntity; +import com.minelittlepony.api.pony.IPonyData; import com.minelittlepony.model.IModel; import com.minelittlepony.model.armour.IArmour; import com.minelittlepony.model.armour.IEquestrianArmour; import com.minelittlepony.model.capabilities.IModelWrapper; import com.minelittlepony.mson.api.ModelKey; -import com.minelittlepony.pony.IPonyData; /** * Container class for the various models and their associated piece of armour. diff --git a/src/main/java/com/minelittlepony/client/model/PonySkullModel.java b/src/main/java/com/minelittlepony/client/model/PonySkullModel.java index d49f82a2..e5adf72a 100644 --- a/src/main/java/com/minelittlepony/client/model/PonySkullModel.java +++ b/src/main/java/com/minelittlepony/client/model/PonySkullModel.java @@ -1,5 +1,6 @@ package com.minelittlepony.client.model; +import com.minelittlepony.api.pony.IPonyData; import com.minelittlepony.client.model.part.PonyEars; import com.minelittlepony.client.model.part.PonySnout; import com.minelittlepony.client.model.part.UnicornHorn; @@ -7,7 +8,7 @@ import com.minelittlepony.client.pony.PonyData; import com.minelittlepony.model.ICapitated; import com.minelittlepony.mson.api.ModelContext; import com.minelittlepony.mson.api.MsonModel; -import com.minelittlepony.pony.IPonyData; + import net.minecraft.client.model.ModelPart; import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.entity.model.SkullOverlayEntityModel; diff --git a/src/main/java/com/minelittlepony/client/model/armour/ArmourWrapper.java b/src/main/java/com/minelittlepony/client/model/armour/ArmourWrapper.java index 9918607a..e0ea4f0b 100644 --- a/src/main/java/com/minelittlepony/client/model/armour/ArmourWrapper.java +++ b/src/main/java/com/minelittlepony/client/model/armour/ArmourWrapper.java @@ -2,10 +2,10 @@ package com.minelittlepony.client.model.armour; import net.minecraft.entity.LivingEntity; +import com.minelittlepony.api.pony.IPonyData; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.model.armour.ArmourLayer; import com.minelittlepony.model.armour.IEquestrianArmour; -import com.minelittlepony.pony.IPonyData; import java.util.function.Supplier; diff --git a/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java b/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java index 4e67fa30..da4da4f9 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java @@ -4,8 +4,8 @@ import net.minecraft.entity.mob.HostileEntity; import net.minecraft.entity.mob.PiglinEntity; import net.minecraft.util.math.MathHelper; +import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.render.EquineRenderManager; -import com.minelittlepony.pony.IPony; public class PiglinPonyModel extends ZomponyModel { diff --git a/src/main/java/com/minelittlepony/client/model/entity/VillagerPonyModel.java b/src/main/java/com/minelittlepony/client/model/entity/VillagerPonyModel.java index 94658fb2..7dedaba9 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/VillagerPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/VillagerPonyModel.java @@ -10,8 +10,8 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.village.VillagerDataContainer; import net.minecraft.village.VillagerProfession; -import com.minelittlepony.pony.IPony; -import com.minelittlepony.pony.meta.Race; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.meta.Race; import com.minelittlepony.client.model.entity.race.AlicornModel; import com.minelittlepony.client.render.EquineRenderManager; import com.minelittlepony.client.render.entity.npc.PonyTextures; diff --git a/src/main/java/com/minelittlepony/client/model/entity/WitchPonyModel.java b/src/main/java/com/minelittlepony/client/model/entity/WitchPonyModel.java index b97648b2..575f7372 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/WitchPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/WitchPonyModel.java @@ -3,10 +3,10 @@ package com.minelittlepony.client.model.entity; import net.minecraft.entity.mob.WitchEntity; import net.minecraft.util.math.MathHelper; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.client.model.entity.race.ZebraModel; import com.minelittlepony.client.render.EquineRenderManager; -import com.minelittlepony.pony.IPony; -import com.minelittlepony.pony.meta.Wearable; public class WitchPonyModel extends ZebraModel { diff --git a/src/main/java/com/minelittlepony/client/model/entity/race/PlayerModels.java b/src/main/java/com/minelittlepony/client/model/entity/race/PlayerModels.java index ef7470e7..3a136bec 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/race/PlayerModels.java +++ b/src/main/java/com/minelittlepony/client/model/entity/race/PlayerModels.java @@ -1,9 +1,9 @@ package com.minelittlepony.client.model.entity.race; import com.google.common.collect.Maps; +import com.minelittlepony.api.pony.meta.Race; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.PlayerModelKey; -import com.minelittlepony.pony.meta.Race; import java.util.Arrays; import java.util.List; diff --git a/src/main/java/com/minelittlepony/client/model/entity/race/SeaponyModel.java b/src/main/java/com/minelittlepony/client/model/entity/race/SeaponyModel.java index bac39ec2..ec623060 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/race/SeaponyModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/race/SeaponyModel.java @@ -2,11 +2,11 @@ package com.minelittlepony.client.model.entity.race; import com.minelittlepony.client.model.armour.PonyArmourModel; import com.minelittlepony.client.render.EquineRenderManager; +import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.model.armour.ArmourWrapper; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.armour.IEquestrianArmour; import com.minelittlepony.mson.api.ModelContext; -import com.minelittlepony.pony.IPony; import net.minecraft.client.model.ModelPart; import net.minecraft.client.render.VertexConsumer; diff --git a/src/main/java/com/minelittlepony/client/model/gear/ChristmasHat.java b/src/main/java/com/minelittlepony/client/model/gear/ChristmasHat.java index a4f061c0..a5d76f63 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/ChristmasHat.java +++ b/src/main/java/com/minelittlepony/client/model/gear/ChristmasHat.java @@ -7,10 +7,10 @@ import net.minecraft.entity.Entity; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.IModel; import com.minelittlepony.mson.api.ModelContext; -import com.minelittlepony.pony.meta.Wearable; import com.minelittlepony.util.Color; import java.util.Calendar; diff --git a/src/main/java/com/minelittlepony/client/model/gear/IRenderContext.java b/src/main/java/com/minelittlepony/client/model/gear/IRenderContext.java index 87669827..c5edc1bb 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/IRenderContext.java +++ b/src/main/java/com/minelittlepony/client/model/gear/IRenderContext.java @@ -3,9 +3,9 @@ package com.minelittlepony.client.model.gear; import net.minecraft.entity.Entity; import net.minecraft.util.Identifier; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.model.IModel; import com.minelittlepony.model.gear.IGear; -import com.minelittlepony.pony.meta.Wearable; import javax.annotation.Nullable; diff --git a/src/main/java/com/minelittlepony/client/model/gear/Muffin.java b/src/main/java/com/minelittlepony/client/model/gear/Muffin.java index e7d4c82d..4c9984fa 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/Muffin.java +++ b/src/main/java/com/minelittlepony/client/model/gear/Muffin.java @@ -3,11 +3,11 @@ package com.minelittlepony.client.model.gear; import net.minecraft.entity.Entity; import net.minecraft.util.Identifier; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.IModel; import com.minelittlepony.model.gear.IStackable; import com.minelittlepony.mson.api.ModelContext; -import com.minelittlepony.pony.meta.Wearable; public class Muffin extends AbstractGear implements IStackable { diff --git a/src/main/java/com/minelittlepony/client/model/gear/SaddleBags.java b/src/main/java/com/minelittlepony/client/model/gear/SaddleBags.java index dd33a8b6..e56f9ea3 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/SaddleBags.java +++ b/src/main/java/com/minelittlepony/client/model/gear/SaddleBags.java @@ -1,11 +1,11 @@ package com.minelittlepony.client.model.gear; +import com.minelittlepony.api.pony.meta.Race; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.IModel; import com.minelittlepony.model.IPegasus; import com.minelittlepony.mson.api.ModelContext; -import com.minelittlepony.pony.meta.Race; -import com.minelittlepony.pony.meta.Wearable; import java.util.UUID; diff --git a/src/main/java/com/minelittlepony/client/model/gear/Stetson.java b/src/main/java/com/minelittlepony/client/model/gear/Stetson.java index ece55027..5fc14296 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/Stetson.java +++ b/src/main/java/com/minelittlepony/client/model/gear/Stetson.java @@ -3,11 +3,11 @@ package com.minelittlepony.client.model.gear; import net.minecraft.entity.Entity; import net.minecraft.util.Identifier; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.IModel; import com.minelittlepony.model.gear.IStackable; import com.minelittlepony.mson.api.ModelContext; -import com.minelittlepony.pony.meta.Wearable; public class Stetson extends AbstractGear implements IStackable { private static final Identifier TEXTURE = new Identifier("minelittlepony", "textures/models/stetson.png"); diff --git a/src/main/java/com/minelittlepony/client/model/gear/WitchHat.java b/src/main/java/com/minelittlepony/client/model/gear/WitchHat.java index 1a5fd9e3..53f69ba7 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/WitchHat.java +++ b/src/main/java/com/minelittlepony/client/model/gear/WitchHat.java @@ -3,11 +3,11 @@ package com.minelittlepony.client.model.gear; import net.minecraft.entity.Entity; import net.minecraft.util.Identifier; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.IModel; import com.minelittlepony.model.gear.IStackable; import com.minelittlepony.mson.api.ModelContext; -import com.minelittlepony.pony.meta.Wearable; public class WitchHat extends AbstractGear implements IStackable { diff --git a/src/main/java/com/minelittlepony/client/model/part/PegasusWings.java b/src/main/java/com/minelittlepony/client/model/part/PegasusWings.java index 67b3b781..3f761fc1 100644 --- a/src/main/java/com/minelittlepony/client/model/part/PegasusWings.java +++ b/src/main/java/com/minelittlepony/client/model/part/PegasusWings.java @@ -6,11 +6,11 @@ import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.math.MathHelper; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.model.IPart; import com.minelittlepony.model.IPegasus; import com.minelittlepony.mson.api.ModelContext; import com.minelittlepony.mson.api.MsonModel; -import com.minelittlepony.pony.meta.Wearable; import java.util.UUID; diff --git a/src/main/java/com/minelittlepony/client/model/part/PonySnout.java b/src/main/java/com/minelittlepony/client/model/part/PonySnout.java index 6f5c0551..40e42d28 100644 --- a/src/main/java/com/minelittlepony/client/model/part/PonySnout.java +++ b/src/main/java/com/minelittlepony/client/model/part/PonySnout.java @@ -4,13 +4,13 @@ import net.minecraft.client.model.ModelPart; import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.util.math.MatrixStack; +import com.minelittlepony.api.pony.meta.Gender; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.model.IPart; import com.minelittlepony.mson.api.ModelContext; import com.minelittlepony.mson.api.MsonModel; import com.minelittlepony.mson.api.model.MsonPart; import com.minelittlepony.mson.api.model.BoxBuilder.ContentAccessor; -import com.minelittlepony.pony.meta.Gender; import java.util.UUID; diff --git a/src/main/java/com/minelittlepony/client/pony/BackgroundPonyList.java b/src/main/java/com/minelittlepony/client/pony/BackgroundPonyList.java new file mode 100644 index 00000000..ab03bad5 --- /dev/null +++ b/src/main/java/com/minelittlepony/client/pony/BackgroundPonyList.java @@ -0,0 +1,142 @@ +package com.minelittlepony.client.pony; + +import net.minecraft.resource.Resource; +import net.minecraft.resource.ResourceManager; +import net.minecraft.resource.ResourceReloadListener.Synchronizer; +import net.minecraft.util.Identifier; +import net.minecraft.util.profiler.Profiler; + +import com.google.common.collect.Lists; +import com.google.gson.Gson; +import com.google.gson.JsonParseException; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.IPonyManager; +import com.minelittlepony.client.MineLittlePony; +import com.minelittlepony.common.util.MoreStreams; +import com.minelittlepony.util.MathUtil; + +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executor; + +public class BackgroundPonyList { + + private static final Gson GSON = new Gson(); + + /** + * All currently loaded background ponies. + */ + private List backgroundPonyList = Lists.newArrayList(); + + public IPony getBackgroundPony(UUID uuid) { + if (getNumberOfPonies() == 0 || isUser(uuid)) { + return getPony(IPonyManager.getDefaultSkin(uuid)); + } + + int bgi = MathUtil.mod(uuid.hashCode(), getNumberOfPonies()); + + return getPony(backgroundPonyList.get(bgi)); + } + + public void reloadAll(ResourceManager resourceManager) { + backgroundPonyList.clear(); + + List collectedPaths = new LinkedList<>(); + List collectedPonies = new LinkedList<>(); + + Queue processingQueue = new LinkedList<>(); + + for (String domain : resourceManager.getAllNamespaces()) { + processingQueue.addAll(loadBgPonies(resourceManager, new Identifier(domain, BGPONIES_JSON))); + } + + BackgroundPonies item; + while ((item = processingQueue.poll()) != null) { + for (Identifier imp : item.getImports()) { + if (!collectedPaths.contains(imp)) { + collectedPaths.add(imp); + processingQueue.addAll(loadBgPonies(resourceManager, imp)); + } + } + + collectedPonies.add(item); + } + + for (BackgroundPonies i : collectedPonies) { + if (i.override) { + backgroundPonyList.clear(); + } + + backgroundPonyList.addAll(i.getPonies()); + } + + backgroundPonyList = MoreStreams.distinct(backgroundPonyList); + + MineLittlePony.logger.info("Detected {} background ponies installed.", getNumberOfPonies()); + } + + + private Queue loadBgPonies(ResourceManager resourceManager, Identifier location) { + Queue collectedPonies = new LinkedList<>(); + + try { + String path = location.getPath().replace("bgponies.json", ""); + + for (Resource res : resourceManager.getAllResources(location)) { + try (Reader reader = new InputStreamReader((res.getInputStream()))) { + BackgroundPonies ponies = GSON.fromJson(reader, BackgroundPonies.class); + + ponies.domain = location.getNamespace(); + ponies.path = path; + + collectedPonies.add(ponies); + } catch (JsonParseException e) { + MineLittlePony.logger.error("Invalid bgponies.json in " + res.getResourcePackName(), e); + } + } + } catch (IOException ignored) { + // this isn't the exception you're looking for. + } + + return collectedPonies; + } + + private int getNumberOfPonies() { + return backgroundPonyList.size(); + } + + private static class BackgroundPonies { + + private boolean override; + + private List ponies; + + private List imports = new ArrayList<>(); + + private String domain; + private String path; + + private Identifier apply(String input) { + return new Identifier(domain, String.format("%s%s.png", path, input)); + } + + private Identifier makeImport(String input) { + return new Identifier(domain, String.format("%s%s/bgponies.json", path, input)); + } + + public List getPonies() { + return MoreStreams.map(ponies, this::apply); + } + + public List getImports() { + return MoreStreams.map(imports, this::makeImport); + } + } +} diff --git a/src/main/java/com/minelittlepony/client/pony/Pony.java b/src/main/java/com/minelittlepony/client/pony/Pony.java index 8c1fa18f..0cac5cda 100644 --- a/src/main/java/com/minelittlepony/client/pony/Pony.java +++ b/src/main/java/com/minelittlepony/client/pony/Pony.java @@ -1,13 +1,13 @@ package com.minelittlepony.client.pony; import com.google.common.base.MoreObjects; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.IPonyData; +import com.minelittlepony.api.pony.meta.Race; +import com.minelittlepony.api.pony.meta.Size; import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.client.render.PonyRenderDispatcher; import com.minelittlepony.client.transform.PonyTransformation; -import com.minelittlepony.pony.IPony; -import com.minelittlepony.pony.IPonyData; -import com.minelittlepony.pony.meta.Race; -import com.minelittlepony.pony.meta.Size; import net.minecraft.block.BlockState; import net.minecraft.block.Material; diff --git a/src/main/java/com/minelittlepony/client/pony/PonyData.java b/src/main/java/com/minelittlepony/client/pony/PonyData.java index b01a0bdf..2dd74399 100644 --- a/src/main/java/com/minelittlepony/client/pony/PonyData.java +++ b/src/main/java/com/minelittlepony/client/pony/PonyData.java @@ -7,15 +7,15 @@ import net.minecraft.util.Identifier; import com.google.common.base.MoreObjects; import com.google.gson.annotations.Expose; +import com.minelittlepony.api.pony.IPonyData; +import com.minelittlepony.api.pony.meta.Gender; +import com.minelittlepony.api.pony.meta.Race; +import com.minelittlepony.api.pony.meta.Size; +import com.minelittlepony.api.pony.meta.TailLength; +import com.minelittlepony.api.pony.meta.TriggerPixels; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.util.render.NativeUtil; -import com.minelittlepony.pony.IPonyData; -import com.minelittlepony.pony.meta.Gender; -import com.minelittlepony.pony.meta.Race; -import com.minelittlepony.pony.meta.Size; -import com.minelittlepony.pony.meta.TailLength; -import com.minelittlepony.pony.meta.TriggerPixels; -import com.minelittlepony.pony.meta.Wearable; import com.minelittlepony.util.BasicEasingInterpolator; import com.minelittlepony.util.IInterpolator; diff --git a/src/main/java/com/minelittlepony/client/pony/PonyManager.java b/src/main/java/com/minelittlepony/client/pony/PonyManager.java index 9bcfe635..dad38574 100644 --- a/src/main/java/com/minelittlepony/client/pony/PonyManager.java +++ b/src/main/java/com/minelittlepony/client/pony/PonyManager.java @@ -6,10 +6,10 @@ import com.google.common.cache.LoadingCache; import com.google.common.collect.Lists; import com.google.gson.Gson; import com.google.gson.JsonParseException; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.IPonyManager; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.common.util.MoreStreams; -import com.minelittlepony.pony.IPony; -import com.minelittlepony.pony.IPonyManager; import com.minelittlepony.settings.PonyConfig; import com.minelittlepony.settings.PonyLevel; import com.minelittlepony.util.MathUtil; diff --git a/src/main/java/com/minelittlepony/client/render/DebugBoundingBoxRenderer.java b/src/main/java/com/minelittlepony/client/render/DebugBoundingBoxRenderer.java index 0c2c95b4..bb504ece 100644 --- a/src/main/java/com/minelittlepony/client/render/DebugBoundingBoxRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/DebugBoundingBoxRenderer.java @@ -12,7 +12,7 @@ import net.minecraft.util.math.Box; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; -import com.minelittlepony.pony.IPony; +import com.minelittlepony.api.pony.IPony; public final class DebugBoundingBoxRenderer { diff --git a/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java b/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java index b84fce10..5cbc62d7 100644 --- a/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java +++ b/src/main/java/com/minelittlepony/client/render/EquineRenderManager.java @@ -1,11 +1,11 @@ package com.minelittlepony.client.render; +import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.model.ModelWrapper; import com.minelittlepony.client.transform.PonyPosture; import com.minelittlepony.mson.api.ModelKey; -import com.minelittlepony.pony.IPony; import com.minelittlepony.util.MathUtil; import com.mojang.blaze3d.platform.GlStateManager.DstFactor; import com.mojang.blaze3d.platform.GlStateManager.SrcFactor; diff --git a/src/main/java/com/minelittlepony/client/render/FrustrumCheck.java b/src/main/java/com/minelittlepony/client/render/FrustrumCheck.java index ccfa46e0..cd9e4532 100644 --- a/src/main/java/com/minelittlepony/client/render/FrustrumCheck.java +++ b/src/main/java/com/minelittlepony/client/render/FrustrumCheck.java @@ -5,7 +5,7 @@ import net.minecraft.client.util.math.Matrix4f; import net.minecraft.entity.LivingEntity; import net.minecraft.util.math.Box; -import com.minelittlepony.pony.IPony; +import com.minelittlepony.api.pony.IPony; public class FrustrumCheck extends Frustum { diff --git a/src/main/java/com/minelittlepony/client/render/IPonyRenderContext.java b/src/main/java/com/minelittlepony/client/render/IPonyRenderContext.java index cce5b8e3..efaac375 100644 --- a/src/main/java/com/minelittlepony/client/render/IPonyRenderContext.java +++ b/src/main/java/com/minelittlepony/client/render/IPonyRenderContext.java @@ -1,12 +1,12 @@ package com.minelittlepony.client.render; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.model.ModelWrapper; import com.minelittlepony.client.model.gear.IRenderContext; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.PonyModelConstants; -import com.minelittlepony.pony.IPony; -import com.minelittlepony.pony.meta.Wearable; import com.minelittlepony.util.MathUtil; import net.minecraft.client.render.entity.model.EntityModel; diff --git a/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java b/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java index d4fe215d..56ddad8d 100644 --- a/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java @@ -1,7 +1,7 @@ package com.minelittlepony.client.render; +import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.MineLittlePony; -import com.minelittlepony.pony.IPony; import com.minelittlepony.util.Color; import javax.annotation.Nullable; diff --git a/src/main/java/com/minelittlepony/client/render/blockentity/skull/AbstractPonySkull.java b/src/main/java/com/minelittlepony/client/render/blockentity/skull/AbstractPonySkull.java index a5c560b6..df81eb8a 100644 --- a/src/main/java/com/minelittlepony/client/render/blockentity/skull/AbstractPonySkull.java +++ b/src/main/java/com/minelittlepony/client/render/blockentity/skull/AbstractPonySkull.java @@ -5,8 +5,8 @@ import net.minecraft.client.util.math.MatrixStack; import com.minelittlepony.client.model.PonySkullModel; import com.minelittlepony.client.render.blockentity.skull.PonySkullRenderer.ISkull; +import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.model.ModelType; -import com.minelittlepony.pony.IPony; public abstract class AbstractPonySkull implements ISkull { diff --git a/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java b/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java index 24fc5c09..b3f5b823 100644 --- a/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java @@ -1,13 +1,13 @@ package com.minelittlepony.client.render.blockentity.skull; import com.google.common.collect.Maps; +import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.render.LevitatingItemRenderer; import com.minelittlepony.client.render.MobRenderers; import com.minelittlepony.client.render.entity.SkeleponyRenderer; import com.minelittlepony.client.render.entity.ZomponyRenderer; import com.minelittlepony.mson.api.Mson; -import com.minelittlepony.pony.IPony; import com.minelittlepony.settings.PonyConfig; import com.mojang.authlib.GameProfile; diff --git a/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java index 4f88a659..5539718e 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java @@ -1,5 +1,8 @@ package com.minelittlepony.client.render.entity; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.meta.Race; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ClientPonyModel; import com.minelittlepony.client.model.ModelWrapper; @@ -17,9 +20,6 @@ import com.minelittlepony.client.render.entity.feature.CapeFeature; import com.minelittlepony.client.render.entity.feature.SkullFeature; import com.minelittlepony.client.render.entity.feature.ElytraFeature; import com.minelittlepony.mson.api.ModelKey; -import com.minelittlepony.pony.IPony; -import com.minelittlepony.pony.meta.Race; -import com.minelittlepony.pony.meta.Wearable; import java.util.List; diff --git a/src/main/java/com/minelittlepony/client/render/entity/PlayerSeaponyRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/PlayerSeaponyRenderer.java index 52d82dbe..e3ec7e98 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/PlayerSeaponyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PlayerSeaponyRenderer.java @@ -1,11 +1,11 @@ package com.minelittlepony.client.render.entity; +import com.minelittlepony.api.pony.IPony; +import com.minelittlepony.api.pony.meta.Race; import com.minelittlepony.client.model.ClientPonyModel; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.ModelWrapper; import com.minelittlepony.mson.api.ModelKey; -import com.minelittlepony.pony.IPony; -import com.minelittlepony.pony.meta.Race; import com.minelittlepony.util.MathUtil; import net.minecraft.client.network.AbstractClientPlayerEntity; diff --git a/src/main/java/com/minelittlepony/client/render/entity/PonyRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/PonyRenderer.java index 1b13c76f..ad9bf5b9 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/PonyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PonyRenderer.java @@ -1,5 +1,6 @@ package com.minelittlepony.client.render.entity; +import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ClientPonyModel; import com.minelittlepony.client.model.IPonyModel; @@ -15,7 +16,6 @@ import com.minelittlepony.client.render.entity.feature.SkullFeature; import com.minelittlepony.client.render.entity.feature.ElytraFeature; import com.minelittlepony.model.IUnicorn; import com.minelittlepony.mson.api.ModelKey; -import com.minelittlepony.pony.IPony; import net.minecraft.client.model.ModelPart; import net.minecraft.client.render.Frustum; diff --git a/src/main/java/com/minelittlepony/client/render/entity/PonyStandRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/PonyStandRenderer.java index 714b8cc2..8245fe25 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/PonyStandRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PonyStandRenderer.java @@ -13,13 +13,13 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.decoration.ArmorStandEntity; +import com.minelittlepony.api.pony.meta.Race; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.ModelWrapper; import com.minelittlepony.client.model.entity.race.EarthPonyModel; import com.minelittlepony.client.pony.PonyData; import com.minelittlepony.client.render.entity.feature.ArmourFeature; import com.minelittlepony.model.armour.ArmourLayer; -import com.minelittlepony.pony.meta.Race; public class PonyStandRenderer extends ArmorStandEntityRenderer { diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java b/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java index 17d8f9bd..a3f19ea0 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java @@ -8,13 +8,13 @@ import net.minecraft.client.render.entity.model.EntityModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.LivingEntity; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.client.model.IPonyModel; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.gear.IGear; import com.minelittlepony.model.gear.IStackable; -import com.minelittlepony.pony.meta.Wearable; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/com/minelittlepony/client/render/entity/npc/AbstractNpcRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/npc/AbstractNpcRenderer.java index 51366330..f933c0c6 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/npc/AbstractNpcRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/AbstractNpcRenderer.java @@ -8,12 +8,12 @@ import net.minecraft.util.Identifier; import net.minecraft.village.VillagerDataContainer; import net.minecraft.village.VillagerProfession; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.client.model.ClientPonyModel; import com.minelittlepony.client.render.entity.PonyRenderer; import com.minelittlepony.model.IUnicorn; import com.minelittlepony.model.gear.IGear; import com.minelittlepony.mson.api.ModelKey; -import com.minelittlepony.pony.meta.Wearable; abstract class AbstractNpcRenderer< T extends MobEntity & VillagerDataContainer, diff --git a/src/main/java/com/minelittlepony/client/transform/PonyTransformation.java b/src/main/java/com/minelittlepony/client/transform/PonyTransformation.java index caf521cb..ab740cd8 100644 --- a/src/main/java/com/minelittlepony/client/transform/PonyTransformation.java +++ b/src/main/java/com/minelittlepony/client/transform/PonyTransformation.java @@ -4,9 +4,9 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.math.Vec3d; import com.google.common.collect.Maps; +import com.minelittlepony.api.pony.meta.Size; import com.minelittlepony.model.BodyPart; import com.minelittlepony.model.IModel; -import com.minelittlepony.pony.meta.Size; import java.util.Map; diff --git a/src/main/java/com/minelittlepony/model/ICompartmented.java b/src/main/java/com/minelittlepony/model/ICompartmented.java deleted file mode 100644 index 11cf47a6..00000000 --- a/src/main/java/com/minelittlepony/model/ICompartmented.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.minelittlepony.model; - -public interface ICompartmented { - Part getBodyPart(BodyPart part); -} diff --git a/src/main/java/com/minelittlepony/model/IModel.java b/src/main/java/com/minelittlepony/model/IModel.java index 6a6fae7f..e01f3432 100644 --- a/src/main/java/com/minelittlepony/model/IModel.java +++ b/src/main/java/com/minelittlepony/model/IModel.java @@ -4,10 +4,10 @@ import net.minecraft.client.render.entity.model.ModelWithArms; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.math.MathHelper; +import com.minelittlepony.api.pony.IPonyData; +import com.minelittlepony.api.pony.meta.Size; +import com.minelittlepony.api.pony.meta.Wearable; import com.minelittlepony.model.armour.IEquestrianArmour; -import com.minelittlepony.pony.IPonyData; -import com.minelittlepony.pony.meta.Size; -import com.minelittlepony.pony.meta.Wearable; public interface IModel extends ModelWithArms { diff --git a/src/main/java/com/minelittlepony/model/ModelAttributes.java b/src/main/java/com/minelittlepony/model/ModelAttributes.java index 7e66ec86..63a6383b 100644 --- a/src/main/java/com/minelittlepony/model/ModelAttributes.java +++ b/src/main/java/com/minelittlepony/model/ModelAttributes.java @@ -1,8 +1,8 @@ package com.minelittlepony.model; +import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.render.EquineRenderManager; import com.minelittlepony.client.render.EquineRenderManager.Mode; -import com.minelittlepony.pony.IPony; import com.minelittlepony.util.MathUtil; import net.minecraft.entity.LivingEntity; diff --git a/src/main/java/com/minelittlepony/model/capabilities/IModelWrapper.java b/src/main/java/com/minelittlepony/model/capabilities/IModelWrapper.java index 7a410873..7a68c0cb 100644 --- a/src/main/java/com/minelittlepony/model/capabilities/IModelWrapper.java +++ b/src/main/java/com/minelittlepony/model/capabilities/IModelWrapper.java @@ -1,6 +1,6 @@ package com.minelittlepony.model.capabilities; -import com.minelittlepony.pony.IPonyData; +import com.minelittlepony.api.pony.IPonyData; public interface IModelWrapper { /** diff --git a/src/main/java/com/minelittlepony/settings/PonyConfig.java b/src/main/java/com/minelittlepony/settings/PonyConfig.java index d51b6eda..d40f7f08 100644 --- a/src/main/java/com/minelittlepony/settings/PonyConfig.java +++ b/src/main/java/com/minelittlepony/settings/PonyConfig.java @@ -2,9 +2,9 @@ package com.minelittlepony.settings; import net.minecraft.util.math.MathHelper; +import com.minelittlepony.api.pony.meta.Size; import com.minelittlepony.common.util.settings.JsonConfig; import com.minelittlepony.common.util.settings.Setting; -import com.minelittlepony.pony.meta.Size; import java.nio.file.Path;