From be67925d4abd2188470f695c8e232e75d8853e04 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 21:24:49 +0200 Subject: [PATCH 01/15] Added logger and moved tinkersregistry stuff to different class for better dependency handling and some more stuff --- .../ganymedes01/headcrumbs/Headcrumbs.java | 26 +++- .../ganymedes01/headcrumbs/libs/Strings.java | 3 + .../utils/helpers/BewitchmentHelper.java | 126 ++++++++++++++++++ 3 files changed, 151 insertions(+), 4 deletions(-) create mode 100644 src/main/java/ganymedes01/headcrumbs/utils/helpers/BewitchmentHelper.java diff --git a/src/main/java/ganymedes01/headcrumbs/Headcrumbs.java b/src/main/java/ganymedes01/headcrumbs/Headcrumbs.java index 9e66cab..423e8e2 100644 --- a/src/main/java/ganymedes01/headcrumbs/Headcrumbs.java +++ b/src/main/java/ganymedes01/headcrumbs/Headcrumbs.java @@ -11,6 +11,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import ganymedes01.headcrumbs.commands.ReloadModelsCommand; import ganymedes01.headcrumbs.configs.ConfigHandler; import ganymedes01.headcrumbs.entity.EntityHuman; import ganymedes01.headcrumbs.entity.VIPHandler; @@ -19,6 +20,7 @@ import ganymedes01.headcrumbs.proxy.CommonProxy; import ganymedes01.headcrumbs.recipes.StatueRecipe; import ganymedes01.headcrumbs.utils.HeadUtils; +import ganymedes01.headcrumbs.utils.helpers.BewitchmentHelper; import ganymedes01.headcrumbs.utils.helpers.ElementalCreepersHelper; import ganymedes01.headcrumbs.utils.helpers.EnderZooHelper; import ganymedes01.headcrumbs.utils.helpers.GrimoireOfGaiaHelper; @@ -26,6 +28,7 @@ import ganymedes01.headcrumbs.utils.helpers.MysticalWildlifeHelper; import ganymedes01.headcrumbs.utils.helpers.NaturaHelper; import ganymedes01.headcrumbs.utils.helpers.PrimitiveMobsHelper; +import ganymedes01.headcrumbs.utils.helpers.TConstructHelper; import ganymedes01.headcrumbs.utils.helpers.TEHelper; import ganymedes01.headcrumbs.utils.helpers.ThaumcraftHelper; import ganymedes01.headcrumbs.utils.helpers.TwilightForestHelper; @@ -54,11 +57,11 @@ import net.minecraftforge.fml.common.event.FMLInterModComms.IMCMessage; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.event.FMLServerStartingEvent; import net.minecraftforge.fml.common.registry.EntityRegistry; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.registries.GameData; -import slimeknights.tconstruct.library.TinkerRegistry; @Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION_NUMBER, guiFactory = Reference.GUI_FACTORY_CLASS, dependencies = "required-after:tconstruct@[1.12.2-2.12.0.149,);") public class Headcrumbs @@ -153,9 +156,14 @@ public ItemStack createIcon() public static String humanNamePrefix = ""; public static boolean humansAttackTwins = true; + public static Logger LOGGER; + @EventHandler public void preInit(FMLPreInitializationEvent event) { + LOGGER = event.getModLog(); + LOGGER.info("Enabling headcrumbs."); + ConfigHandler.INSTANCE.init(event.getSuggestedConfigurationFile()); OreDictionary.registerOre("itemSkull", new ItemStack(Items.SKULL, 1, OreDictionary.WILDCARD_VALUE)); @@ -172,6 +180,7 @@ public void preInit(FMLPreInitializationEvent event) VIPHandler.init(); } + HeadDropRegistry.register(new VanillaHelper()); HeadDropRegistry.register(new LaserCreepersHelper()); HeadDropRegistry.register(new TwilightForestHelper()); @@ -183,16 +192,26 @@ public void preInit(FMLPreInitializationEvent event) HeadDropRegistry.register(new GrimoireOfGaiaHelper()); HeadDropRegistry.register(new ElementalCreepersHelper()); HeadDropRegistry.register(new MysticalWildlifeHelper()); + HeadDropRegistry.register(new BewitchmentHelper()); proxy.registerEntityRenderers(); proxy.registerEvents(); proxy.registerTileEntities(); } + + @EventHandler + public static void onServerStart(FMLServerStartingEvent event) { + event.getServer().getCommandManager().getCommands().put("reloadmodels", new ReloadModelsCommand()); + + } + + @EventHandler public void init(FMLInitializationEvent event) { proxy.registerRenderers(); + FMLInterModComms.sendMessage("Waila", "register", "ganymedes01.headcrumbs.waila.WailaRegistrar.wailaCallback"); @@ -245,9 +264,8 @@ public void postInit(FMLPostInitializationEvent event) addConvertionRecipe("Snow Queen recipe", HeadDropRegistry.getHead(TwilightForestHelper.MOD_ID, "snowQueen"), new ItemStack(tropy, 1, 4)); } - if(Loader.isModLoaded("tconstruct")) - { - TinkerRegistry.registerHeadDrop(EntityHuman.class, (entity) -> { + if(Loader.isModLoaded("tconstruct")) { + TConstructHelper.registerHeadDrop(EntityHuman.class, (entity) -> { return HeadUtils.getHeadfromEntity(entity); }); } diff --git a/src/main/java/ganymedes01/headcrumbs/libs/Strings.java b/src/main/java/ganymedes01/headcrumbs/libs/Strings.java index 8a23721..e309bb2 100644 --- a/src/main/java/ganymedes01/headcrumbs/libs/Strings.java +++ b/src/main/java/ganymedes01/headcrumbs/libs/Strings.java @@ -1,5 +1,6 @@ package ganymedes01.headcrumbs.libs; +import ganymedes01.headcrumbs.utils.helpers.BewitchmentHelper; import ganymedes01.headcrumbs.utils.helpers.ElementalCreepersHelper; import ganymedes01.headcrumbs.utils.helpers.GrimoireOfGaiaHelper; import ganymedes01.headcrumbs.utils.helpers.LaserCreepersHelper; @@ -25,4 +26,6 @@ public class Strings public static final String TE_PREFIX = TEHelper.MOD_ID + DEFAULT_TEXTURE_LOC; public static final String TC_PREFIX = ThaumcraftHelper.MOD_ID + DEFAULT_TEXTURE_LOC; public static final String TF_PREFIX = TwilightForestHelper.MOD_ID + ":textures/model/"; + public static final String BW_PREFIX = BewitchmentHelper.MOD_ID + DEFAULT_TEXTURE_LOC; + } \ No newline at end of file diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/BewitchmentHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/BewitchmentHelper.java new file mode 100644 index 0000000..3971b86 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/BewitchmentHelper.java @@ -0,0 +1,126 @@ +package ganymedes01.headcrumbs.utils.helpers; + +import com.bewitchment.common.entity.living.EntityLizard; +import com.bewitchment.common.entity.living.EntityOwl; +import com.bewitchment.common.entity.living.EntityRaven; +import com.bewitchment.common.entity.living.EntitySnake; +import com.bewitchment.common.entity.living.EntityToad; +import com.bewitchment.common.entity.living.EntityWerewolf; +import com.bewitchment.common.entity.spirit.demon.EntityBafometyr; +import com.bewitchment.common.entity.spirit.demon.EntityBaphomet; +import com.bewitchment.common.entity.spirit.demon.EntityCambion; +import com.bewitchment.common.entity.spirit.demon.EntityCleaver; +import com.bewitchment.common.entity.spirit.demon.EntityDemon; +import com.bewitchment.common.entity.spirit.demon.EntityDemoness; +import com.bewitchment.common.entity.spirit.demon.EntityDruden; +import com.bewitchment.common.entity.spirit.demon.EntityFeuerwurm; +import com.bewitchment.common.entity.spirit.demon.EntityHellhound; +import com.bewitchment.common.entity.spirit.demon.EntityImp; +import com.bewitchment.common.entity.spirit.demon.EntityLeonard; +import com.bewitchment.common.entity.spirit.demon.EntityShadowPerson; +import com.bewitchment.common.entity.spirit.ghost.EntityBlackDog; +import com.bewitchment.common.entity.spirit.ghost.EntityGhost; + +import ganymedes01.headcrumbs.libs.HeadDrop; +import ganymedes01.headcrumbs.libs.Strings; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.living.LizardHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.living.OwlHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.living.RavenHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.living.SnakeHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.living.ToadHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.living.WerewolfHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.BafometyrHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.BaphometHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.CambionHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.CleaverHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.DemonHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.DemonessHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.DrudenHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.FeuerwurmHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.HellhoundHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.ImpHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.LeonardHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.ShadowPersonClassicHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.ghost.BlackDogHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.ghost.GhostHead; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; + +public class BewitchmentHelper extends HeadDropHelper{ + + public static final String MOD_ID = "bewitchment"; + + public BewitchmentHelper() { + super(MOD_ID); + + //living + super.registerMobHead("lizard", "lizard_0", LizardHead.INSTANCE); + super.registerMobHead("owl", "owl_0", OwlHead.INSTANCE); + super.registerMobHead("raven", RavenHead.INSTANCE); + super.registerMobHead("snake", "snake_0", SnakeHead.INSTANCE); + super.registerMobHead("toad", "toad_0", ToadHead.INSTANCE); + super.registerMobHead("werewolf", "werewolf/werewolf_brown", WerewolfHead.INSTANCE); + + //demon + super.registerMobHead("bafometyr", BafometyrHead.INSTANCE); + super.registerMobHead("baphomet", BaphometHead.INSTANCE); + super.registerMobHead("cambion", "cambion_0", CambionHead.INSTANCE); + super.registerMobHead("cleaver", CleaverHead.INSTANCE); + super.registerMobHead("demoness", "demoness_0", DemonessHead.INSTANCE); + super.registerMobHead("demon", "demon_0", DemonHead.INSTANCE); + super.registerMobHead("druden", "drude_3", DrudenHead.INSTANCE); + super.registerMobHead("feuerwurm", "feuerwurm_0", FeuerwurmHead.INSTANCE); + super.registerMobHead("hellhound", "hellhound_0", HellhoundHead.INSTANCE); + super.registerMobHead("imp", "imp_0", ImpHead.INSTANCE); + super.registerMobHead("leonard", LeonardHead.INSTANCE); + super.registerMobHead("shadow_person", "shadowperson", ShadowPersonClassicHead.INSTANCE); + + //ghost + super.registerMobHead("black_dog", "black_dog_0", BlackDogHead.INSTANCE); + super.registerMobHead("ghost", "ghost_1", GhostHead.INSTANCE); + } + + @Override + public String getTextureLocBase() { + return Strings.BW_PREFIX; + } + + @Override + public ItemStack getHeadForEntity(String entityName, Entity ent) { + + System.out.println(ent); + System.out.println(ent.getDataManager()); + return super.getHeadForEntity(entityName, ent); + } + + @Override + public HeadDrop getHeadDropForEntity(String entityName) { + + return super.getHeadDropForEntity(entityName); + } + + @Override + public void registerTinkersHeadDrops() { + TConstructHelper.registerHeadDrop(EntityLizard.class); + TConstructHelper.registerHeadDrop(EntityOwl.class); + TConstructHelper.registerHeadDrop(EntityRaven.class); + TConstructHelper.registerHeadDrop(EntitySnake.class); + TConstructHelper.registerHeadDrop(EntityToad.class); + TConstructHelper.registerHeadDrop(EntityWerewolf.class); + TConstructHelper.registerHeadDrop(EntityBafometyr.class); + TConstructHelper.registerHeadDrop(EntityBaphomet.class); + TConstructHelper.registerHeadDrop(EntityCambion.class); + TConstructHelper.registerHeadDrop(EntityCleaver.class); + TConstructHelper.registerHeadDrop(EntityDemoness.class); + TConstructHelper.registerHeadDrop(EntityDemon.class); + TConstructHelper.registerHeadDrop(EntityDruden.class); + TConstructHelper.registerHeadDrop(EntityFeuerwurm.class); + TConstructHelper.registerHeadDrop(EntityHellhound.class); + TConstructHelper.registerHeadDrop(EntityImp.class); + TConstructHelper.registerHeadDrop(EntityLeonard.class); + TConstructHelper.registerHeadDrop(EntityShadowPerson.class); + TConstructHelper.registerHeadDrop(EntityBlackDog.class); + TConstructHelper.registerHeadDrop(EntityGhost.class); + } + +} From df766be78a53fb7458ee74cf64e1dcdf80ab8bc9 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 21:24:58 +0200 Subject: [PATCH 02/15] Update gradle.properties updated forge --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 3f24a3f..0971b1e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ org.gradle.jvmargs=-Xmx1G mc_version=1.12.2 -forge_version=14.23.5.2768 +forge_version=14.23.5.2847 mod_version=3.0.0 \ No newline at end of file From fdce294bb31013b7978ba971c493235fefaeacd9 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 21:25:32 +0200 Subject: [PATCH 03/15] Create TConstructHelper.java This handles all tinker registration, this means TConstruct is no longer really a dependency --- .../utils/helpers/TConstructHelper.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/main/java/ganymedes01/headcrumbs/utils/helpers/TConstructHelper.java diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/TConstructHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/TConstructHelper.java new file mode 100644 index 0000000..4617682 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/TConstructHelper.java @@ -0,0 +1,27 @@ +package ganymedes01.headcrumbs.utils.helpers; + +import java.util.function.Function; + +import ganymedes01.headcrumbs.entity.EntityHuman; +import ganymedes01.headcrumbs.utils.HeadUtils; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import slimeknights.tconstruct.library.TinkerRegistry; + +public class TConstructHelper { + + public static void registerHeadDrop(Class clazz, Function callback) { + TinkerRegistry.registerHeadDrop(clazz, callback); + } + + public static void registerHeadDrop(Class clazz, ItemStack head) { + TinkerRegistry.registerHeadDrop(clazz, head); + } + + public static void registerHeadDrop(Class clazz) { + TinkerRegistry.registerHeadDrop(clazz, (e) -> { + return HeadUtils.getHeadfromEntity(e); + }); + } + +} From b560b617e1227b3cbbe97f24517de135e0e6a3b7 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 21:26:03 +0200 Subject: [PATCH 04/15] Added automatic tinker registry in helper (if tinkers is loaded, of course) --- .../headcrumbs/utils/helpers/HeadDropHelper.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/HeadDropHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/HeadDropHelper.java index 0efc2e1..5325a99 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/HeadDropHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/HeadDropHelper.java @@ -23,13 +23,16 @@ public abstract class HeadDropHelper public HeadDropHelper(String modID) { this.modID = modID; + if (Loader.isModLoaded("tconstruct")) { + registerTinkersHeadDrops(); + } } public boolean isEnabled() { return Loader.isModLoaded(modID); } - + public String getModID() { return this.modID; @@ -75,6 +78,8 @@ public void registerMobHeadDiffTextureBase(String entityName, String textureFile heads.put(entityName, new HeadDrop(textureFile, head)); } + public abstract void registerTinkersHeadDrops(); + public void initModels() { for(HeadDrop head : heads.values()) From 77d2cf61a4c0515d3972abc6ad0c74090d286bdd Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 21:27:09 +0200 Subject: [PATCH 05/15] Added a postrender method and methods for translating the skulls without losing proper placement on block --- .../headcrumbs/renderers/ModelHead.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/ModelHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/ModelHead.java index 629f2d2..0b0a56d 100644 --- a/src/main/java/ganymedes01/headcrumbs/renderers/ModelHead.java +++ b/src/main/java/ganymedes01/headcrumbs/renderers/ModelHead.java @@ -21,6 +21,12 @@ public class ModelHead extends ModelBase { private boolean renderOverlay; private ResourceLocation secondTex = null; + private boolean translated = false; + private float dx; + private float dy; + private float dz; + private float dDist; + public ModelHead() { this(32); } @@ -48,6 +54,9 @@ public void renderSpecial(GameProfile profile, float skullRotation) { public void preRenderItem(GameProfile profile, ItemRenderType type) { } + + public void postRender() { + } public final ResourceLocation getSecondTexture() { return secondTex; @@ -70,9 +79,38 @@ public void render(float rotationX) { render(rotationX, 0.0F); } + public void setTranslation(float dx, float dy, float dz) { + this.translated = true; + if (dx < 0) this.dx = -1; + else if (dx > 0) this.dx = 1; + this.dy = dy; + if (dz < 0) this.dz = -1; + else if (dz > 0) this.dz = 1; + this.dDist = (float) Math.sqrt(Math.pow(dx, 2) + Math.pow(dz, 2)); + } + + public void applyTranslation() { + if (this.translated) { + float dx = (float) (Math.sin(head.rotateAngleY - Math.PI) * -this.dDist); + float dz = (float) (Math.cos(head.rotateAngleY - Math.PI) * -this.dDist); + + if ((head.rotateAngleY >= Math.PI/4.0d * 3.0d && Math.PI/4.0d * 5.0d >= head.rotateAngleY) + || (head.rotateAngleY >= Math.PI/4.0d * 7.0d || Math.PI/4.0d >= head.rotateAngleY)) { + dx *= this.dx; + dz *= this.dz; + } else { + dx *= this.dz; + dz *= this.dx; + } + + GlStateManager.translate(dx, dy, dz); + } + } + public void render(float rotationX, float rotationY) { head.rotateAngleY = rotationX / (180F / (float) Math.PI); head.rotateAngleX = rotationY / (180F / (float) Math.PI); + applyTranslation(); head.render(0.0625F); if (renderOverlay) renderOverlay(rotationX, rotationY); From 4d86d186c9ae20be04ac14a7516372f746cfe79b Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 21:27:24 +0200 Subject: [PATCH 06/15] Added postrender method in renderer --- .../headcrumbs/renderers/TileEntityBlockSkullRenderer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/TileEntityBlockSkullRenderer.java b/src/main/java/ganymedes01/headcrumbs/renderers/TileEntityBlockSkullRenderer.java index bbb7e7e..41c47aa 100644 --- a/src/main/java/ganymedes01/headcrumbs/renderers/TileEntityBlockSkullRenderer.java +++ b/src/main/java/ganymedes01/headcrumbs/renderers/TileEntityBlockSkullRenderer.java @@ -52,6 +52,7 @@ public void renderHead(float x, float y, float z, int meta, float skullRotation, model.preRender(profile); model.render(skullRotation); renderSpecial(profile, skullRotation); + model.postRender(); if(GL11.glIsEnabled(GL11.GL_BLEND)) GlStateManager.enableBlend(); From 1a646efd7b206ff603bd3bc2dd26618e3650ebe4 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 21:27:52 +0200 Subject: [PATCH 07/15] Changed the method name and added the prerenderitem method call --- .../renderers/TileEntityItemStackSkullRenderer.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/TileEntityItemStackSkullRenderer.java b/src/main/java/ganymedes01/headcrumbs/renderers/TileEntityItemStackSkullRenderer.java index 44f808e..e7c0687 100644 --- a/src/main/java/ganymedes01/headcrumbs/renderers/TileEntityItemStackSkullRenderer.java +++ b/src/main/java/ganymedes01/headcrumbs/renderers/TileEntityItemStackSkullRenderer.java @@ -1,12 +1,15 @@ package ganymedes01.headcrumbs.renderers; +import ganymedes01.headcrumbs.libs.ItemRenderType; import ganymedes01.headcrumbs.utils.HeadUtils; import net.minecraft.client.renderer.tileentity.TileEntityItemStackRenderer; import net.minecraft.item.ItemStack; public class TileEntityItemStackSkullRenderer extends TileEntityItemStackRenderer { - - public void func_192838_a(ItemStack stack, float p_192838_2_) { + + @Override + public void renderByItem(ItemStack stack, float partialTicks) { + HeadUtils.getModel(stack).getModel().preRenderItem(HeadUtils.getGameProfile(stack), ItemRenderType.INVENTORY); TileEntityBlockSkullRenderer.INSTANCE.renderHead(0.0F, -0.1F, 0.0F, stack.getMetadata(), 0f, HeadUtils.getModel(stack), HeadUtils.getGameProfile(stack), -1); } From b0efbd55e94df1b7fb93dee4d88c72c299a14303 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 21:28:30 +0200 Subject: [PATCH 08/15] Added the bewitchment mob heads --- .../heads/bewitchment/living/LizardHead.java | 87 ++++++ .../heads/bewitchment/living/OwlHead.java | 69 +++++ .../heads/bewitchment/living/RavenHead.java | 70 +++++ .../heads/bewitchment/living/SnakeHead.java | 94 ++++++ .../heads/bewitchment/living/ToadHead.java | 71 +++++ .../bewitchment/living/WerewolfHead.java | 141 +++++++++ .../spirit/demon/BafometyrHead.java | 164 ++++++++++ .../spirit/demon/BaphometHead.java | 223 ++++++++++++++ .../bewitchment/spirit/demon/CambionHead.java | 278 +++++++++++++++++ .../spirit/demon/CambionSlimHead.java | 278 +++++++++++++++++ .../bewitchment/spirit/demon/CleaverHead.java | 202 +++++++++++++ .../bewitchment/spirit/demon/DemonHead.java | 136 +++++++++ .../spirit/demon/DemonessHead.java | 195 ++++++++++++ .../bewitchment/spirit/demon/DrudenHead.java | 279 ++++++++++++++++++ .../spirit/demon/FeuerwurmHead.java | 194 ++++++++++++ .../spirit/demon/HellhoundHead.java | 182 ++++++++++++ .../bewitchment/spirit/demon/ImpHead.java | 170 +++++++++++ .../bewitchment/spirit/demon/LeonardHead.java | 218 ++++++++++++++ .../spirit/demon/ShadowPersonClassicHead.java | 53 ++++ .../spirit/demon/ShadowPersonSlimHead.java | 53 ++++ .../spirit/ghost/BlackDogHead.java | 90 ++++++ .../bewitchment/spirit/ghost/GhostHead.java | 79 +++++ 22 files changed, 3326 insertions(+) create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/LizardHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/OwlHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/RavenHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/SnakeHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/ToadHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/WerewolfHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/BafometyrHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/BaphometHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CambionHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CambionSlimHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CleaverHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DemonHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DemonessHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DrudenHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/FeuerwurmHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/HellhoundHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ImpHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/LeonardHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ShadowPersonClassicHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ShadowPersonSlimHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/BlackDogHead.java create mode 100644 src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/LizardHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/LizardHead.java new file mode 100644 index 0000000..1740dba --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/LizardHead.java @@ -0,0 +1,87 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.living; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; + +public class LizardHead extends ModelHead { + + public static final LizardHead INSTANCE = new LizardHead(); + + protected LizardHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + float fy = -6.0f; + + head = new ModelRenderer(this, 25, 13); + head.setRotationPoint(0, 0, 0); + head.addBox(-2.5f, -2, -2.5f, 5, 3, 5, 0); + setRotateAngle(head, 0.14f, 0, 0); + + ModelRenderer leftEye = new ModelRenderer(this, 37, 38); + leftEye.setRotationPoint(1.5f, -0.2f, 0); + leftEye.addBox(-0.5f, -2, -1, 2, 2, 2, 0); + setRotateAngle(leftEye, 0, 0.12f, -0.19f); + + ModelRenderer lowerJaw = new ModelRenderer(this, 34, 29); + lowerJaw.setRotationPoint(0, 1.3f, 1.1f); + lowerJaw.addBox(-2, -0.5f, -5.6f, 4, 1, 6, 0); + setRotateAngle(lowerJaw, -0.16f, 0, 0); + + ModelRenderer rightEye = new ModelRenderer(this, 37, 38); + rightEye.mirror = true; + rightEye.setRotationPoint(-1.5f, -0.2f, 0); + rightEye.addBox(-1.5f, -2, -1, 2, 2, 2, 0); + setRotateAngle(rightEye, 0, -0.12f, 0.19f); + + ModelRenderer snout = new ModelRenderer(this, 31, 22); + snout.setRotationPoint(0, -0.8f, -1.9f); + snout.addBox(-2.3f, -1, -2.8f, 4, 2, 3, 0); + setRotateAngle(snout, 0.09f, 0, 0); + + ModelRenderer snoutb = new ModelRenderer(this, 31, 28); + snoutb.setRotationPoint(0, -0.8f, -1.9f); + snoutb.addBox(1.2f, -1, -2.8f, 1, 2, 3, 0); + setRotateAngle(snoutb, 0.09f, 0, 0); + + head.addChild(lowerJaw); + head.addChild(rightEye); + head.addChild(snoutb); + head.addChild(snout); + head.addChild(leftEye); + } + + @Override + public void preRender(GameProfile profile) { + + float fx = 0; + float fy = -1.7f * 0.0625f; + float fz = 1.5f * 0.0625f; + setTranslation(fx, fy, fz); + } + + @Override + public void render(float rotationX, float rotationY) { + rotationY += 10f; + super.render(rotationX, rotationY); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/OwlHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/OwlHead.java new file mode 100644 index 0000000..f6251be --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/OwlHead.java @@ -0,0 +1,69 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.living; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; + +public class OwlHead extends ModelHead { + + public static final OwlHead INSTANCE = new OwlHead(); + + protected OwlHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + float fy = -4.0f; + + head = new ModelRenderer(this, 28, 0); + head.setRotationPoint(0, -12, 0); + head.addBox(-5, -4, -4, 10, 8, 8, 0); + setRotateAngle(head, -0.07f, 0, 0); + + ModelRenderer beak = new ModelRenderer(this, 19, 1); + beak.setRotationPoint(-1, 0, -5); + beak.addBox(0, 0, 0.4f, 2, 4, 1, 0); + setRotateAngle(beak, -0.09f, 0, 0); + + ModelRenderer leftEar = new ModelRenderer(this, 27, 1); + leftEar.setRotationPoint(4, -3.4f, 0); + leftEar.addBox(-1, -4, -1, 2, 4, 2, 0); + setRotateAngle(leftEar, -0.35f, 0, 0.26f); + + ModelRenderer rightEar = new ModelRenderer(this, 27, 1); + rightEar.mirror = true; + rightEar.setRotationPoint(-4, -3.4f, 0); + rightEar.addBox(-1, -4, -1, 2, 4, 2, 0); + setRotateAngle(rightEar, -0.35f, 0, -0.26f); + + head.addChild(beak); + head.addChild(leftEar); + head.addChild(rightEar); + } + + @Override + public void preRender(GameProfile profile) { + + float fx = 0; + float fy = 8.0f * 0.0625f; + float fz = 0; + setTranslation(fx, fy, fz); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/RavenHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/RavenHead.java new file mode 100644 index 0000000..d0e3cf6 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/RavenHead.java @@ -0,0 +1,70 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.living; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class RavenHead extends ModelHead { + + public static final RavenHead INSTANCE = new RavenHead(); + + protected RavenHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + float fy = -5.5f; + float fz = 2.6f; + + head = new ModelRenderer(this, 42, 0); +// head.setRotationPoint(0, -1, -2); + head.setRotationPoint(0, -1, 0); + head.addBox(-2.5f, -2.5f, -5.6f, 5, 5, 6, 0); + setRotateAngle(head, 0.54f, 0, 0); + + ModelRenderer beak00 = new ModelRenderer(this, 42, 12); + beak00.setRotationPoint(0, -1, -5.2f); + beak00.addBox(-0.9f, 0, -3, 2, 2, 3, 0); + setRotateAngle(beak00, 0.35f, 0, 0); + + ModelRenderer beak01a = new ModelRenderer(this, 42, 12); + beak01a.setRotationPoint(0, 0, -3); + beak01a.addBox(-1, 0, 0, 2, 2, 3, 0); + setRotateAngle(beak01a, -0.26f, 0, 0); + + ModelRenderer beak01b = new ModelRenderer(this, 42, 12); + beak01b.setRotationPoint(0, 0, 0); + beak01b.addBox(-1.1f, 0, -3, 1, 2, 3, 0); + + beak00.addChild(beak01b); + beak00.addChild(beak01a); + head.addChild(beak00); + } + + @Override + public void preRender(GameProfile profile) { + + float fx = 2f * 0.0625f; + float fy = -1.5f * 0.0625f; + float fz = 3.1f * 0.0625f; + setTranslation(fx, fy, fz); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/SnakeHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/SnakeHead.java new file mode 100644 index 0000000..ee5f9ef --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/SnakeHead.java @@ -0,0 +1,94 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.living; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; + +public class SnakeHead extends ModelHead { + + public static final SnakeHead INSTANCE = new SnakeHead(); + + protected SnakeHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + float fy = -5.6f; + float fz = 1.5f; + + head = new ModelRenderer(this, 0, 22); + head.setRotationPoint(0, 0.8f, 0f); + head.addBox(-2.5f, -2.4f, -3, 5, 3, 3, 0); + + ModelRenderer eyes = new ModelRenderer(this, 40, 0); + eyes.setRotationPoint(0, -2, -3.9f); + eyes.addBox(-2, -0.5f, -0.5f, 4, 1, 1, 0); + + ModelRenderer leftUpperJaw = new ModelRenderer(this, 17, 0); + leftUpperJaw.setRotationPoint(0.9f, -0.9f, -3); + leftUpperJaw.addBox(-0.5f, -1, -3.7f, 2, 2, 5, 0); + setRotateAngle(leftUpperJaw, 0, 0.19f, 0); + + ModelRenderer leftfang = new ModelRenderer(this, 0, 0); + leftfang.setRotationPoint(1.4f, -0.5f, -3.6f); + leftfang.addBox(0, 0, -0.5f, 0, 2, 1, 0); + + ModelRenderer lowerJaw = new ModelRenderer(this, 0, 8); + lowerJaw.setRotationPoint(0, 0.1f, -2); + lowerJaw.addBox(-1.5f, -0.5f, -5, 3, 1, 5, 0); + + ModelRenderer rightUpperJaw = new ModelRenderer(this, 17, 0); + rightUpperJaw.mirror = true; + rightUpperJaw.setRotationPoint(-1.9f, -0.9f, -3); + rightUpperJaw.addBox(-0.5f, -1, -4.07f, 2, 2, 5, 0); + setRotateAngle(rightUpperJaw, 0, -0.19f, 0); + + ModelRenderer rightfang = new ModelRenderer(this, 0, 0); + rightfang.setRotationPoint(-1.4f, -0.5f, -3.6f); + rightfang.addBox(0, 0, -0.5f, 0, 2, 1, 0); + + ModelRenderer tongue = new ModelRenderer(this, 25, 0); + tongue.setRotationPoint(0, 0.4f, -2); + tongue.addBox(-1.5f, 0, -5, 3, 0, 7, 0); + + ModelRenderer upperJaw = new ModelRenderer(this, 0, 0); + upperJaw.setRotationPoint(0, -1.3f, -2.8f); + upperJaw.addBox(-1.5f, -1.1f, -4.4f, 3, 2, 5, 0); + setRotateAngle(upperJaw, 0.09f, 0, 0); + + head.addChild(eyes); + head.addChild(upperJaw); + head.addChild(leftUpperJaw); + head.addChild(rightUpperJaw); + head.addChild(tongue); + head.addChild(lowerJaw); + upperJaw.addChild(leftfang); + upperJaw.addChild(rightfang); + } + + @Override + public void preRender(GameProfile profile) { + + float fx = 0; + float fy = -1.4f * 0.0625f; + float fz = 4.0f * 0.0625f; + setTranslation(fx, fy, fz); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/ToadHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/ToadHead.java new file mode 100644 index 0000000..b95cd30 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/ToadHead.java @@ -0,0 +1,71 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.living; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class ToadHead extends ModelHead { + + public static final ToadHead INSTANCE = new ToadHead(); + + protected ToadHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 32; + + float fy = -6.5f; + float fz = 2.7f; + + head = new ModelRenderer(this, 37, 0); + head.setRotationPoint(0, -0.2f, 0); + head.addBox(-3, -1.5f, -5.7f, 6, 2, 6, 0); + setRotateAngle(head, 0.87f, 0, 0); + + ModelRenderer jaw = new ModelRenderer(this, 37, 10); + jaw.setRotationPoint(0, 0.4f, -0.6f); + jaw.addBox(-3, 0, -5, 6, 2, 6, 0); + + ModelRenderer leftEye = new ModelRenderer(this, 27, 0); + leftEye.setRotationPoint(1.3f, -0.5f, -2.3f); + leftEye.addBox(0, -2.1f, -1.5f, 2, 2, 3, 0); + setRotateAngle(leftEye, 0, 0.18f, 0.14f); + + ModelRenderer rightEye = new ModelRenderer(this, 27, 0); + rightEye.mirror = true; + rightEye.setRotationPoint(-1.3f, -0.5f, -2.3f); + rightEye.addBox(-2, -2.1f, -1.5f, 2, 2, 3, 0); + setRotateAngle(rightEye, 0, -0.18f, -0.14f); + + head.addChild(jaw); + head.addChild(leftEye); + head.addChild(rightEye); + } + + @Override + public void preRender(GameProfile profile) { + + float fx = 0; + float fy = -2.2f * 0.0625f; + float fz = 6.4f * 0.0625f; + setTranslation(fx, fy, fz); + GlStateManager.scale(0.6f, 0.6f, 0.6f); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/WerewolfHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/WerewolfHead.java new file mode 100644 index 0000000..5af7c34 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/living/WerewolfHead.java @@ -0,0 +1,141 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.living; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class WerewolfHead extends ModelHead { + + public static final WerewolfHead INSTANCE = new WerewolfHead(); + + protected WerewolfHead() { + } + + @Override + public void init() { + hideOverlay(); + textureWidth = 128; + textureHeight = 64; + + float fy = -3.0f; + float fz = -0.1f; + + head = new ModelRenderer(this, 44, 0); + head.setRotationPoint(0, -0.5F, 0); + head.addBox(-4, -5, -3.4F, 8, 6, 7, 0); + setRotateAngle(head, 2.1816615649929116F, 0, 0); + + ModelRenderer jawLower = new ModelRenderer(this, 39, 37); + jawLower.setRotationPoint(0, -4.1F, -3); + jawLower.addBox(-2, -4.9F, -0.5F, 4, 5, 1, 0); + + ModelRenderer jawUpper01 = new ModelRenderer(this, 20, 36); + jawUpper01.setRotationPoint(1.2F, -5.1F, -1.5F); + jawUpper01.addBox(-0.8F, -4, -1, 2, 5, 2, 0); + setRotateAngle(jawUpper01, 0, 0, -0.13962634015954636F); + + ModelRenderer jawUpper02 = new ModelRenderer(this, 20, 36); + jawUpper02.mirror = true; + jawUpper02.setRotationPoint(0, 0.35F, 0); + jawUpper02.addBox(-3.6F, -4, -1, 2, 5, 2, 0); + setRotateAngle(jawUpper02, 0, 0, 0.2792526803190927F); + + ModelRenderer lEar01 = new ModelRenderer(this, 70, 0); + lEar01.setRotationPoint(2.8F, -2.1F, 2.8F); + lEar01.addBox(0, 0, -1, 1, 3, 2, 0); + setRotateAngle(lEar01, 0.6981317007977318F, 0.12217304763960307F, -0.6981317007977318F); + + ModelRenderer lEar02 = new ModelRenderer(this, 78, 0); + lEar02.setRotationPoint(-0.3F, 0, -0.5F); + lEar02.addBox(-0.8F, 0, -0.5F, 1, 5, 1, 0); + setRotateAngle(lEar02, 0.22689280275926282F, 0, -0.2617993877991494F); + + ModelRenderer lowerTeeth01 = new ModelRenderer(this, 63, 41); + lowerTeeth01.setRotationPoint(0, -3.7F, 0.1F); + lowerTeeth01.addBox(0.6F, -0.7F, 0.4F, 1, 3, 1, 0); + + ModelRenderer lowerTeeth02 = new ModelRenderer(this, 63, 41); + lowerTeeth02.mirror = true; + lowerTeeth02.setRotationPoint(0, 0, 0); + lowerTeeth02.addBox(-1.6F, -0.7F, 0.3F, 1, 3, 1, 0); + + ModelRenderer rEar01 = new ModelRenderer(this, 70, 0); + rEar01.mirror = true; + rEar01.setRotationPoint(-2.8F, -2.1F, 2.8F); + rEar01.addBox(-1, 0, -1, 1, 3, 2, 0); + setRotateAngle(rEar01, 0.6981317007977318F, -0.12217304763960307F, 0.6981317007977318F); + + ModelRenderer rEar02 = new ModelRenderer(this, 78, 0); + rEar02.mirror = true; + rEar02.setRotationPoint(0.3F, 0, -0.5F); + rEar02.addBox(-0.2F, 0, -0.5F, 1, 5, 1, 0); + setRotateAngle(rEar02, 0.22689280275926282F, 0, 0.2617993877991494F); + + ModelRenderer snout = new ModelRenderer(this, 29, 35); + snout.setRotationPoint(0, -4.2F, -0.1F); + snout.addBox(-1.5F, -5.05F, -1, 3, 5, 2, 0); + setRotateAngle(snout, 0.18203784098300857F, 0, 0); + + ModelRenderer upperTeeth01 = new ModelRenderer(this, 56, 37); + upperTeeth01.setRotationPoint(0.4F, -2.8F, -1); + upperTeeth01.addBox(-0.5F, -1, -0.8F, 1, 4, 2, 0); + + ModelRenderer upperTeeth02 = new ModelRenderer(this, 50, 37); + upperTeeth02.setRotationPoint(-2.8F, -2.8F, -1); + upperTeeth02.addBox(-0.5F, -1, -0.8F, 1, 4, 2, 0); + + ModelRenderer upperTeeth03 = new ModelRenderer(this, 63, 38); + upperTeeth03.setRotationPoint(0, -3.2F, -1); + upperTeeth03.addBox(-2.27F, -0.7F, -0.4F, 3, 0, 1, 0); + setRotateAngle(upperTeeth03, 0, 0, 0.136659280431156F); + + head.addChild(jawUpper01); + head.addChild(lEar01); + head.addChild(rEar01); + head.addChild(jawLower); + head.addChild(snout); + jawLower.addChild(lowerTeeth01); + jawUpper01.addChild(upperTeeth03); + jawUpper01.addChild(jawUpper02); + jawUpper01.addChild(upperTeeth01); + jawUpper02.addChild(upperTeeth02); + lEar01.addChild(lEar02); + lowerTeeth01.addChild(lowerTeeth02); + rEar01.addChild(rEar02); + } + + @Override + public void preRender(GameProfile profile) { + + float fx = 0; + float fy = -2.9f * 0.0625f; + float fz = 2.5f * 0.0625f; + setTranslation(fx, fy, fz); + GlStateManager.scale(1.2f, 1.2f, 1.2f); + + } + + @Override + public void render(float rotationX, float rotationY) { + head.rotateAngleY = rotationX / (180F / (float) Math.PI); + head.rotateAngleX = (float) Math.toRadians(90) + rotationY / (180F / (float) Math.PI); + applyTranslation(); + head.render(0.0625F); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + GlStateManager.translate(0, 0.05f, 0.05f); + GlStateManager.scale(0.9f, 0.9f, 0.9f); + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/BafometyrHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/BafometyrHead.java new file mode 100644 index 0000000..e11fea4 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/BafometyrHead.java @@ -0,0 +1,164 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; + +public class BafometyrHead extends ModelHead { + + public static final BafometyrHead INSTANCE = new BafometyrHead(); + + protected BafometyrHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + + head = new ModelRenderer(this, 0, 1); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); + + ModelRenderer beard = new ModelRenderer(this, 0, 56); + beard.setRotationPoint(0.0F, 0.3F, -2.2F); + beard.addBox(-1.5F, 0.0F, -1.0F, 3, 4, 4, 0.0F); + setRotateAngle(beard, 0.03490658503988659F, 0.0F, 0.0F); + + ModelRenderer jawLower = new ModelRenderer(this, 37, 0); + jawLower.setRotationPoint(0.0F, -0.8F, -3.5F); + jawLower.addBox(-2.0F, -0.5F, -4.0F, 4, 1, 4, 0.0F); + setRotateAngle(jawLower, -0.03490658503988659F, 0.0F, 0.0F); + + ModelRenderer lEar = new ModelRenderer(this, 50, 0); + lEar.setRotationPoint(3.4F, -6.0F, 0.8F); + lEar.addBox(-0.3F, -0.5F, -1.0F, 4, 1, 2, 0.0F); + setRotateAngle(lEar, -0.5235987755982988F, 0.0F, -0.5235987755982988F); + + ModelRenderer lHorn01 = new ModelRenderer(this, 24, 0); + lHorn01.setRotationPoint(2.4F, -8.0F, 1.5F); + lHorn01.addBox(-1.0F, -1.0F, -1.8F, 2, 2, 4, 0.0F); + setRotateAngle(lHorn01, 0.593411945678072F, 0.13962634015954636F, 0.0F); + + ModelRenderer lHorn02a = new ModelRenderer(this, 33, 7); + lHorn02a.setRotationPoint(0.0F, 0.0F, 2.1F); + lHorn02a.addBox(-0.2F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + setRotateAngle(lHorn02a, -0.3141592653589793F, 0.12217304763960307F, 0.0F); + + ModelRenderer lHorn02b = new ModelRenderer(this, 33, 7); + lHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02b.addBox(-0.8F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer lHorn02c = new ModelRenderer(this, 33, 7); + lHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02c.addBox(-0.2F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer lHorn02d = new ModelRenderer(this, 33, 7); + lHorn02d.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02d.addBox(-0.8F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer lHorn03 = new ModelRenderer(this, 42, 7); + lHorn03.setRotationPoint(0.0F, 0.0F, 2.4F); + lHorn03.addBox(-0.5F, -0.5F, -0.4F, 1, 1, 3, 0.0F); + setRotateAngle(lHorn03, -0.17453292519943295F, 0.13962634015954636F, 0.0F); + + ModelRenderer lHorn04 = new ModelRenderer(this, 39, 12); + lHorn04.setRotationPoint(0.0F, 0.0F, 2.4F); + lHorn04.addBox(-0.5F, -0.5F, 0.0F, 1, 1, 2, 0.0F); + setRotateAngle(lHorn04, 0.06981317007977318F, -0.22689280275926282F, 0.0F); + + ModelRenderer rEar = new ModelRenderer(this, 50, 0); + rEar.mirror = true; + rEar.setRotationPoint(-3.4F, -6.2F, 0.8F); + rEar.addBox(-3.7F, -0.5F, -1.0F, 4, 1, 2, 0.0F); + setRotateAngle(rEar, -0.5235987755982988F, 0.0F, 0.5235987755982988F); + + ModelRenderer rHorn01 = new ModelRenderer(this, 24, 0); + rHorn01.mirror = true; + rHorn01.setRotationPoint(-2.4F, -8.0F, 1.5F); + rHorn01.addBox(-1.0F, -1.0F, -1.8F, 2, 2, 4, 0.0F); + setRotateAngle(rHorn01, 0.593411945678072F, -0.13962634015954636F, 0.0F); + + ModelRenderer rHorn02a = new ModelRenderer(this, 33, 7); + rHorn02a.mirror = true; + rHorn02a.setRotationPoint(0.0F, 0.0F, 2.1F); + rHorn02a.addBox(-0.2F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + setRotateAngle(rHorn02a, -0.3141592653589793F, -0.12217304763960307F, 0.0F); + + ModelRenderer rHorn02b = new ModelRenderer(this, 33, 7); + rHorn02b.mirror = true; + rHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02b.addBox(-0.8F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer rHorn02c = new ModelRenderer(this, 33, 7); + rHorn02c.mirror = true; + rHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02c.addBox(-0.2F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer rHorn02d = new ModelRenderer(this, 33, 7); + rHorn02d.mirror = true; + rHorn02d.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02d.addBox(-0.8F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer rHorn03 = new ModelRenderer(this, 42, 7); + rHorn03.mirror = true; + rHorn03.setRotationPoint(0.0F, 0.0F, 2.4F); + rHorn03.addBox(-0.5F, -0.5F, -0.4F, 1, 1, 3, 0.0F); + setRotateAngle(rHorn03, -0.17453292519943295F, -0.13962634015954636F, 0.0F); + + ModelRenderer rHorn04 = new ModelRenderer(this, 39, 12); + rHorn04.mirror = true; + rHorn04.setRotationPoint(0.0F, 0.0F, 2.4F); + rHorn04.addBox(-0.5F, -0.5F, 0.0F, 1, 1, 2, 0.0F); + setRotateAngle(rHorn04, 0.06981317007977318F, 0.22689280275926282F, 0.0F); + + ModelRenderer snout = new ModelRenderer(this, 44, 55); + snout.setRotationPoint(0.0F, -1.8F, -0.6F); + snout.addBox(-2.5F, -1.5F, -7.1F, 5, 2, 4, 0.0F); + + ModelRenderer snout_1 = new ModelRenderer(this, 29, 56); + snout_1.setRotationPoint(0.0F, -4.9F, -2.9F); + snout_1.addBox(-2.0F, -1.9F, -5.1F, 4, 3, 5, 0.0F); + setRotateAngle(snout_1, 0.5235987755982988F, 0.0F, 0.0F); + + jawLower.addChild(beard); + head.addChild(lHorn01); + head.addChild(rHorn01); + head.addChild(rEar); + head.addChild(snout_1); + head.addChild(lEar); + head.addChild(snout); + head.addChild(jawLower); + lHorn01.addChild(lHorn02a); + lHorn02a.addChild(lHorn03); + lHorn02a.addChild(lHorn02c); + lHorn02a.addChild(lHorn02b); + lHorn02a.addChild(lHorn02d); + lHorn03.addChild(lHorn04); + rHorn01.addChild(rHorn02a); + rHorn02a.addChild(rHorn02d); + rHorn02a.addChild(rHorn02b); + rHorn02a.addChild(rHorn02c); + rHorn02a.addChild(rHorn03); + rHorn03.addChild(rHorn04); + } + + @Override + public void preRender(GameProfile profile) { + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/BaphometHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/BaphometHead.java new file mode 100644 index 0000000..55e6b57 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/BaphometHead.java @@ -0,0 +1,223 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class BaphometHead extends ModelHead { + + public static final BaphometHead INSTANCE = new BaphometHead(); + + protected BaphometHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 128; + this.textureHeight = 64; + + float fy = -1.0f; + + head = new ModelRenderer(this, 1, 2); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-3.5F, -7.0F, -3.5F, 7, 7, 7, 0.0F); + + ModelRenderer beard = new ModelRenderer(this, 18, 59); + beard.setRotationPoint(0.0F, 0.3F, -2.4F); + beard.addBox(-1.5F, 0.0F, -1.0F, 3, 3, 2, 0.0F); + setRotateAngle(beard, -0.03490658503988659F, 0.0F, 0.0F); + + ModelRenderer jawLower = new ModelRenderer(this, 48, 5); + jawLower.setRotationPoint(0.0F, -1.0F, -3.0F); + jawLower.addBox(-2.0F, -0.5F, -4.0F, 4, 1, 4, 0.0F); + setRotateAngle(jawLower, -0.03490658503988659F, 0.0F, 0.0F); + + ModelRenderer jawUpper00 = new ModelRenderer(this, 43, 11); + jawUpper00.setRotationPoint(0.0F, -2.5F, -2.2F); + jawUpper00.addBox(-1.6F, -1.0F, -5.0F, 4, 2, 5, 0.0F); + setRotateAngle(jawUpper00, 0.06981317007977318F, 0.0F, 0.0F); + + ModelRenderer jawUpper01 = new ModelRenderer(this, 30, 11); + jawUpper01.setRotationPoint(0.0F, 0.0F, 0.0F); + jawUpper01.addBox(-2.3F, -1.0F, -5.0F, 1, 2, 5, 0.0F); + + ModelRenderer lHorn01 = new ModelRenderer(this, 23, 0); + lHorn01.setRotationPoint(2.9F, -7.2F, -0.2F); + lHorn01.addBox(-1.0F, -2.7F, -1.0F, 2, 4, 2, 0.0F); + setRotateAngle(lHorn01, -0.17453292519943295F, 0.13962634015954636F, 0.40142572795869574F); + + ModelRenderer lHorn02a = new ModelRenderer(this, 0, 0); + lHorn02a.setRotationPoint(0.0F, -2.2F, 0.0F); + lHorn02a.addBox(-0.8F, -3.0F, -0.8F, 1, 3, 1, 0.0F); + setRotateAngle(lHorn02a, -0.17453292519943295F, 0.0F, 0.2617993877991494F); + + ModelRenderer lHorn02b = new ModelRenderer(this, 0, 0); + lHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02b.addBox(-0.2F, -3.0F, -0.8F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn02c = new ModelRenderer(this, 0, 0); + lHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02c.addBox(-0.8F, -3.0F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn03a = new ModelRenderer(this, 0, 4); + lHorn03a.setRotationPoint(0.0F, -2.7F, 0.0F); + lHorn03a.addBox(-0.7F, -3.0F, -0.7F, 1, 3, 1, 0.0F); + setRotateAngle(lHorn03a, -0.10471975511965977F, 0.0F, 0.17453292519943295F); + + ModelRenderer lHorn03b = new ModelRenderer(this, 0, 4); + lHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03b.addBox(-0.3F, -3.0F, -0.7F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn03c = new ModelRenderer(this, 0, 4); + lHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03c.addBox(-0.7F, -3.0F, -0.3F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn03d = new ModelRenderer(this, 0, 0); + lHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03d.addBox(-0.2F, -3.0F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn03d_1 = new ModelRenderer(this, 0, 4); + lHorn03d_1.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03d_1.addBox(-0.3F, -3.0F, -0.3F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn04 = new ModelRenderer(this, 4, 0); + lHorn04.setRotationPoint(0.0F, -2.8F, 0.0F); + lHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(lHorn04, 0.05235987755982988F, 0.0F, 0.13962634015954636F); + + ModelRenderer lHorn05 = new ModelRenderer(this, 4, 4); + lHorn05.setRotationPoint(0.0F, -2.7F, 0.0F); + lHorn05.addBox(-0.5F, -2.0F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn05, 0.05235987755982988F, 0.0F, -0.13962634015954636F); + + ModelRenderer leftEar = new ModelRenderer(this, 48, 0); + leftEar.setRotationPoint(2.6F, -5.4F, 0.1F); + leftEar.addBox(0.0F, -0.5F, -1.0F, 4, 1, 2, 0.0F); + setRotateAngle(leftEar, -0.3490658503988659F, 0.0F, 0.3141592653589793F); + + ModelRenderer rHorn01 = new ModelRenderer(this, 23, 0); + rHorn01.mirror = true; + rHorn01.setRotationPoint(-2.9F, -7.2F, -0.2F); + rHorn01.addBox(-1.0F, -2.7F, -1.0F, 2, 4, 2, 0.0F); + setRotateAngle(rHorn01, -0.17453292519943295F, -0.13962634015954636F, -0.40142572795869574F); + + ModelRenderer rHorn02a = new ModelRenderer(this, 0, 0); + rHorn02a.mirror = true; + rHorn02a.setRotationPoint(0.0F, -2.2F, 0.0F); + rHorn02a.addBox(-0.8F, -3.0F, -0.8F, 1, 3, 1, 0.0F); + setRotateAngle(rHorn02a, -0.17453292519943295F, 0.0F, -0.2617993877991494F); + + ModelRenderer rHorn02b = new ModelRenderer(this, 0, 0); + rHorn02b.mirror = true; + rHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02b.addBox(-0.2F, -3.0F, -0.8F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn02c = new ModelRenderer(this, 0, 0); + rHorn02c.mirror = true; + rHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02c.addBox(-0.8F, -3.0F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn03a = new ModelRenderer(this, 0, 4); + rHorn03a.mirror = true; + rHorn03a.setRotationPoint(0.0F, -2.7F, 0.0F); + rHorn03a.addBox(-0.7F, -3.0F, -0.7F, 1, 3, 1, 0.0F); + setRotateAngle(rHorn03a, -0.10471975511965977F, 0.0F, -0.17453292519943295F); + + ModelRenderer rHorn03b = new ModelRenderer(this, 0, 4); + rHorn03b.mirror = true; + rHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03b.addBox(-0.3F, -3.0F, -0.7F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn03c = new ModelRenderer(this, 0, 4); + rHorn03c.mirror = true; + rHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03c.addBox(-0.7F, -3.0F, -0.3F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn03d = new ModelRenderer(this, 0, 0); + rHorn03d.mirror = true; + rHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03d.addBox(-0.2F, -3.0F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn03d_1 = new ModelRenderer(this, 0, 4); + rHorn03d_1.mirror = true; + rHorn03d_1.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03d_1.addBox(-0.3F, -3.0F, -0.3F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn04 = new ModelRenderer(this, 4, 0); + rHorn04.mirror = true; + rHorn04.setRotationPoint(0.0F, -2.8F, 0.0F); + rHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rHorn04, 0.05235987755982988F, 0.0F, -0.13962634015954636F); + + ModelRenderer rHorn05 = new ModelRenderer(this, 4, 4); + rHorn05.mirror = true; + rHorn05.setRotationPoint(0.0F, -2.7F, 0.0F); + rHorn05.addBox(-0.5F, -2.0F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn05, 0.05235987755982988F, 0.0F, 0.13962634015954636F); + + ModelRenderer rightEar = new ModelRenderer(this, 48, 0); + rightEar.mirror = true; + rightEar.setRotationPoint(-2.6F, -5.4F, 0.1F); + rightEar.addBox(-4.0F, -0.5F, -1.0F, 4, 1, 2, 0.0F); + setRotateAngle(rightEar, -0.3490658503988659F, 0.0F, -0.3141592653589793F); + + ModelRenderer snout = new ModelRenderer(this, 29, 2); + snout.setRotationPoint(0.0F, -4.6F, -2.5F); + snout.addBox(-2.0F, -1.9F, -5.1F, 4, 3, 5, 0.0F); + setRotateAngle(snout, 0.5235987755982988F, 0.0F, 0.0F); + + jawLower.addChild(beard); + head.addChild(rightEar); + head.addChild(snout); + head.addChild(jawUpper00); + head.addChild(rHorn01); + head.addChild(leftEar); + head.addChild(lHorn01); + head.addChild(jawLower); + jawUpper00.addChild(jawUpper01); + lHorn01.addChild(lHorn02a); + lHorn02a.addChild(lHorn03a); + lHorn02a.addChild(lHorn03d); + lHorn02a.addChild(lHorn02b); + lHorn02a.addChild(lHorn02c); + lHorn03a.addChild(lHorn03d_1); + lHorn03a.addChild(lHorn03c); + lHorn03a.addChild(lHorn03b); + lHorn03a.addChild(lHorn04); + lHorn04.addChild(lHorn05); + rHorn01.addChild(rHorn02a); + rHorn02a.addChild(rHorn02c); + rHorn02a.addChild(rHorn03a); + rHorn02a.addChild(rHorn02b); + rHorn02a.addChild(rHorn03d); + rHorn03a.addChild(rHorn04); + rHorn03a.addChild(rHorn03b); + rHorn03a.addChild(rHorn03c); + rHorn03a.addChild(rHorn03d_1); + rHorn04.addChild(rHorn05); + } + + @Override + public void preRender(GameProfile profile) { + + setTranslation(0, 0, -0.25f * 0.0625f); + GlStateManager.scale(1.25, 1.25, 1.25); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + GlStateManager.translate(0, 0.1f, 0.15f); + GlStateManager.scale(0.65f, 0.65f, 0.65f); + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CambionHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CambionHead.java new file mode 100644 index 0000000..87da7a6 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CambionHead.java @@ -0,0 +1,278 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class CambionHead extends ModelHead { + + public static final CambionHead INSTANCE = new CambionHead(); + + protected CambionHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + + head = new ModelRenderer(this, 0, 0); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); + + ModelRenderer hair00 = new ModelRenderer(this, 38, 46); + hair00.setRotationPoint(0.0F, -5.5F, 3.2F); + hair00.addBox(-3.99F, 0.0F, -1.0F, 8, 11, 2, 0.0F); + setRotateAngle(hair00, 0.13962634015954636F, 0.0F, 0.0F); + + ModelRenderer hair01 = new ModelRenderer(this, 40, 36); + hair01.mirror = true; + hair01.setRotationPoint(0.0F, -7.2F, 3.2F); + hair01.addBox(-4.01F, 0.0F, -0.1F, 8, 8, 1, 0.0F); + setRotateAngle(hair01, 0.3490658503988659F, 0.0F, 0.0F); + + ModelRenderer lHorn01 = new ModelRenderer(this, 0, 0); + lHorn01.setRotationPoint(2.9F, -7.3F, 0.6F); + lHorn01.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(lHorn01, -0.6108652381980153F, 0.0F, 1.3089969389957472F); + + ModelRenderer lHorn02a = new ModelRenderer(this, 0, 4); + lHorn02a.setRotationPoint(-0.1F, -1.5F, -0.1F); + lHorn02a.addBox(-0.8F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn02a, -0.2617993877991494F, 0.0F, 0.40142572795869574F); + + ModelRenderer lHorn02b = new ModelRenderer(this, 0, 4); + lHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02b.addBox(-0.2F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn02c = new ModelRenderer(this, 0, 4); + lHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02c.addBox(-0.8F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03a = new ModelRenderer(this, 0, 4); + lHorn03a.setRotationPoint(0.0F, -1.6F, 0.0F); + lHorn03a.addBox(-0.7F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn03a, -0.17453292519943295F, 0.0F, 0.4363323129985824F); + + ModelRenderer lHorn03b = new ModelRenderer(this, 0, 4); + lHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03b.addBox(-0.3F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03c = new ModelRenderer(this, 0, 4); + lHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03c.addBox(-0.7F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03d = new ModelRenderer(this, 0, 4); + lHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03d.addBox(-0.2F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03d_1 = new ModelRenderer(this, 0, 4); + lHorn03d_1.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03d_1.addBox(-0.3F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn04 = new ModelRenderer(this, 49, 0); + lHorn04.setRotationPoint(0.0F, -1.7F, 0.0F); + lHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(lHorn04, 0.05235987755982988F, 0.0F, 0.13962634015954636F); + + ModelRenderer lHorn05 = new ModelRenderer(this, 43, 0); + lHorn05.setRotationPoint(0.0F, -2.7F, 0.0F); + lHorn05.addBox(-0.5F, -2.1F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn05, 0.05235987755982988F, 0.0F, -0.3141592653589793F); + + ModelRenderer lUpperHorn01 = new ModelRenderer(this, 24, 0); + lUpperHorn01.setRotationPoint(2.0F, -8.7F, -0.5F); + lUpperHorn01.addBox(-1.0F, -1.0F, -1.8F, 2, 2, 3, 0.0F); + setRotateAngle(lUpperHorn01, 0.8726646259971648F, 0.17453292519943295F, 0.0F); + + ModelRenderer lUpperHorn02a = new ModelRenderer(this, 33, 7); + lUpperHorn02a.setRotationPoint(0.0F, 0.0F, 0.9F); + lUpperHorn02a.addBox(-0.2F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + setRotateAngle(lUpperHorn02a, -0.3141592653589793F, 0.2617993877991494F, 0.0F); + + ModelRenderer lUpperHorn02b = new ModelRenderer(this, 33, 7); + lUpperHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + lUpperHorn02b.addBox(-0.8F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer lUpperHorn02c = new ModelRenderer(this, 33, 7); + lUpperHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + lUpperHorn02c.addBox(-0.2F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer lUpperHorn02d = new ModelRenderer(this, 33, 7); + lUpperHorn02d.setRotationPoint(0.0F, 0.0F, 0.0F); + lUpperHorn02d.addBox(-0.8F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer lUpperHorn03 = new ModelRenderer(this, 42, 7); + lUpperHorn03.setRotationPoint(0.0F, 0.0F, 2.4F); + lUpperHorn03.addBox(-0.5F, -0.5F, -0.4F, 1, 1, 3, 0.0F); + setRotateAngle(lUpperHorn03, -0.17453292519943295F, 0.17453292519943295F, 0.0F); + + ModelRenderer lowerJaw = new ModelRenderer(this, 21, 46); + lowerJaw.setRotationPoint(0.0F, -0.4F, -4.0F); + lowerJaw.addBox(-1.5F, -0.5F, -1.6F, 3, 1, 2, 0.0F); + + ModelRenderer rHorn01 = new ModelRenderer(this, 0, 0); + rHorn01.mirror = true; + rHorn01.setRotationPoint(-2.9F, -7.3F, 0.6F); + rHorn01.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(rHorn01, -0.6108652381980153F, 0.0F, -1.3089969389957472F); + + ModelRenderer rHorn02a = new ModelRenderer(this, 0, 4); + rHorn02a.mirror = true; + rHorn02a.setRotationPoint(0.1F, -1.5F, -0.1F); + rHorn02a.addBox(-0.8F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn02a, -0.2617993877991494F, 0.0F, -0.40142572795869574F); + + ModelRenderer rHorn02b = new ModelRenderer(this, 0, 4); + rHorn02b.mirror = true; + rHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02b.addBox(-0.2F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn02c = new ModelRenderer(this, 0, 4); + rHorn02c.mirror = true; + rHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02c.addBox(-0.8F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03a = new ModelRenderer(this, 0, 4); + rHorn03a.mirror = true; + rHorn03a.setRotationPoint(0.0F, -1.6F, 0.0F); + rHorn03a.addBox(-0.7F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn03a, -0.17453292519943295F, 0.0F, -0.4363323129985824F); + + ModelRenderer rHorn03b = new ModelRenderer(this, 0, 4); + rHorn03b.mirror = true; + rHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03b.addBox(-0.3F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03c = new ModelRenderer(this, 0, 4); + rHorn03c.mirror = true; + rHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03c.addBox(-0.7F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03d = new ModelRenderer(this, 0, 4); + rHorn03d.mirror = true; + rHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03d.addBox(-0.2F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03d_1 = new ModelRenderer(this, 0, 4); + rHorn03d_1.mirror = true; + rHorn03d_1.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03d_1.addBox(-0.3F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn04 = new ModelRenderer(this, 49, 0); + rHorn04.mirror = true; + rHorn04.setRotationPoint(0.0F, -1.7F, 0.0F); + rHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rHorn04, 0.05235987755982988F, 0.0F, -0.13962634015954636F); + + ModelRenderer rHorn05 = new ModelRenderer(this, 43, 0); + rHorn05.mirror = true; + rHorn05.setRotationPoint(0.0F, -2.7F, 0.0F); + rHorn05.addBox(-0.5F, -2.1F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn05, 0.05235987755982988F, 0.0F, 0.3141592653589793F); + + ModelRenderer rUpperHorn01 = new ModelRenderer(this, 24, 0); + rUpperHorn01.mirror = true; + rUpperHorn01.setRotationPoint(-2.0F, -8.7F, -0.5F); + rUpperHorn01.addBox(-1.0F, -1.0F, -1.8F, 2, 2, 3, 0.0F); + setRotateAngle(rUpperHorn01, 0.8726646259971648F, -0.17453292519943295F, 0.0F); + + ModelRenderer rUpperHorn02a = new ModelRenderer(this, 33, 7); + rUpperHorn02a.mirror = true; + rUpperHorn02a.setRotationPoint(0.0F, 0.0F, 0.9F); + rUpperHorn02a.addBox(-0.2F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + setRotateAngle(rUpperHorn02a, -0.3141592653589793F, -0.2617993877991494F, 0.0F); + + ModelRenderer rUpperHorn02b = new ModelRenderer(this, 33, 7); + rUpperHorn02b.mirror = true; + rUpperHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + rUpperHorn02b.addBox(-0.8F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer rUpperHorn02c = new ModelRenderer(this, 33, 7); + rUpperHorn02c.mirror = true; + rUpperHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + rUpperHorn02c.addBox(-0.2F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer rUpperHorn02d = new ModelRenderer(this, 33, 7); + rUpperHorn02d.mirror = true; + rUpperHorn02d.setRotationPoint(0.0F, 0.0F, 0.0F); + rUpperHorn02d.addBox(-0.8F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer rUpperHorn03 = new ModelRenderer(this, 42, 7); + rUpperHorn03.mirror = true; + rUpperHorn03.setRotationPoint(0.0F, 0.0F, 2.4F); + rUpperHorn03.addBox(-0.5F, -0.5F, -0.4F, 1, 1, 3, 0.0F); + setRotateAngle(rUpperHorn03, -0.17453292519943295F, -0.17453292519943295F, 0.0F); + + ModelRenderer snout = new ModelRenderer(this, 21, 35); + snout.setRotationPoint(0.0F, -2.5F, -3.9F); + snout.addBox(-1.5F, -1.0F, -2.0F, 3, 2, 3, 0.0F); + setRotateAngle(snout, 0.41887902047863906F, 0.0F, 0.0F); + + ModelRenderer upperJaw = new ModelRenderer(this, 21, 41); + upperJaw.setRotationPoint(0.0F, -1.4F, -4.0F); + upperJaw.addBox(-2.0F, -1.0F, -1.7F, 4, 2, 2, 0.0F); + + head.addChild(hair00); + head.addChild(hair01); + head.addChild(snout); + head.addChild(lHorn01); + head.addChild(rHorn01); + head.addChild(upperJaw); + head.addChild(lowerJaw); + head.addChild(rUpperHorn01); + head.addChild(lUpperHorn01); + lHorn01.addChild(lHorn02a); + lHorn02a.addChild(lHorn03d); + lHorn02a.addChild(lHorn02b); + lHorn02a.addChild(lHorn03a); + lHorn02a.addChild(lHorn02c); + lHorn03a.addChild(lHorn03b); + lHorn03a.addChild(lHorn03d_1); + lHorn03a.addChild(lHorn03c); + lHorn03a.addChild(lHorn04); + lHorn04.addChild(lHorn05); + lUpperHorn01.addChild(lUpperHorn02a); + lUpperHorn02a.addChild(lUpperHorn03); + lUpperHorn02a.addChild(lUpperHorn02b); + lUpperHorn02a.addChild(lUpperHorn02d); + lUpperHorn02a.addChild(lUpperHorn02c); + rHorn01.addChild(rHorn02a); + rHorn02a.addChild(rHorn02b); + rHorn02a.addChild(rHorn03d); + rHorn02a.addChild(rHorn03a); + rHorn02a.addChild(rHorn02c); + rHorn03a.addChild(rHorn03d_1); + rHorn03a.addChild(rHorn04); + rHorn03a.addChild(rHorn03b); + rHorn03a.addChild(rHorn03c); + rHorn04.addChild(rHorn05); + rUpperHorn01.addChild(rUpperHorn02a); + rUpperHorn02a.addChild(rUpperHorn02b); + rUpperHorn02a.addChild(rUpperHorn02d); + rUpperHorn02a.addChild(rUpperHorn02c); + rUpperHorn02a.addChild(rUpperHorn03); + } + + @Override + public void preRender(GameProfile profile) { + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + GlStateManager.translate(0, 0.2f, 0.1f); + GlStateManager.scale(0.8f, 0.8f, 0.8f); + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CambionSlimHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CambionSlimHead.java new file mode 100644 index 0000000..46b218f --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CambionSlimHead.java @@ -0,0 +1,278 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class CambionSlimHead extends ModelHead { + + public static final CambionSlimHead INSTANCE = new CambionSlimHead(); + + protected CambionSlimHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + + head = new ModelRenderer(this, 0, 0); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); + + ModelRenderer hair00 = new ModelRenderer(this, 38, 46); + hair00.setRotationPoint(0.0F, -5.5F, 3.2F); + hair00.addBox(-3.99F, 0.0F, -1.0F, 8, 11, 2, 0.0F); + setRotateAngle(hair00, 0.13962634015954636F, 0.0F, 0.0F); + + ModelRenderer hair01 = new ModelRenderer(this, 40, 36); + hair01.mirror = true; + hair01.setRotationPoint(0.0F, -7.2F, 3.2F); + hair01.addBox(-4.01F, 0.0F, -0.1F, 8, 8, 1, 0.0F); + setRotateAngle(hair01, 0.3490658503988659F, 0.0F, 0.0F); + + ModelRenderer lHorn01 = new ModelRenderer(this, 0, 0); + lHorn01.setRotationPoint(2.9F, -7.3F, 0.6F); + lHorn01.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(lHorn01, -0.6108652381980153F, 0.0F, 1.3089969389957472F); + + ModelRenderer lHorn02a = new ModelRenderer(this, 0, 4); + lHorn02a.setRotationPoint(-0.1F, -1.5F, -0.1F); + lHorn02a.addBox(-0.8F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn02a, -0.2617993877991494F, 0.0F, 0.40142572795869574F); + + ModelRenderer lHorn02b = new ModelRenderer(this, 0, 4); + lHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02b.addBox(-0.2F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn02c = new ModelRenderer(this, 0, 4); + lHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02c.addBox(-0.8F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03a = new ModelRenderer(this, 0, 4); + lHorn03a.setRotationPoint(0.0F, -1.6F, 0.0F); + lHorn03a.addBox(-0.7F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn03a, -0.17453292519943295F, 0.0F, 0.4363323129985824F); + + ModelRenderer lHorn03b = new ModelRenderer(this, 0, 4); + lHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03b.addBox(-0.3F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03c = new ModelRenderer(this, 0, 4); + lHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03c.addBox(-0.7F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03d = new ModelRenderer(this, 0, 4); + lHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03d.addBox(-0.2F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03d_1 = new ModelRenderer(this, 0, 4); + lHorn03d_1.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03d_1.addBox(-0.3F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn04 = new ModelRenderer(this, 49, 0); + lHorn04.setRotationPoint(0.0F, -1.7F, 0.0F); + lHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(lHorn04, 0.05235987755982988F, 0.0F, 0.13962634015954636F); + + ModelRenderer lHorn05 = new ModelRenderer(this, 43, 0); + lHorn05.setRotationPoint(0.0F, -2.7F, 0.0F); + lHorn05.addBox(-0.5F, -2.1F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn05, 0.05235987755982988F, 0.0F, -0.3141592653589793F); + + ModelRenderer lUpperHorn01 = new ModelRenderer(this, 24, 0); + lUpperHorn01.setRotationPoint(2.0F, -8.7F, -0.5F); + lUpperHorn01.addBox(-1.0F, -1.0F, -1.8F, 2, 2, 3, 0.0F); + setRotateAngle(lUpperHorn01, 0.8726646259971648F, 0.17453292519943295F, 0.0F); + + ModelRenderer lUpperHorn02a = new ModelRenderer(this, 33, 7); + lUpperHorn02a.setRotationPoint(0.0F, 0.0F, 0.9F); + lUpperHorn02a.addBox(-0.2F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + setRotateAngle(lUpperHorn02a, -0.3141592653589793F, 0.2617993877991494F, 0.0F); + + ModelRenderer lUpperHorn02b = new ModelRenderer(this, 33, 7); + lUpperHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + lUpperHorn02b.addBox(-0.8F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer lUpperHorn02c = new ModelRenderer(this, 33, 7); + lUpperHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + lUpperHorn02c.addBox(-0.2F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer lUpperHorn02d = new ModelRenderer(this, 33, 7); + lUpperHorn02d.setRotationPoint(0.0F, 0.0F, 0.0F); + lUpperHorn02d.addBox(-0.8F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer lUpperHorn03 = new ModelRenderer(this, 42, 7); + lUpperHorn03.setRotationPoint(0.0F, 0.0F, 2.4F); + lUpperHorn03.addBox(-0.5F, -0.5F, -0.4F, 1, 1, 3, 0.0F); + setRotateAngle(lUpperHorn03, -0.17453292519943295F, 0.17453292519943295F, 0.0F); + + ModelRenderer lowerJaw = new ModelRenderer(this, 23, 46); + lowerJaw.setRotationPoint(0.0F, -0.4F, -3.8F); + lowerJaw.addBox(-1.5F, -0.5F, -1.6F, 3, 1, 2, 0.0F); + + ModelRenderer rHorn01 = new ModelRenderer(this, 0, 0); + rHorn01.mirror = true; + rHorn01.setRotationPoint(-2.9F, -7.3F, 0.6F); + rHorn01.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(rHorn01, -0.6108652381980153F, 0.0F, -1.3089969389957472F); + + ModelRenderer rHorn02a = new ModelRenderer(this, 0, 4); + rHorn02a.mirror = true; + rHorn02a.setRotationPoint(0.1F, -1.5F, -0.1F); + rHorn02a.addBox(-0.8F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn02a, -0.2617993877991494F, 0.0F, -0.40142572795869574F); + + ModelRenderer rHorn02b = new ModelRenderer(this, 0, 4); + rHorn02b.mirror = true; + rHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02b.addBox(-0.2F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn02c = new ModelRenderer(this, 0, 4); + rHorn02c.mirror = true; + rHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02c.addBox(-0.8F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03a = new ModelRenderer(this, 0, 4); + rHorn03a.mirror = true; + rHorn03a.setRotationPoint(0.0F, -1.6F, 0.0F); + rHorn03a.addBox(-0.7F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn03a, -0.17453292519943295F, 0.0F, -0.4363323129985824F); + + ModelRenderer rHorn03b = new ModelRenderer(this, 0, 4); + rHorn03b.mirror = true; + rHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03b.addBox(-0.3F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03c = new ModelRenderer(this, 0, 4); + rHorn03c.mirror = true; + rHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03c.addBox(-0.7F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03d = new ModelRenderer(this, 0, 4); + rHorn03d.mirror = true; + rHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03d.addBox(-0.2F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03d_1 = new ModelRenderer(this, 0, 4); + rHorn03d_1.mirror = true; + rHorn03d_1.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03d_1.addBox(-0.3F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn04 = new ModelRenderer(this, 49, 0); + rHorn04.mirror = true; + rHorn04.setRotationPoint(0.0F, -1.7F, 0.0F); + rHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rHorn04, 0.05235987755982988F, 0.0F, -0.13962634015954636F); + + ModelRenderer rHorn05 = new ModelRenderer(this, 43, 0); + rHorn05.mirror = true; + rHorn05.setRotationPoint(0.0F, -2.7F, 0.0F); + rHorn05.addBox(-0.5F, -2.1F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn05, 0.05235987755982988F, 0.0F, 0.3141592653589793F); + + ModelRenderer rUpperHorn01 = new ModelRenderer(this, 24, 0); + rUpperHorn01.mirror = true; + rUpperHorn01.setRotationPoint(-2.0F, -8.7F, -0.5F); + rUpperHorn01.addBox(-1.0F, -1.0F, -1.8F, 2, 2, 3, 0.0F); + setRotateAngle(rUpperHorn01, 0.8726646259971648F, -0.17453292519943295F, 0.0F); + + ModelRenderer rUpperHorn02a = new ModelRenderer(this, 33, 7); + rUpperHorn02a.mirror = true; + rUpperHorn02a.setRotationPoint(0.0F, 0.0F, 0.9F); + rUpperHorn02a.addBox(-0.2F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + setRotateAngle(rUpperHorn02a, -0.3141592653589793F, -0.2617993877991494F, 0.0F); + + ModelRenderer rUpperHorn02b = new ModelRenderer(this, 33, 7); + rUpperHorn02b.mirror = true; + rUpperHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + rUpperHorn02b.addBox(-0.8F, -0.8F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer rUpperHorn02c = new ModelRenderer(this, 33, 7); + rUpperHorn02c.mirror = true; + rUpperHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + rUpperHorn02c.addBox(-0.2F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer rUpperHorn02d = new ModelRenderer(this, 33, 7); + rUpperHorn02d.mirror = true; + rUpperHorn02d.setRotationPoint(0.0F, 0.0F, 0.0F); + rUpperHorn02d.addBox(-0.8F, -0.2F, -0.5F, 1, 1, 3, 0.0F); + + ModelRenderer rUpperHorn03 = new ModelRenderer(this, 42, 7); + rUpperHorn03.mirror = true; + rUpperHorn03.setRotationPoint(0.0F, 0.0F, 2.4F); + rUpperHorn03.addBox(-0.5F, -0.5F, -0.4F, 1, 1, 3, 0.0F); + setRotateAngle(rUpperHorn03, -0.17453292519943295F, -0.17453292519943295F, 0.0F); + + ModelRenderer snout = new ModelRenderer(this, 21, 35); + snout.setRotationPoint(0.0F, -2.5F, -3.7F); + snout.addBox(-1.5F, -1.0F, -2.0F, 3, 2, 3, 0.0F); + setRotateAngle(snout, 0.41887902047863906F, 0.0F, 0.0F); + + ModelRenderer upperJaw = new ModelRenderer(this, 23, 41); + upperJaw.setRotationPoint(0.0F, -1.4F, -3.8F); + upperJaw.addBox(-2.0F, -1.0F, -1.7F, 4, 2, 2, 0.0F); + + head.addChild(hair00); + head.addChild(hair01); + head.addChild(upperJaw); + head.addChild(rHorn01); + head.addChild(lowerJaw); + head.addChild(rUpperHorn01); + head.addChild(snout); + head.addChild(lHorn01); + head.addChild(lUpperHorn01); + lHorn01.addChild(lHorn02a); + lHorn02a.addChild(lHorn03a); + lHorn02a.addChild(lHorn03d); + lHorn02a.addChild(lHorn02c); + lHorn02a.addChild(lHorn02b); + lHorn03a.addChild(lHorn03b); + lHorn03a.addChild(lHorn03d_1); + lHorn03a.addChild(lHorn03c); + lHorn03a.addChild(lHorn04); + lHorn04.addChild(lHorn05); + lUpperHorn01.addChild(lUpperHorn02a); + lUpperHorn02a.addChild(lUpperHorn02c); + lUpperHorn02a.addChild(lUpperHorn03); + lUpperHorn02a.addChild(lUpperHorn02d); + lUpperHorn02a.addChild(lUpperHorn02b); + rHorn01.addChild(rHorn02a); + rHorn02a.addChild(rHorn02c); + rHorn02a.addChild(rHorn03a); + rHorn02a.addChild(rHorn02b); + rHorn02a.addChild(rHorn03d); + rHorn03a.addChild(rHorn03c); + rHorn03a.addChild(rHorn04); + rHorn03a.addChild(rHorn03b); + rHorn03a.addChild(rHorn03d_1); + rHorn04.addChild(rHorn05); + rUpperHorn01.addChild(rUpperHorn02a); + rUpperHorn02a.addChild(rUpperHorn03); + rUpperHorn02a.addChild(rUpperHorn02c); + rUpperHorn02a.addChild(rUpperHorn02d); + rUpperHorn02a.addChild(rUpperHorn02b); + } + + @Override + public void preRender(GameProfile profile) { + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + GlStateManager.translate(0, 0.2f, 0.1f); + GlStateManager.scale(0.8f, 0.8f, 0.8f); + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CleaverHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CleaverHead.java new file mode 100644 index 0000000..e3f782b --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/CleaverHead.java @@ -0,0 +1,202 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class CleaverHead extends ModelHead { + + public static final CleaverHead INSTANCE = new CleaverHead(); + + protected CleaverHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + + head = new ModelRenderer(this, 0, 0); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); + + ModelRenderer lEar00 = new ModelRenderer(this, 47, 0); + lEar00.setRotationPoint(3.4F, -5.5F, 0.0F); + lEar00.addBox(0.0F, -0.5F, -1.5F, 5, 1, 3, 0.0F); + setRotateAngle(lEar00, -0.6981317007977318F, 0.08726646259971647F, 0.3490658503988659F); + + ModelRenderer lEar01 = new ModelRenderer(this, 48, 5); + lEar01.setRotationPoint(0.0F, -0.9F, 0.0F); + lEar01.addBox(0.0F, -0.5F, -1.0F, 4, 1, 2, 0.0F); + setRotateAngle(lEar01, 0.0F, 0.0F, 0.22759093446006054F); + + ModelRenderer lHorn01 = new ModelRenderer(this, 37, 38); + lHorn01.setRotationPoint(2.8F, -6.8F, 2.0F); + lHorn01.addBox(-1.0F, -2.5F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(lHorn01, 0.08726646259971647F, 0.0F, 0.7853981633974483F); + + ModelRenderer lHorn02a = new ModelRenderer(this, 39, 38); + lHorn02a.setRotationPoint(0.1F, -1.9F, 0.2F); + lHorn02a.addBox(-0.8F, -3.0F, -0.8F, 1, 3, 1, 0.0F); + setRotateAngle(lHorn02a, 0.2792526803190927F, 0.0F, -0.2617993877991494F); + + ModelRenderer lHorn02b = new ModelRenderer(this, 39, 38); + lHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02b.addBox(-0.2F, -3.0F, -0.8F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn02c = new ModelRenderer(this, 39, 38); + lHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02c.addBox(-0.8F, -3.0F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn02d = new ModelRenderer(this, 39, 38); + lHorn02d.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02d.addBox(-0.2F, -3.0F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn03 = new ModelRenderer(this, 38, 43); + lHorn03.setRotationPoint(0.0F, -2.7F, 0.0F); + lHorn03.addBox(-0.5F, -2.5F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(lHorn03, 0.13962634015954636F, 0.0F, -0.3490658503988659F); + + ModelRenderer lHorn04 = new ModelRenderer(this, 43, 43); + lHorn04.setRotationPoint(0.0F, -2.3F, 0.0F); + lHorn04.addBox(-0.5F, -2.0F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn04, 0.13962634015954636F, 0.0F, -0.3490658503988659F); + + ModelRenderer lowerJaw = new ModelRenderer(this, 0, 55); + lowerJaw.setRotationPoint(0.0F, -0.9F, -3.5F); + lowerJaw.addBox(-2.5F, -0.5F, -5.0F, 5, 1, 6, 0.0F); + setRotateAngle(lowerJaw, -0.03490658503988659F, 0.0F, 0.0F); + + ModelRenderer lowerTeethL = new ModelRenderer(this, 24, 58); + lowerTeethL.setRotationPoint(2.2F, -0.4F, -3.5F); + lowerTeethL.addBox(-0.8F, -2.0F, -1.4F, 1, 2, 4, 0.0F); + + ModelRenderer lowerTeethM = new ModelRenderer(this, 35, 61); + lowerTeethM.setRotationPoint(0.0F, -0.4F, -3.5F); + lowerTeethM.addBox(-1.5F, -1.1F, -1.4F, 3, 1, 0, 0.0F); + + ModelRenderer lowerTeethR = new ModelRenderer(this, 24, 58); + lowerTeethR.mirror = true; + lowerTeethR.setRotationPoint(-2.2F, -0.4F, -3.5F); + lowerTeethR.addBox(-0.2F, -2.0F, -1.4F, 1, 2, 4, 0.0F); + + ModelRenderer rEar00 = new ModelRenderer(this, 47, 0); + rEar00.mirror = true; + rEar00.setRotationPoint(-3.4F, -5.5F, 0.0F); + rEar00.addBox(-5.0F, -0.5F, -1.5F, 5, 1, 3, 0.0F); + setRotateAngle(rEar00, -0.6981317007977318F, 0.08726646259971647F, -0.3490658503988659F); + + ModelRenderer rEar01 = new ModelRenderer(this, 48, 5); + rEar01.mirror = true; + rEar01.setRotationPoint(0.0F, -0.9F, 0.0F); + rEar01.addBox(-4.0F, -0.5F, -1.0F, 4, 1, 2, 0.0F); + setRotateAngle(rEar01, 0.0F, 0.0F, -0.22759093446006054F); + + ModelRenderer rHorn01 = new ModelRenderer(this, 37, 38); + rHorn01.mirror = true; + rHorn01.setRotationPoint(-2.8F, -6.8F, 2.0F); + rHorn01.addBox(-1.0F, -2.5F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(rHorn01, 0.08726646259971647F, 0.0F, -0.7853981633974483F); + + ModelRenderer rHorn02a = new ModelRenderer(this, 39, 38); + rHorn02a.mirror = true; + rHorn02a.setRotationPoint(-0.1F, -1.9F, 0.2F); + rHorn02a.addBox(-0.8F, -3.0F, -0.8F, 1, 3, 1, 0.0F); + setRotateAngle(rHorn02a, 0.2792526803190927F, 0.0F, 0.2617993877991494F); + + ModelRenderer rHorn02b = new ModelRenderer(this, 39, 38); + rHorn02b.mirror = true; + rHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02b.addBox(-0.2F, -3.0F, -0.8F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn02c = new ModelRenderer(this, 39, 38); + rHorn02c.mirror = true; + rHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02c.addBox(-0.8F, -3.0F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn02d = new ModelRenderer(this, 39, 38); + rHorn02d.mirror = true; + rHorn02d.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02d.addBox(-0.2F, -3.0F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn03 = new ModelRenderer(this, 38, 43); + rHorn03.mirror = true; + rHorn03.setRotationPoint(0.0F, -2.7F, 0.0F); + rHorn03.addBox(-0.5F, -2.5F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rHorn03, 0.13962634015954636F, 0.0F, 0.3490658503988659F); + + ModelRenderer rHorn04 = new ModelRenderer(this, 43, 43); + rHorn04.mirror = true; + rHorn04.setRotationPoint(0.0F, -2.3F, 0.0F); + rHorn04.addBox(-0.5F, -2.0F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn04, 0.13962634015954636F, 0.0F, 0.3490658503988659F); + + ModelRenderer snout = new ModelRenderer(this, 0, 35); + snout.setRotationPoint(0.0F, -5.0F, -2.3F); + snout.addBox(-2.5F, -2.05F, -6.4F, 5, 3, 6, 0.0F); + setRotateAngle(snout, 0.3490658503988659F, 0.0F, 0.0F); + + ModelRenderer upperJaw = new ModelRenderer(this, 0, 46); + upperJaw.mirror = true; + upperJaw.setRotationPoint(0.0F, -3.8F, -4.1F); + upperJaw.addBox(-3.0F, -0.65F, -4.7F, 6, 3, 5, 0.0F); + + ModelRenderer upperTeethL = new ModelRenderer(this, 52, 58); + upperTeethL.setRotationPoint(2.0F, 2.2F, -2.8F); + upperTeethL.addBox(-1.2F, 0.0F, -1.7F, 2, 2, 4, 0.0F); + + ModelRenderer upperTeethR = new ModelRenderer(this, 52, 58); + upperTeethR.mirror = true; + upperTeethR.setRotationPoint(-2.0F, 2.2F, -2.8F); + upperTeethR.addBox(-0.8F, 0.0F, -1.7F, 2, 2, 4, 0.0F); + + head.addChild(rEar00); + head.addChild(upperJaw); + head.addChild(rHorn01); + head.addChild(snout); + head.addChild(lHorn01); + head.addChild(lEar00); + head.addChild(lowerJaw); + lEar00.addChild(lEar01); + lHorn01.addChild(lHorn02a); + lHorn02a.addChild(lHorn03); + lHorn02a.addChild(lHorn02c); + lHorn02a.addChild(lHorn02d); + lHorn02a.addChild(lHorn02b); + lHorn03.addChild(lHorn04); + lowerJaw.addChild(lowerTeethR); + lowerJaw.addChild(lowerTeethM); + lowerJaw.addChild(lowerTeethL); + rEar00.addChild(rEar01); + rHorn01.addChild(rHorn02a); + rHorn02a.addChild(rHorn02d); + rHorn02a.addChild(rHorn02b); + rHorn02a.addChild(rHorn02c); + rHorn02a.addChild(rHorn03); + rHorn03.addChild(rHorn04); + upperJaw.addChild(upperTeethL); + upperJaw.addChild(upperTeethR); + } + + @Override + public void preRender(GameProfile profile) { + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + GlStateManager.translate(0, 0.05f, 0.1f); + GlStateManager.scale(0.8f, 0.8f, 0.8f); + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DemonHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DemonHead.java new file mode 100644 index 0000000..563dd1b --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DemonHead.java @@ -0,0 +1,136 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class DemonHead extends ModelHead { + + public static final DemonHead INSTANCE = new DemonHead(); + + protected DemonHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + + head = new ModelRenderer(this, 0, 0); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); + + ModelRenderer lHorn01 = new ModelRenderer(this, 32, 0); + lHorn01.setRotationPoint(2.9F, -7.4F, -1.3F); + lHorn01.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(lHorn01, 0.10471975511965977F, 0.0F, 0.41887902047863906F); + + ModelRenderer lHorn02 = new ModelRenderer(this, 32, 0); + lHorn02.setRotationPoint(0.0F, -1.7F, 0.0F); + lHorn02.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(lHorn02, -0.10471975511965977F, 0.0F, -0.19198621771937624F); + + ModelRenderer lHorn03a = new ModelRenderer(this, 35, 5); + lHorn03a.setRotationPoint(0.0F, -1.6F, 0.0F); + lHorn03a.addBox(-0.8F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn03a, -0.13962634015954636F, 0.0F, -0.06981317007977318F); + + ModelRenderer lHorn03b = new ModelRenderer(this, 35, 5); + lHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03b.addBox(-0.2F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03c = new ModelRenderer(this, 35, 5); + lHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03c.addBox(-0.8F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03d = new ModelRenderer(this, 35, 5); + lHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03d.addBox(-0.2F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn04 = new ModelRenderer(this, 35, 10); + lHorn04.setRotationPoint(0.0F, -1.7F, 0.0F); + lHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(lHorn04, -0.13962634015954636F, 0.0F, -0.10471975511965977F); + + ModelRenderer rHorn01 = new ModelRenderer(this, 32, 0); + rHorn01.mirror = true; + rHorn01.setRotationPoint(-2.9F, -7.4F, -1.3F); + rHorn01.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(rHorn01, 0.10471975511965977F, 0.0F, -0.41887902047863906F); + + ModelRenderer rHorn02 = new ModelRenderer(this, 32, 0); + rHorn02.mirror = true; + rHorn02.setRotationPoint(0.0F, -1.7F, 0.0F); + rHorn02.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(rHorn02, -0.10471975511965977F, 0.0F, 0.19198621771937624F); + + ModelRenderer rHorn03a = new ModelRenderer(this, 35, 5); + rHorn03a.mirror = true; + rHorn03a.setRotationPoint(0.0F, -1.6F, 0.0F); + rHorn03a.addBox(-0.8F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn03a, -0.13962634015954636F, 0.0F, 0.06981317007977318F); + + ModelRenderer rHorn03b = new ModelRenderer(this, 35, 5); + rHorn03b.mirror = true; + rHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03b.addBox(-0.2F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03c = new ModelRenderer(this, 35, 5); + rHorn03c.mirror = true; + rHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03c.addBox(-0.8F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03d = new ModelRenderer(this, 35, 5); + rHorn03d.mirror = true; + rHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03d.addBox(-0.2F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn04 = new ModelRenderer(this, 35, 10); + rHorn04.mirror = true; + rHorn04.setRotationPoint(0.0F, -1.7F, 0.0F); + rHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rHorn04, -0.13962634015954636F, 0.0F, 0.10471975511965977F); + + head.addChild(rHorn01); + head.addChild(lHorn01); + lHorn01.addChild(lHorn02); + lHorn02.addChild(lHorn03a); + lHorn03a.addChild(lHorn03d); + lHorn03a.addChild(lHorn04); + lHorn03a.addChild(lHorn03b); + lHorn03a.addChild(lHorn03c); + rHorn01.addChild(rHorn02); + rHorn02.addChild(rHorn03a); + rHorn03a.addChild(rHorn03d); + rHorn03a.addChild(rHorn03b); + rHorn03a.addChild(rHorn04); + rHorn03a.addChild(rHorn03c); + } + + @Override + public void preRender(GameProfile profile) { + float fx = 0; + float fy = 0; + float fz = -1.0f * 0.0625f; + setTranslation(fx, fy, fz); + GlStateManager.scale(1.4, 1.4, 1.4); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + GlStateManager.translate(0, 0.15f, 0.25f); + GlStateManager.scale(0.5f, 0.5f, 0.5f); + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DemonessHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DemonessHead.java new file mode 100644 index 0000000..7c10086 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DemonessHead.java @@ -0,0 +1,195 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class DemonessHead extends ModelHead { + + public static final DemonessHead INSTANCE = new DemonessHead(); + + protected DemonessHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + + head = new ModelRenderer(this, 0, 1); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); + + ModelRenderer hair01 = new ModelRenderer(this, 25, 0); + hair01.setRotationPoint(0.0F, -4.4F, 3.2F); + hair01.addBox(-4.0F, 0.0F, -0.1F, 8, 8, 1, 0.0F); + setRotateAngle(hair01, 0.20943951023931953F, 0.0F, 0.0F); + + ModelRenderer hair02 = new ModelRenderer(this, 25, 0); + hair02.mirror = true; + hair02.setRotationPoint(0.0F, -6.9F, 3.2F); + hair02.addBox(-4.0F, 0.0F, -0.1F, 8, 8, 1, 0.0F); + setRotateAngle(hair02, 0.3490658503988659F, 0.0F, 0.0F); + + ModelRenderer lHorn01 = new ModelRenderer(this, 0, 0); + lHorn01.setRotationPoint(2.9F, -7.4F, -0.5F); + lHorn01.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(lHorn01, -0.17453292519943295F, 0.13962634015954636F, 0.13962634015954636F); + + ModelRenderer lHorn02a = new ModelRenderer(this, 0, 4); + lHorn02a.setRotationPoint(0.0F, -1.7F, 0.0F); + lHorn02a.addBox(-0.8F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn02a, -0.17453292519943295F, 0.0F, 0.05235987755982988F); + + ModelRenderer lHorn02b = new ModelRenderer(this, 0, 4); + lHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02b.addBox(-0.2F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn02c = new ModelRenderer(this, 0, 4); + lHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn02c.addBox(-0.8F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03a = new ModelRenderer(this, 0, 4); + lHorn03a.setRotationPoint(0.0F, -1.6F, 0.0F); + lHorn03a.addBox(-0.7F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn03a, -0.10471975511965977F, 0.0F, 0.10471975511965977F); + + ModelRenderer lHorn03b = new ModelRenderer(this, 0, 4); + lHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03b.addBox(-0.3F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03c = new ModelRenderer(this, 0, 4); + lHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03c.addBox(-0.7F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03d = new ModelRenderer(this, 0, 4); + lHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03d.addBox(-0.2F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn03d_1 = new ModelRenderer(this, 0, 4); + lHorn03d_1.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03d_1.addBox(-0.3F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer lHorn04 = new ModelRenderer(this, 4, 4); + lHorn04.setRotationPoint(0.0F, -1.7F, 0.0F); + lHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(lHorn04, 0.05235987755982988F, 0.0F, 0.13962634015954636F); + + ModelRenderer lHorn05 = new ModelRenderer(this, 43, 0); + lHorn05.setRotationPoint(0.0F, -2.7F, 0.0F); + lHorn05.addBox(-0.5F, -2.1F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(lHorn05, 0.05235987755982988F, 0.0F, -0.13962634015954636F); + + ModelRenderer rHorn01 = new ModelRenderer(this, 0, 0); + rHorn01.mirror = true; + rHorn01.setRotationPoint(-2.9F, -7.4F, -0.5F); + rHorn01.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(rHorn01, -0.17453292519943295F, -0.13962634015954636F, -0.13962634015954636F); + + ModelRenderer rHorn02a = new ModelRenderer(this, 0, 4); + rHorn02a.mirror = true; + rHorn02a.setRotationPoint(0.0F, -1.7F, 0.0F); + rHorn02a.addBox(-0.8F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn02a, -0.17453292519943295F, 0.0F, -0.05235987755982988F); + + ModelRenderer rHorn02b = new ModelRenderer(this, 0, 4); + rHorn02b.mirror = true; + rHorn02b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02b.addBox(-0.2F, -2.0F, -0.8F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn02c = new ModelRenderer(this, 0, 4); + rHorn02c.mirror = true; + rHorn02c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn02c.addBox(-0.8F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03a = new ModelRenderer(this, 0, 4); + rHorn03a.mirror = true; + rHorn03a.setRotationPoint(0.0F, -1.6F, 0.0F); + rHorn03a.addBox(-0.7F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn03a, -0.10471975511965977F, 0.0F, -0.10471975511965977F); + + ModelRenderer rHorn03b = new ModelRenderer(this, 0, 4); + rHorn03b.mirror = true; + rHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03b.addBox(-0.3F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03c = new ModelRenderer(this, 0, 4); + rHorn03c.mirror = true; + rHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03c.addBox(-0.7F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03d = new ModelRenderer(this, 0, 4); + rHorn03d.mirror = true; + rHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03d.addBox(-0.2F, -2.0F, -0.2F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn03d_1 = new ModelRenderer(this, 0, 4); + rHorn03d_1.mirror = true; + rHorn03d_1.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03d_1.addBox(-0.3F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer rHorn04 = new ModelRenderer(this, 4, 4); + rHorn04.mirror = true; + rHorn04.setRotationPoint(0.0F, -1.7F, 0.0F); + rHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rHorn04, 0.05235987755982988F, 0.0F, -0.13962634015954636F); + + ModelRenderer rHorn05 = new ModelRenderer(this, 43, 0); + rHorn05.mirror = true; + rHorn05.setRotationPoint(0.0F, -2.7F, 0.0F); + rHorn05.addBox(-0.5F, -2.1F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(rHorn05, 0.05235987755982988F, 0.0F, 0.13962634015954636F); + + head.addChild(hair01); + head.addChild(hair02); + head.addChild(lHorn01); + head.addChild(rHorn01); + lHorn01.addChild(lHorn02a); + lHorn02a.addChild(lHorn02b); + lHorn02a.addChild(lHorn03d); + lHorn02a.addChild(lHorn02c); + lHorn02a.addChild(lHorn03a); + lHorn03a.addChild(lHorn03b); + lHorn03a.addChild(lHorn03d_1); + lHorn03a.addChild(lHorn04); + lHorn03a.addChild(lHorn03c); + lHorn04.addChild(lHorn05); + rHorn01.addChild(rHorn02a); + rHorn02a.addChild(rHorn03a); + rHorn02a.addChild(rHorn02b); + rHorn02a.addChild(rHorn03d); + rHorn02a.addChild(rHorn02c); + rHorn03a.addChild(rHorn03c); + rHorn03a.addChild(rHorn04); + rHorn03a.addChild(rHorn03d_1); + rHorn03a.addChild(rHorn03b); + rHorn04.addChild(rHorn05); + } + + @Override + public void preRender(GameProfile profile) { + float fx = 0; + float fy = 0; + float fz = -1.0f * 0.0625f; + setTranslation(fx, fy, fz); + GlStateManager.scale(1.4, 1.4, 1.4); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + GlStateManager.translate(0, 0.15f, 0.25f); + GlStateManager.scale(0.5f, 0.5f, 0.5f); + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DrudenHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DrudenHead.java new file mode 100644 index 0000000..772c909 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/DrudenHead.java @@ -0,0 +1,279 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class DrudenHead extends ModelHead { + + public static final DrudenHead INSTANCE = new DrudenHead(); + + protected DrudenHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 128; + this.textureHeight = 64; + + + head = new ModelRenderer(this, 0, 1); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); + + ModelRenderer hair00 = new ModelRenderer(this, 44, 0); + hair00.setRotationPoint(0.0F, -5.1F, 3.2F); + hair00.addBox(-4.0F, 0.0F, -1.0F, 8, 11, 2, 0.0F); + setRotateAngle(hair00, 0.6981317007977318F, 0.0F, 0.0F); + + ModelRenderer hair01 = new ModelRenderer(this, 25, 0); + hair01.mirror = true; + hair01.setRotationPoint(0.0F, -6.9F, 3.2F); + hair01.addBox(-4.0F, 0.0F, -0.1F, 8, 8, 1, 0.0F); + setRotateAngle(hair01, 0.8726646259971648F, 0.0F, 0.0F); + + ModelRenderer hood = new ModelRenderer(this, 69, 0); + hood.setRotationPoint(0.0F, 0.0F, 0.0F); + hood.addBox(-4.5F, -8.5F, -4.5F, 9, 11, 9, 0.0F); + + ModelRenderer leftAntler00 = new ModelRenderer(this, 49, 34); + leftAntler00.setRotationPoint(1.9F, -7.1F, 0.0F); + leftAntler00.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(leftAntler00, -0.20943951023931953F, 0.0F, 0.3490658503988659F); + + ModelRenderer leftAntler01a = new ModelRenderer(this, 49, 34); + leftAntler01a.setRotationPoint(0.0F, -1.6F, 0.0F); + leftAntler01a.addBox(-0.2F, -3.5F, -0.8F, 1, 4, 1, 0.0F); + setRotateAngle(leftAntler01a, -0.20943951023931953F, 0.0F, 0.6108652381980153F); + + ModelRenderer leftAntler01b = new ModelRenderer(this, 49, 34); + leftAntler01b.setRotationPoint(0.0F, 0.0F, 0.0F); + leftAntler01b.addBox(-0.8F, -3.5F, -0.8F, 1, 4, 1, 0.0F); + + ModelRenderer leftAntler01c = new ModelRenderer(this, 49, 34); + leftAntler01c.setRotationPoint(0.0F, 0.0F, 0.0F); + leftAntler01c.addBox(-0.2F, -3.5F, -0.2F, 1, 4, 1, 0.0F); + + ModelRenderer leftAntler01d = new ModelRenderer(this, 49, 34); + leftAntler01d.setRotationPoint(0.0F, 0.0F, 0.0F); + leftAntler01d.addBox(-0.8F, -3.5F, -0.2F, 1, 4, 1, 0.0F); + + ModelRenderer leftAntler02 = new ModelRenderer(this, 49, 34); + leftAntler02.setRotationPoint(0.0F, -3.1F, 0.0F); + leftAntler02.addBox(-0.5F, -4.0F, -0.5F, 1, 4, 1, 0.0F); + setRotateAngle(leftAntler02, 0.0F, 0.0F, -0.3141592653589793F); + + ModelRenderer leftAntler03a = new ModelRenderer(this, 49, 34); + leftAntler03a.setRotationPoint(0.0F, -3.7F, 0.0F); + leftAntler03a.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(leftAntler03a, 0.0F, 0.0F, -0.3490658503988659F); + + ModelRenderer leftAntler03b = new ModelRenderer(this, 49, 34); + leftAntler03b.setRotationPoint(-0.0F, -2.8F, 0.0F); + leftAntler03b.addBox(-0.5F, -3.9F, -0.5F, 1, 4, 1, 0.0F); + setRotateAngle(leftAntler03b, -0.10471975511965977F, 0.0F, -0.2792526803190927F); + + ModelRenderer leftAntler03c = new ModelRenderer(this, 49, 34); + leftAntler03c.setRotationPoint(-0.0F, -3.7F, 0.0F); + leftAntler03c.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(leftAntler03c, 0.0F, 0.0F, -0.4363323129985824F); + + ModelRenderer leftAntler04a = new ModelRenderer(this, 49, 34); + leftAntler04a.setRotationPoint(-0.9F, -5.9F, 0.0F); + leftAntler04a.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(leftAntler04a, 0.45378560551852565F, 0.0F, -0.8028514559173915F); + + ModelRenderer leftAntler04b = new ModelRenderer(this, 49, 34); + leftAntler04b.setRotationPoint(-0.0F, -2.7F, 0.0F); + leftAntler04b.addBox(-0.5F, -2.0F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(leftAntler04b, -0.3141592653589793F, 0.0F, 0.0F); + + ModelRenderer leftAntler05a = new ModelRenderer(this, 49, 34); + leftAntler05a.setRotationPoint(-1.2F, -6.7F, 0.0F); + leftAntler05a.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(leftAntler05a, -0.5235987755982988F, 0.0F, -1.3089969389957472F); + + ModelRenderer leftAntler05b = new ModelRenderer(this, 49, 34); + leftAntler05b.setRotationPoint(-0.0F, -2.7F, 0.0F); + leftAntler05b.addBox(-0.5F, -2.0F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(leftAntler05b, 0.3141592653589793F, 0.0F, 0.3141592653589793F); + + ModelRenderer leftAntler06a = new ModelRenderer(this, 49, 34); + leftAntler06a.setRotationPoint(0.0F, -2.5F, -0.4F); + leftAntler06a.addBox(-0.5F, -0.5F, -3.8F, 1, 1, 4, 0.0F); + setRotateAngle(leftAntler06a, -0.6283185307179586F, 0.6981317007977318F, 0.0F); + + ModelRenderer leftAntler06b = new ModelRenderer(this, 49, 34); + leftAntler06b.setRotationPoint(0.1F, 0.0F, -3.4F); + leftAntler06b.addBox(-0.5F, -0.5F, -3.0F, 1, 1, 3, 0.0F); + setRotateAngle(leftAntler06b, 0.0F, 0.5759586531581287F, 0.0F); + + ModelRenderer leftAntler07a = new ModelRenderer(this, 49, 34); + leftAntler07a.setRotationPoint(0.0F, -2.0F, -0.4F); + leftAntler07a.addBox(-0.5F, -0.5F, -3.8F, 1, 1, 4, 0.0F); + setRotateAngle(leftAntler07a, -0.9075712110370513F, 0.5235987755982988F, 0.0F); + + ModelRenderer leftAntler07b = new ModelRenderer(this, 49, 34); + leftAntler07b.setRotationPoint(0.1F, 0.0F, -3.4F); + leftAntler07b.addBox(-0.5F, -0.5F, -3.0F, 1, 1, 3, 0.0F); + setRotateAngle(leftAntler07b, 0.0F, 0.5759586531581287F, 0.0F); + + ModelRenderer rightAntler00 = new ModelRenderer(this, 49, 34); + rightAntler00.mirror = true; + rightAntler00.setRotationPoint(-1.9F, -7.1F, 0.0F); + rightAntler00.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(rightAntler00, -0.20943951023931953F, 0.0F, -0.3490658503988659F); + + ModelRenderer rightAntler01a = new ModelRenderer(this, 49, 34); + rightAntler01a.mirror = true; + rightAntler01a.setRotationPoint(0.0F, -1.6F, 0.0F); + rightAntler01a.addBox(-0.2F, -3.5F, -0.8F, 1, 4, 1, 0.0F); + setRotateAngle(rightAntler01a, -0.20943951023931953F, 0.0F, -0.6108652381980153F); + + ModelRenderer rightAntler01b = new ModelRenderer(this, 49, 34); + rightAntler01b.mirror = true; + rightAntler01b.setRotationPoint(0.0F, 0.0F, 0.0F); + rightAntler01b.addBox(-0.8F, -3.5F, -0.8F, 1, 4, 1, 0.0F); + + ModelRenderer rightAntler01c = new ModelRenderer(this, 49, 34); + rightAntler01c.mirror = true; + rightAntler01c.setRotationPoint(0.0F, 0.0F, 0.0F); + rightAntler01c.addBox(-0.2F, -3.5F, -0.2F, 1, 4, 1, 0.0F); + + ModelRenderer rightAntler01d = new ModelRenderer(this, 49, 34); + rightAntler01d.mirror = true; + rightAntler01d.setRotationPoint(0.0F, 0.0F, 0.0F); + rightAntler01d.addBox(-0.8F, -3.5F, -0.2F, 1, 4, 1, 0.0F); + + ModelRenderer rightAntler02 = new ModelRenderer(this, 49, 34); + rightAntler02.mirror = true; + rightAntler02.setRotationPoint(0.0F, -3.1F, 0.0F); + rightAntler02.addBox(-0.5F, -4.0F, -0.5F, 1, 4, 1, 0.0F); + setRotateAngle(rightAntler02, 0.0F, 0.0F, 0.3141592653589793F); + + ModelRenderer rightAntler03a = new ModelRenderer(this, 49, 34); + rightAntler03a.mirror = true; + rightAntler03a.setRotationPoint(0.0F, -3.7F, 0.0F); + rightAntler03a.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rightAntler03a, 0.0F, 0.0F, 0.3490658503988659F); + + ModelRenderer rightAntler03b = new ModelRenderer(this, 49, 34); + rightAntler03b.mirror = true; + rightAntler03b.setRotationPoint(-0.0F, -2.8F, 0.0F); + rightAntler03b.addBox(-0.5F, -3.9F, -0.5F, 1, 4, 1, 0.0F); + setRotateAngle(rightAntler03b, -0.10471975511965977F, 0.0F, 0.2792526803190927F); + + ModelRenderer rightAntler03c = new ModelRenderer(this, 49, 34); + rightAntler03c.mirror = true; + rightAntler03c.setRotationPoint(-0.0F, -3.7F, 0.0F); + rightAntler03c.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rightAntler03c, 0.0F, 0.0F, 0.4363323129985824F); + + ModelRenderer rightAntler04a = new ModelRenderer(this, 49, 34); + rightAntler04a.mirror = true; + rightAntler04a.setRotationPoint(0.9F, -5.9F, 0.0F); + rightAntler04a.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rightAntler04a, 0.45378560551852565F, 0.0F, 0.8028514559173915F); + + ModelRenderer rightAntler04b = new ModelRenderer(this, 49, 34); + rightAntler04b.mirror = true; + rightAntler04b.setRotationPoint(-0.0F, -2.7F, 0.0F); + rightAntler04b.addBox(-0.5F, -2.0F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(rightAntler04b, -0.3141592653589793F, 0.0F, 0.0F); + + ModelRenderer rightAntler05a = new ModelRenderer(this, 49, 34); + rightAntler05a.mirror = true; + rightAntler05a.setRotationPoint(1.2F, -6.7F, 0.0F); + rightAntler05a.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rightAntler05a, -0.5235987755982988F, 0.0F, 1.3089969389957472F); + + ModelRenderer rightAntler05b = new ModelRenderer(this, 49, 34); + rightAntler05b.mirror = true; + rightAntler05b.setRotationPoint(-0.0F, -2.7F, 0.0F); + rightAntler05b.addBox(-0.5F, -2.0F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(rightAntler05b, 0.3141592653589793F, 0.0F, -0.3141592653589793F); + + ModelRenderer rightAntler06a = new ModelRenderer(this, 49, 34); + rightAntler06a.mirror = true; + rightAntler06a.setRotationPoint(0.0F, -2.5F, -0.4F); + rightAntler06a.addBox(-0.5F, -0.5F, -3.8F, 1, 1, 4, 0.0F); + setRotateAngle(rightAntler06a, -0.6283185307179586F, -0.6981317007977318F, 0.0F); + + ModelRenderer rightAntler06b = new ModelRenderer(this, 49, 34); + rightAntler06b.mirror = true; + rightAntler06b.setRotationPoint(-0.1F, 0.0F, -3.4F); + rightAntler06b.addBox(-0.5F, -0.5F, -3.0F, 1, 1, 3, 0.0F); + setRotateAngle(rightAntler06b, 0.0F, -0.5759586531581287F, 0.0F); + + ModelRenderer rightAntler07a = new ModelRenderer(this, 49, 34); + rightAntler07a.mirror = true; + rightAntler07a.setRotationPoint(0.0F, -2.0F, -0.4F); + rightAntler07a.addBox(-0.5F, -0.5F, -3.8F, 1, 1, 4, 0.0F); + setRotateAngle(rightAntler07a, -0.9075712110370513F, -0.5235987755982988F, 0.0F); + + ModelRenderer rightAntler07b = new ModelRenderer(this, 49, 34); + rightAntler07b.mirror = true; + rightAntler07b.setRotationPoint(-0.1F, 0.0F, -3.4F); + rightAntler07b.addBox(-0.5F, -0.5F, -3.0F, 1, 1, 3, 0.0F); + setRotateAngle(rightAntler07b, 0.0F, -0.5759586531581287F, 0.0F); + + head.addChild(hair00); + head.addChild(hair01); + head.addChild(hood); + head.addChild(leftAntler00); + head.addChild(rightAntler00); + leftAntler00.addChild(leftAntler07a); + leftAntler00.addChild(leftAntler01a); + leftAntler01a.addChild(leftAntler02); + leftAntler01a.addChild(leftAntler06a); + leftAntler01a.addChild(leftAntler01b); + leftAntler01a.addChild(leftAntler01d); + leftAntler01a.addChild(leftAntler01c); + leftAntler02.addChild(leftAntler04a); + leftAntler02.addChild(leftAntler03a); + leftAntler02.addChild(leftAntler05a); + leftAntler03a.addChild(leftAntler03b); + leftAntler03b.addChild(leftAntler03c); + leftAntler04a.addChild(leftAntler04b); + leftAntler05a.addChild(leftAntler05b); + leftAntler06a.addChild(leftAntler06b); + leftAntler07a.addChild(leftAntler07b); + rightAntler00.addChild(rightAntler01a); + rightAntler00.addChild(rightAntler07a); + rightAntler01a.addChild(rightAntler01b); + rightAntler01a.addChild(rightAntler02); + rightAntler01a.addChild(rightAntler01c); + rightAntler01a.addChild(rightAntler06a); + rightAntler01a.addChild(rightAntler01d); + rightAntler02.addChild(rightAntler03a); + rightAntler02.addChild(rightAntler05a); + rightAntler02.addChild(rightAntler04a); + rightAntler03a.addChild(rightAntler03b); + rightAntler03b.addChild(rightAntler03c); + rightAntler04a.addChild(rightAntler04b); + rightAntler05a.addChild(rightAntler05b); + rightAntler06a.addChild(rightAntler06b); + rightAntler07a.addChild(rightAntler07b); + } + + @Override + public void preRender(GameProfile profile) { + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + GlStateManager.translate(0, 0.15f, 0.25f); + GlStateManager.scale(0.5f, 0.5f, 0.5f); + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/FeuerwurmHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/FeuerwurmHead.java new file mode 100644 index 0000000..4a7c04e --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/FeuerwurmHead.java @@ -0,0 +1,194 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; + +public class FeuerwurmHead extends ModelHead { + + public static final FeuerwurmHead INSTANCE = new FeuerwurmHead(); + + protected FeuerwurmHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + float fy = -6.0f; + float fz = 2.0f; + + head = new ModelRenderer(this, 0, 22); + head.setRotationPoint(0.0F, -0.3F, 0F); + head.addBox(-2.5F, -2.0F, -4.0F, 5, 4, 4, 0.0F); + + ModelRenderer leftFang = new ModelRenderer(this, 0, 0); + leftFang.setRotationPoint(1.4F, 0.5F, -3.6F); + leftFang.addBox(0.0F, -0.8F, -0.5F, 0, 2, 1, 0.0F); + + ModelRenderer leftHorn00a = new ModelRenderer(this, 42, 6); + leftHorn00a.mirror = true; + leftHorn00a.setRotationPoint(1.9F, -0.8F, -1.0F); + leftHorn00a.addBox(-0.4F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + setRotateAngle(leftHorn00a, -1.2217304763960306F, 0.6108652381980153F, 0.0F); + + ModelRenderer leftHorn00b = new ModelRenderer(this, 42, 6); + leftHorn00b.mirror = true; + leftHorn00b.setRotationPoint(0.0F, 0.0F, 0.0F); + leftHorn00b.addBox(-0.4F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer leftHorn01 = new ModelRenderer(this, 47, 6); + leftHorn01.mirror = true; + leftHorn01.setRotationPoint(0.0F, -1.7F, 0.0F); + leftHorn01.addBox(-0.5F, -1.8F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(leftHorn01, -0.3490658503988659F, 0.0F, -0.3490658503988659F); + + ModelRenderer leftHorn02 = new ModelRenderer(this, 47, 6); + leftHorn02.mirror = true; + leftHorn02.setRotationPoint(0.0F, -1.8F, 0.0F); + leftHorn02.addBox(-0.49F, -1.8F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(leftHorn02, -0.3490658503988659F, 0.0F, 0.0F); + + ModelRenderer leftHornTop00a = new ModelRenderer(this, 42, 0); + leftHornTop00a.setRotationPoint(1.3F, -1.5F, -1.2F); + leftHornTop00a.addBox(-0.3F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + setRotateAngle(leftHornTop00a, -0.8726646259971648F, 0.17453292519943295F, 0.0F); + + ModelRenderer leftHornTop00b = new ModelRenderer(this, 42, 0); + leftHornTop00b.setRotationPoint(0.0F, 0.0F, 0.0F); + leftHornTop00b.addBox(-0.7F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + + ModelRenderer leftHornTop01 = new ModelRenderer(this, 47, 0); + leftHornTop01.setRotationPoint(0.0F, -2.0F, 0.0F); + leftHornTop01.addBox(-0.5F, -1.8F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(leftHornTop01, -0.2617993877991494F, 0.0F, 0.0F); + + ModelRenderer leftHornTop02 = new ModelRenderer(this, 52, 0); + leftHornTop02.setRotationPoint(0.0F, -1.8F, 0.0F); + leftHornTop02.addBox(-0.49F, -2.7F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(leftHornTop02, -0.2617993877991494F, 0.0F, 0.0F); + + ModelRenderer leftUpperJaw = new ModelRenderer(this, 17, 0); + leftUpperJaw.setRotationPoint(0.9F, 0.1F, 0.0F); + leftUpperJaw.addBox(-0.5F, -1.0F, -3.5F, 2, 2, 3, 0.0F); + setRotateAngle(leftUpperJaw, 0.0F, 0.19198621771937624F, 0.0F); + + ModelRenderer lowerJaw = new ModelRenderer(this, 0, 8); + lowerJaw.setRotationPoint(0.0F, 1.9F, -2.0F); + lowerJaw.addBox(-1.5F, -0.5F, -5.0F, 3, 1, 5, 0.0F); + + ModelRenderer rightFang = new ModelRenderer(this, 0, 0); + rightFang.setRotationPoint(-1.4F, 0.5F, -3.6F); + rightFang.addBox(0.0F, -0.8F, -0.5F, 0, 2, 1, 0.0F); + + ModelRenderer rightHorn00a = new ModelRenderer(this, 42, 6); + rightHorn00a.setRotationPoint(-1.9F, -0.8F, -1.0F); + rightHorn00a.addBox(-0.6F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + setRotateAngle(rightHorn00a, -1.2217304763960306F, -0.6108652381980153F, 0.0F); + + ModelRenderer rightHorn00b = new ModelRenderer(this, 42, 6); + rightHorn00b.setRotationPoint(0.0F, 0.0F, 0.0F); + rightHorn00b.addBox(-0.6F, -2.0F, -0.3F, 1, 2, 1, 0.0F); + + ModelRenderer rightHorn01 = new ModelRenderer(this, 47, 6); + rightHorn01.setRotationPoint(0.0F, -1.7F, 0.0F); + rightHorn01.addBox(-0.5F, -1.8F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(rightHorn01, -0.3490658503988659F, 0.0F, 0.3490658503988659F); + + ModelRenderer rightHorn02 = new ModelRenderer(this, 47, 6); + rightHorn02.setRotationPoint(0.0F, -1.8F, 0.0F); + rightHorn02.addBox(-0.51F, -1.8F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(rightHorn02, -0.3490658503988659F, 0.0F, 0.0F); + + ModelRenderer rightHornTop00a = new ModelRenderer(this, 42, 0); + rightHornTop00a.mirror = true; + rightHornTop00a.setRotationPoint(-1.3F, -1.5F, -1.2F); + rightHornTop00a.addBox(-0.3F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + setRotateAngle(rightHornTop00a, -0.8726646259971648F, -0.17453292519943295F, 0.0F); + + ModelRenderer rightHornTop00b = new ModelRenderer(this, 42, 0); + rightHornTop00b.mirror = true; + rightHornTop00b.setRotationPoint(0.0F, 0.0F, 0.0F); + rightHornTop00b.addBox(-0.7F, -2.0F, -0.7F, 1, 2, 1, 0.0F); + + ModelRenderer rightHornTop01 = new ModelRenderer(this, 47, 0); + rightHornTop01.mirror = true; + rightHornTop01.setRotationPoint(0.0F, -2.0F, 0.0F); + rightHornTop01.addBox(-0.5F, -1.8F, -0.5F, 1, 2, 1, 0.0F); + setRotateAngle(rightHornTop01, -0.2617993877991494F, 0.0F, 0.0F); + + ModelRenderer rightHornTop02 = new ModelRenderer(this, 52, 0); + rightHornTop02.mirror = true; + rightHornTop02.setRotationPoint(0.0F, -1.8F, 0.0F); + rightHornTop02.addBox(-0.51F, -2.8F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rightHornTop02, -0.2617993877991494F, 0.0F, 0.0F); + + ModelRenderer rightUpperJaw = new ModelRenderer(this, 17, 0); + rightUpperJaw.mirror = true; + rightUpperJaw.setRotationPoint(-1.9F, 0.1F, 0.0F); + rightUpperJaw.addBox(-0.5F, -1.0F, -3.87F, 2, 2, 3, 0.0F); + setRotateAngle(rightUpperJaw, 0.0F, -0.19198621771937624F, 0.0F); + + ModelRenderer tongue = new ModelRenderer(this, 25, 0); + tongue.setRotationPoint(0.0F, 1.4F, -1.9F); + tongue.addBox(-1.5F, 0.0F, -5.0F, 3, 0, 7, 0.0F); + + ModelRenderer upperJaw = new ModelRenderer(this, 0, 0); + upperJaw.setRotationPoint(0.0F, 0.3F, -2.8F); + upperJaw.addBox(-1.5F, -1.1F, -4.4F, 3, 2, 5, 0.0F); + setRotateAngle(upperJaw, 0.08726646259971647F, 0.0F, 0.0F); + + head.addChild(lowerJaw); + head.addChild(leftHorn00a); + head.addChild(upperJaw); + head.addChild(rightHornTop00a); + head.addChild(tongue); + head.addChild(leftHornTop00a); + head.addChild(rightHorn00a); + upperJaw.addChild(leftFang); + leftHorn00a.addChild(leftHorn01); + leftHorn00a.addChild(leftHorn00b); + leftHorn01.addChild(leftHorn02); + leftHornTop00a.addChild(leftHornTop00b); + leftHornTop00a.addChild(leftHornTop01); + leftHornTop01.addChild(leftHornTop02); + upperJaw.addChild(leftUpperJaw); + upperJaw.addChild(rightFang); + rightHorn00a.addChild(rightHorn01); + rightHorn00a.addChild(rightHorn00b); + rightHorn01.addChild(rightHorn02); + rightHornTop00a.addChild(rightHornTop01); + rightHornTop00a.addChild(rightHornTop00b); + rightHornTop01.addChild(rightHornTop02); + upperJaw.addChild(rightUpperJaw); + } + + @Override + public void preRender(GameProfile profile) { + + float fx = 0; + float fy = -2.0f * 0.0625f; + float fz = 4.0f * 0.0625f; + setTranslation(fx, fy, fz); + } + + @Override + public void applyTranslation() { + super.applyTranslation(); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/HellhoundHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/HellhoundHead.java new file mode 100644 index 0000000..548c52f --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/HellhoundHead.java @@ -0,0 +1,182 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; + +public class HellhoundHead extends ModelHead { + + public static final HellhoundHead INSTANCE = new HellhoundHead(); + + protected HellhoundHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + float fy = -5.0f; + float fz = 2.0f; + + head = new ModelRenderer(this, 0, 0); + head.setRotationPoint(0, 0, 0); + head.addBox(-3, -3, -4, 6, 6, 4, 0); + + ModelRenderer leftEar = new ModelRenderer(this, 16, 14); + leftEar.setRotationPoint(2, -3, -2); + leftEar.addBox(-1, -2, -0.5f, 2, 2, 1, 0); + + ModelRenderer leftHorn00 = new ModelRenderer(this, 46, 0); + leftHorn00.setRotationPoint(1.3f, -2.1f, -1.4f); + leftHorn00.addBox(-1, -3, -1, 2, 3, 2, 0); + setRotateAngle(leftHorn00, -1, 0.45f, 0); + + ModelRenderer leftHorn01 = new ModelRenderer(this, 55, 0); + leftHorn01.setRotationPoint(0, -2.5f, -0.1f); + leftHorn01.addBox(-1, -2, -1, 2, 2, 2, 0); + setRotateAngle(leftHorn01, -0.52f, 0.17f, 0); + + ModelRenderer leftHorn02a = new ModelRenderer(this, 52, 7); + leftHorn02a.setRotationPoint(0, -1.5f, -0.1f); + leftHorn02a.addBox(-0.2f, -2, -0.8f, 1, 2, 1, 0); + setRotateAngle(leftHorn02a, -0.7f, 0.21f, 0); + + ModelRenderer leftHorn02c = new ModelRenderer(this, 52, 7); + leftHorn02c.setRotationPoint(0, 0, 0); + leftHorn02c.addBox(-0.2f, -2, -0.2f, 1, 2, 1, 0); + + ModelRenderer leftHorn03a = new ModelRenderer(this, 57, 6); + leftHorn03a.setRotationPoint(0, -1.5f, -0.1f); + leftHorn03a.addBox(-0.3f, -3, -0.7f, 1, 3, 1, 0); + setRotateAngle(leftHorn03a, -0.7f, 0, 0); + + ModelRenderer leftHorn03c = new ModelRenderer(this, 57, 6); + leftHorn03c.setRotationPoint(0, 0, 0); + leftHorn03c.addBox(-0.3f, -3, -0.3f, 1, 3, 1, 0); + + ModelRenderer leftHorn04a = new ModelRenderer(this, 52, 12); + leftHorn04a.setRotationPoint(0, -2.5f, -0.1f); + leftHorn04a.addBox(-0.5f, -3, -0.7f, 1, 3, 1, 0); + setRotateAngle(leftHorn04a, -0.7f, 0.35f, 0); + + ModelRenderer leftHorn04b = new ModelRenderer(this, 52, 12); + leftHorn04b.setRotationPoint(0, 0, 0); + leftHorn04b.addBox(-0.5f, -3, -0.3f, 1, 3, 1, 0); + + ModelRenderer leftHorn05 = new ModelRenderer(this, 58, 13); + leftHorn05.setRotationPoint(0, -2.7f, 0); + leftHorn05.addBox(-0.5f, -3, -0.5f, 1, 3, 1, 0); + setRotateAngle(leftHorn05, -0.63f, 0, 0); + + ModelRenderer lowerJaw = new ModelRenderer(this, 0, 43); + lowerJaw.setRotationPoint(0, 2, -3.8f); + lowerJaw.addBox(-1.5f, -0.4f, -3, 3, 1, 3, 0); + + ModelRenderer muzzle = new ModelRenderer(this, 0, 10); + muzzle.setRotationPoint(0, 0.7f, -3.9f); + muzzle.addBox(-1.5f, -1, -3, 3, 2, 3, 0); + + ModelRenderer rightEar = new ModelRenderer(this, 16, 14); + rightEar.mirror = true; + rightEar.setRotationPoint(-2, -3, -2); + rightEar.addBox(-1, -2, -0.5f, 2, 2, 1, 0); + + ModelRenderer rightHorn00 = new ModelRenderer(this, 46, 0); + rightHorn00.mirror = true; + rightHorn00.setRotationPoint(-1.3f, -2.1f, -1.4f); + rightHorn00.addBox(-1, -3, -1, 2, 3, 2, 0); + setRotateAngle(rightHorn00, -1, -0.45f, 0); + + ModelRenderer rightHorn01 = new ModelRenderer(this, 55, 0); + rightHorn01.mirror = true; + rightHorn01.setRotationPoint(0, -2.5f, -0.1f); + rightHorn01.addBox(-1, -2, -1, 2, 2, 2, 0); + setRotateAngle(rightHorn01, -0.52f, -0.17f, 0); + + ModelRenderer rightHorn02a = new ModelRenderer(this, 52, 7); + rightHorn02a.mirror = true; + rightHorn02a.setRotationPoint(0, -1.5f, -0.1f); + rightHorn02a.addBox(-0.8f, -2, -0.8f, 1, 2, 1, 0); + setRotateAngle(rightHorn02a, -0.7f, -0.21f, 0); + + ModelRenderer rightHorn02c = new ModelRenderer(this, 52, 7); + rightHorn02c.mirror = true; + rightHorn02c.setRotationPoint(0, 0, 0); + rightHorn02c.addBox(-0.8f, -2, -0.2f, 1, 2, 1, 0); + + ModelRenderer rightHorn03a = new ModelRenderer(this, 57, 6); + rightHorn03a.mirror = true; + rightHorn03a.setRotationPoint(0, -1.5f, -0.1f); + rightHorn03a.addBox(-0.7f, -3, -0.7f, 1, 3, 1, 0); + setRotateAngle(rightHorn03a, -0.7f, 0, 0); + + ModelRenderer rightHorn03c = new ModelRenderer(this, 57, 6); + rightHorn03c.mirror = true; + rightHorn03c.setRotationPoint(0, 0, 0); + rightHorn03c.addBox(-0.7f, -3, -0.3f, 1, 3, 1, 0); + + ModelRenderer rightHorn04a = new ModelRenderer(this, 52, 12); + rightHorn04a.mirror = true; + rightHorn04a.setRotationPoint(0, -2.5f, -0.1f); + rightHorn04a.addBox(-0.5f, -3, -0.7f, 1, 3, 1, 0); + setRotateAngle(rightHorn04a, -0.7f, -0.35f, 0); + + ModelRenderer rightHorn04b = new ModelRenderer(this, 52, 12); + rightHorn04b.mirror = true; + rightHorn04b.setRotationPoint(0, 0, 0); + rightHorn04b.addBox(-0.5f, -3, -0.3f, 1, 3, 1, 0); + + ModelRenderer rightHorn05 = new ModelRenderer(this, 58, 13); + rightHorn05.mirror = true; + rightHorn05.setRotationPoint(0, -2.7f, 0); + rightHorn05.addBox(-0.5f, -3, -0.5f, 1, 3, 1, 0); + setRotateAngle(rightHorn05, -0.63f, 0, 0); + + head.addChild(lowerJaw); + head.addChild(leftEar); + head.addChild(rightEar); + head.addChild(rightHorn00); + head.addChild(leftHorn00); + head.addChild(muzzle); + leftHorn00.addChild(leftHorn01); + leftHorn01.addChild(leftHorn02a); + leftHorn02a.addChild(leftHorn03a); + leftHorn02a.addChild(leftHorn02c); + leftHorn03a.addChild(leftHorn03c); + leftHorn03a.addChild(leftHorn04a); + leftHorn04a.addChild(leftHorn04b); + leftHorn04a.addChild(leftHorn05); + rightHorn00.addChild(rightHorn01); + rightHorn01.addChild(rightHorn02a); + rightHorn02a.addChild(rightHorn03a); + rightHorn02a.addChild(rightHorn02c); + rightHorn03a.addChild(rightHorn03c); + rightHorn03a.addChild(rightHorn04a); + rightHorn04a.addChild(rightHorn05); + rightHorn04a.addChild(rightHorn04b); + } + + @Override + public void preRender(GameProfile profile) { + + float fx = 0; + float fy = -3.0f * 0.0625f; + float fz = 4.0f * 0.0625f; + setTranslation(fx, fy, fz); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ImpHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ImpHead.java new file mode 100644 index 0000000..31a4b7d --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ImpHead.java @@ -0,0 +1,170 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; + +public class ImpHead extends ModelHead { + + public static final ImpHead INSTANCE = new ImpHead(); + + protected ImpHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + float fy = -2.0f; + float fz = 0.5f; + + head = new ModelRenderer(this, 0, 0); + head.setRotationPoint(0, 0, 0); + head.addBox(-3, -6, -3.5f, 6, 6, 6, 0); + + ModelRenderer lEar03 = new ModelRenderer(this, 49, 0); + lEar03.setRotationPoint(-0.1f, -0.2f, 0.1f); + lEar03.addBox(-0.5f, -2.9f, -0.5f, 1, 3, 1, 0); + setRotateAngle(lEar03, 0, 0, 0.17f); + + ModelRenderer leftEar00 = new ModelRenderer(this, 42, 0); + leftEar00.setRotationPoint(2.1f, -4, 0.2f); + leftEar00.addBox(0, -3, -0.9f, 1, 3, 2, 0); + setRotateAngle(leftEar00, -0.44f, 0.4f, 0.44f); + + ModelRenderer leftEar01 = new ModelRenderer(this, 49, 0); + leftEar01.setRotationPoint(0.4f, -2.6f, 0.1f); + leftEar01.addBox(-0.5f, -1.9f, -0.5f, 1, 2, 1, 0); + setRotateAngle(leftEar01, 0.14f, 0, 0); + + ModelRenderer leftHorn00a = new ModelRenderer(this, 35, 5); + leftHorn00a.setRotationPoint(2.1f, -5.7f, -1.8f); + leftHorn00a.addBox(-0.8f, -2.5f, -0.8f, 1, 3, 1, 0); + setRotateAngle(leftHorn00a, 0, 0, 0.23f); + + ModelRenderer leftHorn00b = new ModelRenderer(this, 35, 5); + leftHorn00b.setRotationPoint(0, 0, 0); + leftHorn00b.addBox(-0.2f, -2.5f, -0.8f, 1, 3, 1, 0); + + ModelRenderer leftHorn00c = new ModelRenderer(this, 35, 5); + leftHorn00c.setRotationPoint(0, 0, 0); + leftHorn00c.addBox(-0.8f, -2.5f, -0.2f, 1, 3, 1, 0); + + ModelRenderer leftHorn00d = new ModelRenderer(this, 35, 5); + leftHorn00d.setRotationPoint(0, 0, 0); + leftHorn00d.addBox(-0.2f, -2.5f, -0.2f, 1, 3, 1, 0); + + ModelRenderer leftHorn01 = new ModelRenderer(this, 35, 10); + leftHorn01.setRotationPoint(0, -1.7f, 0); + leftHorn01.addBox(-0.5f, -3, -0.5f, 1, 3, 1, 0); + setRotateAngle(leftHorn01, -0.14f, 0, -0.1f); + + ModelRenderer lowerJaw = new ModelRenderer(this, 41, 11); + lowerJaw.setRotationPoint(0, -0.7f, -3.3f); + lowerJaw.addBox(-1.5f, -0.5f, -1.6f, 3, 1, 2, 0); + + ModelRenderer rEar03 = new ModelRenderer(this, 49, 0); + rEar03.mirror = true; + rEar03.setRotationPoint(0.1f, -0.2f, 0.1f); + rEar03.addBox(-0.5f, -2.9f, -0.5f, 1, 3, 1, 0); + setRotateAngle(rEar03, 0, 0, -0.17f); + + ModelRenderer rightEar00 = new ModelRenderer(this, 42, 0); + rightEar00.mirror = true; + rightEar00.setRotationPoint(-2.1f, -4, 0.2f); + rightEar00.addBox(-1, -3, -0.9f, 1, 3, 2, 0); + setRotateAngle(rightEar00, -0.44f, -0.4f, -0.44f); + + ModelRenderer rightEar01 = new ModelRenderer(this, 49, 0); + rightEar01.mirror = true; + rightEar01.setRotationPoint(-0.4f, -2.6f, 0.1f); + rightEar01.addBox(-0.5f, -1.9f, -0.5f, 1, 2, 1, 0); + setRotateAngle(rightEar01, 0.14f, 0, 0); + + ModelRenderer rightHorn00a = new ModelRenderer(this, 35, 5); + rightHorn00a.mirror = true; + rightHorn00a.setRotationPoint(-2.1f, -5.7f, -1.8f); + rightHorn00a.addBox(-0.8f, -2.5f, -0.8f, 1, 3, 1, 0); + setRotateAngle(rightHorn00a, 0, 0, -0.23f); + + ModelRenderer rightHorn00b = new ModelRenderer(this, 35, 5); + rightHorn00b.mirror = true; + rightHorn00b.setRotationPoint(0, 0, 0); + rightHorn00b.addBox(-0.2f, -2.5f, -0.8f, 1, 3, 1, 0); + + ModelRenderer rightHorn00c = new ModelRenderer(this, 35, 5); + rightHorn00c.mirror = true; + rightHorn00c.setRotationPoint(0, 0, 0); + rightHorn00c.addBox(-0.8f, -2.5f, -0.2f, 1, 3, 1, 0); + + ModelRenderer rightHorn00d = new ModelRenderer(this, 35, 5); + rightHorn00d.mirror = true; + rightHorn00d.setRotationPoint(0, 0, 0); + rightHorn00d.addBox(-0.2f, -2.5f, -0.2f, 1, 3, 1, 0); + + ModelRenderer rightHorn01 = new ModelRenderer(this, 35, 10); + rightHorn01.mirror = true; + rightHorn01.setRotationPoint(0, -1.7f, 0); + rightHorn01.addBox(-0.5f, -3, -0.5f, 1, 3, 1, 0); + setRotateAngle(rightHorn01, -0.14f, 0, 0.1f); + + ModelRenderer snout = new ModelRenderer(this, 22, 0); + snout.setRotationPoint(0, -3.1f, -3.5f); + snout.addBox(-1.5f, -1, -1.9f, 3, 2, 3, 0); + setRotateAngle(snout, 0.42f, 0, 0); + + ModelRenderer upperJaw00 = new ModelRenderer(this, 41, 6); + upperJaw00.setRotationPoint(0, -2, -3.3f); + upperJaw00.addBox(-1.3f, -1, -1.7f, 3, 2, 2, 0); + + ModelRenderer upperJaw01 = new ModelRenderer(this, 53, 6); + upperJaw01.setRotationPoint(0, -2, -3.3f); + upperJaw01.addBox(-1.7f, -1, -1.7f, 1, 2, 2, 0); + + head.addChild(upperJaw01); + head.addChild(lowerJaw); + head.addChild(snout); + head.addChild(leftHorn00a); + head.addChild(rightHorn00a); + head.addChild(upperJaw00); + head.addChild(rightEar00); + head.addChild(leftEar00); + leftEar00.addChild(lEar03); + leftEar00.addChild(leftEar01); + leftHorn00a.addChild(leftHorn00c); + leftHorn00a.addChild(leftHorn00d); + leftHorn00a.addChild(leftHorn01); + leftHorn00a.addChild(leftHorn00b); + rightEar00.addChild(rEar03); + rightEar00.addChild(rightEar01); + rightHorn00a.addChild(rightHorn00b); + rightHorn00a.addChild(rightHorn00d); + rightHorn00a.addChild(rightHorn01); + rightHorn00a.addChild(rightHorn00c); + } + + @Override + public void preRender(GameProfile profile) { + + float fx = 0; + float fy = 0; + float fz = 1.5f * 0.0625f; + setTranslation(fx, fy, fz); + + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/LeonardHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/LeonardHead.java new file mode 100644 index 0000000..239027b --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/LeonardHead.java @@ -0,0 +1,218 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class LeonardHead extends ModelHead { + + public static final LeonardHead INSTANCE = new LeonardHead(); + + protected LeonardHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + float fy = -2.0f; + float fz = 0.4f; + + head = new ModelRenderer(this, 0, 0); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-3.0F, -6.0F, -3.4F, 6, 6, 6, 0.0F); + + ModelRenderer beard = new ModelRenderer(this, 53, 0); + beard.setRotationPoint(0.0F, 0.3F, -2.0F); + beard.addBox(-1.5F, 0.0F, -1.0F, 3, 3, 2, 0.0F); + setRotateAngle(beard, -0.10471975511965977F, 0.0F, 0.0F); + + ModelRenderer lEar = new ModelRenderer(this, 40, 0); + lEar.setRotationPoint(2.6F, -4.3F, 0.0F); + lEar.addBox(0.0F, -0.5F, -1.0F, 4, 1, 2, 0.0F); + setRotateAngle(lEar, -0.5235987755982988F, 0.0F, 0.3141592653589793F); + + ModelRenderer lHorn01 = new ModelRenderer(this, 25, 0); + lHorn01.setRotationPoint(1.8F, -5.0F, -1.5F); + lHorn01.addBox(-1.0F, -3.0F, -1.0F, 2, 3, 2, 0.0F); + setRotateAngle(lHorn01, -0.5235987755982988F, 0.0F, 0.5235987755982988F); + + ModelRenderer lHorn02 = new ModelRenderer(this, 25, 0); + lHorn02.setRotationPoint(0.0F, -2.7F, 0.0F); + lHorn02.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(lHorn02, -0.13962634015954636F, 0.0F, 0.20943951023931953F); + + ModelRenderer lHorn03a = new ModelRenderer(this, 25, 6); + lHorn03a.setRotationPoint(0.0F, -1.9F, 0.0F); + lHorn03a.addBox(-0.8F, -2.8F, -0.8F, 1, 3, 1, 0.0F); + setRotateAngle(lHorn03a, -0.3141592653589793F, 0.0F, 0.0F); + + ModelRenderer lHorn03b = new ModelRenderer(this, 25, 6); + lHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03b.addBox(-0.2F, -2.8F, -0.8F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn03c = new ModelRenderer(this, 25, 6); + lHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03c.addBox(-0.8F, -2.8F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn03d = new ModelRenderer(this, 25, 6); + lHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + lHorn03d.addBox(-0.2F, -2.8F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer lHorn04 = new ModelRenderer(this, 31, 6); + lHorn04.setRotationPoint(0.0F, -2.7F, 0.0F); + lHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(lHorn04, 0.2617993877991494F, 0.0F, 0.0F); + + ModelRenderer mHorn01 = new ModelRenderer(this, 41, 5); + mHorn01.setRotationPoint(0.0F, -5.2F, -0.2F); + mHorn01.addBox(-1.0F, -3.0F, -1.0F, 2, 3, 2, 0.0F); + setRotateAngle(mHorn01, -0.9599310885968813F, 0.0F, 0.0F); + + ModelRenderer mHorn02 = new ModelRenderer(this, 40, 11); + mHorn02.setRotationPoint(0.0F, -2.7F, 0.0F); + mHorn02.addBox(-1.0F, -3.0F, -1.0F, 2, 3, 2, 0.0F); + setRotateAngle(mHorn02, -0.13962634015954636F, 0.0F, 0.0F); + + ModelRenderer mHorn03a = new ModelRenderer(this, 25, 6); + mHorn03a.setRotationPoint(0.0F, -2.8F, 0.0F); + mHorn03a.addBox(-0.8F, -2.8F, -0.8F, 1, 3, 1, 0.0F); + setRotateAngle(mHorn03a, -0.3141592653589793F, 0.0F, 0.0F); + + ModelRenderer mHorn03b = new ModelRenderer(this, 25, 6); + mHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + mHorn03b.addBox(-0.2F, -2.8F, -0.8F, 1, 3, 1, 0.0F); + + ModelRenderer mHorn03c = new ModelRenderer(this, 25, 6); + mHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + mHorn03c.addBox(-0.8F, -2.8F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer mHorn03d = new ModelRenderer(this, 25, 6); + mHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + mHorn03d.addBox(-0.2F, -2.8F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer mHorn04 = new ModelRenderer(this, 50, 7); + mHorn04.setRotationPoint(0.0F, -2.7F, 0.0F); + mHorn04.addBox(-0.5F, -3.7F, -0.5F, 1, 4, 1, 0.0F); + setRotateAngle(mHorn04, 0.2617993877991494F, 0.0F, 0.0F); + + ModelRenderer muzzleLower = new ModelRenderer(this, 23, 54); + muzzleLower.setRotationPoint(0.0F, -0.8F, -3.6F); + muzzleLower.addBox(-2.0F, -0.5F, -3.5F, 4, 1, 4, 0.0F); + setRotateAngle(muzzleLower, 0.06981317007977318F, 0.0F, 0.0F); + + ModelRenderer muzzleUpper = new ModelRenderer(this, 24, 45); + muzzleUpper.setRotationPoint(0.0F, -1.4F, -3.8F); + muzzleUpper.addBox(-1.6F, -1.8F, -3.5F, 4, 2, 4, 0.0F); + setRotateAngle(muzzleUpper, 0.06981317007977318F, 0.0F, 0.0F); + + ModelRenderer muzzleUpper02 = new ModelRenderer(this, 12, 45); + muzzleUpper02.setRotationPoint(0.0F, -1.4F, -3.8F); + muzzleUpper02.addBox(-2.3F, -1.8F, -3.5F, 1, 2, 4, 0.0F); + setRotateAngle(muzzleUpper02, 0.06981317007977318F, 0.0F, 0.0F); + + ModelRenderer rEar = new ModelRenderer(this, 40, 0); + rEar.mirror = true; + rEar.setRotationPoint(-2.6F, -4.3F, 0.0F); + rEar.addBox(-4.0F, -0.5F, -1.0F, 4, 1, 2, 0.0F); + setRotateAngle(rEar, -0.5235987755982988F, 0.0F, -0.3141592653589793F); + + ModelRenderer rHorn01 = new ModelRenderer(this, 25, 0); + rHorn01.mirror = true; + rHorn01.setRotationPoint(-1.8F, -5.0F, -1.5F); + rHorn01.addBox(-1.0F, -3.0F, -1.0F, 2, 3, 2, 0.0F); + setRotateAngle(rHorn01, -0.5235987755982988F, 0.0F, -0.5235987755982988F); + + ModelRenderer rHorn02 = new ModelRenderer(this, 25, 0); + rHorn02.mirror = true; + rHorn02.setRotationPoint(0.0F, -2.7F, 0.0F); + rHorn02.addBox(-1.0F, -2.0F, -1.0F, 2, 2, 2, 0.0F); + setRotateAngle(rHorn02, -0.13962634015954636F, 0.0F, -0.20943951023931953F); + + ModelRenderer rHorn03a = new ModelRenderer(this, 25, 6); + rHorn03a.mirror = true; + rHorn03a.setRotationPoint(0.0F, -1.9F, 0.0F); + rHorn03a.addBox(-0.8F, -2.8F, -0.8F, 1, 3, 1, 0.0F); + setRotateAngle(rHorn03a, -0.3141592653589793F, 0.0F, 0.0F); + + ModelRenderer rHorn03b = new ModelRenderer(this, 25, 6); + rHorn03b.mirror = true; + rHorn03b.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03b.addBox(-0.2F, -2.8F, -0.8F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn03c = new ModelRenderer(this, 25, 6); + rHorn03c.mirror = true; + rHorn03c.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03c.addBox(-0.8F, -2.8F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn03d = new ModelRenderer(this, 25, 6); + rHorn03d.mirror = true; + rHorn03d.setRotationPoint(0.0F, 0.0F, 0.0F); + rHorn03d.addBox(-0.2F, -2.8F, -0.2F, 1, 3, 1, 0.0F); + + ModelRenderer rHorn04 = new ModelRenderer(this, 31, 6); + rHorn04.mirror = true; + rHorn04.setRotationPoint(0.0F, -2.7F, 0.0F); + rHorn04.addBox(-0.5F, -3.0F, -0.5F, 1, 3, 1, 0.0F); + setRotateAngle(rHorn04, 0.2617993877991494F, 0.0F, 0.0F); + + ModelRenderer snout = new ModelRenderer(this, 24, 36); + snout.setRotationPoint(0.0F, -4.1F, -3.3F); + snout.addBox(-2.0F, -1.0F, -4.4F, 4, 2, 5, 0.0F); + setRotateAngle(snout, 0.41887902047863906F, 0.0F, 0.0F); + + muzzleLower.addChild(beard); + head.addChild(muzzleUpper); + head.addChild(lEar); + head.addChild(muzzleLower); + head.addChild(snout); + head.addChild(rHorn01); + head.addChild(muzzleUpper02); + head.addChild(lHorn01); + head.addChild(rEar); + head.addChild(mHorn01); + lHorn01.addChild(lHorn02); + lHorn02.addChild(lHorn03a); + lHorn03a.addChild(lHorn03b); + lHorn03a.addChild(lHorn03c); + lHorn03a.addChild(lHorn03d); + lHorn03a.addChild(lHorn04); + mHorn01.addChild(mHorn02); + mHorn02.addChild(mHorn03a); + mHorn03a.addChild(mHorn03b); + mHorn03a.addChild(mHorn03d); + mHorn03a.addChild(mHorn04); + mHorn03a.addChild(mHorn03c); + rHorn01.addChild(rHorn02); + rHorn02.addChild(rHorn03a); + rHorn03a.addChild(rHorn03d); + rHorn03a.addChild(rHorn04); + rHorn03a.addChild(rHorn03b); + rHorn03a.addChild(rHorn03c); + } + + @Override + public void preRender(GameProfile profile) { + + GlStateManager.scale(1.5, 1.5, 1.5); + + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + GlStateManager.translate(0, 0.1f, 0.20f); + GlStateManager.scale(0.6f, 0.6f, 0.6f); + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ShadowPersonClassicHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ShadowPersonClassicHead.java new file mode 100644 index 0000000..1df13d9 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ShadowPersonClassicHead.java @@ -0,0 +1,53 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; + +public class ShadowPersonClassicHead extends ModelHead { + + public static final ShadowPersonClassicHead INSTANCE = new ShadowPersonClassicHead(); + + protected ShadowPersonClassicHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + + head = new ModelRenderer(this, 0, 0); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); + + ModelRenderer hatBrim = new ModelRenderer(this, 0, 35); + hatBrim.setRotationPoint(0.0F, -5.8F, 0.0F); + hatBrim.addBox(-6.0F, -0.5F, -6.0F, 12, 1, 12, 0.0F); + + ModelRenderer hatPipe = new ModelRenderer(this, 0, 49); + hatPipe.setRotationPoint(0.0F, -0.3F, 0.0F); + hatPipe.addBox(-4.5F, -3.5F, -4.5F, 9, 4, 9, 0.0F); + + head.addChild(hatBrim); + hatBrim.addChild(hatPipe); + } + + @Override + public void preRender(GameProfile profile) { + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ShadowPersonSlimHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ShadowPersonSlimHead.java new file mode 100644 index 0000000..acb907b --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/demon/ShadowPersonSlimHead.java @@ -0,0 +1,53 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; + +public class ShadowPersonSlimHead extends ModelHead { + + public static final ShadowPersonSlimHead INSTANCE = new ShadowPersonSlimHead(); + + protected ShadowPersonSlimHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + + head = new ModelRenderer(this, 0, 0); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); + + ModelRenderer hatBrim = new ModelRenderer(this, 0, 35); + hatBrim.setRotationPoint(0.0F, -5.8F, 0.0F); + hatBrim.addBox(-6.0F, -0.5F, -6.0F, 12, 1, 12, 0.0F); + + ModelRenderer hatPipe = new ModelRenderer(this, 0, 49); + hatPipe.setRotationPoint(0.0F, -0.3F, 0.0F); + hatPipe.addBox(-4.5F, -3.5F, -4.5F, 9, 4, 9, 0.0F); + + head.addChild(hatBrim); + hatBrim.addChild(hatPipe); + } + + @Override + public void preRender(GameProfile profile) { + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/BlackDogHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/BlackDogHead.java new file mode 100644 index 0000000..e096fc9 --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/BlackDogHead.java @@ -0,0 +1,90 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.ghost; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class BlackDogHead extends ModelHead { + + public static final BlackDogHead INSTANCE = new BlackDogHead(); + + protected BlackDogHead() { + } + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + float fy = -5.0f; + float fz = 2.0f; + + head = new ModelRenderer(this, 0, 0); + head.setRotationPoint(0, 0, 0); + head.addBox(-3, -3, -4, 6, 6, 4, 0); + + ModelRenderer leftEar00 = new ModelRenderer(this, 16, 14); + leftEar00.setRotationPoint(2, -2, -2); + leftEar00.addBox(0, -1, -1, 2, 1, 2, 0); + setRotateAngle(leftEar00, 0, 0, -0.55f); + + ModelRenderer leftEar01 = new ModelRenderer(this, 39, 14); + leftEar01.setRotationPoint(1.9f, -0.9f, 0); + leftEar01.addBox(-0.5f, -0.1f, -1, 1, 3, 2, 0); + setRotateAngle(leftEar01, 0, 0, 0.23f); + + ModelRenderer lowerJaw = new ModelRenderer(this, 0, 43); + lowerJaw.setRotationPoint(0, 2, -3.8f); + lowerJaw.addBox(-1.5f, -0.4f, -3, 3, 1, 3, 0); + + ModelRenderer muzzle = new ModelRenderer(this, 0, 10); + muzzle.setRotationPoint(0, 0.7f, -3.9f); + muzzle.addBox(-1.5f, -1, -3, 3, 2, 3, 0); + + ModelRenderer rightEar00 = new ModelRenderer(this, 16, 14); + rightEar00.mirror = true; + rightEar00.setRotationPoint(-2, -2, -2); + rightEar00.addBox(-2, -1, -1, 2, 1, 2, 0); + setRotateAngle(rightEar00, 0, 0, 0.55f); + + ModelRenderer rightEar01 = new ModelRenderer(this, 39, 14); + rightEar01.mirror = true; + rightEar01.setRotationPoint(-1.9f, -0.9f, 0); + rightEar01.addBox(-0.5f, -0.1f, -1, 1, 3, 2, 0); + setRotateAngle(rightEar01, 0, 0, -0.23f); + + head.addChild(muzzle); + head.addChild(leftEar00); + head.addChild(rightEar00); + head.addChild(lowerJaw); + leftEar00.addChild(leftEar01); + rightEar00.addChild(rightEar01); + } + + @Override + public void preRender(GameProfile profile) { + + float fx = 0; + float fy = -3f * 0.0625f; + float fz = 2.2f * 0.0625f; + setTranslation(fx, fy, fz); + GlStateManager.scale(1.8, 1.8, 1.8); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + GlStateManager.translate(0, 0.05f, 0.05f); + GlStateManager.scale(0.9f, 0.9f, 0.9f); + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java new file mode 100644 index 0000000..95d588c --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java @@ -0,0 +1,79 @@ +package ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.ghost; + +import com.mojang.authlib.GameProfile; + +import ganymedes01.headcrumbs.libs.ItemRenderType; +import ganymedes01.headcrumbs.renderers.ModelHead; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.GlStateManager; + +public class GhostHead extends ModelHead { + + public static final GhostHead INSTANCE = new GhostHead(); + + protected GhostHead() { + } + + private ModelRenderer skull01; + + @Override + public void init() { + hideOverlay(); + this.textureWidth = 64; + this.textureHeight = 64; + + + head = new ModelRenderer(this, 0, 0); + head.setRotationPoint(0.0F, 0.0F, 0.0F); + head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); + + skull01 = new ModelRenderer(this, 34, 0); + skull01.setRotationPoint(0.0F, 0.0F, 0.0F); + skull01.addBox(-3.5F, -7.5F, -3.0F, 7, 5, 6, 0.0F); + + ModelRenderer skullJaw = new ModelRenderer(this, 19, 30); + skullJaw.setRotationPoint(0.0F, -1.9F, 0.9F); + skullJaw.addBox(-2.5F, -1.0F, -3.5F, 5, 2, 5, 0.0F); + setRotateAngle(skullJaw, 0.17453292519943295F, 0.0F, 0.0F); + + skull01.addChild(skullJaw); + } + + @Override + public void preRender(GameProfile profile) { + GlStateManager.enableAlpha(); + GlStateManager.enableBlend(); + + GlStateManager.color(1.0F, 1.0F, 1.0F, 0.25F); + } + + @Override + public void render(float rotationX, float rotationY) { + head.rotateAngleY = rotationX / (180F / (float) Math.PI); + head.rotateAngleX = rotationY / (180F / (float) Math.PI); + skull01.rotateAngleY = rotationX / (180F / (float) Math.PI); + skull01.rotateAngleX = rotationY / (180F / (float) Math.PI); + head.render(0.0625F); + skull01.render(0.0625F); + + } + + @Override + public void postRender() { + GlStateManager.color(1.0F, 1.0F, 1.0F, 1F); + + GlStateManager.disableAlpha(); + GlStateManager.disableBlend(); + } + + @Override + public void preRenderItem(GameProfile profile, ItemRenderType type) { + } + + public void setRotateAngle(ModelRenderer renderer, float x, float y, float z) { + renderer.rotateAngleX = x; + renderer.rotateAngleY = y; + renderer.rotateAngleZ = z; + } + +} From b28210b18b93383ad9b174dcca955eea7d8fd5c9 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 21:29:24 +0200 Subject: [PATCH 09/15] Added output on the helper registry for the head drops --- .../java/ganymedes01/headcrumbs/libs/HeadDropRegistry.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/ganymedes01/headcrumbs/libs/HeadDropRegistry.java b/src/main/java/ganymedes01/headcrumbs/libs/HeadDropRegistry.java index 24fa241..80edec8 100644 --- a/src/main/java/ganymedes01/headcrumbs/libs/HeadDropRegistry.java +++ b/src/main/java/ganymedes01/headcrumbs/libs/HeadDropRegistry.java @@ -4,6 +4,7 @@ import java.util.LinkedList; import java.util.List; +import ganymedes01.headcrumbs.Headcrumbs; import ganymedes01.headcrumbs.utils.helpers.HeadDropHelper; import ganymedes01.headcrumbs.utils.helpers.VanillaHelper; import net.minecraft.entity.Entity; @@ -21,6 +22,8 @@ public static void register(HeadDropHelper helper) helpers.add(0, helper); else helpers.add(helper); + + Headcrumbs.LOGGER.info("Registered the head drop helper for " + helper.getModID()); } public static ItemStack getHead(Entity entity) @@ -56,8 +59,10 @@ public static HeadDrop getHeadDrop(String modID, String entity) public static void initModels() { for(HeadDropHelper helper : helpers) - if(helper.isEnabled()) + if(helper.isEnabled()) { helper.initModels(); + Headcrumbs.LOGGER.info("Helper for " + helper.getModID() + " is enabled."); + } } public static List getAllStacks() From ead715414467d37cd1ee7a1d8cdd548808764805 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 21:29:41 +0200 Subject: [PATCH 10/15] Created a command to reload the models in-game --- .../commands/ReloadModelsCommand.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/java/ganymedes01/headcrumbs/commands/ReloadModelsCommand.java diff --git a/src/main/java/ganymedes01/headcrumbs/commands/ReloadModelsCommand.java b/src/main/java/ganymedes01/headcrumbs/commands/ReloadModelsCommand.java new file mode 100644 index 0000000..5b6540d --- /dev/null +++ b/src/main/java/ganymedes01/headcrumbs/commands/ReloadModelsCommand.java @@ -0,0 +1,37 @@ +package ganymedes01.headcrumbs.commands; + +import ganymedes01.headcrumbs.libs.HeadDropRegistry; +import net.minecraft.command.CommandBase; +import net.minecraft.command.CommandException; +import net.minecraft.command.ICommandSender; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.text.TextComponentString; + +public class ReloadModelsCommand extends CommandBase { + + public ReloadModelsCommand() { + } + + @Override + public String getName() { + return "reloadmodels"; + } + + @Override + public String getUsage(ICommandSender sender) { + return "/reloadmodels"; + } + + @Override + public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException { + + if (sender instanceof EntityPlayerMP) { + HeadDropRegistry.initModels(); + } else { + sender.sendMessage(new TextComponentString("This is a client-only command.")); + } + + } + +} From e48f76ae1c33412366c614be5db6fc24ba3381b2 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 23:06:07 +0200 Subject: [PATCH 11/15] Added translation keys and expanded reload command --- .../ganymedes01/headcrumbs/Headcrumbs.java | 15 ++- .../commands/ReloadModelsCommand.java | 2 + .../bewitchment/spirit/ghost/GhostHead.java | 27 ++-- .../utils/helpers/BewitchmentHelper.java | 123 ++++++++++++++++-- .../assets/headcrumbs/lang/en_US.lang | 96 +++++++++++++- 5 files changed, 224 insertions(+), 39 deletions(-) diff --git a/src/main/java/ganymedes01/headcrumbs/Headcrumbs.java b/src/main/java/ganymedes01/headcrumbs/Headcrumbs.java index 423e8e2..518b30d 100644 --- a/src/main/java/ganymedes01/headcrumbs/Headcrumbs.java +++ b/src/main/java/ganymedes01/headcrumbs/Headcrumbs.java @@ -180,7 +180,15 @@ public void preInit(FMLPreInitializationEvent event) VIPHandler.init(); } - + registerHelpers(); + + proxy.registerEntityRenderers(); + proxy.registerEvents(); + proxy.registerTileEntities(); + } + + public static void registerHelpers() { + HeadDropRegistry.helpers.clear(); HeadDropRegistry.register(new VanillaHelper()); HeadDropRegistry.register(new LaserCreepersHelper()); HeadDropRegistry.register(new TwilightForestHelper()); @@ -193,13 +201,8 @@ public void preInit(FMLPreInitializationEvent event) HeadDropRegistry.register(new ElementalCreepersHelper()); HeadDropRegistry.register(new MysticalWildlifeHelper()); HeadDropRegistry.register(new BewitchmentHelper()); - - proxy.registerEntityRenderers(); - proxy.registerEvents(); - proxy.registerTileEntities(); } - @EventHandler public static void onServerStart(FMLServerStartingEvent event) { event.getServer().getCommandManager().getCommands().put("reloadmodels", new ReloadModelsCommand()); diff --git a/src/main/java/ganymedes01/headcrumbs/commands/ReloadModelsCommand.java b/src/main/java/ganymedes01/headcrumbs/commands/ReloadModelsCommand.java index 5b6540d..1218752 100644 --- a/src/main/java/ganymedes01/headcrumbs/commands/ReloadModelsCommand.java +++ b/src/main/java/ganymedes01/headcrumbs/commands/ReloadModelsCommand.java @@ -1,5 +1,6 @@ package ganymedes01.headcrumbs.commands; +import ganymedes01.headcrumbs.Headcrumbs; import ganymedes01.headcrumbs.libs.HeadDropRegistry; import net.minecraft.command.CommandBase; import net.minecraft.command.CommandException; @@ -28,6 +29,7 @@ public void execute(MinecraftServer server, ICommandSender sender, String[] args if (sender instanceof EntityPlayerMP) { HeadDropRegistry.initModels(); + Headcrumbs.registerHelpers(); } else { sender.sendMessage(new TextComponentString("This is a client-only command.")); } diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java index 95d588c..8f0d996 100644 --- a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java @@ -12,31 +12,28 @@ public class GhostHead extends ModelHead { public static final GhostHead INSTANCE = new GhostHead(); protected GhostHead() { + super(64); } - private ModelRenderer skull01; - @Override public void init() { - hideOverlay(); this.textureWidth = 64; this.textureHeight = 64; - head = new ModelRenderer(this, 0, 0); head.setRotationPoint(0.0F, 0.0F, 0.0F); head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); - skull01 = new ModelRenderer(this, 34, 0); - skull01.setRotationPoint(0.0F, 0.0F, 0.0F); - skull01.addBox(-3.5F, -7.5F, -3.0F, 7, 5, 6, 0.0F); + overlay = new ModelRenderer(this, 34, 0); + overlay.setRotationPoint(0.0F, 0.0F, 0.0F); + overlay.addBox(-3.5F, -7.5F, -3.0F, 7, 5, 6, 0.0F); ModelRenderer skullJaw = new ModelRenderer(this, 19, 30); skullJaw.setRotationPoint(0.0F, -1.9F, 0.9F); skullJaw.addBox(-2.5F, -1.0F, -3.5F, 5, 2, 5, 0.0F); setRotateAngle(skullJaw, 0.17453292519943295F, 0.0F, 0.0F); - skull01.addChild(skullJaw); + overlay.addChild(skullJaw); } @Override @@ -45,25 +42,23 @@ public void preRender(GameProfile profile) { GlStateManager.enableBlend(); GlStateManager.color(1.0F, 1.0F, 1.0F, 0.25F); + GlStateManager.depthMask(false); + + GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); } @Override - public void render(float rotationX, float rotationY) { - head.rotateAngleY = rotationX / (180F / (float) Math.PI); - head.rotateAngleX = rotationY / (180F / (float) Math.PI); - skull01.rotateAngleY = rotationX / (180F / (float) Math.PI); - skull01.rotateAngleX = rotationY / (180F / (float) Math.PI); - head.render(0.0625F); - skull01.render(0.0625F); - + public void render(float rotationX, float rotationY) { } @Override public void postRender() { + GlStateManager.depthMask(true); GlStateManager.color(1.0F, 1.0F, 1.0F, 1F); GlStateManager.disableAlpha(); GlStateManager.disableBlend(); + } @Override diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/BewitchmentHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/BewitchmentHelper.java index 3971b86..a214afb 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/BewitchmentHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/BewitchmentHelper.java @@ -20,8 +20,10 @@ import com.bewitchment.common.entity.spirit.demon.EntityShadowPerson; import com.bewitchment.common.entity.spirit.ghost.EntityBlackDog; import com.bewitchment.common.entity.spirit.ghost.EntityGhost; +import com.bewitchment.common.entity.util.ModEntityAnimal; +import com.bewitchment.common.entity.util.ModEntityMob; +import com.bewitchment.common.entity.util.ModEntityTameable; -import ganymedes01.headcrumbs.libs.HeadDrop; import ganymedes01.headcrumbs.libs.Strings; import ganymedes01.headcrumbs.renderers.heads.bewitchment.living.LizardHead; import ganymedes01.headcrumbs.renderers.heads.bewitchment.living.OwlHead; @@ -32,6 +34,7 @@ import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.BafometyrHead; import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.BaphometHead; import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.CambionHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.CambionSlimHead; import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.CleaverHead; import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.DemonHead; import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.DemonessHead; @@ -41,6 +44,7 @@ import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.ImpHead; import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.LeonardHead; import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.ShadowPersonClassicHead; +import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.demon.ShadowPersonSlimHead; import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.ghost.BlackDogHead; import ganymedes01.headcrumbs.renderers.heads.bewitchment.spirit.ghost.GhostHead; import net.minecraft.entity.Entity; @@ -55,29 +59,104 @@ public BewitchmentHelper() { //living super.registerMobHead("lizard", "lizard_0", LizardHead.INSTANCE); + super.registerMobHead("lizard_1", "lizard_1", LizardHead.INSTANCE); + super.registerMobHead("lizard_2", "lizard_2", LizardHead.INSTANCE); + super.registerMobHead("lizard_3", "lizard_3", LizardHead.INSTANCE); + super.registerMobHead("owl", "owl_0", OwlHead.INSTANCE); + super.registerMobHead("owl_1", "owl_1", OwlHead.INSTANCE); + super.registerMobHead("owl_2", "owl_2", OwlHead.INSTANCE); + super.registerMobHead("owl_3", "owl_3", OwlHead.INSTANCE); + super.registerMobHead("raven", RavenHead.INSTANCE); + super.registerMobHead("snake", "snake_0", SnakeHead.INSTANCE); + super.registerMobHead("snake_1", "snake_1", SnakeHead.INSTANCE); + super.registerMobHead("snake_2", "snake_2", SnakeHead.INSTANCE); + super.registerMobHead("snake_3", "snake_3", SnakeHead.INSTANCE); + super.registerMobHead("snake_4", "snake_4", SnakeHead.INSTANCE); + super.registerMobHead("snake_5", "snake_5", SnakeHead.INSTANCE); + super.registerMobHead("toad", "toad_0", ToadHead.INSTANCE); + super.registerMobHead("toad_1", "toad_1", ToadHead.INSTANCE); + super.registerMobHead("toad_2", "toad_2", ToadHead.INSTANCE); + super.registerMobHead("toad_3", "toad_3", ToadHead.INSTANCE); + super.registerMobHead("werewolf", "werewolf/werewolf_brown", WerewolfHead.INSTANCE); + super.registerMobHead("werewolf_1", "werewolf/werewolf_arctic", WerewolfHead.INSTANCE); + super.registerMobHead("werewolf_2", "werewolf/werewolf_black", WerewolfHead.INSTANCE); + super.registerMobHead("werewolf_3", "werewolf/werewolf_red", WerewolfHead.INSTANCE); + super.registerMobHead("werewolf_4", "werewolf/werewolf_timber", WerewolfHead.INSTANCE); + super.registerMobHead("werewolf_5", "werewolf/werewolf_grey", WerewolfHead.INSTANCE); - //demon + //demons super.registerMobHead("bafometyr", BafometyrHead.INSTANCE); super.registerMobHead("baphomet", BaphometHead.INSTANCE); + super.registerMobHead("cambion", "cambion_0", CambionHead.INSTANCE); + super.registerMobHead("cambion_1", "cambion_1", CambionHead.INSTANCE); + super.registerMobHead("cambion_2", "cambion_2", CambionSlimHead.INSTANCE); + super.registerMobHead("cambion_3", "cambion_3", CambionSlimHead.INSTANCE); + super.registerMobHead("cleaver", CleaverHead.INSTANCE); + super.registerMobHead("demoness", "demoness_0", DemonessHead.INSTANCE); + super.registerMobHead("demoness_1", "demoness_1", DemonessHead.INSTANCE); + super.registerMobHead("demoness_2", "demoness_2", DemonessHead.INSTANCE); + super.registerMobHead("demoness_3", "demoness_3", DemonessHead.INSTANCE); + super.registerMobHead("demon", "demon_0", DemonHead.INSTANCE); - super.registerMobHead("druden", "drude_3", DrudenHead.INSTANCE); + super.registerMobHead("demon_1", "demon_1", DemonHead.INSTANCE); + super.registerMobHead("demon_2", "demon_2", DemonHead.INSTANCE); + super.registerMobHead("demon_3", "demon_3", DemonHead.INSTANCE); + + super.registerMobHead("druden", "drude_0", DrudenHead.INSTANCE); + super.registerMobHead("druden_1", "drude_1", DrudenHead.INSTANCE); + super.registerMobHead("druden_2", "drude_2", DrudenHead.INSTANCE); + super.registerMobHead("druden_3", "drude_3", DrudenHead.INSTANCE); + super.registerMobHead("feuerwurm", "feuerwurm_0", FeuerwurmHead.INSTANCE); + super.registerMobHead("feuerwurm_1", "feuerwurm_1", FeuerwurmHead.INSTANCE); + super.registerMobHead("feuerwurm_2", "feuerwurm_2", FeuerwurmHead.INSTANCE); + super.registerMobHead("feuerwurm_3", "feuerwurm_3", FeuerwurmHead.INSTANCE); + super.registerMobHead("feuerwurm_4", "feuerwurm_4", FeuerwurmHead.INSTANCE); + super.registerMobHead("feuerwurm_5", "feuerwurm_5", FeuerwurmHead.INSTANCE); + super.registerMobHead("feuerwurm_6", "feuerwurm_6", FeuerwurmHead.INSTANCE); + super.registerMobHead("feuerwurm_7", "feuerwurm_7", FeuerwurmHead.INSTANCE); + super.registerMobHead("feuerwurm_8", "feuerwurm_8", FeuerwurmHead.INSTANCE); + super.registerMobHead("hellhound", "hellhound_0", HellhoundHead.INSTANCE); + super.registerMobHead("hellhound_1", "hellhound_1", HellhoundHead.INSTANCE); + super.registerMobHead("hellhound_2", "hellhound_2", HellhoundHead.INSTANCE); + super.registerMobHead("hellhound_3", "hellhound_3", HellhoundHead.INSTANCE); + super.registerMobHead("imp", "imp_0", ImpHead.INSTANCE); + super.registerMobHead("imp_1", "imp_1", ImpHead.INSTANCE); + super.registerMobHead("imp_2", "imp_2", ImpHead.INSTANCE); + super.registerMobHead("imp_3", "imp_3", ImpHead.INSTANCE); + super.registerMobHead("imp_4", "imp_4", ImpHead.INSTANCE); + super.registerMobHead("imp_5", "imp_5", ImpHead.INSTANCE); + super.registerMobHead("imp_6", "imp_6", ImpHead.INSTANCE); + super.registerMobHead("leonard", LeonardHead.INSTANCE); + super.registerMobHead("shadow_person", "shadowperson", ShadowPersonClassicHead.INSTANCE); + super.registerMobHead("shadow_person_1", "shadowperson_hatdemon", ShadowPersonClassicHead.INSTANCE); + super.registerMobHead("shadow_person_2", "shadowperson", ShadowPersonSlimHead.INSTANCE); + super.registerMobHead("shadow_person_3", "shadowperson_hatdemon", ShadowPersonSlimHead.INSTANCE); - //ghost + //ghosts super.registerMobHead("black_dog", "black_dog_0", BlackDogHead.INSTANCE); + super.registerMobHead("black_dog_1", "black_dog_1", BlackDogHead.INSTANCE); + super.registerMobHead("black_dog_2", "black_dog_2", BlackDogHead.INSTANCE); + super.registerMobHead("black_dog_3", "black_dog_3", BlackDogHead.INSTANCE); + super.registerMobHead("black_dog_4", "black_dog_4", BlackDogHead.INSTANCE); + super.registerMobHead("ghost", "ghost_1", GhostHead.INSTANCE); + super.registerMobHead("ghost_1", "ghost_2", GhostHead.INSTANCE); + super.registerMobHead("ghost_2", "ghost_3", GhostHead.INSTANCE); + super.registerMobHead("ghost_3", "ghost_4", GhostHead.INSTANCE); + super.registerMobHead("ghost_4", "ghost_5", GhostHead.INSTANCE); } @Override @@ -88,15 +167,35 @@ public String getTextureLocBase() { @Override public ItemStack getHeadForEntity(String entityName, Entity ent) { - System.out.println(ent); - System.out.println(ent.getDataManager()); - return super.getHeadForEntity(entityName, ent); - } - - @Override - public HeadDrop getHeadDropForEntity(String entityName) { + String id = ""; + + if (ent instanceof EntityLizard) { + id = ent.getDataManager().get(ModEntityAnimal.SKIN).toString(); + + } else if (ent instanceof EntityOwl || ent instanceof EntitySnake + || ent instanceof EntityToad) { + id = ent.getDataManager().get(ModEntityTameable.SKIN).toString(); + + } else if (ent instanceof EntityWerewolf) { + id = String.valueOf(((EntityWerewolf)ent).getWerewolfType()); + - return super.getHeadDropForEntity(entityName); + } else if (ent instanceof EntityCambion) { + id = String.valueOf(((EntityCambion)ent).getCambionType()); + + } else if (ent instanceof EntityDemoness || ent instanceof EntityDemon + || ent instanceof EntityDruden || ent instanceof EntityFeuerwurm + || ent instanceof EntityHellhound || ent instanceof EntityImp + || ent instanceof EntityShadowPerson || ent instanceof EntityBlackDog) { + id = ent.getDataManager().get(ModEntityMob.SKIN).toString(); + + } + + if (!id.isEmpty() && !id.equals("0")) { + entityName = entityName.concat("_" + id); + } + + return super.getHeadForEntity(entityName, ent); } @Override diff --git a/src/main/resources/assets/headcrumbs/lang/en_US.lang b/src/main/resources/assets/headcrumbs/lang/en_US.lang index b597ab3..2f4b2c7 100755 --- a/src/main/resources/assets/headcrumbs/lang/en_US.lang +++ b/src/main/resources/assets/headcrumbs/lang/en_US.lang @@ -1,4 +1,4 @@ -######### +######### # Items # ######### @@ -130,8 +130,8 @@ item.headcrumbs.natura:heatscarSpider.name=Heatscar Spider Head # Thaumcraft item.headcrumbs.thaumcraft:angryZombie.name=Angry Zombie Head -item.headcrumbs.thaumcraft:fireBat.name=Firebat Head -item.headcrumbs.thaumcraft:thaumicSlime.name=Thaumic Slime Head +item.headcrumbs.thaumcraft:firebat.name=Firebat Head +item.headcrumbs.thaumcraft:tslime.name=Thaumic Slime Head item.headcrumbs.thaumcraft:taintedChicken.name=Tainted Chicken Head item.headcrumbs.thaumcraft:taintedCow.name=Tainted Cow Head item.headcrumbs.thaumcraft:taintedPig.name=Tainted Pig Head @@ -139,9 +139,13 @@ item.headcrumbs.thaumcraft:taintedCreeper.name=Tainted Creeper Head item.headcrumbs.thaumcraft:taintedVillager.name=Tainted Villager Head item.headcrumbs.thaumcraft:taintedSheep.name=Tainted Sheep Head item.headcrumbs.thaumcraft:pech.name=Pech Head -item.headcrumbs.thaumcraft:eldritchGuardian.name=Eldritch Guardian Head +item.headcrumbs.thaumcraft:eldritchguardian.name=Eldritch Guardian Head item.headcrumbs.thaumcraft:cultist.name=Cultist Head -item.headcrumbs.thaumcraft:eldritchCrab.name=Eldritch Crab Head +item.headcrumbs.thaumcraft:cultistknight.name=Cultist Knight Head +item.headcrumbs.thaumcraft:cultistcleric.name=Cultist Cleric Head +item.headcrumbs.thaumcraft:eldritchcrab.name=Eldritch Crab Head +item.headcrumbs.thaumcraft:BrainyZombie.name=Brainy Zombie Head +item.headcrumbs.thaumcraft:giantbrainyzombie.name=Giant Brainy Zombie Head # Lycanites # item.headcrumbs.pinky.name=Pinky Head @@ -227,6 +231,88 @@ item.headcrumbs.mysticalwildlife:plumper.name=Plumper Head item.headcrumbs.mysticalwildlife:vrontausaurus.name=Vrontausaurus Head item.headcrumbs.mysticalwildlife:yaga_hog.name=Yaga Hog Head +# Bewitchment +item.headcrumbs.bewitchment:lizard.name:Lizard Head +item.headcrumbs.bewitchment:lizard_1.name:Lizard Head +item.headcrumbs.bewitchment:lizard_2.name:Lizard Head +item.headcrumbs.bewitchment:lizard_3.name:Lizard Head +item.headcrumbs.bewitchment:owl.name:Owl Head +item.headcrumbs.bewitchment:owl_1.name:Owl Head +item.headcrumbs.bewitchment:owl_2.name:Owl Head +item.headcrumbs.bewitchment:owl_3.name:Owl Head +item.headcrumbs.bewitchment:raven.name:Raven Head +item.headcrumbs.bewitchment:snake.name:Snake Head +item.headcrumbs.bewitchment:snake_1.name:Snake Head +item.headcrumbs.bewitchment:snake_2.name:Snake Head +item.headcrumbs.bewitchment:snake_3.name:Snake Head +item.headcrumbs.bewitchment:snake_4.name:Snake Head +item.headcrumbs.bewitchment:snake_5.name:Snake Head +item.headcrumbs.bewitchment:toad.name:Toad Head +item.headcrumbs.bewitchment:toad_1.name:Toad Head +item.headcrumbs.bewitchment:toad_2.name:Toad Head +item.headcrumbs.bewitchment:toad_3.name:Toad Head +item.headcrumbs.bewitchment:werewolf.name:Brown Werewolf Head +item.headcrumbs.bewitchment:werewolf_1.name:Arctic Werewolf Head +item.headcrumbs.bewitchment:werewolf_2.name:Black Werewolf Head +item.headcrumbs.bewitchment:werewolf_3.name:Red Werewolf Head +item.headcrumbs.bewitchment:werewolf_4.name:Timber Werewolf Head +item.headcrumbs.bewitchment:werewolf_5.name:Grey Werewolf Head +item.headcrumbs.bewitchment:bafometyr.name:Bafometyr's Head +item.headcrumbs.bewitchment:baphomet.name:Baphomet's Head +item.headcrumbs.bewitchment:cambion.name:Cambion Head +item.headcrumbs.bewitchment:cambion_1.name:Cambion Head +item.headcrumbs.bewitchment:cambion_2.name:Cambion Head +item.headcrumbs.bewitchment:cambion_3.name:Cambion Head +item.headcrumbs.bewitchment:cleaver.name:Cleaver Head +item.headcrumbs.bewitchment:demoness.name:Demoness Head +item.headcrumbs.bewitchment:demoness_1.name:Demoness Head +item.headcrumbs.bewitchment:demoness_2.name:Demoness Head +item.headcrumbs.bewitchment:demoness_3.name:Demoness Head +item.headcrumbs.bewitchment:demon.name:Demon Head +item.headcrumbs.bewitchment:demon_1.name:Demon Head +item.headcrumbs.bewitchment:demon_2.name:Demon Head +item.headcrumbs.bewitchment:demon_3.name:Demon Head +item.headcrumbs.bewitchment:druden.name:Druden Head +item.headcrumbs.bewitchment:druden_1.name:Druden Head +item.headcrumbs.bewitchment:druden_2.name:Druden Head +item.headcrumbs.bewitchment:druden_3.name:Druden Head +item.headcrumbs.bewitchment:feuerwurm.name:Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_1.name:Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_2.name:Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_3.name:Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_4.name:Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_5.name:Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_6.name:Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_7.name:Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_8.name:Feuerwurm Head +item.headcrumbs.bewitchment:hellhound.name:Hellhound Head +item.headcrumbs.bewitchment:hellhound_1.name:Hellhound Head +item.headcrumbs.bewitchment:hellhound_2.name:Hellhound Head +item.headcrumbs.bewitchment:hellhound_3.name:Hellhound Head +item.headcrumbs.bewitchment:imp.name:Imp Head +item.headcrumbs.bewitchment:imp_1.name:Imp Head +item.headcrumbs.bewitchment:imp_2.name:Imp Head +item.headcrumbs.bewitchment:imp_3.name:Imp Head +item.headcrumbs.bewitchment:imp_4.name:Imp Head +item.headcrumbs.bewitchment:imp_5.name:Imp Head +item.headcrumbs.bewitchment:imp_6.name:Imp Head +item.headcrumbs.bewitchment:leonard.name:Leonard's Head +item.headcrumbs.bewitchment:shadow_person.name:Shadow Person's Head +item.headcrumbs.bewitchment:shadow_person_1.name:Shadow Person's Head +item.headcrumbs.bewitchment:shadow_person_2.name:Shadow Person's Head +item.headcrumbs.bewitchment:shadow_person_3.name:Shadow Person's Head +item.headcrumbs.bewitchment:black_dog.name:Black Dog Head +item.headcrumbs.bewitchment:black_dog_1.name:Black Dog Head +item.headcrumbs.bewitchment:black_dog_2.name:Black Dog Head +item.headcrumbs.bewitchment:black_dog_3.name:Black Dog Head +item.headcrumbs.bewitchment:black_dog_4.name:Black Dog Head +item.headcrumbs.bewitchment:ghost.name:Ghost Head +item.headcrumbs.bewitchment:ghost_1.name:Ghost Head +item.headcrumbs.bewitchment:ghost_2.name:Ghost Head +item.headcrumbs.bewitchment:ghost_3.name:Ghost Head +item.headcrumbs.bewitchment:ghost_4.name:Ghost Head +item.headcrumbs.bewitchment:ghost_5.name:Ghost Head + ########## # Entity # ########## From c8e530f1f28824813efffb3ca826dc4d97865659 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Mon, 27 Apr 2020 23:14:36 +0200 Subject: [PATCH 12/15] Update en_US.lang --- .../assets/headcrumbs/lang/en_US.lang | 160 +++++++++--------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/src/main/resources/assets/headcrumbs/lang/en_US.lang b/src/main/resources/assets/headcrumbs/lang/en_US.lang index 2f4b2c7..31b93a3 100755 --- a/src/main/resources/assets/headcrumbs/lang/en_US.lang +++ b/src/main/resources/assets/headcrumbs/lang/en_US.lang @@ -232,86 +232,86 @@ item.headcrumbs.mysticalwildlife:vrontausaurus.name=Vrontausaurus Head item.headcrumbs.mysticalwildlife:yaga_hog.name=Yaga Hog Head # Bewitchment -item.headcrumbs.bewitchment:lizard.name:Lizard Head -item.headcrumbs.bewitchment:lizard_1.name:Lizard Head -item.headcrumbs.bewitchment:lizard_2.name:Lizard Head -item.headcrumbs.bewitchment:lizard_3.name:Lizard Head -item.headcrumbs.bewitchment:owl.name:Owl Head -item.headcrumbs.bewitchment:owl_1.name:Owl Head -item.headcrumbs.bewitchment:owl_2.name:Owl Head -item.headcrumbs.bewitchment:owl_3.name:Owl Head -item.headcrumbs.bewitchment:raven.name:Raven Head -item.headcrumbs.bewitchment:snake.name:Snake Head -item.headcrumbs.bewitchment:snake_1.name:Snake Head -item.headcrumbs.bewitchment:snake_2.name:Snake Head -item.headcrumbs.bewitchment:snake_3.name:Snake Head -item.headcrumbs.bewitchment:snake_4.name:Snake Head -item.headcrumbs.bewitchment:snake_5.name:Snake Head -item.headcrumbs.bewitchment:toad.name:Toad Head -item.headcrumbs.bewitchment:toad_1.name:Toad Head -item.headcrumbs.bewitchment:toad_2.name:Toad Head -item.headcrumbs.bewitchment:toad_3.name:Toad Head -item.headcrumbs.bewitchment:werewolf.name:Brown Werewolf Head -item.headcrumbs.bewitchment:werewolf_1.name:Arctic Werewolf Head -item.headcrumbs.bewitchment:werewolf_2.name:Black Werewolf Head -item.headcrumbs.bewitchment:werewolf_3.name:Red Werewolf Head -item.headcrumbs.bewitchment:werewolf_4.name:Timber Werewolf Head -item.headcrumbs.bewitchment:werewolf_5.name:Grey Werewolf Head -item.headcrumbs.bewitchment:bafometyr.name:Bafometyr's Head -item.headcrumbs.bewitchment:baphomet.name:Baphomet's Head -item.headcrumbs.bewitchment:cambion.name:Cambion Head -item.headcrumbs.bewitchment:cambion_1.name:Cambion Head -item.headcrumbs.bewitchment:cambion_2.name:Cambion Head -item.headcrumbs.bewitchment:cambion_3.name:Cambion Head -item.headcrumbs.bewitchment:cleaver.name:Cleaver Head -item.headcrumbs.bewitchment:demoness.name:Demoness Head -item.headcrumbs.bewitchment:demoness_1.name:Demoness Head -item.headcrumbs.bewitchment:demoness_2.name:Demoness Head -item.headcrumbs.bewitchment:demoness_3.name:Demoness Head -item.headcrumbs.bewitchment:demon.name:Demon Head -item.headcrumbs.bewitchment:demon_1.name:Demon Head -item.headcrumbs.bewitchment:demon_2.name:Demon Head -item.headcrumbs.bewitchment:demon_3.name:Demon Head -item.headcrumbs.bewitchment:druden.name:Druden Head -item.headcrumbs.bewitchment:druden_1.name:Druden Head -item.headcrumbs.bewitchment:druden_2.name:Druden Head -item.headcrumbs.bewitchment:druden_3.name:Druden Head -item.headcrumbs.bewitchment:feuerwurm.name:Feuerwurm Head -item.headcrumbs.bewitchment:feuerwurm_1.name:Feuerwurm Head -item.headcrumbs.bewitchment:feuerwurm_2.name:Feuerwurm Head -item.headcrumbs.bewitchment:feuerwurm_3.name:Feuerwurm Head -item.headcrumbs.bewitchment:feuerwurm_4.name:Feuerwurm Head -item.headcrumbs.bewitchment:feuerwurm_5.name:Feuerwurm Head -item.headcrumbs.bewitchment:feuerwurm_6.name:Feuerwurm Head -item.headcrumbs.bewitchment:feuerwurm_7.name:Feuerwurm Head -item.headcrumbs.bewitchment:feuerwurm_8.name:Feuerwurm Head -item.headcrumbs.bewitchment:hellhound.name:Hellhound Head -item.headcrumbs.bewitchment:hellhound_1.name:Hellhound Head -item.headcrumbs.bewitchment:hellhound_2.name:Hellhound Head -item.headcrumbs.bewitchment:hellhound_3.name:Hellhound Head -item.headcrumbs.bewitchment:imp.name:Imp Head -item.headcrumbs.bewitchment:imp_1.name:Imp Head -item.headcrumbs.bewitchment:imp_2.name:Imp Head -item.headcrumbs.bewitchment:imp_3.name:Imp Head -item.headcrumbs.bewitchment:imp_4.name:Imp Head -item.headcrumbs.bewitchment:imp_5.name:Imp Head -item.headcrumbs.bewitchment:imp_6.name:Imp Head -item.headcrumbs.bewitchment:leonard.name:Leonard's Head -item.headcrumbs.bewitchment:shadow_person.name:Shadow Person's Head -item.headcrumbs.bewitchment:shadow_person_1.name:Shadow Person's Head -item.headcrumbs.bewitchment:shadow_person_2.name:Shadow Person's Head -item.headcrumbs.bewitchment:shadow_person_3.name:Shadow Person's Head -item.headcrumbs.bewitchment:black_dog.name:Black Dog Head -item.headcrumbs.bewitchment:black_dog_1.name:Black Dog Head -item.headcrumbs.bewitchment:black_dog_2.name:Black Dog Head -item.headcrumbs.bewitchment:black_dog_3.name:Black Dog Head -item.headcrumbs.bewitchment:black_dog_4.name:Black Dog Head -item.headcrumbs.bewitchment:ghost.name:Ghost Head -item.headcrumbs.bewitchment:ghost_1.name:Ghost Head -item.headcrumbs.bewitchment:ghost_2.name:Ghost Head -item.headcrumbs.bewitchment:ghost_3.name:Ghost Head -item.headcrumbs.bewitchment:ghost_4.name:Ghost Head -item.headcrumbs.bewitchment:ghost_5.name:Ghost Head +item.headcrumbs.bewitchment:lizard.name=Lizard Head +item.headcrumbs.bewitchment:lizard_1.name=Lizard Head +item.headcrumbs.bewitchment:lizard_2.name=Lizard Head +item.headcrumbs.bewitchment:lizard_3.name=Lizard Head +item.headcrumbs.bewitchment:owl.name=Owl Head +item.headcrumbs.bewitchment:owl_1.name=Owl Head +item.headcrumbs.bewitchment:owl_2.name=Owl Head +item.headcrumbs.bewitchment:owl_3.name=Owl Head +item.headcrumbs.bewitchment:raven.name=Raven Head +item.headcrumbs.bewitchment:snake.name=Snake Head +item.headcrumbs.bewitchment:snake_1.name=Snake Head +item.headcrumbs.bewitchment:snake_2.name=Snake Head +item.headcrumbs.bewitchment:snake_3.name=Snake Head +item.headcrumbs.bewitchment:snake_4.name=Snake Head +item.headcrumbs.bewitchment:snake_5.name=Snake Head +item.headcrumbs.bewitchment:toad.name=Toad Head +item.headcrumbs.bewitchment:toad_1.name=Toad Head +item.headcrumbs.bewitchment:toad_2.name=Toad Head +item.headcrumbs.bewitchment:toad_3.name=Toad Head +item.headcrumbs.bewitchment:werewolf.name=Brown Werewolf Head +item.headcrumbs.bewitchment:werewolf_1.name=Arctic Werewolf Head +item.headcrumbs.bewitchment:werewolf_2.name=Black Werewolf Head +item.headcrumbs.bewitchment:werewolf_3.name=Red Werewolf Head +item.headcrumbs.bewitchment:werewolf_4.name=Timber Werewolf Head +item.headcrumbs.bewitchment:werewolf_5.name=Grey Werewolf Head +item.headcrumbs.bewitchment:bafometyr.name=Bafometyr's Head +item.headcrumbs.bewitchment:baphomet.name=Baphomet's Head +item.headcrumbs.bewitchment:cambion.name=Cambion Head +item.headcrumbs.bewitchment:cambion_1.name=Cambion Head +item.headcrumbs.bewitchment:cambion_2.name=Cambion Head +item.headcrumbs.bewitchment:cambion_3.name=Cambion Head +item.headcrumbs.bewitchment:cleaver.name=Cleaver Head +item.headcrumbs.bewitchment:demoness.name=Demoness Head +item.headcrumbs.bewitchment:demoness_1.name=Demoness Head +item.headcrumbs.bewitchment:demoness_2.name=Demoness Head +item.headcrumbs.bewitchment:demoness_3.name=Demoness Head +item.headcrumbs.bewitchment:demon.name=Demon Head +item.headcrumbs.bewitchment:demon_1.name=Demon Head +item.headcrumbs.bewitchment:demon_2.name=Demon Head +item.headcrumbs.bewitchment:demon_3.name=Demon Head +item.headcrumbs.bewitchment:druden.name=Druden Head +item.headcrumbs.bewitchment:druden_1.name=Druden Head +item.headcrumbs.bewitchment:druden_2.name=Druden Head +item.headcrumbs.bewitchment:druden_3.name=Druden Head +item.headcrumbs.bewitchment:feuerwurm.name=Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_1.name=Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_2.name=Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_3.name=Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_4.name=Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_5.name=Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_6.name=Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_7.name=Feuerwurm Head +item.headcrumbs.bewitchment:feuerwurm_8.name=Feuerwurm Head +item.headcrumbs.bewitchment:hellhound.name=Hellhound Head +item.headcrumbs.bewitchment:hellhound_1.name=Hellhound Head +item.headcrumbs.bewitchment:hellhound_2.name=Hellhound Head +item.headcrumbs.bewitchment:hellhound_3.name=Hellhound Head +item.headcrumbs.bewitchment:imp.name=Imp Head +item.headcrumbs.bewitchment:imp_1.name=Imp Head +item.headcrumbs.bewitchment:imp_2.name=Imp Head +item.headcrumbs.bewitchment:imp_3.name=Imp Head +item.headcrumbs.bewitchment:imp_4.name=Imp Head +item.headcrumbs.bewitchment:imp_5.name=Imp Head +item.headcrumbs.bewitchment:imp_6.name=Imp Head +item.headcrumbs.bewitchment:leonard.name=Leonard's Head +item.headcrumbs.bewitchment:shadow_person.name=Shadow Person's Head +item.headcrumbs.bewitchment:shadow_person_1.name=Shadow Person's Head +item.headcrumbs.bewitchment:shadow_person_2.name=Shadow Person's Head +item.headcrumbs.bewitchment:shadow_person_3.name=Shadow Person's Head +item.headcrumbs.bewitchment:black_dog.name=Black Dog Head +item.headcrumbs.bewitchment:black_dog_1.name=Black Dog Head +item.headcrumbs.bewitchment:black_dog_2.name=Black Dog Head +item.headcrumbs.bewitchment:black_dog_3.name=Black Dog Head +item.headcrumbs.bewitchment:black_dog_4.name=Black Dog Head +item.headcrumbs.bewitchment:ghost.name=Ghost Head +item.headcrumbs.bewitchment:ghost_1.name=Ghost Head +item.headcrumbs.bewitchment:ghost_2.name=Ghost Head +item.headcrumbs.bewitchment:ghost_3.name=Ghost Head +item.headcrumbs.bewitchment:ghost_4.name=Ghost Head +item.headcrumbs.bewitchment:ghost_5.name=Ghost Head ########## # Entity # From f7cd2bb8c33169bcdc8026834fc5948f9e41cc38 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Tue, 28 Apr 2020 20:33:17 +0200 Subject: [PATCH 13/15] Fixed GhostHead --- .../renderers/heads/bewitchment/spirit/ghost/GhostHead.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java index 8f0d996..7b4a7b0 100644 --- a/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java +++ b/src/main/java/ganymedes01/headcrumbs/renderers/heads/bewitchment/spirit/ghost/GhostHead.java @@ -47,10 +47,6 @@ public void preRender(GameProfile profile) { GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); } - @Override - public void render(float rotationX, float rotationY) { - } - @Override public void postRender() { GlStateManager.depthMask(true); From 2e2160c5f319e72e05af0ec7cfffa8d457a41fb1 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Tue, 28 Apr 2020 20:34:07 +0200 Subject: [PATCH 14/15] Added dependencies for tinker implementation --- build.gradle | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 8a49e3d..e213508 100644 --- a/build.gradle +++ b/build.gradle @@ -33,7 +33,7 @@ minecraft { version = "${mc_version}-${forge_version}" runDir = "run-1.12" - mappings = "stable_39" + mappings = "stable_39" } repositories { @@ -41,11 +41,33 @@ repositories { name 'TinCon Maven' url 'https://dvs1.progwml6.com/files/maven' } + maven { + name 'jitpack.io' + url 'https://jitpack.io' + } + maven { + name 'Cofh' + url 'https://maven.covers1624.net' + } + maven { + name 'Curseforge Maven' + url 'http://minecraft.curseforge.com/api/maven/' + } } dependencies { deobfCompile "slimeknights.mantle:Mantle:1.12-1.3.3.49" deobfCompile "slimeknights:TConstruct:1.12.2-2.12.0.149" + //implementation "com.github.SleepyTrousers:EnderCore:0.5.70" + //implementation "com.github.SleepyTrousers:EnderIO:5.0.50" + implementation "com.github.Silentine:GrimoireOfGaia:1.12.1-Dev-SNAPSHOT" + implementation "com.github.Lykrast:MysticalWildlife:1.12-SNAPSHOT" + deobfCompile "com.progwml6.natura:Natura-1.12:1.12-4.3.0.8" + // implementation "com.github.Daveyx0:PrimitiveMobs:master-SNAPSHOT" -- doesn't work... + deobfCompile "cofh:ThermalFoundation:1.12.2-2.6.3.27:deobf" + deobfCompile "thaumcraft:Thaumcraft:1.12.2:6.1.BETA26" + implementation "com.github.TeamTwilight:twilightforest:1.12.x-SNAPSHOT" + implementation "com.github.Um-Mitternacht:Bewitchment:1.12.2-SNAPSHOT" } processResources { From 29afbbca0a08ca321763ba07ec469f18328d6f72 Mon Sep 17 00:00:00 2001 From: Alchemi Date: Tue, 28 Apr 2020 20:34:33 +0200 Subject: [PATCH 15/15] Registered almost all heads in tconstruct --- .../helpers/ElementalCreepersHelper.java | 4 + .../utils/helpers/EnderZooHelper.java | 5 ++ .../utils/helpers/GrimoireOfGaiaHelper.java | 81 +++++++++++++++++++ .../utils/helpers/LaserCreepersHelper.java | 4 + .../utils/helpers/MysticalWildlifeHelper.java | 16 ++++ .../utils/helpers/NaturaHelper.java | 13 +++ .../utils/helpers/PrimitiveMobsHelper.java | 4 + .../headcrumbs/utils/helpers/TEHelper.java | 10 +++ .../utils/helpers/ThaumcraftHelper.java | 24 +++++- .../utils/helpers/TwilightForestHelper.java | 5 ++ .../utils/helpers/VanillaHelper.java | 46 +++++++++++ 11 files changed, 211 insertions(+), 1 deletion(-) diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/ElementalCreepersHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/ElementalCreepersHelper.java index 3107c70..09de8f9 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/ElementalCreepersHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/ElementalCreepersHelper.java @@ -45,4 +45,8 @@ public String getTextureLocBase() { return modID + ":textures/entities/"; } + + @Override + public void registerTinkersHeadDrops() { + } } \ No newline at end of file diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/EnderZooHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/EnderZooHelper.java index 6a399a2..42f71fa 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/EnderZooHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/EnderZooHelper.java @@ -29,4 +29,9 @@ public String getTextureLocBase() { return Strings.EZ_PREFIX; } + + @Override + public void registerTinkersHeadDrops() { +// TConstructHelper.registerHeadDrop(EntityCo); + } } \ No newline at end of file diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/GrimoireOfGaiaHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/GrimoireOfGaiaHelper.java index 8509167..f93b4c3 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/GrimoireOfGaiaHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/GrimoireOfGaiaHelper.java @@ -1,5 +1,43 @@ package ganymedes01.headcrumbs.utils.helpers; +import gaia.entity.monster.EntityGaiaAnubis; +import gaia.entity.monster.EntityGaiaBanshee; +import gaia.entity.monster.EntityGaiaBaphomet; +import gaia.entity.monster.EntityGaiaCentaur; +import gaia.entity.monster.EntityGaiaCobbleGolem; +import gaia.entity.monster.EntityGaiaCobblestoneGolem; +import gaia.entity.monster.EntityGaiaDhampir; +import gaia.entity.monster.EntityGaiaDryad; +import gaia.entity.monster.EntityGaiaDullahan; +import gaia.entity.monster.EntityGaiaEnderDragonGirl; +import gaia.entity.monster.EntityGaiaEnderEye; +import gaia.entity.monster.EntityGaiaFleshLich; +import gaia.entity.monster.EntityGaiaGryphon; +import gaia.entity.monster.EntityGaiaHarpy; +import gaia.entity.monster.EntityGaiaHunter; +import gaia.entity.monster.EntityGaiaMandragora; +import gaia.entity.monster.EntityGaiaMermaid; +import gaia.entity.monster.EntityGaiaMimic; +import gaia.entity.monster.EntityGaiaMinotaur; +import gaia.entity.monster.EntityGaiaMinotaurus; +import gaia.entity.monster.EntityGaiaNaga; +import gaia.entity.monster.EntityGaiaNineTails; +import gaia.entity.monster.EntityGaiaSatyress; +import gaia.entity.monster.EntityGaiaSelkie; +import gaia.entity.monster.EntityGaiaShaman; +import gaia.entity.monster.EntityGaiaSharko; +import gaia.entity.monster.EntityGaiaSiren; +import gaia.entity.monster.EntityGaiaSludgeGirl; +import gaia.entity.monster.EntityGaiaSphinx; +import gaia.entity.monster.EntityGaiaSpriggan; +import gaia.entity.monster.EntityGaiaSuccubus; +import gaia.entity.monster.EntityGaiaValkyrie; +import gaia.entity.monster.EntityGaiaVampire; +import gaia.entity.monster.EntityGaiaWerecat; +import gaia.entity.monster.EntityGaiaWitch; +import gaia.entity.monster.EntityGaiaWitherCow; +import gaia.entity.monster.EntityGaiaYeti; +import gaia.entity.monster.EntityGaiaYukiOnna; import ganymedes01.headcrumbs.renderers.heads.grimoireOfGaia.AnubisHead; import ganymedes01.headcrumbs.renderers.heads.grimoireOfGaia.BansheeHead; import ganymedes01.headcrumbs.renderers.heads.grimoireOfGaia.BaphometHead; @@ -39,6 +77,7 @@ import ganymedes01.headcrumbs.renderers.heads.grimoireOfGaia.YetiHead; import ganymedes01.headcrumbs.renderers.heads.grimoireOfGaia.YukiOnnaHead; import net.minecraft.entity.Entity; +import net.minecraft.entity.passive.EntityAnimal; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -90,6 +129,48 @@ public GrimoireOfGaiaHelper() super.registerMobHead("yeti", YetiHead.INSTANCE); super.registerMobHead("yuki-onna", YukiOnnaHead.INSTANCE); } + + @Override + public void registerTinkersHeadDrops() { + TConstructHelper.registerHeadDrop(EntityGaiaAnubis.class); + TConstructHelper.registerHeadDrop(EntityGaiaBanshee.class); + TConstructHelper.registerHeadDrop(EntityGaiaBaphomet.class); + TConstructHelper.registerHeadDrop(EntityGaiaCentaur.class); + TConstructHelper.registerHeadDrop(EntityGaiaCobbleGolem.class); + TConstructHelper.registerHeadDrop(EntityGaiaCobblestoneGolem.class); + TConstructHelper.registerHeadDrop(EntityGaiaDhampir.class); + TConstructHelper.registerHeadDrop(EntityGaiaDryad.class); + TConstructHelper.registerHeadDrop(EntityGaiaDullahan.class); + TConstructHelper.registerHeadDrop(EntityGaiaEnderDragonGirl.class); + TConstructHelper.registerHeadDrop(EntityGaiaEnderEye.class); + TConstructHelper.registerHeadDrop(EntityGaiaFleshLich.class); + TConstructHelper.registerHeadDrop(EntityGaiaGryphon.class); + TConstructHelper.registerHeadDrop(EntityGaiaHarpy.class); + TConstructHelper.registerHeadDrop(EntityGaiaHunter.class); + TConstructHelper.registerHeadDrop(EntityGaiaMandragora.class); + TConstructHelper.registerHeadDrop(EntityGaiaMermaid.class); + TConstructHelper.registerHeadDrop(EntityGaiaMimic.class); + TConstructHelper.registerHeadDrop(EntityGaiaMinotaur.class); + TConstructHelper.registerHeadDrop(EntityGaiaMinotaurus.class); + TConstructHelper.registerHeadDrop(EntityGaiaNaga.class); + TConstructHelper.registerHeadDrop(EntityGaiaNineTails.class); + TConstructHelper.registerHeadDrop(EntityGaiaSatyress.class); + TConstructHelper.registerHeadDrop(EntityGaiaSelkie.class); + TConstructHelper.registerHeadDrop(EntityGaiaShaman.class); + TConstructHelper.registerHeadDrop(EntityGaiaSharko.class); + TConstructHelper.registerHeadDrop(EntityGaiaSiren.class); + TConstructHelper.registerHeadDrop(EntityGaiaSludgeGirl.class); + TConstructHelper.registerHeadDrop(EntityGaiaSphinx.class); + TConstructHelper.registerHeadDrop(EntityGaiaSpriggan.class); + TConstructHelper.registerHeadDrop(EntityGaiaSuccubus.class); + TConstructHelper.registerHeadDrop(EntityGaiaValkyrie.class); + TConstructHelper.registerHeadDrop(EntityGaiaVampire.class); + TConstructHelper.registerHeadDrop(EntityGaiaWerecat.class); + TConstructHelper.registerHeadDrop(EntityGaiaWitch.class); + TConstructHelper.registerHeadDrop(EntityGaiaWitherCow.class); + TConstructHelper.registerHeadDrop(EntityGaiaYeti.class); + TConstructHelper.registerHeadDrop(EntityGaiaYukiOnna.class); + } @Override public ItemStack getHeadForEntity(String entityName, Entity ent) diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/LaserCreepersHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/LaserCreepersHelper.java index da6fdb7..6653b45 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/LaserCreepersHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/LaserCreepersHelper.java @@ -17,4 +17,8 @@ public LaserCreepersHelper() super.registerMobHead("roboDino", "robo_dino", RoboDinoHead.INSTANCE); super.registerMobHead("jetPackSpider", "jet_pack_spider", JetPackSpiderHead.INSTANCE); } + + @Override + public void registerTinkersHeadDrops() { + } } \ No newline at end of file diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/MysticalWildlifeHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/MysticalWildlifeHelper.java index 68b39d0..406f47e 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/MysticalWildlifeHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/MysticalWildlifeHelper.java @@ -5,6 +5,12 @@ import ganymedes01.headcrumbs.renderers.heads.mysticalwildlife.KrillHead; import ganymedes01.headcrumbs.renderers.heads.mysticalwildlife.PlumperHead; import ganymedes01.headcrumbs.renderers.heads.mysticalwildlife.VrontausaurusHead; +import lykrast.mysticalwildlife.common.entity.EntityCicaptera; +import lykrast.mysticalwildlife.common.entity.EntityDuskLurker; +import lykrast.mysticalwildlife.common.entity.EntityKrill; +import lykrast.mysticalwildlife.common.entity.EntityPlumper; +import lykrast.mysticalwildlife.common.entity.EntityVrontausaurus; +import lykrast.mysticalwildlife.common.entity.EntityYagaHog; public class MysticalWildlifeHelper extends HeadDropHelper { @@ -26,4 +32,14 @@ public MysticalWildlifeHelper() super.registerMobHead("vrontausaurus", VrontausaurusHead.INSTANCE); super.registerMobHead("yaga_hog", "yaga_hog_dirt", VrontausaurusHead.INSTANCE); } + + @Override + public void registerTinkersHeadDrops() { + TConstructHelper.registerHeadDrop(EntityCicaptera.class); + TConstructHelper.registerHeadDrop(EntityDuskLurker.class); + TConstructHelper.registerHeadDrop(EntityKrill.class); + TConstructHelper.registerHeadDrop(EntityPlumper.class); + TConstructHelper.registerHeadDrop(EntityVrontausaurus.class); + TConstructHelper.registerHeadDrop(EntityYagaHog.class); + } } \ No newline at end of file diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/NaturaHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/NaturaHelper.java index be8c342..ed63740 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/NaturaHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/NaturaHelper.java @@ -1,5 +1,10 @@ package ganymedes01.headcrumbs.utils.helpers; +import com.progwml6.natura.entities.entity.monster.EntityBabyHeatscarSpider; +import com.progwml6.natura.entities.entity.monster.EntityHeatscarSpider; +import com.progwml6.natura.entities.entity.monster.EntityNitroCreeper; +import com.progwml6.natura.entities.entity.passive.EntityImp; + import ganymedes01.headcrumbs.renderers.ModelHead; import ganymedes01.headcrumbs.renderers.heads.SpiderHead; import ganymedes01.headcrumbs.renderers.heads.natura.ImpHead; @@ -17,4 +22,12 @@ public NaturaHelper() super.registerMobHead("nitrocreeper", ModelHead.INSTANCE_NO_OVERLAY); super.registerMobHead("flamespiderbaby", "heatscarspider", SpiderHead.INSTANCE); } + + @Override + public void registerTinkersHeadDrops() { + TConstructHelper.registerHeadDrop(EntityNitroCreeper.class); + TConstructHelper.registerHeadDrop(EntityImp.class); + TConstructHelper.registerHeadDrop(EntityHeatscarSpider.class); + TConstructHelper.registerHeadDrop(EntityBabyHeatscarSpider.class); + } } \ No newline at end of file diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/PrimitiveMobsHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/PrimitiveMobsHelper.java index 0671c53..1c8481e 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/PrimitiveMobsHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/PrimitiveMobsHelper.java @@ -30,4 +30,8 @@ public PrimitiveMobsHelper() super.registerMobHead("skeletonwarrior", "skeletonwarrior/skeletonwarrior", ModelHead.INSTANCE); super.registerMobHead("brainslime", "brainslime/slime_brain", SlimeHead.INSTANCE); } + + @Override + public void registerTinkersHeadDrops() { + } } \ No newline at end of file diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/TEHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/TEHelper.java index 6c1fdf5..0125941 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/TEHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/TEHelper.java @@ -1,5 +1,8 @@ package ganymedes01.headcrumbs.utils.helpers; +import cofh.thermalfoundation.entity.monster.EntityBasalz; +import cofh.thermalfoundation.entity.monster.EntityBlitz; +import cofh.thermalfoundation.entity.monster.EntityBlizz; import ganymedes01.headcrumbs.renderers.ModelHead; public class TEHelper extends HeadDropHelper @@ -14,4 +17,11 @@ public TEHelper() super.registerMobHead("blitz", ModelHead.INSTANCE); super.registerMobHead("basalz", ModelHead.INSTANCE); } + + @Override + public void registerTinkersHeadDrops() { + TConstructHelper.registerHeadDrop(EntityBlizz.class); + TConstructHelper.registerHeadDrop(EntityBlitz.class); + TConstructHelper.registerHeadDrop(EntityBasalz.class); + } } \ No newline at end of file diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/ThaumcraftHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/ThaumcraftHelper.java index 99f494a..14b2498 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/ThaumcraftHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/ThaumcraftHelper.java @@ -6,9 +6,19 @@ import ganymedes01.headcrumbs.renderers.heads.thaumcraft.EldrichGuardianHead; import ganymedes01.headcrumbs.renderers.heads.thaumcraft.PechHead; import net.minecraft.entity.Entity; +import net.minecraft.entity.monster.EntityElderGuardian; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.Optional; +import thaumcraft.common.entities.monster.EntityBrainyZombie; +import thaumcraft.common.entities.monster.EntityEldritchCrab; +import thaumcraft.common.entities.monster.EntityEldritchGuardian; +import thaumcraft.common.entities.monster.EntityFireBat; +import thaumcraft.common.entities.monster.EntityGiantBrainyZombie; +import thaumcraft.common.entities.monster.EntityPech; +import thaumcraft.common.entities.monster.EntityThaumicSlime; +import thaumcraft.common.entities.monster.cult.EntityCultistCleric; +import thaumcraft.common.entities.monster.cult.EntityCultistKnight; public class ThaumcraftHelper extends HeadDropHelper { @@ -21,7 +31,6 @@ public ThaumcraftHelper() super.registerMobHead("BrainyZombie", "bzombievil", WitherHead.INSTANCE); super.registerMobHead("giantbrainyzombie", "bzombievil", WitherHead.INSTANCE); super.registerMobHead("firebat", BatHead.INSTANCE); - super.registerMobHead("giantbrainyzombie", "bzombievil", WitherHead.INSTANCE); super.registerMobHead("tslime", SlimeHead.INSTANCE); super.registerMobHead("pech", "pech_forage", PechHead.INSTANCE); super.registerMobHead("eldritchguardian", "eldritch_guardian", EldrichGuardianHead.INSTANCE); @@ -33,6 +42,19 @@ public ThaumcraftHelper() addAspects(); } + @Override + public void registerTinkersHeadDrops() { + TConstructHelper.registerHeadDrop(EntityBrainyZombie.class); + TConstructHelper.registerHeadDrop(EntityGiantBrainyZombie.class); + TConstructHelper.registerHeadDrop(EntityFireBat.class); + TConstructHelper.registerHeadDrop(EntityThaumicSlime.class); + TConstructHelper.registerHeadDrop(EntityPech.class); + TConstructHelper.registerHeadDrop(EntityEldritchGuardian.class); + TConstructHelper.registerHeadDrop(EntityCultistKnight.class); + TConstructHelper.registerHeadDrop(EntityCultistCleric.class); + TConstructHelper.registerHeadDrop(EntityEldritchCrab.class); + } + @Optional.Method(modid = MOD_ID) private void addAspects() { diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/TwilightForestHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/TwilightForestHelper.java index 0d9aa06..c2b1e68 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/TwilightForestHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/TwilightForestHelper.java @@ -70,6 +70,11 @@ public TwilightForestHelper() super.registerMobHead("winter_wolf", "winterwolf", MistWolfHead.INSTANCE); } + @Override + public void registerTinkersHeadDrops() { +// TConstructHelper.registerHeadDrop(TF); + } + @Override public ItemStack getHeadForEntity(String entityName, Entity entity) { diff --git a/src/main/java/ganymedes01/headcrumbs/utils/helpers/VanillaHelper.java b/src/main/java/ganymedes01/headcrumbs/utils/helpers/VanillaHelper.java index 9922925..f5d147e 100644 --- a/src/main/java/ganymedes01/headcrumbs/utils/helpers/VanillaHelper.java +++ b/src/main/java/ganymedes01/headcrumbs/utils/helpers/VanillaHelper.java @@ -1,5 +1,6 @@ package ganymedes01.headcrumbs.utils.helpers; +import ganymedes01.headcrumbs.Headcrumbs; import ganymedes01.headcrumbs.libs.Strings; import ganymedes01.headcrumbs.renderers.ModelHead; import ganymedes01.headcrumbs.renderers.heads.BatHead; @@ -29,6 +30,8 @@ import ganymedes01.headcrumbs.renderers.heads.WolfHead; import ganymedes01.headcrumbs.renderers.heads.ZombieVillagerHead; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityList; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.boss.EntityWither; import net.minecraft.entity.monster.EntityBlaze; import net.minecraft.entity.monster.EntityCaveSpider; @@ -53,16 +56,22 @@ import net.minecraft.entity.passive.EntityBat; import net.minecraft.entity.passive.EntityChicken; import net.minecraft.entity.passive.EntityCow; +import net.minecraft.entity.passive.EntityDonkey; import net.minecraft.entity.passive.EntityHorse; import net.minecraft.entity.passive.EntityMooshroom; +import net.minecraft.entity.passive.EntityMule; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.passive.EntityPig; import net.minecraft.entity.passive.EntityRabbit; import net.minecraft.entity.passive.EntitySheep; +import net.minecraft.entity.passive.EntitySkeletonHorse; import net.minecraft.entity.passive.EntitySquid; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.passive.EntityWolf; +import net.minecraft.entity.passive.EntityZombieHorse; import net.minecraft.item.ItemStack; +import scala.actors.threadpool.Arrays; +import slimeknights.tconstruct.library.TinkerRegistry; public class VanillaHelper extends HeadDropHelper { @@ -173,6 +182,43 @@ public VanillaHelper() super.registerMobHead(zombie_pigman, PigmanHead.INSTANCE); } + @Override + public void registerTinkersHeadDrops() { + TConstructHelper.registerHeadDrop(EntityBat.class); + TConstructHelper.registerHeadDrop(EntityBlaze.class); + TConstructHelper.registerHeadDrop(EntityCaveSpider.class); + TConstructHelper.registerHeadDrop(EntityChicken.class); + TConstructHelper.registerHeadDrop(EntityCow.class); + TConstructHelper.registerHeadDrop(EntityDonkey.class); + TConstructHelper.registerHeadDrop(EntityEnderman.class); + TConstructHelper.registerHeadDrop(EntityEndermite.class); + TConstructHelper.registerHeadDrop(EntityElderGuardian.class); + TConstructHelper.registerHeadDrop(EntityGhast.class); + TConstructHelper.registerHeadDrop(EntityGuardian.class); + TConstructHelper.registerHeadDrop(EntityHorse.class); + TConstructHelper.registerHeadDrop(EntitySkeletonHorse.class); + TConstructHelper.registerHeadDrop(EntityZombieHorse.class); + TConstructHelper.registerHeadDrop(EntityIronGolem.class); + TConstructHelper.registerHeadDrop(EntityMagmaCube.class); + TConstructHelper.registerHeadDrop(EntityMooshroom.class); + TConstructHelper.registerHeadDrop(EntityMule.class); + TConstructHelper.registerHeadDrop(EntityOcelot.class); + TConstructHelper.registerHeadDrop(EntityPolarBear.class); + TConstructHelper.registerHeadDrop(EntityPig.class); + TConstructHelper.registerHeadDrop(EntityRabbit.class); + TConstructHelper.registerHeadDrop(EntitySheep.class); + TConstructHelper.registerHeadDrop(EntitySilverfish.class); + TConstructHelper.registerHeadDrop(EntitySlime.class); + TConstructHelper.registerHeadDrop(EntitySnowman.class); + TConstructHelper.registerHeadDrop(EntitySpider.class); + TConstructHelper.registerHeadDrop(EntityVillager.class); + TConstructHelper.registerHeadDrop(EntityWitch.class); + TConstructHelper.registerHeadDrop(EntityWither.class); + TConstructHelper.registerHeadDrop(EntityWolf.class); + TConstructHelper.registerHeadDrop(EntityZombieVillager.class); + TConstructHelper.registerHeadDrop(EntityPigZombie.class); + } + @Override public ItemStack getHeadForEntity(String entityName, Entity entity) {