master
Trent Patterson 2018-08-10 10:01:27 -04:00
parent cb7249e21d
commit 03850792a4
110 changed files with 4517 additions and 78 deletions

View File

@ -1,5 +1,28 @@
jtrent238's YouTubers Changelog
version
- Added FanMail
- Added Grim
- Added Decorative Command Block
- Added Decorative Chain Command Block
- Added Decorative Repeating Command Block
- Added Crazy Fan
- Added Enchanted Diamond
- Added Dr. Trayaurus
- Added McDuck
- Added Terrance
- Added Craig The Mailman
- Added Fake DanTDM
- Added DanTDM hurt sound
- Added DanTDM death sound
- Added DanTDM living sound
- Added DanTDM Record [The Red one has been chosen]
- Added DanTDM Record [Let's see what Happens]
- Added DanTDM Record [I'M DEAD! I'M DEAD!]
- Added DanTDM Record [SMASHING IT!]
- Added DanTDM Record [I LIKE YOUR MUSTASCHE!]
- Added DanTDM Record [I'M AN OLD LADY!]
1.0.1.2
- Added Silver YouTube Play Button
- Added Gold YouTube Play Button

View File

@ -17,7 +17,7 @@ buildscript {
apply plugin: 'forge'
version = "1.0.1.2"
version = "1.0.2.2"
group= "com.jtrent238.youtubers" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "jtrent238youtubers"

View File

@ -4,12 +4,17 @@ import com.jtrent238.youtubers.blocks.BlockAntvenomOre;
import com.jtrent238.youtubers.blocks.BlockBajanCanadianOre;
import com.jtrent238.youtubers.blocks.BlockGlitch;
import com.jtrent238.youtubers.blocks.BlockDanTDMOre;
import com.jtrent238.youtubers.blocks.BlockDanTDM_Logo;
import com.jtrent238.youtubers.blocks.BlockDecoCommandBlock_Chain;
import com.jtrent238.youtubers.blocks.BlockDecoCommandBlock_Impulse;
import com.jtrent238.youtubers.blocks.BlockDecoCommandBlock_Repeat;
import com.jtrent238.youtubers.blocks.BlockEckoSoldierOre;
import com.jtrent238.youtubers.blocks.BlockHeyItsLuigiEgg;
import com.jtrent238.youtubers.blocks.BlockHeyItsLuigiOre;
import com.jtrent238.youtubers.blocks.BlockJoy_Rider_2284Ore;
import com.jtrent238.youtubers.blocks.BlockLaurie201Ore;
import com.jtrent238.youtubers.blocks.BlockMagna_InvictusOre;
import com.jtrent238.youtubers.blocks.BlockRealThinknoodlesOre;
import com.jtrent238.youtubers.blocks.BlockSSundeeOre;
import com.jtrent238.youtubers.blocks.BlockSethBlingOre;
import com.jtrent238.youtubers.blocks.BlockTerraCube;
@ -26,6 +31,7 @@ import com.jtrent238.youtubers.blocks.materials.BlockHeyItsLuigi;
import com.jtrent238.youtubers.blocks.materials.BlockJoy_Rider_2284;
import com.jtrent238.youtubers.blocks.materials.BlockLaurie201;
import com.jtrent238.youtubers.blocks.materials.BlockMagna_Invictus;
import com.jtrent238.youtubers.blocks.materials.BlockRealThinknoodles;
import com.jtrent238.youtubers.blocks.materials.BlockSSundee;
import com.jtrent238.youtubers.blocks.materials.BlockSethBling;
import com.jtrent238.youtubers.blocks.materials.Block_MrGregor_;
@ -40,6 +46,10 @@ import net.minecraft.block.material.Material;
public class BlockLoader {
public static Block BlockDecoCommandBlock_Impulse;
public static Block BlockDecoCommandBlock_Chain;
public static Block BlockDecoCommandBlock_Repeat;
//xJSQ Blocks
public static Block BlockxJSQOre;
public static Block BlockxJSQ;
@ -47,6 +57,8 @@ public class BlockLoader {
//DanTDM Blocks
public static Block BlockDanTDMOre;
public static Block BlockDanTDM;
public static Block BlockDanTDM_Logo;
//SethBling Blocks
public static Block BlockSethBlingOre;
@ -102,13 +114,20 @@ public class BlockLoader {
//BajanCanadian Blocks
public static Block BlockBajanCanadianOre;
public static Block BlockBajanCanadian;
//RealThinknoodles Blocks
public static Block BlockRealThinknoodlesOre;
public static Block BlockRealThinknoodles;
/**
* Load Blocks.
*/
public static void loadBlocks() {
BlockDecoCommandBlock_Impulse = new BlockDecoCommandBlock_Impulse(Material.rock).setBlockName("BlockDecoCommandBlock_Impulse").setBlockTextureName("youtubers:BlockDecoCommandBlock_Impulse").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
BlockDecoCommandBlock_Chain = new BlockDecoCommandBlock_Chain(Material.rock).setBlockName("BlockDecoCommandBlock_Chain").setBlockTextureName("youtubers:BlockDecoCommandBlock_Chain").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
BlockDecoCommandBlock_Repeat = new BlockDecoCommandBlock_Repeat(Material.rock).setBlockName("BlockDecoCommandBlock_Repeat").setBlockTextureName("youtubers:BlockDecoCommandBlock_Repeat").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
//xJSQ Blocks
BlockxJSQOre = new BlockxJSQOre(Material.rock).setBlockName("BlockxJSQOre").setBlockTextureName("youtubers:BlockxJSQOre").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
BlockxJSQ = new BlockxJSQ(Material.iron).setBlockName("BlockxJSQ").setBlockTextureName("youtubers:BlockxJSQ").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
@ -116,6 +135,7 @@ public class BlockLoader {
//DanTDM Blocks
BlockDanTDMOre = new BlockDanTDMOre(Material.rock).setBlockName("BlockDanTDMOre").setBlockTextureName("youtubers:BlockDanTDMOre").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
BlockDanTDM = new BlockDanTDM(Material.iron).setBlockName("BlockDanTDM").setBlockTextureName("youtubers:BlockDanTDM").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
BlockDanTDM_Logo = new BlockDanTDM_Logo(Material.iron).setBlockName("BlockDanTDM_Logo").setBlockTextureName("youtubers:BlockDanTDM_Logo").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
//SethBling Blocks
BlockSethBlingOre = new BlockSethBlingOre(false).setBlockName("BlockSethBlingOre").setBlockTextureName("youtubers:BlockSethBlingOre").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
@ -171,6 +191,10 @@ public class BlockLoader {
//BajanCanadian Blocks
BlockBajanCanadianOre = new BlockBajanCanadianOre(Material.rock).setBlockName("BlockBajanCanadianOre").setBlockTextureName("youtubers:BlockBajanCanadianOre").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
BlockBajanCanadian = new BlockBajanCanadian(Material.iron).setBlockName("BlockBajanCanadian").setBlockTextureName("youtubers:BlockBajanCanadian").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
//RealThinknoodles Blocks
BlockRealThinknoodlesOre = new BlockRealThinknoodlesOre(Material.rock).setBlockName("BlockRealThinknoodlesOre").setBlockTextureName("youtubers:BlockRealThinknoodlesOre").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
BlockRealThinknoodles = new BlockRealThinknoodles(Material.iron).setBlockName("BlockRealThinknoodles").setBlockTextureName("youtubers:BlockRealThinknoodles").setCreativeTab(YouTubers.YouTubers).setHardness(5F);
registerBlocks();
}
@ -180,6 +204,10 @@ public class BlockLoader {
*/
private static void registerBlocks() {
GameRegistry.registerBlock(BlockDecoCommandBlock_Impulse, "BlockDecoCommandBlock_Impulse");
GameRegistry.registerBlock(BlockDecoCommandBlock_Chain, "BlockDecoCommandBlock_Chain");
GameRegistry.registerBlock(BlockDecoCommandBlock_Repeat, "BlockDecoCommandBlock_Repeat");
//xJSQ Blocks
GameRegistry.registerBlock(BlockxJSQOre, "BlockxJSQOre");
GameRegistry.registerBlock(BlockxJSQ, "BlockxJSQ");
@ -187,6 +215,8 @@ public class BlockLoader {
//DanTDM Blocks
GameRegistry.registerBlock(BlockDanTDMOre, "BlockDanTDMOre");
GameRegistry.registerBlock(BlockDanTDM, "BlockDanTDM");
GameRegistry.registerBlock(BlockDanTDM_Logo, "BlockDanTDM_Logo");
//SethBling Blocks
GameRegistry.registerBlock(BlockSethBlingOre, "BlockSethBlingOre");
@ -243,6 +273,10 @@ public class BlockLoader {
GameRegistry.registerBlock(BlockBajanCanadianOre, "BlockBajanCanadianOre");
GameRegistry.registerBlock(BlockBajanCanadian, "BlockBajanCanadian");
//RealThinknoodles Blocks
GameRegistry.registerBlock(BlockRealThinknoodlesOre, "BlockRealThinknoodlesOre");
GameRegistry.registerBlock(BlockRealThinknoodles, "BlockRealThinknoodles");
}
}

View File

@ -1,9 +1,17 @@
package com.jtrent238.youtubers;
import com.jtrent238.youtubers.entity.EntityCraigTheMailman;
import com.jtrent238.youtubers.entity.EntityCrazyFan;
import com.jtrent238.youtubers.entity.EntityFakeDanTDM;
import com.jtrent238.youtubers.entity.EntityGrim;
import com.jtrent238.youtubers.entity.EntityMcDuck;
import com.jtrent238.youtubers.entity.EntityTerrance;
import com.jtrent238.youtubers.entity.EntityTrayaurus;
import com.jtrent238.youtubers.entity.player.EntityAlexIsCool;
import com.jtrent238.youtubers.entity.player.EntityCowMan;
import com.jtrent238.youtubers.entity.player.EntityFar;
import com.jtrent238.youtubers.entity.player.EntityHER08RINE;
import com.jtrent238.youtubers.entity.player.EntityRandomPlayer;
import com.jtrent238.youtubers.entity.player.Entitycaptainspy6;
import com.jtrent238.youtubers.entity.player.EntitymegablasterT;
import com.jtrent238.youtubers.entity.youtuber.EntityAntvenom;
@ -15,6 +23,7 @@ import com.jtrent238.youtubers.entity.youtuber.EntityHeyItsLuigi;
import com.jtrent238.youtubers.entity.youtuber.EntityJoy_Rider_2284;
import com.jtrent238.youtubers.entity.youtuber.EntityLaurie201;
import com.jtrent238.youtubers.entity.youtuber.EntityMagna_Invictus;
import com.jtrent238.youtubers.entity.youtuber.EntityRealThinknoodles;
import com.jtrent238.youtubers.entity.youtuber.EntitySSundee;
import com.jtrent238.youtubers.entity.youtuber.EntitySethBling;
import com.jtrent238.youtubers.entity.youtuber.Entity_MrGregor_;
@ -43,6 +52,24 @@ public class EntityLoader {
//DanTDM Registry
EntityRegistry.registerGlobalEntityID(EntityDanTDM.class, "EntityDanTDM",EntityRegistry.findGlobalUniqueEntityId(), 0x42e2f4, 0x415ff4);
EntityRegistry.addSpawn(EntityDanTDM.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//Grim Registry
EntityRegistry.registerGlobalEntityID(EntityGrim.class, "EntityGrim",EntityRegistry.findGlobalUniqueEntityId(), 0xd9dce0, 0xa2a5aa);
EntityRegistry.addSpawn(EntityGrim.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//Terrance Registry
EntityRegistry.registerGlobalEntityID(EntityTerrance.class, "EntityTerrance",EntityRegistry.findGlobalUniqueEntityId(), 0xd1b5c6, 0xefdee9);
EntityRegistry.addSpawn(EntityTerrance.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//Trayaurus Registry
EntityRegistry.registerGlobalEntityID(EntityTrayaurus.class, "EntityTrayaurus",EntityRegistry.findGlobalUniqueEntityId(), 0xffffff, 0xe2e2e2);
EntityRegistry.addSpawn(EntityTrayaurus.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//CraigTheMailman Registry
EntityRegistry.registerGlobalEntityID(EntityCraigTheMailman.class, "EntityCraigTheMailman",EntityRegistry.findGlobalUniqueEntityId(), 0x44536b, 0x324d77);
EntityRegistry.addSpawn(EntityCraigTheMailman.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//McDuck Registry
EntityRegistry.registerGlobalEntityID(EntityMcDuck.class, "EntityMcDuck",EntityRegistry.findGlobalUniqueEntityId(), 0xdee2e8, 0xf7d1c5);
EntityRegistry.addSpawn(EntityMcDuck.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//Fake DanTDM Registry
EntityRegistry.registerGlobalEntityID(EntityFakeDanTDM.class, "EntityFakeDanTDM",EntityRegistry.findGlobalUniqueEntityId(), 0x42e2f4, 0x415ff4);
EntityRegistry.addSpawn(EntityFakeDanTDM.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//Laurie201 Registry
EntityRegistry.registerGlobalEntityID(EntityLaurie201.class, "EntityLaurie201",EntityRegistry.findGlobalUniqueEntityId(), 0xff2100, 0xff9900);
@ -79,9 +106,9 @@ public class EntityLoader {
//SSundee Registry
EntityRegistry.registerGlobalEntityID(EntitySSundee.class, "EntitySSundee",EntityRegistry.findGlobalUniqueEntityId(), 0x000000, 0x595959);
EntityRegistry.addSpawn(EntitySSundee.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//Derp SSundee Registry
EntityRegistry.registerGlobalEntityID(EntityDerpSSundee.class, "EntityDerpSSundee",EntityRegistry.findGlobalUniqueEntityId(), 0x000000, 0x595959);
EntityRegistry.addSpawn(EntityDerpSSundee.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//Derp SSundee Registry
EntityRegistry.registerGlobalEntityID(EntityDerpSSundee.class, "EntityDerpSSundee",EntityRegistry.findGlobalUniqueEntityId(), 0x000000, 0x595959);
EntityRegistry.addSpawn(EntityDerpSSundee.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//Magna_Invictus Registry
EntityRegistry.registerGlobalEntityID(EntityMagna_Invictus.class, "EntityMagna_Invictus",EntityRegistry.findGlobalUniqueEntityId(), 0x000000, 0x9b0096);
@ -95,10 +122,18 @@ public class EntityLoader {
EntityRegistry.registerGlobalEntityID(EntityBajanCanadian.class, "EntityBajanCanadian",EntityRegistry.findGlobalUniqueEntityId(), 0x000000, 0xaa1106);
EntityRegistry.addSpawn(EntityBajanCanadian.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//RealThinknoodles Registry
EntityRegistry.registerGlobalEntityID(EntityRealThinknoodles.class, "EntityRealThinknoodles",EntityRegistry.findGlobalUniqueEntityId(), 0x000000, 0xaa1106);
EntityRegistry.addSpawn(EntityRealThinknoodles.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
}
public static void LoadPlayers() {
//EntityRandomPlayer Registry
EntityRegistry.registerGlobalEntityID(EntityRandomPlayer.class, "EntityRandomPlayer",EntityRegistry.findGlobalUniqueEntityId(), 0xff9328, 0xff9433);
EntityRegistry.addSpawn(EntityRandomPlayer.class, 5, 4, 6, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
//captainspy6 Registry
EntityRegistry.registerGlobalEntityID(Entitycaptainspy6.class, "Entitycaptainspy6",EntityRegistry.findGlobalUniqueEntityId(), 0x515dff, 0xff9400);
EntityRegistry.addSpawn(Entitycaptainspy6.class, 2, 1, 3, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
@ -125,4 +160,12 @@ public class EntityLoader {
}
public static void loadOther() {
//CrazyFan Registry
EntityRegistry.registerGlobalEntityID(EntityCrazyFan.class, "EntityCrazyFan",EntityRegistry.findGlobalUniqueEntityId(), 0x99fcbc, 0x1c4f2e);
EntityRegistry.addSpawn(EntityCrazyFan.class, 2, 1, 3, EnumCreatureType.creature, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.forest, BiomeGenBase.plains, BiomeGenBase.beach, BiomeGenBase.mesa, BiomeGenBase.savanna, BiomeGenBase.desert, BiomeGenBase.desertHills);
}
}

View File

@ -1,7 +1,15 @@
package com.jtrent238.youtubers;
import com.jtrent238.youtubers.items.ItemDanTDM_CD_1;
import com.jtrent238.youtubers.items.ItemDanTDM_CD_2;
import com.jtrent238.youtubers.items.ItemDanTDM_CD_3;
import com.jtrent238.youtubers.items.ItemDanTDM_CD_4;
import com.jtrent238.youtubers.items.ItemDanTDM_CD_5;
import com.jtrent238.youtubers.items.ItemDanTDM_CD_6;
import com.jtrent238.youtubers.items.ItemDiamondMinecart;
import com.jtrent238.youtubers.items.ItemDiamondPlayButton;
import com.jtrent238.youtubers.items.ItemEnchantedDiamond;
import com.jtrent238.youtubers.items.ItemFanMail;
import com.jtrent238.youtubers.items.ItemGoldPlayButton;
import com.jtrent238.youtubers.items.ItemRandomBlockStructure_Placer;
import com.jtrent238.youtubers.items.ItemRubyPlayButton;
@ -15,6 +23,7 @@ import com.jtrent238.youtubers.items.armor.HeyItsLuigi_Armor;
import com.jtrent238.youtubers.items.armor.Joy_Rider_2284_Armor;
import com.jtrent238.youtubers.items.armor.Laurie201_Armor;
import com.jtrent238.youtubers.items.armor.Magna_Invictus_Armor;
import com.jtrent238.youtubers.items.armor.RealThinknoodles_Armor;
import com.jtrent238.youtubers.items.armor.SSundee_Armor;
import com.jtrent238.youtubers.items.armor.SethBling_Armor;
import com.jtrent238.youtubers.items.armor._MrGregor__Armor;
@ -30,6 +39,7 @@ import com.jtrent238.youtubers.items.materials.ItemHeyItsLuigiIngot;
import com.jtrent238.youtubers.items.materials.ItemJoy_Rider_2284Ingot;
import com.jtrent238.youtubers.items.materials.ItemLaurie201Ingot;
import com.jtrent238.youtubers.items.materials.ItemMagna_InvictusIngot;
import com.jtrent238.youtubers.items.materials.ItemRealThinknoodlesIngot;
import com.jtrent238.youtubers.items.materials.ItemSSundeeIngot;
import com.jtrent238.youtubers.items.materials.ItemSethBlingIngot;
import com.jtrent238.youtubers.items.materials.Item_MrGregor_Ingot;
@ -78,6 +88,11 @@ import com.jtrent238.youtubers.items.tools.ItemMagna_InvictusHoe;
import com.jtrent238.youtubers.items.tools.ItemMagna_InvictusMultiTool;
import com.jtrent238.youtubers.items.tools.ItemMagna_InvictusPickaxe;
import com.jtrent238.youtubers.items.tools.ItemMagna_InvictusShovel;
import com.jtrent238.youtubers.items.tools.ItemRealThinknoodlesAxe;
import com.jtrent238.youtubers.items.tools.ItemRealThinknoodlesHoe;
import com.jtrent238.youtubers.items.tools.ItemRealThinknoodlesMultiTool;
import com.jtrent238.youtubers.items.tools.ItemRealThinknoodlesPickaxe;
import com.jtrent238.youtubers.items.tools.ItemRealThinknoodlesShovel;
import com.jtrent238.youtubers.items.tools.ItemSSundeeAxe;
import com.jtrent238.youtubers.items.tools.ItemSSundeeHoe;
import com.jtrent238.youtubers.items.tools.ItemSSundeeMultiTool;
@ -121,6 +136,7 @@ import com.jtrent238.youtubers.items.tools.weapons.ItemHeyItsLuigiSword;
import com.jtrent238.youtubers.items.tools.weapons.ItemJoy_Rider_2284Sword;
import com.jtrent238.youtubers.items.tools.weapons.ItemLaurie201Sword;
import com.jtrent238.youtubers.items.tools.weapons.ItemMagna_InvictusSword;
import com.jtrent238.youtubers.items.tools.weapons.ItemRealThinknoodlesSword;
import com.jtrent238.youtubers.items.tools.weapons.ItemSSundeeSword;
import com.jtrent238.youtubers.items.tools.weapons.ItemSethBlingSword;
import com.jtrent238.youtubers.items.tools.weapons.Item_MrGregor_Sword;
@ -144,6 +160,7 @@ public class ItemLoader {
public static Item ItemGoldPlayButton;
public static Item ItemDiamondPlayButton;
public static Item ItemRubyPlayButton;
public static Item ItemFanMail;
//xJSQ Stuff
public static Item ItemxJSQIngot;
@ -173,7 +190,14 @@ public class ItemLoader {
public static Item ItemDanTDMHoe;
public static Item ItemDanTDMMultiTool;
public static Item ItemDiamondMinecart;
public static Item ItemEnchantedDiamond;
public static Item ItemDanTDM_CD_1;
public static Item ItemDanTDM_CD_2;
public static Item ItemDanTDM_CD_3;
public static Item ItemDanTDM_CD_4;
public static Item ItemDanTDM_CD_5;
public static Item ItemDanTDM_CD_6;
//SethBling Stuff
public static Item ItemSethBlingIngot;
public static Item ItemSethBlingHelment;
@ -343,6 +367,19 @@ public class ItemLoader {
public static Item ItemBajanCanadianHoe;
public static Item ItemBajanCanadianMultiTool;
//RealThinknoodles Stuff
public static Item ItemRealThinknoodlesIngot;
public static Item ItemRealThinknoodlesHelment;
public static Item ItemRealThinknoodlesChestplate;
public static Item ItemRealThinknoodlesLeggings;
public static Item ItemRealThinknoodlesBoots;
public static Item ItemRealThinknoodlesSword;
public static Item ItemRealThinknoodlesPickaxe;
public static Item ItemRealThinknoodlesAxe;
public static Item ItemRealThinknoodlesShovel;
public static Item ItemRealThinknoodlesHoe;
public static Item ItemRealThinknoodlesMultiTool;
private static int JSQ = 10; //xJSQ Multiplier
private static int TDM = 10; //DanTDM Multiplier
@ -359,6 +396,7 @@ public class ItemLoader {
private static int MAGINV = 10; //Magna_Invictus Multiplier
private static int ECKO = 10; //EckoSoldier Multiplier
private static int BCAN = 10; //BajanCanadian Multiplier
private static int RTN = 10; //RealThinknoodles Multiplier
//xJSQ Tool & Armor Material
public static ArmorMaterial xJSQ_ARMOR = EnumHelper.addArmorMaterial("xJSQ_ARMOR", 16, new int[] {3 * JSQ, 8 * JSQ, 6 * JSQ, 3 * JSQ}, 30 * JSQ);
@ -420,6 +458,10 @@ public class ItemLoader {
public static ArmorMaterial BajanCanadian_ARMOR = EnumHelper.addArmorMaterial("BajanCanadian_ARMOR", 16, new int[] {3 * BCAN, 8 * BCAN, 6 * BCAN, 3 * BCAN}, 30 * BCAN);
public static ToolMaterial BajanCanadian_TOOL = EnumHelper.addToolMaterial("BajanCanadian_TOOL", 3 * BCAN, 1561 * BCAN, 8.0F * BCAN, 3.0F * BCAN, 10 * BCAN);
//RealThinknoodles Tool & Armor Material
public static ArmorMaterial RealThinknoodles_ARMOR = EnumHelper.addArmorMaterial("RealThinknoodles_ARMOR", 16, new int[] {3 * RTN, 8 * RTN, 6 * RTN, 3 * RTN}, 30 * RTN);
public static ToolMaterial RealThinknoodles_TOOL = EnumHelper.addToolMaterial("RealThinknoodles_TOOL", 3 * RTN, 1561 * RTN, 8.0F * RTN, 3.0F * RTN, 10 * RTN);
/**
* Load Items.
*/
@ -432,7 +474,8 @@ public class ItemLoader {
ItemGoldPlayButton = new ItemGoldPlayButton().setUnlocalizedName("ItemGoldPlayButton").setTextureName("youtubers:ItemGoldPlayButton").setCreativeTab(YouTubers.YouTubers);
ItemDiamondPlayButton = new ItemDiamondPlayButton().setUnlocalizedName("ItemDiamondPlayButton").setTextureName("youtubers:ItemDiamondPlayButton").setCreativeTab(YouTubers.YouTubers);
ItemRubyPlayButton = new ItemRubyPlayButton().setUnlocalizedName("ItemRubyPlayButton").setTextureName("youtubers:ItemRubyPlayButton").setCreativeTab(YouTubers.YouTubers);
ItemFanMail = new ItemFanMail().setUnlocalizedName("ItemFanMail").setTextureName("youtubers:ItemFanMail").setCreativeTab(YouTubers.YouTubers);
//xJSQ Stuff
ItemxJSQIngot = new ItemxJSQIngot().setUnlocalizedName("ItemxJSQIngot").setTextureName("youtubers:ItemxJSQIngot").setCreativeTab(YouTubers.YouTubers);
ItemxJSQHelment = new xJSQ_Armor(xJSQ_ARMOR, 0, 0).setUnlocalizedName("ItemxJSQHelment").setTextureName("youtubers:ItemxJSQHelment").setCreativeTab(YouTubers.YouTubers);
@ -461,7 +504,14 @@ public class ItemLoader {
ItemDanTDMHoe = new ItemDanTDMHoe(DanTDM_TOOL).setUnlocalizedName("ItemDanTDMHoe").setTextureName("youtubers:ItemDanTDMHoe").setCreativeTab(YouTubers.YouTubers);
ItemDanTDMMultiTool = new ItemDanTDMMultiTool(DanTDM_TOOL).setUnlocalizedName("ItemDanTDMMultiTool").setTextureName("youtubers:ItemDanTDMMultiTool").setCreativeTab(YouTubers.YouTubers);
ItemDiamondMinecart = new ItemDiamondMinecart(0).setUnlocalizedName("ItemDiamondMinecart").setTextureName("youtubers:ItemDiamondMinecart").setCreativeTab(YouTubers.YouTubers);
ItemEnchantedDiamond = new ItemEnchantedDiamond().setUnlocalizedName("ItemEnchantedDiamond").setTextureName("minecraft:diamond").setCreativeTab(YouTubers.YouTubers);
ItemDanTDM_CD_1 = new ItemDanTDM_CD_1("tdm_redone").setUnlocalizedName("ItemDanTDM_CD_1").setCreativeTab(YouTubers.YouTubers);
ItemDanTDM_CD_2 = new ItemDanTDM_CD_2("tdm_whathappens").setUnlocalizedName("ItemDanTDM_CD_2").setCreativeTab(YouTubers.YouTubers);
ItemDanTDM_CD_3 = new ItemDanTDM_CD_3("tdm_imdead").setUnlocalizedName("ItemDanTDM_CD_3").setCreativeTab(YouTubers.YouTubers);
ItemDanTDM_CD_4 = new ItemDanTDM_CD_4("tdm_smashingit").setUnlocalizedName("ItemDanTDM_CD_4").setCreativeTab(YouTubers.YouTubers);
ItemDanTDM_CD_5 = new ItemDanTDM_CD_5("tdm_mustasche").setUnlocalizedName("ItemDanTDM_CD_5").setCreativeTab(YouTubers.YouTubers);
ItemDanTDM_CD_6 = new ItemDanTDM_CD_6("tdm_oldlady").setUnlocalizedName("ItemDanTDM_CD_6").setCreativeTab(YouTubers.YouTubers);
//SethBling Stuff
ItemSethBlingIngot = new ItemSethBlingIngot().setUnlocalizedName("ItemSethBlingIngot").setTextureName("youtubers:ItemSethBlingIngot").setCreativeTab(YouTubers.YouTubers);
ItemSethBlingHelment = new SethBling_Armor(SethBling_ARMOR, 0, 0).setUnlocalizedName("ItemSethBlingHelment").setTextureName("youtubers:ItemSethBlingHelment").setCreativeTab(YouTubers.YouTubers);
@ -631,6 +681,20 @@ public class ItemLoader {
ItemBajanCanadianHoe = new ItemBajanCanadianHoe(BajanCanadian_TOOL).setUnlocalizedName("ItemBajanCanadianHoe").setTextureName("youtubers:ItemBajanCanadianHoe").setCreativeTab(YouTubers.YouTubers);
ItemBajanCanadianMultiTool = new ItemBajanCanadianMultiTool(BajanCanadian_TOOL).setUnlocalizedName("ItemBajanCanadianMultiTool").setTextureName("youtubers:ItemBajanCanadianMultiTool").setCreativeTab(YouTubers.YouTubers);
//RealThinknoodles Stuff
ItemRealThinknoodlesIngot = new ItemRealThinknoodlesIngot().setUnlocalizedName("ItemRealThinknoodlesIngot").setTextureName("youtubers:ItemRealThinknoodlesIngot").setCreativeTab(YouTubers.YouTubers);
ItemRealThinknoodlesHelment = new RealThinknoodles_Armor(RealThinknoodles_ARMOR, 0, 0).setUnlocalizedName("ItemRealThinknoodlesHelment").setTextureName("youtubers:ItemRealThinknoodlesHelment").setCreativeTab(YouTubers.YouTubers);
ItemRealThinknoodlesChestplate = new RealThinknoodles_Armor(RealThinknoodles_ARMOR, 1, 1).setUnlocalizedName("ItemRealThinknoodlesChestplate").setTextureName("youtubers:ItemRealThinknoodlesChestplate").setCreativeTab(YouTubers.YouTubers);
ItemRealThinknoodlesLeggings = new RealThinknoodles_Armor(RealThinknoodles_ARMOR, 2, 2).setUnlocalizedName("ItemRealThinknoodlesLeggings").setTextureName("youtubers:ItemRealThinknoodlesLeggings").setCreativeTab(YouTubers.YouTubers);
ItemRealThinknoodlesBoots = new RealThinknoodles_Armor(RealThinknoodles_ARMOR, 3, 3).setUnlocalizedName("ItemRealThinknoodlesBoots").setTextureName("youtubers:ItemRealThinknoodlesBoots").setCreativeTab(YouTubers.YouTubers);
ItemRealThinknoodlesSword = new ItemRealThinknoodlesSword(RealThinknoodles_TOOL).setUnlocalizedName("ItemRealThinknoodlesSword").setTextureName("youtubers:ItemRealThinknoodlesSword").setCreativeTab(YouTubers.YouTubers);
ItemRealThinknoodlesPickaxe = new ItemRealThinknoodlesPickaxe(RealThinknoodles_TOOL).setUnlocalizedName("ItemRealThinknoodlesPickaxe").setTextureName("youtubers:ItemRealThinknoodlesPickaxe").setCreativeTab(YouTubers.YouTubers);
ItemRealThinknoodlesAxe = new ItemRealThinknoodlesAxe(RealThinknoodles_TOOL).setUnlocalizedName("ItemRealThinknoodlesAxe").setTextureName("youtubers:ItemRealThinknoodlesAxe").setCreativeTab(YouTubers.YouTubers);
ItemRealThinknoodlesShovel = new ItemRealThinknoodlesShovel(RealThinknoodles_TOOL).setUnlocalizedName("ItemRealThinknoodlesShovel").setTextureName("youtubers:ItemRealThinknoodlesShovel").setCreativeTab(YouTubers.YouTubers);
ItemRealThinknoodlesHoe = new ItemRealThinknoodlesHoe(RealThinknoodles_TOOL).setUnlocalizedName("ItemRealThinknoodlesHoe").setTextureName("youtubers:ItemRealThinknoodlesHoe").setCreativeTab(YouTubers.YouTubers);
ItemRealThinknoodlesMultiTool = new ItemRealThinknoodlesMultiTool(RealThinknoodles_TOOL).setUnlocalizedName("ItemRealThinknoodlesMultiTool").setTextureName("youtubers:ItemRealThinknoodlesMultiTool").setCreativeTab(YouTubers.YouTubers);
registerItems();
}
@ -646,7 +710,8 @@ public class ItemLoader {
GameRegistry.registerItem(ItemGoldPlayButton, ItemGoldPlayButton.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemDiamondPlayButton, ItemDiamondPlayButton.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemRubyPlayButton, ItemRubyPlayButton.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemFanMail, ItemFanMail.getUnlocalizedName().substring(5));
//xJSQ Stuff
GameRegistry.registerItem(ItemxJSQIngot, ItemxJSQIngot.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemxJSQHelment, ItemxJSQHelment.getUnlocalizedName().substring(5));
@ -675,6 +740,13 @@ public class ItemLoader {
GameRegistry.registerItem(ItemDanTDMHoe, ItemDanTDMHoe.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemDanTDMMultiTool, ItemDanTDMMultiTool.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemDiamondMinecart, ItemDiamondMinecart.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemEnchantedDiamond, ItemEnchantedDiamond.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemDanTDM_CD_1, ItemDanTDM_CD_1.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemDanTDM_CD_2, ItemDanTDM_CD_2.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemDanTDM_CD_3, ItemDanTDM_CD_3.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemDanTDM_CD_4, ItemDanTDM_CD_4.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemDanTDM_CD_5, ItemDanTDM_CD_5.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemDanTDM_CD_6, ItemDanTDM_CD_6.getUnlocalizedName().substring(5));
//SethBling Stuff
GameRegistry.registerItem(ItemSethBlingIngot, ItemSethBlingIngot.getUnlocalizedName().substring(5));
@ -858,5 +930,18 @@ public class ItemLoader {
GameRegistry.registerItem(ItemBajanCanadianHoe, ItemBajanCanadianHoe.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemBajanCanadianMultiTool, ItemBajanCanadianMultiTool.getUnlocalizedName().substring(5));
//RealThinknoodles Stuff
GameRegistry.registerItem(ItemRealThinknoodlesIngot, ItemRealThinknoodlesIngot.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemRealThinknoodlesHelment, ItemRealThinknoodlesHelment.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemRealThinknoodlesChestplate, ItemRealThinknoodlesChestplate.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemRealThinknoodlesLeggings, ItemRealThinknoodlesLeggings.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemRealThinknoodlesBoots, ItemRealThinknoodlesBoots.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemRealThinknoodlesSword, ItemRealThinknoodlesSword.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemRealThinknoodlesPickaxe, ItemRealThinknoodlesPickaxe.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemRealThinknoodlesAxe, ItemRealThinknoodlesAxe.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemRealThinknoodlesShovel, ItemRealThinknoodlesShovel.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemRealThinknoodlesHoe, ItemRealThinknoodlesHoe.getUnlocalizedName().substring(5));
GameRegistry.registerItem(ItemRealThinknoodlesMultiTool, ItemRealThinknoodlesMultiTool.getUnlocalizedName().substring(5));
}
}

View File

@ -74,6 +74,11 @@ public class OreDict {
OreDictionary.registerOre("ingot_BajanCanadian", ItemLoader.ItemBajanCanadianIngot);
OreDictionary.registerOre("block_BajanCanadian", BlockLoader.BlockBajanCanadian);
OreDictionary.registerOre("ore_RealThinknoodles", BlockLoader.BlockRealThinknoodlesOre);
OreDictionary.registerOre("ingot_RealThinknoodles", ItemLoader.ItemRealThinknoodlesIngot);
OreDictionary.registerOre("block_RealThinknoodles", BlockLoader.BlockRealThinknoodles);
addItems();
}
@ -98,6 +103,7 @@ public class OreDict {
replacements.put(new ItemStack(ItemLoader.ItemMagna_InvictusIngot), "ingot_Magna_Invictus");
replacements.put(new ItemStack(ItemLoader.ItemEckoSoldierIngot), "ingot_EckoSoldier");
replacements.put(new ItemStack(ItemLoader.ItemBajanCanadianIngot), "ingot_BajanCanadian");
replacements.put(new ItemStack(ItemLoader.ItemRealThinknoodlesIngot), "ingot_RealThinknoodles");
}

View File

@ -0,0 +1,38 @@
package com.jtrent238.youtubers;
import java.util.ArrayList;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.WeightedRandomChestContent;
import net.minecraftforge.common.ChestGenHooks;
public class PlayerList {
public static ArrayList<String> players = new ArrayList<String>();
public static String[] arr={"AlexIsCool", "Ben", "CowMan", "Far", "megablasterT"};
private static int randomPlayer;
public static String getRandomPlayerName() {
//int numHammers = 98;
int numPlayers = arr.length;
for (int i = 0; i < numPlayers ; i++) {
Random r=new Random();
int randomPlayer=r.nextInt(arr.length);
System.out.println("Player: " + arr[randomPlayer] + " Loaded");
System.out.println("TEST");
//System.out.println("Player: " + i + " Loaded");
}
return arr[randomPlayer];
}
}

View File

@ -201,6 +201,18 @@ public class Recipes {
GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.ItemBajanCanadianLeggings), "III", "IBI", "IBI", 'I', ItemLoader.ItemBajanCanadianIngot);
GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.ItemBajanCanadianBoots), "IBI", "IBI", 'I', ItemLoader.ItemBajanCanadianIngot);
//RealThinknoodles Crafting Recipes
GameRegistry.addShapedRecipe(new ItemStack(BlockLoader.BlockRealThinknoodles), "XXX", "XXX", "XXX", 'X', ItemLoader.ItemRealThinknoodlesIngot);
GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.ItemRealThinknoodlesSword), "I", "I", "S", 'I', ItemLoader.ItemRealThinknoodlesIngot, 'S', Items.stick);
GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.ItemRealThinknoodlesPickaxe), "III", "BSB", "BSB", 'I', ItemLoader.ItemRealThinknoodlesIngot, 'S', Items.stick);
GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.ItemRealThinknoodlesAxe), "IIB", "ISB", "BSB", 'I', ItemLoader.ItemRealThinknoodlesIngot, 'S', Items.stick);
GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.ItemRealThinknoodlesShovel), "BIB", "BSB", "BSB", 'I', ItemLoader.ItemRealThinknoodlesIngot, 'S', Items.stick);
GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.ItemRealThinknoodlesHoe), "IIB", "BSB", "BSB", 'I', ItemLoader.ItemRealThinknoodlesIngot, 'S', Items.stick);
GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.ItemRealThinknoodlesHelment), "III", "IBI", 'I', ItemLoader.ItemRealThinknoodlesIngot);
GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.ItemRealThinknoodlesChestplate), "IBI", "III", "III", 'I', ItemLoader.ItemRealThinknoodlesIngot);
GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.ItemRealThinknoodlesLeggings), "III", "IBI", "IBI", 'I', ItemLoader.ItemRealThinknoodlesIngot);
GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.ItemRealThinknoodlesBoots), "IBI", "IBI", 'I', ItemLoader.ItemRealThinknoodlesIngot);
}
/**

View File

@ -0,0 +1,16 @@
package com.jtrent238.youtubers;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
public class YTConfig
{
public static boolean Offline;
public static String[] PlayerNames = { "tatapatt", "Notch" };
public static boolean DEBUG_MODE;
public static void GetConfig(Configuration config)
{
}
}

View File

@ -1,6 +1,7 @@
package com.jtrent238.youtubers;
import java.util.ArrayList;
import java.util.Random;
import com.jtrent238.youtubers.common.CommonProxy;
import com.jtrent238.youtubers.worldgen.ModWorldGen;
@ -45,34 +46,18 @@ public class YouTubers
public static final String MODID = "jtrent238youtubers";
public static boolean epicproportionsmod_loaded;
public static boolean epicproportionsmod_halloween_loaded;
public static boolean epicproportionsmod_christmas_loaded;
@Instance(MODID)
public static YouTubers instance;
public static final String MODVERSION = "1.0.1.2";
public static final String MODVERSION = "1.0.2.2";
public final static String COREVERSION = "1.0.0.3";
public static final String MODNAME = "jtrent238's YouTuber Mod";
public static final String MODAUTHOR = "jtrent238";
public static final String MC = "1.7.10";
/** This is used to keep track of GUIs that we make*/
private static int modGuiIndex = 0;
/** Set our custom inventory Gui index to the next available Gui index */
public static final int GUI_BAG_INV = modGuiIndex++;
private ModContainer mc;
private EntityPlayer player;
private World world;
private IGuiHandler BagGuiHandler;
@ForgeSubscribe(priority = EventPriority.NORMAL)
public void eventHandler(RenderGameOverlayEvent event) {
@ -98,15 +83,37 @@ public void init(FMLInitializationEvent event)
Recipes.registerRecpies();
EntityLoader.LoadYouTubers();
EntityLoader.LoadPlayers();
EntityLoader.loadOther();
OreDict.addores();
//Achievements.loadAchievements();
//Stats.RegisterStats();
//ChestGen.registerItems();
//PlayerList.addPlayers();
// String[] arr={"Notch", "N00B", "Herobrine", "MrCrayfish", "Bob"};
// Random r=new Random();
// int randomPlayer=r.nextInt(arr.length);
// System.out.println("Player: " + arr[randomPlayer] + " Loaded");
// System.out.println("TEST");
GameRegistry.registerWorldGenerator(new ModWorldGen(), 0);
if(Loader.isModLoaded("epicproportionsmod")) {
epicproportionsmod_loaded = true;
}
else epicproportionsmod_loaded = false;
if(Loader.isModLoaded("epicproportionsmod_halloween")) {
epicproportionsmod_halloween_loaded = true;
}
else epicproportionsmod_halloween_loaded = false;
if(Loader.isModLoaded("epicproportionsmod_christmas")) {
epicproportionsmod_christmas_loaded = true;
}
else epicproportionsmod_christmas_loaded = false;
}
@ -138,20 +145,12 @@ public static CreativeTabs YouTubers = new CreativeTabs("YouTubers")
};
public static Object logger;
@Mod.EventHandler
public void postInit(FMLPostInitializationEvent event) {
{
}
}

View File

@ -0,0 +1,12 @@
package com.jtrent238.youtubers.blocks;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
public class BlockDanTDM_Logo extends Block{
public BlockDanTDM_Logo(Material p_i45394_1_) {
super(p_i45394_1_);
}
}

View File

@ -0,0 +1,28 @@
package com.jtrent238.youtubers.blocks;
import java.util.List;
import com.jtrent238.youtubers.YouTubers;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
public class BlockDecoCommandBlock_Chain extends Block{
public BlockDecoCommandBlock_Chain(Material p_i45394_1_) {
super(p_i45394_1_);
}
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
list.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("tooltip." + YouTubers.MODID + "." + "cmd" + "." + "deco"));
list.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("tooltip." + YouTubers.MODID + "." + "cmd" + "." + "break"));
}
}

View File

@ -0,0 +1,29 @@
package com.jtrent238.youtubers.blocks;
import java.util.List;
import com.jtrent238.youtubers.YouTubers;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
public class BlockDecoCommandBlock_Impulse extends Block
{
public BlockDecoCommandBlock_Impulse(Material p_i45394_1_) {
super(p_i45394_1_);
}
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
list.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("tooltip." + YouTubers.MODID + "." + "cmd" + "." + "deco"));
list.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("tooltip." + YouTubers.MODID + "." + "cmd" + "." + "break"));
}
}

View File

@ -0,0 +1,28 @@
package com.jtrent238.youtubers.blocks;
import java.util.List;
import com.jtrent238.youtubers.YouTubers;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
public class BlockDecoCommandBlock_Repeat extends Block{
public BlockDecoCommandBlock_Repeat(Material p_i45394_1_) {
super(p_i45394_1_);
}
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) {
list.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("tooltip." + YouTubers.MODID + "." + "cmd" + "." + "deco"));
list.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("tooltip." + YouTubers.MODID + "." + "cmd" + "." + "break"));
}
}

View File

@ -0,0 +1,12 @@
package com.jtrent238.youtubers.blocks;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
public class BlockRealThinknoodlesOre extends Block{
public BlockRealThinknoodlesOre(Material p_i45394_1_) {
super(p_i45394_1_);
}
}

View File

@ -0,0 +1,30 @@
package com.jtrent238.youtubers.blocks.materials;
import com.jtrent238.youtubers.BlockLoader;
import net.minecraft.block.material.Material;
import net.minecraft.world.IBlockAccess;
public class BlockRealThinknoodles extends YouTuberBlock{
public BlockRealThinknoodles(Material p_i45394_1_) {
super(p_i45394_1_);
}
/**
* Determines if this block can be used as the base of a beacon.
*
* @param world The current world
* @param x X Position
* @param y Y Position
* @param z Z position
* @param beaconX Beacons X Position
* @param beaconY Beacons Y Position
* @param beaconZ Beacons Z Position
* @return True, to support the beacon, and make it active with this block.
*/
public boolean isBeaconBase(IBlockAccess worldObj, int x, int y, int z, int beaconX, int beaconY, int beaconZ)
{
return this == BlockLoader.BlockRealThinknoodles;
}
}

View File

@ -1,5 +1,6 @@
package com.jtrent238.youtubers.client;
import com.jtrent238.youtubers.PlayerList;
import com.jtrent238.youtubers.common.CommonProxy;
import com.jtrent238.youtubers.entity.youtuber.EntityAntvenom;
import com.jtrent238.youtubers.entity.youtuber.EntityBajanCanadian;
@ -10,18 +11,30 @@ import com.jtrent238.youtubers.entity.youtuber.EntityHeyItsLuigi;
import com.jtrent238.youtubers.entity.youtuber.EntityJoy_Rider_2284;
import com.jtrent238.youtubers.entity.youtuber.EntityLaurie201;
import com.jtrent238.youtubers.entity.youtuber.EntityMagna_Invictus;
import com.jtrent238.youtubers.entity.youtuber.EntityRealThinknoodles;
import com.jtrent238.youtubers.entity.youtuber.EntitySSundee;
import com.jtrent238.youtubers.entity.youtuber.EntitySethBling;
import com.jtrent238.youtubers.entity.youtuber.Entity_MrGregor_;
import com.jtrent238.youtubers.entity.youtuber.Entityblohod;
import com.jtrent238.youtubers.entity.youtuber.EntityskythekidRS;
import com.jtrent238.youtubers.entity.EntityCraigTheMailman;
import com.jtrent238.youtubers.entity.EntityCrazyFan;
import com.jtrent238.youtubers.entity.EntityFakeDanTDM;
import com.jtrent238.youtubers.entity.EntityGrim;
import com.jtrent238.youtubers.entity.EntityMcDuck;
import com.jtrent238.youtubers.entity.EntityTerrance;
import com.jtrent238.youtubers.entity.EntityTrayaurus;
import com.jtrent238.youtubers.entity.player.EntityAlexIsCool;
import com.jtrent238.youtubers.entity.player.EntityCowMan;
import com.jtrent238.youtubers.entity.player.EntityFar;
import com.jtrent238.youtubers.entity.player.EntityHER08RINE;
import com.jtrent238.youtubers.entity.player.EntityRandomPlayer;
import com.jtrent238.youtubers.entity.player.Entitycaptainspy6;
import com.jtrent238.youtubers.entity.player.EntitymegablasterT;
import com.jtrent238.youtubers.entity.youtuber.EntityxJSQ;
import com.jtrent238.youtubers.model.ModelBipedCustom;
import com.jtrent238.youtubers.model.ModelGrim;
import com.jtrent238.youtubers.render.GrimRender;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.event.FMLInitializationEvent;
@ -30,6 +43,9 @@ import cpw.mods.fml.common.eventhandler.EventPriority;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent.PlayerTickEvent;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelPig;
import net.minecraft.client.model.ModelVillager;
import net.minecraft.client.model.ModelWolf;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
@ -40,35 +56,51 @@ public class ClientProxy extends CommonProxy
public void init(FMLInitializationEvent e) {
super.init (e);
RenderingRegistry.registerEntityRenderingHandler(EntityxJSQ.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/xJSQ.png");}});
RenderingRegistry.registerEntityRenderingHandler(Entityblohod.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/blohod.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityDanTDM.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/DanTDM.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityLaurie201.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/Laurie201.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntitySethBling.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/SethBling.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityskythekidRS.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/skythekidRS.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityHeyItsLuigi.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/HeyItsLuigi.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityJoy_Rider_2284.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/Joy_Rider_2284.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityAntvenom.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/Antvenom.png");}});
RenderingRegistry.registerEntityRenderingHandler(Entity_MrGregor_.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/_MrGregor_.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntitySSundee.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/SSundee.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityDerpSSundee.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/DerpSSundee.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityMagna_Invictus.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/Magna_Invictus.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityEckoSoldier.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/EckoSoldier.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityBajanCanadian.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/BajanCanadian.png");}});
//NOT YOUTUBERS
RenderingRegistry.registerEntityRenderingHandler(Entitycaptainspy6.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/captainspy6.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityHER08RINE.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/HER08RINE.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityAlexIsCool.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/AlexIsCool.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntitymegablasterT.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/megablasterT.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityCowMan.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/CowMan.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityFar.class, new RenderLiving(new ModelBiped(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/Far.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityxJSQ.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/xJSQ.png");}});
RenderingRegistry.registerEntityRenderingHandler(Entityblohod.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/blohod.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityDanTDM.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/DanTDM.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityLaurie201.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/Laurie201.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntitySethBling.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/SethBling.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityskythekidRS.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/skythekidRS.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityHeyItsLuigi.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/HeyItsLuigi.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityJoy_Rider_2284.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/Joy_Rider_2284.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityAntvenom.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/Antvenom.png");}});
RenderingRegistry.registerEntityRenderingHandler(Entity_MrGregor_.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/_MrGregor_.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntitySSundee.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/SSundee.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityDerpSSundee.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/DerpSSundee.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityMagna_Invictus.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/Magna_Invictus.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityEckoSoldier.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/EckoSoldier.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityBajanCanadian.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/BajanCanadian.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityRealThinknoodles.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/RealThinknoodles.png");}});
//NOT YOUTUBERS
RenderingRegistry.registerEntityRenderingHandler(Entitycaptainspy6.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/captainspy6.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityHER08RINE.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/HER08RINE.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityAlexIsCool.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/AlexIsCool.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntitymegablasterT.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/megablasterT.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityCowMan.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/CowMan.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityFar.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/Far.png");}});
//Render Other
RenderingRegistry.registerEntityRenderingHandler(EntityGrim.class, new GrimRender(new ModelGrim(), null, 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/EntityGrim.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityTerrance.class, new RenderLiving(new ModelPig(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/EntityTerrance.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityTrayaurus.class, new RenderLiving(new ModelVillager(0), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/EntityTrayaurus.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityCraigTheMailman.class, new RenderLiving(new ModelBiped(0), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/EntityCraigTheMailman.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityMcDuck.class, new RenderLiving(new ModelBiped(0), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/EntityMcDuck.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityFakeDanTDM.class, new RenderLiving(new ModelBiped(0), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/youtuber/DanTDM.png");}});
RenderingRegistry.registerEntityRenderingHandler(EntityCrazyFan.class, new RenderLiving(new ModelBiped(0), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/EntityCrazyFan.png");}});
}
RenderingRegistry.registerEntityRenderingHandler(EntityRandomPlayer.class, new RenderLiving(new ModelBipedCustom(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("youtubers:textures/entity/player/" + PlayerList.getRandomPlayerName() + ".png");}});
}
public void postInit(FMLPostInitializationEvent e) {

View File

@ -0,0 +1,199 @@
package com.jtrent238.youtubers.entity;
import com.jtrent238.youtubers.ItemLoader;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAIHurtByTarget;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMoveThroughVillage;
import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
import net.minecraft.entity.ai.EntityAIMoveTowardsTarget;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.boss.IBossDisplayData;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.entity.monster.EntityGolem;
import net.minecraft.entity.monster.IMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
public class EntityCraigTheMailman extends EntityGolem implements IBossDisplayData
{
World world = null;
private int attackTimer;
private DamageSource damageSource;
private EntityPlayer entityAttackedBy;
private ResourceLocation locationCape;
private String name = "Craig The Mailman";
public EntityCraigTheMailman(World var1)
{
super(var1);
world = var1;
experienceValue = 4;
this.isImmuneToFire = true;
this.tasks.addTask(1, new EntityAIAttackOnCollide(this, 1.0D, true));
this.tasks.addTask(2, new EntityAIMoveTowardsTarget(this, 0.9D, 32.0F));
this.tasks.addTask(3, new EntityAIMoveThroughVillage(this, 0.6D, true));
this.tasks.addTask(4, new EntityAIMoveTowardsRestriction(this, 1.0D));
this.tasks.addTask(6, new EntityAIWander(this, 0.6D));
this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
this.tasks.addTask(8, new EntityAILookIdle(this));
this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false));
this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, false, true, IMob.mobSelector));
this.hasCustomNameTag();
this.setCustomNameTag(name);
addRandomArmor();
}
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D);
}
public boolean attackEntityAsMob(Entity p_70652_1_)
{
this.attackTimer = 10;
this.worldObj.setEntityState(this, (byte)4);
boolean flag = p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), (float)(7 + this.rand.nextInt(15)));
if (flag)
{
p_70652_1_.motionY += 0.4000000059604645D;
}
this.playSound("", 1.0F, 1.0F);
return flag;
}
protected void addRandomArmor(){
}
/*
protected void dropRareDrop(int par1){
this.dropItem(ItemLoader.itemCaptainCookieCookie, 1);
}
*/
public boolean isAIEnabled()
{
return true;
}
/**
* Determines if an entity can be despawned, used on idle far away entities
*/
protected boolean canDespawn()
{
return true;
}
/**
* Drop items of this living's type
*/
protected void dropFewItems(boolean var1, int var2)
{
this.entityDropItem(new ItemStack(Blocks.chest, 1).setStackDisplayName(EnumChatFormatting.AQUA + "Package"), 1F);
this.entityDropItem(new ItemStack(Blocks.skull, 1, 3), 1F);
}
/**
* Returns the sound this mob makes while it's alive.
*/
protected String getLivingSound()
{
return "mob.villager.idle";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
protected String getHurtSound()
{
return "mob.villager.hit";
}
/**
* Returns the sound this mob makes on death.
*/
protected String getDeathSound()
{
return "mob.villager.death";
}
public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
protected void fall(float l){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
super.fall(l);
Entity entity = this;
}
public void onCriticalHit(Entity entity2) {
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
public void onKillEntity(EntityLiving entityLiving){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
public String getEntityName(){
return name;
}
/**
* Will return how many at most can spawn in a chunk at once.
*/
public int getMaxSpawnedInChunk()
{
return 4;
}
public boolean func_152122_n()
{
return this.locationCape == new ResourceLocation("youtubers:textures/entity/cloak/MC15.png");
}
public ResourceLocation renderCloak (float par1)
{
return new ResourceLocation("youtubers:textures/entity/cloak/MC15.png");
}
}

View File

@ -0,0 +1,237 @@
package com.jtrent238.youtubers.entity;
import com.jtrent238.youtubers.ItemLoader;
import com.jtrent238.youtubers.YouTubers;
import com.jtrent238.youtubers.entity.youtuber.EntityAntvenom;
import com.jtrent238.youtubers.entity.youtuber.EntityBajanCanadian;
import com.jtrent238.youtubers.entity.youtuber.EntityDanTDM;
import com.jtrent238.youtubers.entity.youtuber.EntityDerpSSundee;
import com.jtrent238.youtubers.entity.youtuber.EntityEckoSoldier;
import com.jtrent238.youtubers.entity.youtuber.EntityHeyItsLuigi;
import com.jtrent238.youtubers.entity.youtuber.EntityJoy_Rider_2284;
import com.jtrent238.youtubers.entity.youtuber.EntityLaurie201;
import com.jtrent238.youtubers.entity.youtuber.EntityMagna_Invictus;
import com.jtrent238.youtubers.entity.youtuber.EntityRealThinknoodles;
import com.jtrent238.youtubers.entity.youtuber.EntitySSundee;
import com.jtrent238.youtubers.entity.youtuber.EntitySethBling;
import com.jtrent238.youtubers.entity.youtuber.Entity_MrGregor_;
import com.jtrent238.youtubers.entity.youtuber.Entityblohod;
import com.jtrent238.youtubers.entity.youtuber.EntityskythekidRS;
import com.jtrent238.youtubers.entity.youtuber.EntityxJSQ;
import cpw.mods.fml.common.Loader;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAIHurtByTarget;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMoveThroughVillage;
import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
import net.minecraft.entity.ai.EntityAIMoveTowardsTarget;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.boss.IBossDisplayData;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.entity.monster.EntityGolem;
import net.minecraft.entity.monster.IMob;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class EntityCrazyFan extends EntityGolem implements IBossDisplayData
{
World world = null;
private int attackTimer;
private DamageSource damageSource;
private EntityPlayer entityAttackedBy;
private ResourceLocation locationCape;
private String name = "";
public EntityCrazyFan(World var1)
{
super(var1);
world = var1;
experienceValue = 4;
this.isImmuneToFire = true;
this.tasks.addTask(1, new EntityAIAttackOnCollide(this, 1.0D, false));
this.tasks.addTask(2, new EntityAIMoveTowardsTarget(this, 0.9D, 32.0F));
this.tasks.addTask(3, new EntityAIMoveThroughVillage(this, 0.6D, true));
this.tasks.addTask(4, new EntityAIMoveTowardsRestriction(this, 1.0D));
this.tasks.addTask(6, new EntityAIWander(this, 0.6D));
this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
this.tasks.addTask(8, new EntityAILookIdle(this));
this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityxJSQ.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, Entityblohod.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityDanTDM.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityLaurie201.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntitySethBling.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityskythekidRS.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityHeyItsLuigi.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityJoy_Rider_2284.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityAntvenom.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, Entity_MrGregor_.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntitySSundee.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityDerpSSundee.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityMagna_Invictus.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityEckoSoldier.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityBajanCanadian.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityRealThinknoodles.class, 0, false));
if(YouTubers.epicproportionsmod_loaded == true) {
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, com.jtrent238.epicproportions.entity.EntityPat.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, com.jtrent238.epicproportions.entity.EntityJen.class, 0, false));
}
if(YouTubers.epicproportionsmod_halloween_loaded == true) {
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, com.jtrent238.epicproportions.addons.halloween.entity.EntitySpookyPat.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, com.jtrent238.epicproportions.addons.halloween.entity.EntitySpookyJen.class, 0, false));
}
if(YouTubers.epicproportionsmod_christmas_loaded == true) {
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, com.jtrent238.epicproportions.addons.christmas.entity.EntityXmasPat.class, 0, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, com.jtrent238.epicproportions.addons.christmas.entity.EntityXmasJen.class, 0, false));
}
this.hasCustomNameTag();
this.setCustomNameTag(name);
addRandomArmor();
}
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D);
}
public boolean attackEntityAsMob(Entity p_70652_1_)
{
this.attackTimer = 10;
this.worldObj.setEntityState(this, (byte)4);
boolean flag = p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), (float)(7 + this.rand.nextInt(15)));
if (flag)
{
p_70652_1_.motionY += 0.4000000059604645D;
}
this.playSound("", 1.0F, 1.0F);
return flag;
}
protected void addRandomArmor(){
}
/*
protected void dropRareDrop(int par1){
this.dropItem(ItemLoader.itemCaptainCookieCookie, 1);
}
*/
public boolean isAIEnabled()
{
return true;
}
/**
* Determines if an entity can be despawned, used on idle far away entities
*/
protected boolean canDespawn()
{
return true;
}
/**
* Drop items of this living's type
*/
protected void dropFewItems(boolean var1, int var2)
{
this.entityDropItem(new ItemStack(ItemLoader.ItemFanMail, 16), 1F);//.setStackDisplayName(EnumChatFormatting.AQUA + StatCollector.translateToLocal("item.ItemFanMail.name")), 1F);
//this.entityDropItem(new ItemStack(Blocks.skull, 1, 3), 1F);
}
/**
* Returns the sound this mob makes while it's alive.
*/
protected String getLivingSound()
{
return "";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
protected String getHurtSound()
{
return "";
}
/**
* Returns the sound this mob makes on death.
*/
protected String getDeathSound()
{
return "";
}
public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
protected void fall(float l){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
super.fall(l);
Entity entity = this;
}
public void onCriticalHit(Entity entity2) {
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
public void onKillEntity(EntityLiving entityLiving){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
public String getEntityName(){
return name;
}
/**
* Will return how many at most can spawn in a chunk at once.
*/
public int getMaxSpawnedInChunk()
{
return 4;
}
}

View File

@ -0,0 +1,25 @@
package com.jtrent238.youtubers.entity;
import com.jtrent238.youtubers.entity.youtuber.EntityDanTDM;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
public class EntityFakeDanTDM extends EntityDanTDM{
private String name = EnumChatFormatting.RED + "DanTDM";
public EntityFakeDanTDM(World var1) {
super(var1);
this.hasCustomNameTag();
this.setCustomNameTag(name );
}
public String getEntityName(){
return name;
}
}

View File

@ -0,0 +1,637 @@
package com.jtrent238.youtubers.entity;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockColored;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAIBeg;
import net.minecraft.entity.ai.EntityAIFollowOwner;
import net.minecraft.entity.ai.EntityAIHurtByTarget;
import net.minecraft.entity.ai.EntityAILeapAtTarget;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMate;
import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget;
import net.minecraft.entity.ai.EntityAIOwnerHurtTarget;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAITargetNonTamed;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.monster.EntityGhast;
import net.minecraft.entity.passive.EntityAnimal;
import net.minecraft.entity.passive.EntityHorse;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.entity.passive.EntityTameable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.pathfinding.PathEntity;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class EntityGrim extends EntityTameable
{
private float field_70926_e;
private float field_70924_f;
/** true is the wolf is wet else false */
private boolean isShaking;
private boolean field_70928_h;
/** This time increases while wolf is shaking and emitting water particles. */
private float timeWolfIsShaking;
private float prevTimeWolfIsShaking;
private static final String __OBFID = "CL_00001654";
public EntityGrim(World p_i1696_1_)
{
super(p_i1696_1_);
this.setSize(0.6F, 0.8F);
this.getNavigator().setAvoidsWater(true);
this.tasks.addTask(1, new EntityAISwimming(this));
this.tasks.addTask(2, this.aiSit);
this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F));
this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.0D, true));
this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F));
this.tasks.addTask(6, new EntityAIMate(this, 1.0D));
this.tasks.addTask(7, new EntityAIWander(this, 1.0D));
//this.tasks.addTask(8, new EntityAIBeg(this, 8.0F));
this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
this.tasks.addTask(9, new EntityAILookIdle(this));
this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this));
this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this));
this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true));
this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false));
this.setTamed(false);
this.hasCustomNameTag();
//if(this.entityAge < 1) {
// this.setCustomNameTag("Baby Grim");
//}
this.setCustomNameTag("Grim");
}
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.30000001192092896D);
if (this.isTamed())
{
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D);
}
else
{
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D);
}
}
/**
* Returns true if the newer Entity AI code should be run
*/
public boolean isAIEnabled()
{
return true;
}
/**
* Sets the active target the Task system uses for tracking
*/
public void setAttackTarget(EntityLivingBase p_70624_1_)
{
super.setAttackTarget(p_70624_1_);
if (p_70624_1_ == null)
{
this.setAngry(false);
}
else if (!this.isTamed())
{
this.setAngry(true);
}
}
/**
* main AI tick function, replaces updateEntityActionState
*/
protected void updateAITick()
{
this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth()));
}
protected void entityInit()
{
super.entityInit();
this.dataWatcher.addObject(18, new Float(this.getHealth()));
this.dataWatcher.addObject(19, new Byte((byte)0));
this.dataWatcher.addObject(20, new Byte((byte)BlockColored.func_150032_b(1)));
}
protected void func_145780_a(int p_145780_1_, int p_145780_2_, int p_145780_3_, Block p_145780_4_)
{
this.playSound("mob.wolf.step", 0.15F, 1.0F);
}
/**
* (abstract) Protected helper method to write subclass entity data to NBT.
*/
public void writeEntityToNBT(NBTTagCompound p_70014_1_)
{
super.writeEntityToNBT(p_70014_1_);
p_70014_1_.setBoolean("Angry", this.isAngry());
p_70014_1_.setByte("CollarColor", (byte)this.getCollarColor());
}
/**
* (abstract) Protected helper method to read subclass entity data from NBT.
*/
public void readEntityFromNBT(NBTTagCompound p_70037_1_)
{
super.readEntityFromNBT(p_70037_1_);
this.setAngry(p_70037_1_.getBoolean("Angry"));
if (p_70037_1_.hasKey("CollarColor", 99))
{
this.setCollarColor(p_70037_1_.getByte("CollarColor"));
}
}
/**
* Returns the sound this mob makes while it's alive.
*/
protected String getLivingSound()
{
return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectFloat(18) < 10.0F ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark");
}
/**
* Returns the sound this mob makes when it is hurt.
*/
protected String getHurtSound()
{
return "mob.wolf.hurt";
}
/**
* Returns the sound this mob makes on death.
*/
protected String getDeathSound()
{
return "mob.wolf.death";
}
/**
* Returns the volume for the sounds this mob makes.
*/
protected float getSoundVolume()
{
return 0.4F;
}
protected Item getDropItem()
{
return Item.getItemById(-1);
}
/**
* Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons
* use this to react to sunlight and start to burn.
*/
public void onLivingUpdate()
{
super.onLivingUpdate();
if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround)
{
this.field_70928_h = true;
this.timeWolfIsShaking = 0.0F;
this.prevTimeWolfIsShaking = 0.0F;
this.worldObj.setEntityState(this, (byte)8);
}
}
/**
* Called to update the entity's position/logic.
*/
public void onUpdate()
{
super.onUpdate();
this.field_70924_f = this.field_70926_e;
if (this.func_70922_bv())
{
this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F;
}
else
{
this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F;
}
if (this.func_70922_bv())
{
this.numTicksToChaseTarget = 10;
}
if (this.isWet())
{
this.isShaking = true;
this.field_70928_h = false;
this.timeWolfIsShaking = 0.0F;
this.prevTimeWolfIsShaking = 0.0F;
}
else if ((this.isShaking || this.field_70928_h) && this.field_70928_h)
{
if (this.timeWolfIsShaking == 0.0F)
{
this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F);
}
this.prevTimeWolfIsShaking = this.timeWolfIsShaking;
this.timeWolfIsShaking += 0.05F;
if (this.prevTimeWolfIsShaking >= 2.0F)
{
this.isShaking = false;
this.field_70928_h = false;
this.prevTimeWolfIsShaking = 0.0F;
this.timeWolfIsShaking = 0.0F;
}
if (this.timeWolfIsShaking > 0.4F)
{
float f = (float)this.boundingBox.minY;
int i = (int)(MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float)Math.PI) * 7.0F);
for (int j = 0; j < i; ++j)
{
float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F;
float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F;
this.worldObj.spawnParticle("splash", this.posX + (double)f1, (double)(f + 0.8F), this.posZ + (double)f2, this.motionX, this.motionY, this.motionZ);
}
}
}
}
@SideOnly(Side.CLIENT)
public boolean getWolfShaking()
{
return this.isShaking;
}
/**
* Used when calculating the amount of shading to apply while the wolf is shaking.
*/
@SideOnly(Side.CLIENT)
public float getShadingWhileShaking(float p_70915_1_)
{
return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * p_70915_1_) / 2.0F * 0.25F;
}
@SideOnly(Side.CLIENT)
public float getShakeAngle(float p_70923_1_, float p_70923_2_)
{
float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * p_70923_1_ + p_70923_2_) / 1.8F;
if (f2 < 0.0F)
{
f2 = 0.0F;
}
else if (f2 > 1.0F)
{
f2 = 1.0F;
}
return MathHelper.sin(f2 * (float)Math.PI) * MathHelper.sin(f2 * (float)Math.PI * 11.0F) * 0.15F * (float)Math.PI;
}
public float getEyeHeight()
{
return this.height * 0.8F;
}
@SideOnly(Side.CLIENT)
public float getInterestedAngle(float p_70917_1_)
{
return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * p_70917_1_) * 0.15F * (float)Math.PI;
}
/**
* The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently
* use in wolves.
*/
public int getVerticalFaceSpeed()
{
return this.isSitting() ? 20 : super.getVerticalFaceSpeed();
}
/**
* Called when the entity is attacked.
*/
public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_)
{
if (this.isEntityInvulnerable())
{
return false;
}
else
{
Entity entity = p_70097_1_.getEntity();
this.aiSit.setSitting(false);
if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow))
{
p_70097_2_ = (p_70097_2_ + 1.0F) / 2.0F;
}
return super.attackEntityFrom(p_70097_1_, p_70097_2_);
}
}
public boolean attackEntityAsMob(Entity p_70652_1_)
{
int i = this.isTamed() ? 4 : 2;
return p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), (float)i);
}
public void setTamed(boolean p_70903_1_)
{
super.setTamed(p_70903_1_);
if (p_70903_1_)
{
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D);
}
else
{
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D);
}
}
/**
* Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig.
*/
public boolean interact(EntityPlayer p_70085_1_)
{
ItemStack itemstack = p_70085_1_.inventory.getCurrentItem();
if (this.isTamed())
{
if (itemstack != null)
{
if (itemstack.getItem() instanceof ItemFood)
{
ItemFood itemfood = (ItemFood)itemstack.getItem();
if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectFloat(18) < 20.0F)
{
if (!p_70085_1_.capabilities.isCreativeMode)
{
--itemstack.stackSize;
}
this.heal((float)itemfood.func_150905_g(itemstack));
if (itemstack.stackSize <= 0)
{
p_70085_1_.inventory.setInventorySlotContents(p_70085_1_.inventory.currentItem, (ItemStack)null);
}
return true;
}
}
else if (itemstack.getItem() == Items.dye)
{
int i = BlockColored.func_150032_b(itemstack.getItemDamage());
if (i != this.getCollarColor())
{
this.setCollarColor(i);
if (!p_70085_1_.capabilities.isCreativeMode && --itemstack.stackSize <= 0)
{
p_70085_1_.inventory.setInventorySlotContents(p_70085_1_.inventory.currentItem, (ItemStack)null);
}
return true;
}
}
}
if (this.func_152114_e(p_70085_1_) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack))
{
this.aiSit.setSitting(!this.isSitting());
this.isJumping = false;
this.setPathToEntity((PathEntity)null);
this.setTarget((Entity)null);
this.setAttackTarget((EntityLivingBase)null);
}
}
else if (itemstack != null && itemstack.getItem() == Items.bone && !this.isAngry())
{
if (!p_70085_1_.capabilities.isCreativeMode)
{
--itemstack.stackSize;
}
if (itemstack.stackSize <= 0)
{
p_70085_1_.inventory.setInventorySlotContents(p_70085_1_.inventory.currentItem, (ItemStack)null);
}
if (!this.worldObj.isRemote)
{
if (this.rand.nextInt(3) == 0)
{
this.setTamed(true);
this.setPathToEntity((PathEntity)null);
this.setAttackTarget((EntityLivingBase)null);
this.aiSit.setSitting(true);
this.setHealth(20.0F);
this.func_152115_b(p_70085_1_.getUniqueID().toString());
this.playTameEffect(true);
this.worldObj.setEntityState(this, (byte)7);
}
else
{
this.playTameEffect(false);
this.worldObj.setEntityState(this, (byte)6);
}
}
return true;
}
return super.interact(p_70085_1_);
}
@SideOnly(Side.CLIENT)
public void handleHealthUpdate(byte p_70103_1_)
{
if (p_70103_1_ == 8)
{
this.field_70928_h = true;
this.timeWolfIsShaking = 0.0F;
this.prevTimeWolfIsShaking = 0.0F;
}
else
{
super.handleHealthUpdate(p_70103_1_);
}
}
@SideOnly(Side.CLIENT)
public float getTailRotation()
{
return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (20.0F - this.dataWatcher.getWatchableObjectFloat(18)) * 0.02F) * (float)Math.PI : ((float)Math.PI / 5F));
}
/**
* Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on
* the animal type)
*/
public boolean isBreedingItem(ItemStack p_70877_1_)
{
return p_70877_1_ == null ? false : (!(p_70877_1_.getItem() instanceof ItemFood) ? false : ((ItemFood)p_70877_1_.getItem()).isWolfsFavoriteMeat());
}
/**
* Will return how many at most can spawn in a chunk at once.
*/
public int getMaxSpawnedInChunk()
{
return 8;
}
/**
* Determines whether this wolf is angry or not.
*/
public boolean isAngry()
{
return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0;
}
/**
* Sets whether this wolf is angry or not.
*/
public void setAngry(boolean p_70916_1_)
{
byte b0 = this.dataWatcher.getWatchableObjectByte(16);
if (p_70916_1_)
{
this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 2)));
}
else
{
this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -3)));
}
}
/**
* Return this wolf's collar color.
*/
public int getCollarColor()
{
return this.dataWatcher.getWatchableObjectByte(20) & 15;
}
/**
* Set this wolf's collar color.
*/
public void setCollarColor(int p_82185_1_)
{
this.dataWatcher.updateObject(20, Byte.valueOf((byte)(p_82185_1_ & 15)));
}
public EntityGrim createChild(EntityAgeable p_90011_1_)
{
EntityGrim EntityGrim = new EntityGrim(this.worldObj);
String s = this.func_152113_b();
if (s != null && s.trim().length() > 0)
{
EntityGrim.func_152115_b(s);
EntityGrim.setTamed(true);
}
return EntityGrim;
}
public void func_70918_i(boolean p_70918_1_)
{
if (p_70918_1_)
{
this.dataWatcher.updateObject(19, Byte.valueOf((byte)1));
}
else
{
this.dataWatcher.updateObject(19, Byte.valueOf((byte)0));
}
}
/**
* Returns true if the mob is currently able to mate with the specified mob.
*/
public boolean canMateWith(EntityAnimal p_70878_1_)
{
if (p_70878_1_ == this)
{
return false;
}
else if (!this.isTamed())
{
return false;
}
else if (!(p_70878_1_ instanceof EntityGrim))
{
return false;
}
else
{
EntityGrim EntityGrim = (EntityGrim)p_70878_1_;
return !EntityGrim.isTamed() ? false : (EntityGrim.isSitting() ? false : this.isInLove() && EntityGrim.isInLove());
}
}
public boolean func_70922_bv()
{
return this.dataWatcher.getWatchableObjectByte(19) == 1;
}
/**
* Determines if an entity can be despawned, used on idle far away entities
*/
protected boolean canDespawn()
{
return !this.isTamed() && this.ticksExisted > 2400;
}
public boolean func_142018_a(EntityLivingBase p_142018_1_, EntityLivingBase p_142018_2_)
{
if (!(p_142018_1_ instanceof EntityCreeper) && !(p_142018_1_ instanceof EntityGhast))
{
if (p_142018_1_ instanceof EntityGrim)
{
EntityGrim EntityGrim = (EntityGrim)p_142018_1_;
if (EntityGrim.isTamed() && EntityGrim.getOwner() == p_142018_2_)
{
return false;
}
}
return p_142018_1_ instanceof EntityPlayer && p_142018_2_ instanceof EntityPlayer && !((EntityPlayer)p_142018_2_).canAttackPlayer((EntityPlayer)p_142018_1_) ? false : !(p_142018_1_ instanceof EntityHorse) || !((EntityHorse)p_142018_1_).isTame();
}
else
{
return false;
}
}
}

