1.0.2.2
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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];
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
|
@ -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) {
|
||||
{
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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_);
|
||||
}
|
||||
|
||||
}
|
|
@ -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"));
|
||||
|
||||
}
|
||||
}
|
|
@ -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"));
|
||||
|
||||
}
|
||||
}
|
|
@ -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"));
|
||||
|
||||
}
|
||||
}
|
|
@ -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_);
|
||||
}
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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) {
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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_;
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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");
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -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");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.jtrent238.youtubers.items;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
public class ItemFanMail extends Item{
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package com.jtrent238.youtubers.items;
|
||||
|
||||
public class ItemPlayerSpawner extends ItemSpawnEgg{
|
||||
|
||||
}
|
|
@ -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";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package com.jtrent238.youtubers.items.materials;
|
||||
|
||||
public class ItemRealThinknoodlesIngot extends YouTuberIngot{
|
||||
|
||||
}
|
|
@ -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_);
|
||||
}
|
||||
|
||||
}
|
|
@ -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_);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package com.jtrent238.youtubers.items.tools;
|
||||
|
||||
public class ItemRealThinknoodlesMultiTool extends ItemMultiTool{
|
||||
|
||||
public ItemRealThinknoodlesMultiTool(ToolMaterial material) {
|
||||
super(material);
|
||||
}
|
||||
|
||||
}
|
|
@ -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_);
|
||||
}
|
||||
|
||||
}
|
|
@ -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_);
|
||||
}
|
||||
|
||||
}
|
|
@ -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_);
|
||||
}
|
||||
|
||||
}
|
|
@ -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_);
|
||||
}
|
||||
}
|
|
@ -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_;
|
||||
}
|
||||
}
|
|
@ -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_);
|
||||
}
|
||||
}
|
|
@ -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) {}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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
|
|
@ -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}]}
|
||||
}
|
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 448 B |
After Width: | Height: | Size: 451 B |
After Width: | Height: | Size: 451 B |
After Width: | Height: | Size: 501 B |
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frametime": 10
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 473 B |
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frametime": 10
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 455 B |
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frametime": 10
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 491 B |
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frametime": 10
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 508 B |
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frametime": 10
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 471 B |
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frametime": 10
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 448 B |
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frametime": 10
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 488 B |
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frametime": 10
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 555 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 362 B |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 277 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 156 B |
After Width: | Height: | Size: 269 B |
After Width: | Height: | Size: 269 B |
After Width: | Height: | Size: 269 B |
After Width: | Height: | Size: 272 B |