View File

@ -0,0 +1,247 @@
package com.jtrent238.youtubers.entity;
import net.minecraft.block.Block;
import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIFollowParent;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMate;
import net.minecraft.entity.ai.EntityAIPanic;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAITempt;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.passive.EntityAnimal;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemSeeds;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class EntityMcDuck extends EntityAnimal
{
public float field_70886_e;
public float destPos;
public float field_70884_g;
public float field_70888_h;
public float field_70889_i = 1.0F;
/** The time until the next egg is spawned. */
public int timeUntilNextEgg;
public boolean field_152118_bv;
private String name = __OBFID;
private static final String __OBFID = "CL_00001639";
public EntityMcDuck(World p_i1682_1_)
{
super(p_i1682_1_);
this.setSize(0.3F, 0.7F);
this.timeUntilNextEgg = this.rand.nextInt(6000) + 6000;
this.tasks.addTask(0, new EntityAISwimming(this));
this.tasks.addTask(1, new EntityAIPanic(this, 1.4D));
this.tasks.addTask(2, new EntityAIMate(this, 1.0D));
this.tasks.addTask(3, new EntityAITempt(this, 1.0D, Items.wheat_seeds, false));
this.tasks.addTask(4, new EntityAIFollowParent(this, 1.1D));
this.tasks.addTask(5, new EntityAIWander(this, 1.0D));
this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
this.tasks.addTask(7, new EntityAILookIdle(this));
this.hasCustomNameTag();
this.setCustomNameTag(name);
}
/**
* Returns true if the newer Entity AI code should be run
*/
public boolean isAIEnabled()
{
return true;
}
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D);
}
/**
* Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons
* use this to react to sunlight and start to burn.
*/
public void onLivingUpdate()
{
super.onLivingUpdate();
this.field_70888_h = this.field_70886_e;
this.field_70884_g = this.destPos;
this.destPos = (float)((double)this.destPos + (double)(this.onGround ? -1 : 4) * 0.3D);
if (this.destPos < 0.0F)
{
this.destPos = 0.0F;
}
if (this.destPos > 1.0F)
{
this.destPos = 1.0F;
}
if (!this.onGround && this.field_70889_i < 1.0F)
{
this.field_70889_i = 1.0F;
}
this.field_70889_i = (float)((double)this.field_70889_i * 0.9D);
if (!this.onGround && this.motionY < 0.0D)
{
this.motionY *= 0.6D;
}
this.field_70886_e += this.field_70889_i * 2.0F;
if (!this.worldObj.isRemote && !this.isChild() && !this.func_152116_bZ() && --this.timeUntilNextEgg <= 0)
{
this.playSound("mob.chicken.plop", 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F);
this.dropItem(Items.egg, 1);
this.timeUntilNextEgg = this.rand.nextInt(6000) + 6000;
}
}
/**
* Called when the mob is falling. Calculates and applies fall damage.
*/
protected void fall(float p_70069_1_) {}
/**
* Returns the sound this mob makes while it's alive.
*/
protected String getLivingSound()
{
return "mob.chicken.say";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
protected String getHurtSound()
{
return "mob.chicken.hurt";
}
/**
* Returns the sound this mob makes on death.
*/
protected String getDeathSound()
{
return "mob.chicken.hurt";
}
protected void func_145780_a(int p_145780_1_, int p_145780_2_, int p_145780_3_, Block p_145780_4_)
{
this.playSound("mob.chicken.step", 0.15F, 1.0F);
}
protected Item getDropItem()
{
return Items.feather;
}
/**
* Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param
* par2 - Level of Looting used to kill this mob.
*/
protected void dropFewItems(boolean p_70628_1_, int p_70628_2_)
{
int j = this.rand.nextInt(3) + this.rand.nextInt(1 + p_70628_2_);
for (int k = 0; k < j; ++k)
{
this.dropItem(Items.feather, 1);
}
if (this.isBurning())
{
this.dropItem(Items.cooked_chicken, 1);
}
else
{
this.dropItem(Items.chicken, 1);
}
}
public EntityMcDuck createChild(EntityAgeable p_90011_1_)
{
return new EntityMcDuck(this.worldObj);
}
/**
* Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on
* the animal type)
*/
public boolean isBreedingItem(ItemStack p_70877_1_)
{
return p_70877_1_ != null && p_70877_1_.getItem() instanceof ItemSeeds;
}
/**
* (abstract) Protected helper method to read subclass entity data from NBT.
*/
public void readEntityFromNBT(NBTTagCompound p_70037_1_)
{
super.readEntityFromNBT(p_70037_1_);
this.field_152118_bv = p_70037_1_.getBoolean("IsChickenJockey");
}
/**
* Get the experience points the entity currently has.
*/
protected int getExperiencePoints(EntityPlayer p_70693_1_)
{
return this.func_152116_bZ() ? 10 : super.getExperiencePoints(p_70693_1_);
}
/**
* (abstract) Protected helper method to write subclass entity data to NBT.
*/
public void writeEntityToNBT(NBTTagCompound p_70014_1_)
{
super.writeEntityToNBT(p_70014_1_);
p_70014_1_.setBoolean("IsChickenJockey", this.field_152118_bv);
}
/**
* Determines if an entity can be despawned, used on idle far away entities
*/
protected boolean canDespawn()
{
return this.func_152116_bZ() && this.riddenByEntity == null;
}
public void updateRiderPosition()
{
super.updateRiderPosition();
float f = MathHelper.sin(this.renderYawOffset * (float)Math.PI / 180.0F);
float f1 = MathHelper.cos(this.renderYawOffset * (float)Math.PI / 180.0F);
float f2 = 0.1F;
float f3 = 0.0F;
this.riddenByEntity.setPosition(this.posX + (double)(f2 * f), this.posY + (double)(this.height * 0.5F) + this.riddenByEntity.getYOffset() + (double)f3, this.posZ - (double)(f2 * f1));
if (this.riddenByEntity instanceof EntityLivingBase)
{
((EntityLivingBase)this.riddenByEntity).renderYawOffset = this.renderYawOffset;
}
}
public boolean func_152116_bZ()
{
return this.field_152118_bv;
}
public void func_152117_i(boolean p_152117_1_)
{
this.field_152118_bv = p_152117_1_;
}
}

View File

@ -0,0 +1,262 @@
package com.jtrent238.youtubers.entity;
import net.minecraft.block.Block;
import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIControlledByPlayer;
import net.minecraft.entity.ai.EntityAIFollowParent;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMate;
import net.minecraft.entity.ai.EntityAIPanic;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAITempt;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.entity.monster.EntityPigZombie;
import net.minecraft.entity.passive.EntityAnimal;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.AchievementList;
import net.minecraft.world.World;
public class EntityTerrance extends EntityAnimal
{
/** AI task for player control. */
private final EntityAIControlledByPlayer aiControlledByPlayer;
private static final String __OBFID = "CL_00001647";
public EntityTerrance(World p_i1689_1_)
{
super(p_i1689_1_);
this.setSize(0.9F, 0.9F);
this.getNavigator().setAvoidsWater(true);
this.tasks.addTask(0, new EntityAISwimming(this));
this.tasks.addTask(1, new EntityAIPanic(this, 1.25D));
this.tasks.addTask(2, this.aiControlledByPlayer = new EntityAIControlledByPlayer(this, 0.3F));
this.tasks.addTask(3, new EntityAIMate(this, 1.0D));
this.tasks.addTask(4, new EntityAITempt(this, 1.2D, Items.carrot_on_a_stick, false));
this.tasks.addTask(4, new EntityAITempt(this, 1.2D, Items.carrot, false));
this.tasks.addTask(5, new EntityAIFollowParent(this, 1.1D));
this.tasks.addTask(6, new EntityAIWander(this, 1.0D));
this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
this.tasks.addTask(8, new EntityAILookIdle(this));
this.setSaddled(true);
this.hasCustomNameTag();
this.setCustomNameTag("Terrance");
}
public String getEntityName(){
return "Terrance";
}
/**
* Returns true if the newer Entity AI code should be run
*/
public boolean isAIEnabled()
{
return true;
}
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D);
}
protected void updateAITasks()
{
super.updateAITasks();
}
/**
* returns true if all the conditions for steering the entity are met. For pigs, this is true if it is being ridden
* by a player and the player is holding a carrot-on-a-stick
*/
public boolean canBeSteered()
{
ItemStack itemstack = ((EntityPlayer)this.riddenByEntity).getHeldItem();
return itemstack != null && itemstack.getItem() == Items.carrot_on_a_stick;
}
protected void entityInit()
{
super.entityInit();
this.dataWatcher.addObject(16, Byte.valueOf((byte)0));
}
/**
* (abstract) Protected helper method to write subclass entity data to NBT.
*/
public void writeEntityToNBT(NBTTagCompound p_70014_1_)
{
super.writeEntityToNBT(p_70014_1_);
p_70014_1_.setBoolean("Saddle", this.getSaddled());
}
/**
* (abstract) Protected helper method to read subclass entity data from NBT.
*/
public void readEntityFromNBT(NBTTagCompound p_70037_1_)
{
super.readEntityFromNBT(p_70037_1_);
this.setSaddled(p_70037_1_.getBoolean("Saddle"));
}
/**
* Returns the sound this mob makes while it's alive.
*/
protected String getLivingSound()
{
return "mob.pig.say";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
protected String getHurtSound()
{
return "mob.pig.say";
}
/**
* Returns the sound this mob makes on death.
*/
protected String getDeathSound()
{
return "mob.pig.death";
}
protected void func_145780_a(int p_145780_1_, int p_145780_2_, int p_145780_3_, Block p_145780_4_)
{
this.playSound("mob.pig.step", 0.15F, 1.0F);
}
/**
* Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig.
*/
public boolean interact(EntityPlayer p_70085_1_)
{
if (super.interact(p_70085_1_))
{
return true;
}
else if (this.getSaddled() && !this.worldObj.isRemote && (this.riddenByEntity == null || this.riddenByEntity == p_70085_1_))
{
p_70085_1_.mountEntity(this);
return true;
}
else
{
return false;
}
}
protected Item getDropItem()
{
return this.isBurning() ? Items.cooked_porkchop : Items.porkchop;
}
/**
* Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param
* par2 - Level of Looting used to kill this mob.
*/
protected void dropFewItems(boolean p_70628_1_, int p_70628_2_)
{
int j = this.rand.nextInt(3) + 1 + this.rand.nextInt(1 + p_70628_2_);
for (int k = 0; k < j; ++k)
{
if (this.isBurning())
{
this.dropItem(Items.cooked_porkchop, 1);
}
else
{
this.dropItem(Items.porkchop, 1);
}
}
if (this.getSaddled())
{
this.dropItem(Items.saddle, 1);
}
}
/**
* Returns true if the pig is saddled.
*/
public boolean getSaddled()
{
return (this.dataWatcher.getWatchableObjectByte(16) & 1) != 0;
}
/**
* Set or remove the saddle of the pig.
*/
public void setSaddled(boolean p_70900_1_)
{
if (p_70900_1_)
{
this.dataWatcher.updateObject(16, Byte.valueOf((byte)1));
}
else
{
this.dataWatcher.updateObject(16, Byte.valueOf((byte)0));
}
}
/**
* Called when a lightning bolt hits the entity.
*/
public void onStruckByLightning(EntityLightningBolt p_70077_1_)
{
if (!this.worldObj.isRemote)
{
EntityPigZombie entitypigzombie = new EntityPigZombie(this.worldObj);
entitypigzombie.setCurrentItemOrArmor(0, new ItemStack(Items.golden_sword));
entitypigzombie.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
this.worldObj.spawnEntityInWorld(entitypigzombie);
this.setDead();
}
}
/**
* Called when the mob is falling. Calculates and applies fall damage.
*/
protected void fall(float p_70069_1_)
{
super.fall(p_70069_1_);
if (p_70069_1_ > 5.0F && this.riddenByEntity instanceof EntityPlayer)
{
((EntityPlayer)this.riddenByEntity).triggerAchievement(AchievementList.flyPig);
}
}
public EntityTerrance createChild(EntityAgeable p_90011_1_)
{
return new EntityTerrance(this.worldObj);
}
/**
* Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on
* the animal type)
*/
public boolean isBreedingItem(ItemStack p_70877_1_)
{
return p_70877_1_ != null && p_70877_1_.getItem() == Items.carrot;
}
/**
* Return the AI task for player control.
*/
public EntityAIControlledByPlayer getAIControlledByPlayer()
{
return this.aiControlledByPlayer;
}
}

View File

@ -0,0 +1,199 @@
package com.jtrent238.youtubers.entity;
import com.jtrent238.youtubers.ItemLoader;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAIHurtByTarget;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMoveThroughVillage;
import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
import net.minecraft.entity.ai.EntityAIMoveTowardsTarget;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.boss.IBossDisplayData;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.entity.monster.EntityGolem;
import net.minecraft.entity.monster.IMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
public class EntityTrayaurus extends EntityGolem implements IBossDisplayData
{
World world = null;
private int attackTimer;
private DamageSource damageSource;
private EntityPlayer entityAttackedBy;
private ResourceLocation locationCape;
public EntityTrayaurus(World var1)
{
super(var1);
world = var1;
experienceValue = 4;
this.isImmuneToFire = true;
this.tasks.addTask(1, new EntityAIAttackOnCollide(this, 1.0D, true));
this.tasks.addTask(2, new EntityAIMoveTowardsTarget(this, 0.9D, 32.0F));
this.tasks.addTask(3, new EntityAIMoveThroughVillage(this, 0.6D, true));
this.tasks.addTask(4, new EntityAIMoveTowardsRestriction(this, 1.0D));
this.tasks.addTask(6, new EntityAIWander(this, 0.6D));
this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
this.tasks.addTask(8, new EntityAILookIdle(this));
this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false));
this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, false, true, IMob.mobSelector));
this.hasCustomNameTag();
this.setCustomNameTag("Dr. Trayaurus");
addRandomArmor();
//DungeonHooks.addDungeonMob("xJSQ", 180);
}
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D);
}
public boolean attackEntityAsMob(Entity p_70652_1_)
{
this.attackTimer = 10;
this.worldObj.setEntityState(this, (byte)4);
boolean flag = p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), (float)(7 + this.rand.nextInt(15)));
if (flag)
{
p_70652_1_.motionY += 0.4000000059604645D;
}
this.playSound("", 1.0F, 1.0F);
return flag;
}
protected void addRandomArmor(){
}
/*
protected void dropRareDrop(int par1){
this.dropItem(ItemLoader.itemCaptainCookieCookie, 1);
}
*/
public boolean isAIEnabled()
{
return true;
}
/**
* Determines if an entity can be despawned, used on idle far away entities
*/
protected boolean canDespawn()
{
return true;
}
/**
* Drop items of this living's type
*/
protected void dropFewItems(boolean var1, int var2)
{
this.entityDropItem(new ItemStack(ItemLoader.ItemEnchantedDiamond, 1).setStackDisplayName(EnumChatFormatting.DARK_PURPLE.BOLD + "Experimental Diamond"), 1F);
this.entityDropItem(new ItemStack(Blocks.skull, 1, 3), 1F);
}
/**
* Returns the sound this mob makes while it's alive.
*/
protected String getLivingSound()
{
return "mob.villager.idle";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
protected String getHurtSound()
{
return "mob.villager.hit";
}
/**
* Returns the sound this mob makes on death.
*/
protected String getDeathSound()
{
return "mob.villager.death";
}
public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
protected void fall(float l){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
super.fall(l);
Entity entity = this;
}
public void onCriticalHit(Entity entity2) {
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
public void onKillEntity(EntityLiving entityLiving){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
public String getEntityName(){
return "Dr. Trayaurus";
}
/**
* Will return how many at most can spawn in a chunk at once.
*/
public int getMaxSpawnedInChunk()
{
return 4;
}
public boolean func_152122_n()
{
return this.locationCape == new ResourceLocation("youtubers:textures/entity/cloak/MC15.png");
}
public ResourceLocation renderCloak (float par1)
{
return new ResourceLocation("youtubers:textures/entity/cloak/MC15.png");
}
}

View File

@ -0,0 +1,120 @@
package com.jtrent238.youtubers.entity;
import com.google.common.collect.Multimap;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Collection;
import java.util.Random;
import net.minecraft.client.renderer.ThreadDownloadImageData;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.DataWatcher;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IRangedAttackMob;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.ai.attributes.IAttribute;
import net.minecraft.entity.ai.attributes.IAttributeInstance;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.entity.player.PlayerCapabilities;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.init.Items;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraft.village.MerchantRecipeList;
import net.minecraft.world.EnumDifficulty;
import net.minecraft.world.World;
public class PlayerEntity
extends EntityPlayerBase
{
public boolean RenderFailed = false;
public static final ResourceLocation locationStevePng = new ResourceLocation("textures/entity/steve.png");
private ResourceLocation locationSkin = locationStevePng;
private ThreadDownloadImageData downloadImageSkin;
public PlayerEntity(World par1World)
{
this(par1World, -1);
}
public PlayerEntity(World par1World, int par2)
{
this(par1World, par2 < 0 ? com.jtrent238.youtubers.YTConfig.PlayerNames[new Random().nextInt(com.jtrent238.youtubers.YTConfig.PlayerNames.length)] : com.jtrent238.youtubers.YTConfig.PlayerNames[par2]);
}
public PlayerEntity(World par1World, String name)
{
super(par1World);
setName(name);
//func_70105_a(0.6F, 1.8F);
}
public String getName()
{
return this.getEntityName().substring(19);
}
public void setName(String par1Str)
{
this.setName(par1Str);
}
@SideOnly(Side.CLIENT)
public boolean func_94059_bO()
{
return true;
}
protected void func_70088_a()
{
// super.func_70088_a();
// this.field_70180_af.func_75682_a(19, "");
}
public void func_70014_b(NBTTagCompound par1NBTTagCompound)
{
super.writeEntityToNBT(par1NBTTagCompound);
par1NBTTagCompound.setString("Name", getName());
}
public void func_70037_a(NBTTagCompound par1NBTTagCompound)
{
super.readEntityFromNBT(par1NBTTagCompound);
setName(par1NBTTagCompound.getString("Name"));
}
protected String func_70621_aR()
{
return "mob.villager.hit";
}
protected String func_70673_aS()
{
return "mob.villager.death";
}
@SideOnly(Side.CLIENT)
public void setRecipes(MerchantRecipeList par1MerchantRecipeList) {}
public int getGrowingAge()
{
return 0;
}
}

View File

@ -0,0 +1,223 @@
package com.jtrent238.youtubers.entity.player;
import java.util.ArrayList;
import java.util.Random;
import com.jtrent238.youtubers.PlayerList;
import com.jtrent238.youtubers.YTConfig;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAIHurtByTarget;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMoveThroughVillage;
import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
import net.minecraft.entity.ai.EntityAIMoveTowardsTarget;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.boss.BossStatus;
import net.minecraft.entity.boss.IBossDisplayData;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.entity.monster.EntityGolem;
import net.minecraft.entity.monster.IMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.DungeonHooks;
public class EntityRandomPlayer extends EntityGolem implements IBossDisplayData
{
int numPlayers = 1;
World world = null;
private int attackTimer;
private DamageSource damageSource;
private EntityPlayer entityAttackedBy;
private int index = 0;
public EntityRandomPlayer(World var1)
{
super(var1);
world = var1;
experienceValue = 10;
this.isImmuneToFire = true;
this.tasks.addTask(1, new EntityAIAttackOnCollide(this, 1.0D, true));
this.tasks.addTask(2, new EntityAIMoveTowardsTarget(this, 0.9D, 32.0F));
this.tasks.addTask(3, new EntityAIMoveThroughVillage(this, 0.6D, true));
this.tasks.addTask(4, new EntityAIMoveTowardsRestriction(this, 1.0D));
this.tasks.addTask(6, new EntityAIWander(this, 0.6D));
this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
this.tasks.addTask(8, new EntityAILookIdle(this));
this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false));
this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, false, true, IMob.mobSelector));
// int numPlayers = PlayerList.numPlayers;
// for (int i = 0; i < numPlayers ; i++) {
// this.setCustomNameTag(PlayerList.players.get(i));
//}
this.setCustomNameTag(PlayerList.getRandomPlayerName());
this.hasCustomNameTag();
addRandomArmor();
}
private void getRandomPlayerName() {
// TODO Auto-generated method stub
}
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D);
}
public boolean attackEntityAsMob(Entity p_70652_1_)
{
this.attackTimer = 10;
this.worldObj.setEntityState(this, (byte)4);
boolean flag = p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), (float)(7 + this.rand.nextInt(15)));
if (flag)
{
p_70652_1_.motionY += 0.4000000059604645D;
}
this.playSound("", 1.0F, 1.0F);
return flag;
}
protected void addRandomArmor(){
}
/*
protected void dropRareDrop(int par1){
this.dropItem(ItemLoader.itemCaptainCookieCookie, 1);
}
*/
public boolean isAIEnabled()
{
return true;
}
/**
* Determines if an entity can be despawned, used on idle far away entities
*/
protected boolean canDespawn()
{
return true;
}
/**
* Drop items of this living's type
*/
protected void dropFewItems(boolean var1, int var2)
{
//this.entityDropItem(new ItemStack(BlockLoader.blockFlowerLove, 1), 4F);
}
/**
* Returns the sound this mob makes while it's alive.
*/
protected String getLivingSound()
{
return "youtubers:" + null + "_living";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
protected String getHurtSound()
{
return "youtubers:" + null + "_hurt";
}
/**
* Returns the sound this mob makes on death.
*/
protected String getDeathSound()
{
return "youtubers:" + null + "_death";
}
public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
protected void fall(float l){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
super.fall(l);
Entity entity = this;
}
public void onCriticalHit(Entity entity2) {
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
public void onKillEntity(EntityLiving entityLiving){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
public String getEntityName(){
return PlayerList.getRandomPlayerName();
}
/**
* Will return how many at most can spawn in a chunk at once.
*/
public int getMaxSpawnedInChunk()
{
return 4;
}
}

View File

@ -1,5 +1,16 @@
package com.jtrent238.youtubers.entity.youtuber;
import java.util.Map;
import com.jtrent238.youtubers.client.ClientProxy;
import com.mojang.authlib.minecraft.MinecraftProfileTexture;
import cpw.mods.fml.common.eventhandler.Event;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.ReflectionHelper;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.SharedMonsterAttributes;
@ -23,6 +34,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderPlayerEvent;
public class EntityDanTDM extends EntityGolem implements IBossDisplayData
{
@ -31,6 +43,8 @@ public class EntityDanTDM extends EntityGolem implements IBossDisplayData
private DamageSource damageSource;
private EntityPlayer entityAttackedBy;
private ResourceLocation locationCape;
private ModelRenderer bipedCloak;
public boolean renderCape = true;
public EntityDanTDM(World var1)
{
super(var1);
@ -46,14 +60,49 @@ public class EntityDanTDM extends EntityGolem implements IBossDisplayData
this.tasks.addTask(8, new EntityAILookIdle(this));
this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false));
this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, false, true, IMob.mobSelector));
this.shouldRenderCape();
this.hasCustomNameTag();
this.setCustomNameTag("DanTDM");
//this.renderCloak(10);
this.renderCloak(new ResourceLocation("youtubers:textures/entity/cloak/MC15.png"));
addRandomArmor();
//DungeonHooks.addDungeonMob("xJSQ", 180);
}
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void playerSpecialsRendering(RenderPlayerEvent.Specials.Pre event) {
float rotationY = event.renderer.modelBipedMain.bipedBody.rotateAngleY;
float rotationX = event.renderer.modelBipedMain.bipedBody.rotateAngleX;
float rotationZ = event.renderer.modelBipedMain.bipedBody.rotateAngleZ;
double x = event.entity.posX;
double y = event.entity.posY;
double z = event.entity.posZ;
float pitch = event.entity.rotationPitch;
float yaw = event.entity.rotationYaw;
//ClientProxy.rendererWearableEquipped.render(event.entity, x, y, z, rotationX, rotationY, rotationZ, pitch, yaw);
event.renderCape = true;
}
private boolean shouldRenderCape() {
return true;
}
@SubscribeEvent
public static void onRenderPlayer(RenderPlayerEvent.Post event)
{
//EntityDanTDM player = null;RenderPlayer
Class<? super Object> cape0 = null;
Object cape1;
//NetworkPlayerInfo info = ReflectionHelper.getPrivateValue(AbstractClientPlayer.class, clplayer, ObfuscatedNames.PLAYER_INFO);
Map<MinecraftProfileTexture.Type, ResourceLocation> textures = ReflectionHelper.getPrivateValue(cape0, EntityDanTDM.class, "youtubers:textures/entity/cloak/MC15.png");
ResourceLocation loc = new ResourceLocation("proxyslib", "textures/whoknows/special_cape.png");
textures.put(MinecraftProfileTexture.Type.CAPE, loc);
//textures.put(MinecraftProfileTexture.Type.ELYTRA, loc);
//done.add(player);
}
protected void applyEntityAttributes()
{
@ -114,30 +163,30 @@ protected void addRandomArmor(){
/**
* Returns the sound this mob makes while it's alive.
*/
/*
protected String getLivingSound()
{
return "";
return "youtubers:DanTDM_living";
}
*/
/**
* Returns the sound this mob makes when it is hurt.
*/
/*
protected String getHurtSound()
{
return "";
return "youtubers:DanTDM_hurt";
}
*/
/**
* Returns the sound this mob makes on death.
*/
/*
protected String getDeathSound()
{
return "";
return "youtubers:DanTDM_death";
}
*/
public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
int i = (int)this.posX;
int j = (int)this.posY;
@ -189,10 +238,18 @@ public boolean func_152122_n()
return this.locationCape == new ResourceLocation("youtubers:textures/entity/cloak/MC15.png");
}
public ResourceLocation renderCloak (float par1)
public ResourceLocation renderCloak (ResourceLocation resourceLocation)
{
return new ResourceLocation("youtubers:textures/entity/cloak/MC15.png");
}
/**
* Renders the cloak of the current biped (in most cases, it's a player)
*/
public void renderCloak(float p_78111_1_)
{
this.bipedCloak.render(p_78111_1_);
this.locationCape = new ResourceLocation("youtubers:textures/entity/cloak/MC15.png");
}
}

View File

@ -0,0 +1,203 @@
package com.jtrent238.youtubers.entity.youtuber;
import java.util.Random;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAIHurtByTarget;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMoveThroughVillage;
import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
import net.minecraft.entity.ai.EntityAIMoveTowardsTarget;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.boss.BossStatus;
import net.minecraft.entity.boss.IBossDisplayData;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.entity.monster.EntityGolem;
import net.minecraft.entity.monster.IMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.DungeonHooks;
//Replace SSundee with name
public class EntityRealThinknoodles extends EntityGolem implements IBossDisplayData
{
World world = null;
private int attackTimer;
private DamageSource damageSource;
private EntityPlayer entityAttackedBy;
private String name = "RealThinknoodles";
public EntityRealThinknoodles(World var1)
{
super(var1);
world = var1;
experienceValue = 4;
this.isImmuneToFire = true;
this.tasks.addTask(1, new EntityAIAttackOnCollide(this, 1.0D, true));
this.tasks.addTask(2, new EntityAIMoveTowardsTarget(this, 0.9D, 32.0F));
this.tasks.addTask(3, new EntityAIMoveThroughVillage(this, 0.6D, true));
this.tasks.addTask(4, new EntityAIMoveTowardsRestriction(this, 1.0D));
this.tasks.addTask(6, new EntityAIWander(this, 0.6D));
this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
this.tasks.addTask(8, new EntityAILookIdle(this));
this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false));
this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, false, true, IMob.mobSelector));
this.hasCustomNameTag();
this.setCustomNameTag(name);
addRandomArmor();
//DungeonHooks.addDungeonMob("SSundee", 180);
}
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D);
}
public boolean attackEntityAsMob(Entity p_70652_1_)
{
this.attackTimer = 10;
this.worldObj.setEntityState(this, (byte)4);
boolean flag = p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), (float)(7 + this.rand.nextInt(15)));
if (flag)
{
p_70652_1_.motionY += 0.4000000059604645D;
}
this.playSound("", 1.0F, 1.0F);
return flag;
}
protected void addRandomArmor(){
}
/*
protected void dropRareDrop(int par1){
this.dropItem(ItemLoader.itemCaptainCookieCookie, 1);
}
*/
public boolean isAIEnabled()
{
return true;
}
/**
* Determines if an entity can be despawned, used on idle far away entities
*/
protected boolean canDespawn()
{
return true;
}
/**
* Drop items of this living's type
*/
protected void dropFewItems(boolean var1, int var2)
{
//this.entityDropItem(new ItemStack(BlockLoader.blockFlowerLove, 1), 4F);
}
/**
* Returns the sound this mob makes while it's alive.
*/
protected String getLivingSound()
{
return "youtubers:RealThinknoodles_living";
}
/**
* Returns the sound this mob makes when it is hurt.
*/
protected String getHurtSound()
{
return "youtubers:RealThinknoodles_hurt";
}
/**
* Returns the sound this mob makes on death.
*/
protected String getDeathSound()
{
return "youtubers:RealThinknoodles_death";
}
public void onStruckByLightning(EntityLightningBolt entityLightningBolt){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
protected void fall(float l){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
super.fall(l);
Entity entity = this;
}
public void onCriticalHit(Entity entity2) {
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
public void onKillEntity(EntityLiving entityLiving){
int i = (int)this.posX;
int j = (int)this.posY;
int k = (int)this.posZ;
Entity entity = this;
}
public String getEntityName(){
return name;
}
/**
* Will return how many at most can spawn in a chunk at once.
*/
public int getMaxSpawnedInChunk()
{
return 4;
}
}

View File

@ -1,5 +1,7 @@
package com.jtrent238.youtubers.entity.youtuber;
import com.jtrent238.youtubers.BlockLoader;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.SharedMonsterAttributes;
@ -111,6 +113,9 @@ protected void addRandomArmor(){
this.entityDropItem(new ItemStack(Items.repeater, 1), 1F);
this.entityDropItem(new ItemStack(Items.comparator, 1), 1F);
this.entityDropItem(new ItemStack(Blocks.redstone_block, 2), 1F);
this.entityDropItem(new ItemStack(BlockLoader.BlockDecoCommandBlock_Chain, 2), 1F);
this.entityDropItem(new ItemStack(BlockLoader.BlockDecoCommandBlock_Impulse, 2), 1F);
this.entityDropItem(new ItemStack(BlockLoader.BlockDecoCommandBlock_Repeat, 2), 1F);
}
/**

View File

@ -0,0 +1,107 @@
package com.jtrent238.youtubers.items;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.minecraft.block.BlockJukebox;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemRecord;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class ItemDanTDM_CD_1 extends ItemRecord
{
private static final Map records = new HashMap();
public final String recordName;
public ItemDanTDM_CD_1(String recordName)
{
super(recordName);
this.recordName = recordName;
this.maxStackSize = 1;
records.put(recordName, this);
}
@Override
public void registerIcons(IIconRegister iconRegister)
{
itemIcon = iconRegister.registerIcon("youtubers:" + "record_" + recordName);
}
@Override
public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
{
//TODO: world.getBlock()
if (world.getBlock(x, y, z) == Blocks.jukebox && world.getBlockMetadata(x, y, z) == 0)
{
if (world.isRemote)
return true;
else
{
//TODO: .insertRecord()
((BlockJukebox)Blocks.jukebox).func_149926_b(world, x, y, z, itemStack);
//TODO: Item.getIdFromItem()
world.playAuxSFXAtEntity((EntityPlayer)null, 1005, x, y, z, Item.getIdFromItem(this));
--itemStack.stackSize;
return true;
}
}
else
return false;
}
@Override
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add(this.getRecordNameLocal());
}
@Override
//TODO: getRecordTitle()
public String getRecordNameLocal()
{
return StatCollector.translateToLocal(this.getUnlocalizedName() + ".desc");
}
@Override
public EnumRarity getRarity(ItemStack itemStack)
{
return EnumRarity.rare;
}
public static ItemDanTDM_CD_1 getRecord(String par0Str)
{
return (ItemDanTDM_CD_1)records.get(par0Str);
}
@Override
public ResourceLocation getRecordResource(String name)
{
return new ResourceLocation("youtubers:" + name);
}
}

View File

@ -0,0 +1,107 @@
package com.jtrent238.youtubers.items;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.minecraft.block.BlockJukebox;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemRecord;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class ItemDanTDM_CD_2 extends ItemRecord
{
private static final Map records = new HashMap();
public final String recordName;
public ItemDanTDM_CD_2(String recordName)
{
super(recordName);
this.recordName = recordName;
this.maxStackSize = 1;
records.put(recordName, this);
}
@Override
public void registerIcons(IIconRegister iconRegister)
{
itemIcon = iconRegister.registerIcon("youtubers:" + "record_" + recordName);
}
@Override
public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
{
//TODO: world.getBlock()
if (world.getBlock(x, y, z) == Blocks.jukebox && world.getBlockMetadata(x, y, z) == 0)
{
if (world.isRemote)
return true;
else
{
//TODO: .insertRecord()
((BlockJukebox)Blocks.jukebox).func_149926_b(world, x, y, z, itemStack);
//TODO: Item.getIdFromItem()
world.playAuxSFXAtEntity((EntityPlayer)null, 1005, x, y, z, Item.getIdFromItem(this));
--itemStack.stackSize;
return true;
}
}
else
return false;
}
@Override
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add(this.getRecordNameLocal());
}
@Override
//TODO: getRecordTitle()
public String getRecordNameLocal()
{
return StatCollector.translateToLocal(this.getUnlocalizedName() + ".desc");
}
@Override
public EnumRarity getRarity(ItemStack itemStack)
{
return EnumRarity.rare;
}
public static ItemDanTDM_CD_2 getRecord(String par0Str)
{
return (ItemDanTDM_CD_2)records.get(par0Str);
}
@Override
public ResourceLocation getRecordResource(String name)
{
return new ResourceLocation("youtubers:" + name);
}
}

View File

@ -0,0 +1,107 @@
package com.jtrent238.youtubers.items;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.minecraft.block.BlockJukebox;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemRecord;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class ItemDanTDM_CD_3 extends ItemRecord
{
private static final Map records = new HashMap();
public final String recordName;
public ItemDanTDM_CD_3(String recordName)
{
super(recordName);
this.recordName = recordName;
this.maxStackSize = 1;
records.put(recordName, this);
}
@Override
public void registerIcons(IIconRegister iconRegister)
{
itemIcon = iconRegister.registerIcon("youtubers:" + "record_" + recordName);
}
@Override
public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
{
//TODO: world.getBlock()
if (world.getBlock(x, y, z) == Blocks.jukebox && world.getBlockMetadata(x, y, z) == 0)
{
if (world.isRemote)
return true;
else
{
//TODO: .insertRecord()
((BlockJukebox)Blocks.jukebox).func_149926_b(world, x, y, z, itemStack);
//TODO: Item.getIdFromItem()
world.playAuxSFXAtEntity((EntityPlayer)null, 1005, x, y, z, Item.getIdFromItem(this));
--itemStack.stackSize;
return true;
}
}
else
return false;
}
@Override
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add(this.getRecordNameLocal());
}
@Override
//TODO: getRecordTitle()
public String getRecordNameLocal()
{
return StatCollector.translateToLocal(this.getUnlocalizedName() + ".desc");
}
@Override
public EnumRarity getRarity(ItemStack itemStack)
{
return EnumRarity.rare;
}
public static ItemDanTDM_CD_3 getRecord(String par0Str)
{
return (ItemDanTDM_CD_3)records.get(par0Str);
}
@Override
public ResourceLocation getRecordResource(String name)
{
return new ResourceLocation("youtubers:" + name);
}
}

View File

@ -0,0 +1,107 @@
package com.jtrent238.youtubers.items;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.minecraft.block.BlockJukebox;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemRecord;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class ItemDanTDM_CD_4 extends ItemRecord
{
private static final Map records = new HashMap();
public final String recordName;
public ItemDanTDM_CD_4(String recordName)
{
super(recordName);
this.recordName = recordName;
this.maxStackSize = 1;
records.put(recordName, this);
}
@Override
public void registerIcons(IIconRegister iconRegister)
{
itemIcon = iconRegister.registerIcon("youtubers:" + "record_" + recordName);
}
@Override
public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
{
//TODO: world.getBlock()
if (world.getBlock(x, y, z) == Blocks.jukebox && world.getBlockMetadata(x, y, z) == 0)
{
if (world.isRemote)
return true;
else
{
//TODO: .insertRecord()
((BlockJukebox)Blocks.jukebox).func_149926_b(world, x, y, z, itemStack);
//TODO: Item.getIdFromItem()
world.playAuxSFXAtEntity((EntityPlayer)null, 1005, x, y, z, Item.getIdFromItem(this));
--itemStack.stackSize;
return true;
}
}
else
return false;
}
@Override
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add(this.getRecordNameLocal());
}
@Override
//TODO: getRecordTitle()
public String getRecordNameLocal()
{
return StatCollector.translateToLocal(this.getUnlocalizedName() + ".desc");
}
@Override
public EnumRarity getRarity(ItemStack itemStack)
{
return EnumRarity.rare;
}
public static ItemDanTDM_CD_4 getRecord(String par0Str)
{
return (ItemDanTDM_CD_4)records.get(par0Str);
}
@Override
public ResourceLocation getRecordResource(String name)
{
return new ResourceLocation("youtubers:" + name);
}
}

View File

@ -0,0 +1,107 @@
package com.jtrent238.youtubers.items;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.minecraft.block.BlockJukebox;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemRecord;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class ItemDanTDM_CD_5 extends ItemRecord
{
private static final Map records = new HashMap();
public final String recordName;
public ItemDanTDM_CD_5(String recordName)
{
super(recordName);
this.recordName = recordName;
this.maxStackSize = 1;
records.put(recordName, this);
}
@Override
public void registerIcons(IIconRegister iconRegister)
{
itemIcon = iconRegister.registerIcon("youtubers:" + "record_" + recordName);
}
@Override
public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
{
//TODO: world.getBlock()
if (world.getBlock(x, y, z) == Blocks.jukebox && world.getBlockMetadata(x, y, z) == 0)
{
if (world.isRemote)
return true;
else
{
//TODO: .insertRecord()
((BlockJukebox)Blocks.jukebox).func_149926_b(world, x, y, z, itemStack);
//TODO: Item.getIdFromItem()
world.playAuxSFXAtEntity((EntityPlayer)null, 1005, x, y, z, Item.getIdFromItem(this));
--itemStack.stackSize;
return true;
}
}
else
return false;
}
@Override
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add(this.getRecordNameLocal());
}
@Override
//TODO: getRecordTitle()
public String getRecordNameLocal()
{
return StatCollector.translateToLocal(this.getUnlocalizedName() + ".desc");
}
@Override
public EnumRarity getRarity(ItemStack itemStack)
{
return EnumRarity.rare;
}
public static ItemDanTDM_CD_5 getRecord(String par0Str)
{
return (ItemDanTDM_CD_5)records.get(par0Str);
}
@Override
public ResourceLocation getRecordResource(String name)
{
return new ResourceLocation("youtubers:" + name);
}
}

View File

@ -0,0 +1,107 @@
package com.jtrent238.youtubers.items;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.minecraft.block.BlockJukebox;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemRecord;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class ItemDanTDM_CD_6 extends ItemRecord
{
private static final Map records = new HashMap();
public final String recordName;
public ItemDanTDM_CD_6(String recordName)
{
super(recordName);
this.recordName = recordName;
this.maxStackSize = 1;
records.put(recordName, this);
}
@Override
public void registerIcons(IIconRegister iconRegister)
{
itemIcon = iconRegister.registerIcon("youtubers:" + "record_" + recordName);
}
@Override
public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
{
//TODO: world.getBlock()
if (world.getBlock(x, y, z) == Blocks.jukebox && world.getBlockMetadata(x, y, z) == 0)
{
if (world.isRemote)
return true;
else
{
//TODO: .insertRecord()
((BlockJukebox)Blocks.jukebox).func_149926_b(world, x, y, z, itemStack);
//TODO: Item.getIdFromItem()
world.playAuxSFXAtEntity((EntityPlayer)null, 1005, x, y, z, Item.getIdFromItem(this));
--itemStack.stackSize;
return true;
}
}
else
return false;
}
@Override
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add(this.getRecordNameLocal());
}
@Override
//TODO: getRecordTitle()
public String getRecordNameLocal()
{
return StatCollector.translateToLocal(this.getUnlocalizedName() + ".desc");
}
@Override
public EnumRarity getRarity(ItemStack itemStack)
{
return EnumRarity.rare;
}
public static ItemDanTDM_CD_6 getRecord(String par0Str)
{
return (ItemDanTDM_CD_6)records.get(par0Str);
}
@Override
public ResourceLocation getRecordResource(String name)
{
return new ResourceLocation("youtubers:" + name);
}
}

View File

@ -0,0 +1,23 @@
package com.jtrent238.youtubers.items;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class ItemEnchantedDiamond extends Item{
private static final String __OBFID = "CL_00000065";
public ItemEnchantedDiamond(){
}
@SideOnly(Side.CLIENT)
public boolean hasEffect(ItemStack p_77636_1_)
{
return true;
}
}

View File

@ -0,0 +1,7 @@
package com.jtrent238.youtubers.items;
import net.minecraft.item.Item;
public class ItemFanMail extends Item{
}

View File

@ -0,0 +1,5 @@
package com.jtrent238.youtubers.items;
public class ItemPlayerSpawner extends ItemSpawnEgg{
}

View File

@ -0,0 +1,27 @@
package com.jtrent238.youtubers.items.armor;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemArmor.ArmorMaterial;
public class RealThinknoodles_Armor extends ItemArmor{
private String textureName;
private int armorType;
public RealThinknoodles_Armor(ArmorMaterial diamond, int i, int j) {
super(diamond, 0, i);
//this.textureName = textureName;
this.setUnlocalizedName("RealThinknoodles_Armor");
this.setTextureName("RealThinknoodles_Armor");
}
@Override
public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
{
return "youtubers:textures/armor/RealThinknoodles_Armor" + (this.armorType == 2 ? "2" : "1") + ".png";
}
}

View File

@ -0,0 +1,5 @@
package com.jtrent238.youtubers.items.materials;
public class ItemRealThinknoodlesIngot extends YouTuberIngot{
}

View File

@ -0,0 +1,11 @@
package com.jtrent238.youtubers.items.tools;
import net.minecraft.item.ItemAxe;
public class ItemRealThinknoodlesAxe extends ItemAxe{
public ItemRealThinknoodlesAxe(ToolMaterial p_i45327_1_) {
super(p_i45327_1_);
}
}

View File

@ -0,0 +1,11 @@
package com.jtrent238.youtubers.items.tools;
import net.minecraft.item.ItemHoe;
public class ItemRealThinknoodlesHoe extends ItemHoe{
public ItemRealThinknoodlesHoe(ToolMaterial p_i45343_1_) {
super(p_i45343_1_);
}
}

View File

@ -0,0 +1,9 @@
package com.jtrent238.youtubers.items.tools;
public class ItemRealThinknoodlesMultiTool extends ItemMultiTool{
public ItemRealThinknoodlesMultiTool(ToolMaterial material) {
super(material);
}
}

View File

@ -0,0 +1,11 @@
package com.jtrent238.youtubers.items.tools;
import net.minecraft.item.ItemPickaxe;
public class ItemRealThinknoodlesPickaxe extends ItemPickaxe{
public ItemRealThinknoodlesPickaxe(ToolMaterial p_i45347_1_) {
super(p_i45347_1_);
}
}

View File

@ -0,0 +1,11 @@
package com.jtrent238.youtubers.items.tools;
import net.minecraft.item.ItemSpade;
public class ItemRealThinknoodlesShovel extends ItemSpade{
public ItemRealThinknoodlesShovel(ToolMaterial p_i45353_1_) {
super(p_i45353_1_);
}
}

View File

@ -0,0 +1,12 @@
package com.jtrent238.youtubers.items.tools.weapons;
import net.minecraft.item.ItemSword;
import net.minecraft.item.Item.ToolMaterial;
public class ItemRealThinknoodlesSword extends ItemSword{
public ItemRealThinknoodlesSword(ToolMaterial p_i45356_1_) {
super(p_i45356_1_);
}
}

View File

@ -0,0 +1,256 @@
package com.jtrent238.youtubers.model;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.util.MathHelper;
import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class ModelBipedCustom extends ModelBase
{
public ModelRenderer bipedHead;
public ModelRenderer bipedHeadwear;
public ModelRenderer bipedBody;
public ModelRenderer bipedRightArm;
public ModelRenderer bipedLeftArm;
public ModelRenderer bipedRightLeg;
public ModelRenderer bipedLeftLeg;
public ModelRenderer bipedEars;
public ModelRenderer bipedCloak;
/** Records whether the model should be rendered holding an item in the left hand, and if that item is a block. */
public int heldItemLeft;
/** Records whether the model should be rendered holding an item in the right hand, and if that item is a block. */
public int heldItemRight;
public boolean isSneak;
/** Records whether the model should be rendered aiming a bow. */
public boolean aimedBow;
private static final String __OBFID = "CL_00000840";
public ModelBipedCustom()
{
this(0.0F);
}
public ModelBipedCustom(float p_i1148_1_)
{
this(p_i1148_1_, 0.0F, 64, 32);
}
public ModelBipedCustom(float p_i1149_1_, float p_i1149_2_, int p_i1149_3_, int p_i1149_4_)
{
this.textureWidth = p_i1149_3_;
this.textureHeight = p_i1149_4_;
this.bipedCloak = new ModelRenderer(this, 0, 0);
this.bipedCloak.addBox(-5.0F, 0.0F, -1.0F, 10, 16, 1, p_i1149_1_);
this.bipedEars = new ModelRenderer(this, 24, 0);
this.bipedEars.addBox(-3.0F, -6.0F, -1.0F, 6, 6, 1, p_i1149_1_);
this.bipedHead = new ModelRenderer(this, 0, 0);
this.bipedHead.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, p_i1149_1_);
this.bipedHead.setRotationPoint(0.0F, 0.0F + p_i1149_2_, 0.0F);
this.bipedHeadwear = new ModelRenderer(this, 32, 0);
this.bipedHeadwear.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, p_i1149_1_ + 0.5F);
this.bipedHeadwear.setRotationPoint(0.0F, 0.0F + p_i1149_2_, 0.0F);
this.bipedBody = new ModelRenderer(this, 16, 16);
this.bipedBody.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4, p_i1149_1_);
this.bipedBody.setRotationPoint(0.0F, 0.0F + p_i1149_2_, 0.0F);
this.bipedRightArm = new ModelRenderer(this, 40, 16);
this.bipedRightArm.addBox(-3.0F, -2.0F, -2.0F, 4, 12, 4, p_i1149_1_);
this.bipedRightArm.setRotationPoint(-5.0F, 2.0F + p_i1149_2_, 0.0F);
this.bipedLeftArm = new ModelRenderer(this, 40, 16);
this.bipedLeftArm.mirror = true;
this.bipedLeftArm.addBox(-1.0F, -2.0F, -2.0F, 4, 12, 4, p_i1149_1_);
this.bipedLeftArm.setRotationPoint(5.0F, 2.0F + p_i1149_2_, 0.0F);
this.bipedRightLeg = new ModelRenderer(this, 0, 16);
this.bipedRightLeg.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, p_i1149_1_);
this.bipedRightLeg.setRotationPoint(-1.9F, 12.0F + p_i1149_2_, 0.0F);
this.bipedLeftLeg = new ModelRenderer(this, 0, 16);
this.bipedLeftLeg.mirror = true;
this.bipedLeftLeg.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, p_i1149_1_);
this.bipedLeftLeg.setRotationPoint(1.9F, 12.0F + p_i1149_2_, 0.0F);
this.bipedCloak.setTextureOffset(0, 45);
}
/**
* Sets the models various rotation angles then renders the model.
*/
public void render(Entity p_78088_1_, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float p_78088_7_)
{
this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, p_78088_7_, p_78088_1_);
if (this.isChild)
{
float f6 = 2.0F;
GL11.glPushMatrix();
GL11.glScalef(1.5F / f6, 1.5F / f6, 1.5F / f6);
GL11.glTranslatef(0.0F, 16.0F * p_78088_7_, 0.0F);
this.bipedHead.render(p_78088_7_);
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6);
GL11.glTranslatef(0.0F, 24.0F * p_78088_7_, 0.0F);
this.bipedBody.render(p_78088_7_);
this.bipedRightArm.render(p_78088_7_);
this.bipedLeftArm.render(p_78088_7_);
this.bipedRightLeg.render(p_78088_7_);
this.bipedLeftLeg.render(p_78088_7_);
this.bipedHeadwear.render(p_78088_7_);
this.bipedCloak.render(p_78088_7_);
this.bipedEars.render(p_78088_7_);
GL11.glPopMatrix();
}
else
{
this.bipedHead.render(p_78088_7_);
this.bipedBody.render(p_78088_7_);
this.bipedRightArm.render(p_78088_7_);
this.bipedLeftArm.render(p_78088_7_);
this.bipedRightLeg.render(p_78088_7_);
this.bipedLeftLeg.render(p_78088_7_);
this.bipedHeadwear.render(p_78088_7_);
this.bipedCloak.render(p_78088_7_);
this.bipedEars.render(p_78088_7_);
}
}
/**
* Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms
* and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how
* "far" arms and legs can swing at most.
*/
public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, float p_78087_5_, float p_78087_6_, Entity p_78087_7_)
{
this.bipedHead.rotateAngleY = p_78087_4_ / (180F / (float)Math.PI);
this.bipedHead.rotateAngleX = p_78087_5_ / (180F / (float)Math.PI);
this.bipedHeadwear.rotateAngleY = this.bipedHead.rotateAngleY;
this.bipedHeadwear.rotateAngleX = this.bipedHead.rotateAngleX;
this.bipedRightArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float)Math.PI) * 2.0F * p_78087_2_ * 0.5F;
this.bipedLeftArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 2.0F * p_78087_2_ * 0.5F;
this.bipedRightArm.rotateAngleZ = 0.0F;
this.bipedLeftArm.rotateAngleZ = 0.0F;
this.bipedRightLeg.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 1.4F * p_78087_2_;
this.bipedLeftLeg.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float)Math.PI) * 1.4F * p_78087_2_;
this.bipedRightLeg.rotateAngleY = 0.0F;
this.bipedLeftLeg.rotateAngleY = 0.0F;
this.bipedCloak.offsetX = 0.0F;
this.bipedCloak.offsetY = 0.15F;
this.bipedCloak.offsetZ = 0.2F;
this.bipedCloak.rotateAngleX = p_78087_2_;
this.bipedCloak.rotateAngleY = 0F;
if (this.isRiding)
{
this.bipedRightArm.rotateAngleX += -((float)Math.PI / 5F);
this.bipedLeftArm.rotateAngleX += -((float)Math.PI / 5F);
this.bipedRightLeg.rotateAngleX = -((float)Math.PI * 2F / 5F);
this.bipedLeftLeg.rotateAngleX = -((float)Math.PI * 2F / 5F);
this.bipedRightLeg.rotateAngleY = ((float)Math.PI / 10F);
this.bipedLeftLeg.rotateAngleY = -((float)Math.PI / 10F);
}
if (this.heldItemLeft != 0)
{
this.bipedLeftArm.rotateAngleX = this.bipedLeftArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * (float)this.heldItemLeft;
}
if (this.heldItemRight != 0)
{
this.bipedRightArm.rotateAngleX = this.bipedRightArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * (float)this.heldItemRight;
}
this.bipedRightArm.rotateAngleY = 0.0F;
this.bipedLeftArm.rotateAngleY = 0.0F;
float f6;
float f7;
if (this.onGround > -9990.0F)
{
f6 = this.onGround;
this.bipedBody.rotateAngleY = MathHelper.sin(MathHelper.sqrt_float(f6) * (float)Math.PI * 2.0F) * 0.2F;
this.bipedRightArm.rotationPointZ = MathHelper.sin(this.bipedBody.rotateAngleY) * 5.0F;
this.bipedRightArm.rotationPointX = -MathHelper.cos(this.bipedBody.rotateAngleY) * 5.0F;
this.bipedLeftArm.rotationPointZ = -MathHelper.sin(this.bipedBody.rotateAngleY) * 5.0F;
this.bipedLeftArm.rotationPointX = MathHelper.cos(this.bipedBody.rotateAngleY) * 5.0F;
this.bipedRightArm.rotateAngleY += this.bipedBody.rotateAngleY;
this.bipedLeftArm.rotateAngleY += this.bipedBody.rotateAngleY;
this.bipedLeftArm.rotateAngleX += this.bipedBody.rotateAngleY;
f6 = 1.0F - this.onGround;
f6 *= f6;
f6 *= f6;
f6 = 1.0F - f6;
f7 = MathHelper.sin(f6 * (float)Math.PI);
float f8 = MathHelper.sin(this.onGround * (float)Math.PI) * -(this.bipedHead.rotateAngleX - 0.7F) * 0.75F;
this.bipedRightArm.rotateAngleX = (float)((double)this.bipedRightArm.rotateAngleX - ((double)f7 * 1.2D + (double)f8));
this.bipedRightArm.rotateAngleY += this.bipedBody.rotateAngleY * 2.0F;
this.bipedRightArm.rotateAngleZ = MathHelper.sin(this.onGround * (float)Math.PI) * -0.4F;
}
if (this.isSneak)
{
this.bipedBody.rotateAngleX = 0.5F;
this.bipedRightArm.rotateAngleX += 0.4F;
this.bipedLeftArm.rotateAngleX += 0.4F;
this.bipedRightLeg.rotationPointZ = 4.0F;
this.bipedLeftLeg.rotationPointZ = 4.0F;
this.bipedRightLeg.rotationPointY = 9.0F;
this.bipedLeftLeg.rotationPointY = 9.0F;
this.bipedHead.rotationPointY = 1.0F;
this.bipedHeadwear.rotationPointY = 1.0F;
}
else
{
this.bipedBody.rotateAngleX = 0.0F;
this.bipedRightLeg.rotationPointZ = 0.1F;
this.bipedLeftLeg.rotationPointZ = 0.1F;
this.bipedRightLeg.rotationPointY = 12.0F;
this.bipedLeftLeg.rotationPointY = 12.0F;
this.bipedHead.rotationPointY = 0.0F;
this.bipedHeadwear.rotationPointY = 0.0F;
}
this.bipedRightArm.rotateAngleZ += MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
this.bipedLeftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
this.bipedRightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
this.bipedLeftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
if (this.aimedBow)
{
f6 = 0.0F;
f7 = 0.0F;
this.bipedRightArm.rotateAngleZ = 0.0F;
this.bipedLeftArm.rotateAngleZ = 0.0F;
this.bipedRightArm.rotateAngleY = -(0.1F - f6 * 0.6F) + this.bipedHead.rotateAngleY;
this.bipedLeftArm.rotateAngleY = 0.1F - f6 * 0.6F + this.bipedHead.rotateAngleY + 0.4F;
this.bipedRightArm.rotateAngleX = -((float)Math.PI / 2F) + this.bipedHead.rotateAngleX;
this.bipedLeftArm.rotateAngleX = -((float)Math.PI / 2F) + this.bipedHead.rotateAngleX;
this.bipedRightArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F;
this.bipedLeftArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F;
this.bipedRightArm.rotateAngleZ += MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
this.bipedLeftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F;
this.bipedRightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
this.bipedLeftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F;
}
}
/**
* renders the ears (specifically, deadmau5's)
*/
public void renderEars(float p_78110_1_)
{
this.bipedEars.rotateAngleY = this.bipedHead.rotateAngleY;
this.bipedEars.rotateAngleX = this.bipedHead.rotateAngleX;
this.bipedEars.rotationPointX = 0.0F;
this.bipedEars.rotationPointY = 0.0F;
this.bipedEars.render(p_78110_1_);
}
/**
* Renders the cloak of the current biped (in most cases, it's a player)
*/
public void renderCloak(float p_78111_1_)
{
this.bipedCloak.render(p_78111_1_);
}
}

View File

@ -0,0 +1,177 @@
package com.jtrent238.youtubers.model;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.MathHelper;
import org.lwjgl.opengl.GL11;
import com.jtrent238.youtubers.entity.EntityGrim;
@SideOnly(Side.CLIENT)
public class ModelGrim extends ModelBase
{
/** main box for the Grim head */
public ModelRenderer GrimHeadMain;
/** The Grim's body */
public ModelRenderer GrimBody;
/** Grim'se first leg */
public ModelRenderer GrimLeg1;
/** Grim's second leg */
public ModelRenderer GrimLeg2;
/** Grim's third leg */
public ModelRenderer GrimLeg3;
/** Grim's fourth leg */
public ModelRenderer GrimLeg4;
/** The Grim's tail */
ModelRenderer GrimTail;
/** The Grim's mane */
ModelRenderer GrimMane;
private static final String __OBFID = "CL_00000868";
public ModelGrim()
{
float f = 0.0F;
float f1 = 13.5F;
this.GrimHeadMain = new ModelRenderer(this, 0, 0);
this.GrimHeadMain.addBox(-3.0F, -3.0F, -2.0F, 6, 6, 4, f);
this.GrimHeadMain.setRotationPoint(-1.0F, f1, -7.0F);
this.GrimBody = new ModelRenderer(this, 18, 14);
this.GrimBody.addBox(-4.0F, -2.0F, -3.0F, 6, 9, 6, f);
this.GrimBody.setRotationPoint(0.0F, 14.0F, 2.0F);
this.GrimMane = new ModelRenderer(this, 21, 0);
this.GrimMane.addBox(-4.0F, -3.0F, -3.0F, 8, 6, 7, f);
this.GrimMane.setRotationPoint(-1.0F, 14.0F, 2.0F);
this.GrimLeg1 = new ModelRenderer(this, 0, 18);
this.GrimLeg1.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f);
this.GrimLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F);
this.GrimLeg2 = new ModelRenderer(this, 0, 18);
this.GrimLeg2.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f);
this.GrimLeg2.setRotationPoint(0.5F, 16.0F, 7.0F);
this.GrimLeg3 = new ModelRenderer(this, 0, 18);
this.GrimLeg3.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f);
this.GrimLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F);
this.GrimLeg4 = new ModelRenderer(this, 0, 18);
this.GrimLeg4.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f);
this.GrimLeg4.setRotationPoint(0.5F, 16.0F, -4.0F);
this.GrimTail = new ModelRenderer(this, 9, 18);
this.GrimTail.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f);
this.GrimTail.setRotationPoint(-1.0F, 12.0F, 8.0F);
this.GrimHeadMain.setTextureOffset(16, 14).addBox(-3.0F, -5.0F, 0.0F, 2, 2, 1, f);
this.GrimHeadMain.setTextureOffset(16, 14).addBox(1.0F, -5.0F, 0.0F, 2, 2, 1, f);
this.GrimHeadMain.setTextureOffset(0, 10).addBox(-1.5F, 0.0F, -5.0F, 3, 3, 4, f);
}
/**
* Sets the models various rotation angles then renders the model.
*/
public void render(Entity p_78088_1_, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float p_78088_7_)
{
super.render(p_78088_1_, p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, p_78088_7_);
this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, p_78088_7_, p_78088_1_);
if (this.isChild)
{
float f6 = 2.0F;
GL11.glPushMatrix();
GL11.glTranslatef(0.0F, 5.0F * p_78088_7_, 2.0F * p_78088_7_);
this.GrimHeadMain.renderWithRotation(p_78088_7_);
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6);
GL11.glTranslatef(0.0F, 24.0F * p_78088_7_, 0.0F);
this.GrimBody.render(p_78088_7_);
this.GrimLeg1.render(p_78088_7_);
this.GrimLeg2.render(p_78088_7_);
this.GrimLeg3.render(p_78088_7_);
this.GrimLeg4.render(p_78088_7_);
this.GrimTail.renderWithRotation(p_78088_7_);
this.GrimMane.render(p_78088_7_);
GL11.glPopMatrix();
}
else
{
this.GrimHeadMain.renderWithRotation(p_78088_7_);
this.GrimBody.render(p_78088_7_);
this.GrimLeg1.render(p_78088_7_);
this.GrimLeg2.render(p_78088_7_);
this.GrimLeg3.render(p_78088_7_);
this.GrimLeg4.render(p_78088_7_);
this.GrimTail.renderWithRotation(p_78088_7_);
this.GrimMane.render(p_78088_7_);
}
}
/**
* Used for easily adding entity-dependent animations. The second and third float params here are the same second
* and third as in the setRotationAngles method.
*/
public void setLivingAnimations(EntityLivingBase p_78086_1_, float p_78086_2_, float p_78086_3_, float p_78086_4_)
{
EntityGrim entityGrim = (EntityGrim)p_78086_1_;
if (entityGrim.isAngry())
{
this.GrimTail.rotateAngleY = 0.0F;
}
else
{
this.GrimTail.rotateAngleY = MathHelper.cos(p_78086_2_ * 0.6662F) * 1.4F * p_78086_3_;
}
if (entityGrim.isSitting())
{
this.GrimMane.setRotationPoint(-1.0F, 16.0F, -3.0F);
this.GrimMane.rotateAngleX = ((float)Math.PI * 2F / 5F);
this.GrimMane.rotateAngleY = 0.0F;
this.GrimBody.setRotationPoint(0.0F, 18.0F, 0.0F);
this.GrimBody.rotateAngleX = ((float)Math.PI / 4F);
this.GrimTail.setRotationPoint(-1.0F, 21.0F, 6.0F);
this.GrimLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F);
this.GrimLeg1.rotateAngleX = ((float)Math.PI * 3F / 2F);
this.GrimLeg2.setRotationPoint(0.5F, 22.0F, 2.0F);
this.GrimLeg2.rotateAngleX = ((float)Math.PI * 3F / 2F);
this.GrimLeg3.rotateAngleX = 5.811947F;
this.GrimLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F);
this.GrimLeg4.rotateAngleX = 5.811947F;
this.GrimLeg4.setRotationPoint(0.51F, 17.0F, -4.0F);
}
else
{
this.GrimBody.setRotationPoint(0.0F, 14.0F, 2.0F);
this.GrimBody.rotateAngleX = ((float)Math.PI / 2F);
this.GrimMane.setRotationPoint(-1.0F, 14.0F, -3.0F);
this.GrimMane.rotateAngleX = this.GrimBody.rotateAngleX;
this.GrimTail.setRotationPoint(-1.0F, 12.0F, 8.0F);
this.GrimLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F);
this.GrimLeg2.setRotationPoint(0.5F, 16.0F, 7.0F);
this.GrimLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F);
this.GrimLeg4.setRotationPoint(0.5F, 16.0F, -4.0F);
this.GrimLeg1.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F) * 1.4F * p_78086_3_;
this.GrimLeg2.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F + (float)Math.PI) * 1.4F * p_78086_3_;
this.GrimLeg3.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F + (float)Math.PI) * 1.4F * p_78086_3_;
this.GrimLeg4.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F) * 1.4F * p_78086_3_;
}
this.GrimHeadMain.rotateAngleZ = entityGrim.getInterestedAngle(p_78086_4_) + entityGrim.getShakeAngle(p_78086_4_, 0.0F);
this.GrimMane.rotateAngleZ = entityGrim.getShakeAngle(p_78086_4_, -0.08F);
this.GrimBody.rotateAngleZ = entityGrim.getShakeAngle(p_78086_4_, -0.16F);
this.GrimTail.rotateAngleZ = entityGrim.getShakeAngle(p_78086_4_, -0.2F);
}
/**
* Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms
* and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how
* "far" arms and legs can swing at most.
*/
public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, float p_78087_5_, float p_78087_6_, Entity p_78087_7_)
{
super.setRotationAngles(p_78087_1_, p_78087_2_, p_78087_3_, p_78087_4_, p_78087_5_, p_78087_6_, p_78087_7_);
this.GrimHeadMain.rotateAngleX = p_78087_5_ / (180F / (float)Math.PI);
this.GrimHeadMain.rotateAngleY = p_78087_4_ / (180F / (float)Math.PI);
this.GrimTail.rotateAngleX = p_78087_3_;
}
}

View File

@ -0,0 +1,94 @@
package com.jtrent238.youtubers.render;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import com.jtrent238.youtubers.entity.EntityGrim;
@SideOnly(Side.CLIENT)
public class GrimRender extends RenderLiving
{
private static final ResourceLocation wolfTextures = new ResourceLocation("youtubers:textures/entity/EntityGrim.png");
private static final ResourceLocation tamedWolfTextures = new ResourceLocation("youtubers:textures/entity/EntityGrim.png");
private static final ResourceLocation anrgyWolfTextures = new ResourceLocation("youtubers:textures/entity/EntityGrim.png");
private static final ResourceLocation wolfCollarTextures = new ResourceLocation("textures/entity/wolf/wolf_collar.png");
private static final String __OBFID = "CL_00001036";
public GrimRender(ModelBase p_i1269_1_, ModelBase p_i1269_2_, float p_i1269_3_)
{
super(p_i1269_1_, p_i1269_3_);
this.setRenderPassModel(p_i1269_2_);
}
/**
* Defines what float the third param in setRotationAngles of ModelBase is
*/
protected float handleRotationFloat(EntityGrim p_77044_1_, float p_77044_2_)
{
return p_77044_1_.getTailRotation();
}
/**
* Queries whether should render the specified pass or not.
*/
protected int shouldRenderPass(EntityGrim p_77032_1_, int p_77032_2_, float p_77032_3_)
{
if (p_77032_2_ == 0 && p_77032_1_.getWolfShaking())
{
float f1 = p_77032_1_.getBrightness(p_77032_3_) * p_77032_1_.getShadingWhileShaking(p_77032_3_);
this.bindTexture(wolfTextures);
GL11.glColor3f(f1, f1, f1);
return 1;
}
else if (p_77032_2_ == 1 && p_77032_1_.isTamed())
{
this.bindTexture(wolfCollarTextures);
int j = p_77032_1_.getCollarColor();
GL11.glColor3f(EntitySheep.fleeceColorTable[j][0], EntitySheep.fleeceColorTable[j][1], EntitySheep.fleeceColorTable[j][2]);
return 1;
}
else
{
return -1;
}
}
/**
* Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
*/
protected ResourceLocation getEntityTexture(EntityGrim p_110775_1_)
{
return p_110775_1_.isTamed() ? tamedWolfTextures : (p_110775_1_.isAngry() ? anrgyWolfTextures : wolfTextures);
}
/**
* Queries whether should render the specified pass or not.
*/
protected int shouldRenderPass(EntityLivingBase p_77032_1_, int p_77032_2_, float p_77032_3_)
{
return this.shouldRenderPass((EntityGrim)p_77032_1_, p_77032_2_, p_77032_3_);
}
/**
* Defines what float the third param in setRotationAngles of ModelBase is
*/
protected float handleRotationFloat(EntityLivingBase p_77044_1_, float p_77044_2_)
{
return this.handleRotationFloat((EntityGrim)p_77044_1_, p_77044_2_);
}
/**
* Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
*/
protected ResourceLocation getEntityTexture(Entity p_110775_1_)
{
return this.getEntityTexture((EntityGrim)p_110775_1_);
}
}

View File

@ -0,0 +1,164 @@
package com.jtrent238.youtubers.render;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.URL;
import java.util.HashMap;
import javax.imageio.ImageIO;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import org.apache.commons.io.FileUtils;
import org.lwjgl.opengl.GL11;
import com.jtrent238.youtubers.YTConfig;
import com.jtrent238.youtubers.entity.PlayerEntity;
public class PlayerRender
extends RenderBiped
{
public static final ResourceLocation locationStevePng = new ResourceLocation("youtubers", "textures/entity/steve.png");
public HashMap<String, ResourceLocation> Textures = new HashMap();
public PlayerRender()
{
super(new ModelBiped(), 0.2F);
}
protected void func_82421_b()
{
this.field_82423_g = new ModelBiped(1.0F);
this.field_82425_h = new ModelBiped(0.5F);
}
public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9)
{
super.doRender(par1EntityLiving, par2, par4, par6, par8, par9);
}
public void renderPlayer(EntityLivingBase par1EntityLivingBase, double par2, double par4, double par6, float par8, float par9)
{
super.doRender((EntityLiving)par1EntityLivingBase, par2, par4, par6, par8, par9);
}
public void func_76986_a(Entity par1Entity, double par2, double par4, double par6, float par8, float par9)
{
super.doRender((EntityLiving)par1Entity, par2, par4, par6, par8, par9);
}
protected ResourceLocation func_110775_a(Entity entity)
{
boolean testing = false;
if (testing) {
return locationStevePng;
}
PlayerEntity player = (PlayerEntity)entity;
if ((player.RenderFailed) || (YTConfig.Offline)) {
return locationStevePng;
}
File file = new File("options.txt");
try
{
String txt = FileUtils.readFileToString(file);
if (!txt.contains("YoutubersSkin"))
{
YTConfig.Offline = true;
return locationStevePng;
}
}
catch (IOException e)
{
e.printStackTrace();
}
if (this.Textures.containsKey(player.getName())) {
return (ResourceLocation)this.Textures.get(player.getName());
}
File f = new File("resourcepacks/YoutubersSkin/assets/youtubers/textures/entity/Player/" + player.getName() + ".png");
if ((f.exists()) && (!f.isDirectory()))
{
System.out.println("File Found but not in list");
TestFileSize("resourcepacks/YoutubersSkin/assets/youtubers/textures/entity/Player/" + player.getName() + ".png");
ResourceLocation tex = new ResourceLocation("youtubers", "textures/entity/Player/" + player.getName() + ".png");
this.Textures.put(player.getName(), tex);
return tex;
}
if (!YTConfig.Offline) {
try
{
System.out.println("Attempting to save File");
new File("resourcepacks/YoutubersSkin/assets/youtubers/textures/entity/Player").mkdirs();
saveImage("http://skins.minecraft.net/MinecraftSkins/" + player.getName() + ".png", "resourcepacks/YoutubersSkin/assets/youtubers/textures/entity/Player/" + player.getName() + ".png");
ResourceLocation tex = new ResourceLocation("youtubers", "textures/entity/Player/" + player.getName() + ".png");
this.Textures.put(player.getName(), tex);
return tex;
}
catch (IOException e)
{
System.out.println(e.fillInStackTrace());
System.out.println("save File Failed");
player.RenderFailed = true;
return locationStevePng;
}
}
System.out.println("save File canceled");
player.RenderFailed = true;
return locationStevePng;
}
public static void saveImage(String imageUrl, String destinationFile)
throws IOException
{
URL url = new URL(imageUrl);
InputStream is = url.openStream();
OutputStream os = new FileOutputStream(new File(destinationFile));
byte[] b = new byte['?'];
int length;
while ((length = is.read(b)) != -1) {
os.write(b, 0, length);
}
is.close();
os.close();
TestFileSize(destinationFile);
}
private static void TestFileSize(String destinationFile)
{
File img = new File(destinationFile);
BufferedImage buffImg = new BufferedImage(64, 32, 2);
try
{
buffImg = ImageIO.read(img);
}
catch (IOException localIOException) {}
if (buffImg.getHeight() != 32)
{
BufferedImage croppedImage = buffImg.getSubimage(0, 0, 64, 32);
try
{
BufferedImage bi = croppedImage;
File outputfile = new File(destinationFile);
ImageIO.write(bi, "png", outputfile);
}
catch (IOException localIOException1) {}
}
}
}

View File

@ -13,10 +13,24 @@ entity.EntityFar.name=Far
//other Items
item.ItemSpawnEgg.name=Spawn Egg
item.ItemFireHoe.name=Firey Hoe
item.ItemSilverPlayButton.name=Silver YouTube Play Button
item.ItemGoldPlayButton.name=Gold YouTube Play Button
item.ItemDiamondPlayButton.name=Diamond YouTube Play Button
item.ItemRubyPlayButton.name=Ruby YouTube Play Button
item.ItemFanMail.name=§bFan Mail
//other Blocks
tile.BlockDecoCommandBlock_Impulse.name=Command Block [Decorative]
tile.BlockDecoCommandBlock_Chain.name=Chain Command Block [Decorative]
tile.BlockDecoCommandBlock_Repeat.name=Repeating Command Block [Decorative]
// other Entitys
entity.EntityCrazyFan.name=Crazy Fan
//Tooltips
tooltip.youtubers.cmd.deco=Note: Decorative ONLY
tooltip.youtubers.cmd.break=Can be Broken
//xJSQ
entity.EntityxJSQ.name=xJSQ
@ -32,12 +46,17 @@ item.ItemxJSQShovel.name=xJSQ Shovel
item.ItemxJSQHoe.name=xJSQ Shovel
item.ItemxJSQMultiTool.name=xJSQ Multitool
item.ItemxJSQBeatingStick.name=xJSQ's Beating Stick
item.ItemFireHoe.name=Firey Hoe
tile.BlockxJSQOre.name=xJSQ Ore
tile.BlockxJSQ.name=xJSQ Block
//DanTDM
entity.EntityDanTDM.name=DanTDM
entity.EntityGrim.name=Grim
entity.EntityTerrance.name=Terrance
entity.EntityTrayaurus.name=Dr. Trayaurus
entity.EntityCraigTheMailman.name=Craig The Mailman
entity.EntityMcDuck.name=McDuck
entity.EntityFakeDanTDM.name=Fake DanTDM
item.ItemDanTDMIngot.name=DanTDM Ingot
item.ItemDanTDMHelment.name=DanTDM Helment
item.ItemDanTDMChestplate.name=DanTDM Chestplate
@ -50,8 +69,22 @@ item.ItemDanTDMShovel.name=DanTDM Shovel
item.ItemDanTDMHoe.name=DanTDM Shovel
item.ItemDanTDMMultiTool.name=DanTDM Multitool
item.ItemDiamondMinecart.name=Diamond Minecart
item.ItemEnchantedDiamond.name=Enchanted Diamond
item.ItemDanTDM_CD_1.name=DanTDM CD#1
item.ItemDanTDM_CD_1.desc=The Red one has been chosen [Credit: Ertyez]
item.ItemDanTDM_CD_2.name=DanTDM CD#2
item.ItemDanTDM_CD_2.desc=Let's see what Happens [Credit: Ertyez]
item.ItemDanTDM_CD_3.name=DanTDM CD#3
item.ItemDanTDM_CD_3.desc=I'M DEAD! I'M DEAD! [Credit: Endigo]
item.ItemDanTDM_CD_4.name=DanTDM CD#4
item.ItemDanTDM_CD_4.desc=SMASHING IT! [Credit: Endigo]
item.ItemDanTDM_CD_5.name=DanTDM CD#5
item.ItemDanTDM_CD_5.desc=I LIKE YOUR MUSTASCHE! [Credit: Endigo]
item.ItemDanTDM_CD_6.name=DanTDM CD#6
item.ItemDanTDM_CD_6.desc=I'M AN OLD LADY! [Credit: Endigo]
tile.BlockDanTDMOre.name=DanTDM Ore
tile.BlockDanTDM.name=DanTDM Block
tile.BlockDanTDM_Logo.name=DanTDM Logo Block
//SethBling
entity.EntitySethBling.name=SethBling
@ -262,4 +295,20 @@ item.ItemBajanCanadianShovel.name=BajanCanadian Shovel
item.ItemBajanCanadianHoe.name=BajanCanadian Shovel
item.ItemBajanCanadianMultiTool.name=BajanCanadian Multitool
tile.BlockBajanCanadianOre.name=BajanCanadian Ore
tile.BlockBajanCanadian.name=BajanCanadian Block
tile.BlockBajanCanadian.name=BajanCanadian Block
//RealThinknoodles
entity.EntityRealThinknoodles.name=RealThinknoodles
item.ItemRealThinknoodlesIngot.name=RealThinknoodles Ingot
item.ItemRealThinknoodlesHelment.name=RealThinknoodles Helment
item.ItemRealThinknoodlesChestplate.name=RealThinknoodles Chestplate
item.ItemRealThinknoodlesLeggings.name=RealThinknoodles Leggings
item.ItemRealThinknoodlesBoots.name=RealThinknoodles Boots
item.ItemRealThinknoodlesSword.name=RealThinknoodles Sword
item.ItemRealThinknoodlesPickaxe.name=RealThinknoodles Pickaxe
item.ItemRealThinknoodlesAxe.name=RealThinknoodles Axe
item.ItemRealThinknoodlesShovel.name=RealThinknoodles Shovel
item.ItemRealThinknoodlesHoe.name=RealThinknoodles Shovel
item.ItemRealThinknoodlesMultiTool.name=RealThinknoodles Multitool
tile.BlockRealThinknoodlesOre.name=RealThinknoodles Ore
tile.BlockRealThinknoodles.name=RealThinknoodles Block

View File

@ -6,5 +6,17 @@
"Laurie201_hurt": {"category": "master","sounds": [{"name": "Laurie201_hurt","stream": false}]},
"captainspy6_living": {"category": "master","sounds": [{"name": "captainspy6_living","stream": false}]},
"captainspy6_death": {"category": "master","sounds": [{"name": "captainspy6_death","stream": false}]},
"captainspy6_hurt": {"category": "master","sounds": [{"name": "captainspy6_hurt","stream": false}]}
"captainspy6_hurt": {"category": "master","sounds": [{"name": "captainspy6_hurt","stream": false}]},
"DanTDM_hurt": {"category": "master","sounds": [{"name": "DanTDM_hurt","stream": false}]},
"DanTDM_death": {"category": "master","sounds": [{"name": "DanTDM_death","stream": false}]},
"DanTDM_living": {"category": "master","sounds": [{"name": "DanTDM_living","stream": false}]},
"RealThinknoodles_living": {"category": "master","sounds": [{"name": "RealThinknoodles_living","stream": false}]},
"RealThinknoodles_hurt": {"category": "master","sounds": [{"name": "RealThinknoodles_hurt","stream": false}]},
"RealThinknoodles_death": {"category": "master","sounds": [{"name": "RealThinknoodles_death","stream": false}]},
"records.tdm_redone": {"category": "master","sounds": [{"name": "records.tdm_redone","stream": true}]},
"records.tdm_whathappens": {"category": "master","sounds": [{"name": "records.tdm_whathappens","stream": true}]},
"records.tdm_imdead": {"category": "master","sounds": [{"name": "records.tdm_imdead","stream": true}]},
"records.tdm_smashingit": {"category": "master","sounds": [{"name": "records.tdm_smashingit","stream": true}]},
"records.tdm_mustasche": {"category": "master","sounds": [{"name": "records.tdm_mustasche","stream": true}]},
"records.tdm_oldlady": {"category": "master","sounds": [{"name": "records.tdm_oldlady","stream": true}]}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 B

View File

@ -0,0 +1,6 @@
{
"animation": {
"interpolate": true,
"frametime": 10
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

View File

@ -0,0 +1,6 @@
{
"animation": {
"interpolate": true,
"frametime": 10
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

View File

@ -0,0 +1,6 @@
{
"animation": {
"interpolate": true,
"frametime": 10
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

View File

@ -0,0 +1,6 @@
{
"animation": {
"interpolate": true,
"frametime": 10
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

View File

@ -0,0 +1,6 @@
{
"animation": {
"interpolate": true,
"frametime": 10
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 471 B

View File

@ -0,0 +1,6 @@
{
"animation": {
"interpolate": true,
"frametime": 10
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 B

View File

@ -0,0 +1,6 @@
{
"animation": {
"interpolate": true,
"frametime": 10
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

View File

@ -0,0 +1,6 @@
{
"animation": {
"interpolate": true,
"frametime": 10
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Some files were not shown because too many files have changed in this diff Show More