Java 类net.minecraft.item.ItemMonsterPlacer 实例源码
项目:harshencastle
文件:TileEntityHarshenSpawner.java
public EntityLivingBase getEntity(ItemStack stack)
{
if(stack.getItem() == Item.getItemFromBlock(Blocks.AIR)
|| stack.equals(ItemStack.EMPTY))
{
this.entity = null;
return null;
}
try
{
this.entity = (EntityLivingBase) ForgeRegistries.ENTITIES.getValue((ItemMonsterPlacer.getNamedIdFrom(stack))).newInstance(world);
}
catch (NullPointerException e) {
}
return this.entity;
}
项目:DecompiledMinecraft
文件:BlockPortal.java
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
{
super.updateTick(worldIn, pos, state, rand);
if (worldIn.provider.isSurfaceWorld() && worldIn.getGameRules().getBoolean("doMobSpawning") && rand.nextInt(2000) < worldIn.getDifficulty().getDifficultyId())
{
int i = pos.getY();
BlockPos blockpos;
for (blockpos = pos; !World.doesBlockHaveSolidTopSurface(worldIn, blockpos) && blockpos.getY() > 0; blockpos = blockpos.down())
{
;
}
if (i > 0 && !worldIn.getBlockState(blockpos.up()).getBlock().isNormalCube())
{
Entity entity = ItemMonsterPlacer.spawnCreature(worldIn, 57, (double)blockpos.getX() + 0.5D, (double)blockpos.getY() + 1.1D, (double)blockpos.getZ() + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:DecompiledMinecraft
文件:BlockPortal.java
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
{
super.updateTick(worldIn, pos, state, rand);
if (worldIn.provider.isSurfaceWorld() && worldIn.getGameRules().getBoolean("doMobSpawning") && rand.nextInt(2000) < worldIn.getDifficulty().getDifficultyId())
{
int i = pos.getY();
BlockPos blockpos;
for (blockpos = pos; !World.doesBlockHaveSolidTopSurface(worldIn, blockpos) && blockpos.getY() > 0; blockpos = blockpos.down())
{
;
}
if (i > 0 && !worldIn.getBlockState(blockpos.up()).getBlock().isNormalCube())
{
Entity entity = ItemMonsterPlacer.spawnCreature(worldIn, 57, (double)blockpos.getX() + 0.5D, (double)blockpos.getY() + 1.1D, (double)blockpos.getZ() + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:BaseClient
文件:CustomColors.java
private static int getSpawnEggColor(ItemMonsterPlacer p_getSpawnEggColor_0_, ItemStack p_getSpawnEggColor_1_, int p_getSpawnEggColor_2_, int p_getSpawnEggColor_3_)
{
int i = p_getSpawnEggColor_1_.getMetadata();
int[] aint = p_getSpawnEggColor_2_ == 0 ? spawnEggPrimaryColors : spawnEggSecondaryColors;
if (aint == null)
{
return p_getSpawnEggColor_3_;
}
else if (i >= 0 && i < aint.length)
{
int j = aint[i];
return j < 0 ? p_getSpawnEggColor_3_ : j;
}
else
{
return p_getSpawnEggColor_3_;
}
}
项目:BaseClient
文件:BlockPortal.java
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
{
super.updateTick(worldIn, pos, state, rand);
if (worldIn.provider.isSurfaceWorld() && worldIn.getGameRules().getBoolean("doMobSpawning") && rand.nextInt(2000) < worldIn.getDifficulty().getDifficultyId())
{
int i = pos.getY();
BlockPos blockpos;
for (blockpos = pos; !World.doesBlockHaveSolidTopSurface(worldIn, blockpos) && blockpos.getY() > 0; blockpos = blockpos.down())
{
;
}
if (i > 0 && !worldIn.getBlockState(blockpos.up()).getBlock().isNormalCube())
{
Entity entity = ItemMonsterPlacer.spawnCreature(worldIn, 57, (double)blockpos.getX() + 0.5D, (double)blockpos.getY() + 1.1D, (double)blockpos.getZ() + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:BaseClient
文件:BlockPortal.java
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
{
super.updateTick(worldIn, pos, state, rand);
if (worldIn.provider.isSurfaceWorld() && worldIn.getGameRules().getBoolean("doMobSpawning") && rand.nextInt(2000) < worldIn.getDifficulty().getDifficultyId())
{
int i = pos.getY();
BlockPos blockpos;
for (blockpos = pos; !World.doesBlockHaveSolidTopSurface(worldIn, blockpos) && blockpos.getY() > 0; blockpos = blockpos.down())
{
;
}
if (i > 0 && !worldIn.getBlockState(blockpos.up()).getBlock().isNormalCube())
{
Entity entity = ItemMonsterPlacer.spawnCreature(worldIn, 57, (double)blockpos.getX() + 0.5D, (double)blockpos.getY() + 1.1D, (double)blockpos.getZ() + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:Backmemed
文件:BlockPortal.java
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
{
super.updateTick(worldIn, pos, state, rand);
if (worldIn.provider.isSurfaceWorld() && worldIn.getGameRules().getBoolean("doMobSpawning") && rand.nextInt(2000) < worldIn.getDifficulty().getDifficultyId())
{
int i = pos.getY();
BlockPos blockpos;
for (blockpos = pos; !worldIn.getBlockState(blockpos).isFullyOpaque() && blockpos.getY() > 0; blockpos = blockpos.down())
{
;
}
if (i > 0 && !worldIn.getBlockState(blockpos.up()).isNormalCube())
{
Entity entity = ItemMonsterPlacer.spawnCreature(worldIn, EntityList.func_191306_a(EntityPigZombie.class), (double)blockpos.getX() + 0.5D, (double)blockpos.getY() + 1.1D, (double)blockpos.getZ() + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:CustomWorldGen
文件:BlockPortal.java
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
{
super.updateTick(worldIn, pos, state, rand);
if (worldIn.provider.isSurfaceWorld() && worldIn.getGameRules().getBoolean("doMobSpawning") && rand.nextInt(2000) < worldIn.getDifficulty().getDifficultyId())
{
int i = pos.getY();
BlockPos blockpos;
for (blockpos = pos; !worldIn.getBlockState(blockpos).isFullyOpaque() && blockpos.getY() > 0; blockpos = blockpos.down())
{
;
}
if (i > 0 && !worldIn.getBlockState(blockpos.up()).isNormalCube())
{
Entity entity = ItemMonsterPlacer.spawnCreature(worldIn, EntityList.getEntityStringFromClass(EntityPigZombie.class), (double)blockpos.getX() + 0.5D, (double)blockpos.getY() + 1.1D, (double)blockpos.getZ() + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:PopularMMOS-EpicProportions-Mod
文件:BlockEpicProportionsPortal.java
/**
* Ticks the block if it's been scheduled
*/
public void updateTick(World world, int x, int y, int z, Random random) {
super.updateTick(world, x, y, z, random);
if (world.provider.isSurfaceWorld() && world.getGameRules().getGameRuleBooleanValue("doMobSpawning") && random.nextInt(2000) < world.difficultySetting.getDifficultyId()) {
int l;
for (l = y; !World.doesBlockHaveSolidTopSurface(world, x, l, z) && l > 0; --l) {
;
}
if (l > 0 && !world.getBlock(x, l + 1, z).isNormalCube()) {
Entity entity = ItemMonsterPlacer.spawnCreature(world, 57, (double)x + 0.5D, (double)l + 1.1D, (double)z + 0.5D);
if (entity != null) {
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:Resilience-Client-Source
文件:BlockPortal.java
/**
* Ticks the block if it's been scheduled
*/
public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_)
{
super.updateTick(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, p_149674_5_);
if (p_149674_1_.provider.isSurfaceWorld() && p_149674_1_.getGameRules().getGameRuleBooleanValue("doMobSpawning") && p_149674_5_.nextInt(2000) < p_149674_1_.difficultySetting.getDifficultyId())
{
int var6;
for (var6 = p_149674_3_; !World.doesBlockHaveSolidTopSurface(p_149674_1_, p_149674_2_, var6, p_149674_4_) && var6 > 0; --var6)
{
;
}
if (var6 > 0 && !p_149674_1_.getBlock(p_149674_2_, var6 + 1, p_149674_4_).isNormalCube())
{
Entity var7 = ItemMonsterPlacer.spawnCreature(p_149674_1_, 57, (double)p_149674_2_ + 0.5D, (double)var6 + 1.1D, (double)p_149674_4_ + 0.5D);
if (var7 != null)
{
var7.timeUntilPortal = var7.getPortalCooldown();
}
}
}
}
项目:ExpandedRailsMod
文件:BlockPortal.java
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
{
super.updateTick(worldIn, pos, state, rand);
if (worldIn.provider.isSurfaceWorld() && worldIn.getGameRules().getBoolean("doMobSpawning") && rand.nextInt(2000) < worldIn.getDifficulty().getDifficultyId())
{
int i = pos.getY();
BlockPos blockpos;
for (blockpos = pos; !worldIn.getBlockState(blockpos).isFullyOpaque() && blockpos.getY() > 0; blockpos = blockpos.down())
{
;
}
if (i > 0 && !worldIn.getBlockState(blockpos.up()).isNormalCube())
{
Entity entity = ItemMonsterPlacer.spawnCreature(worldIn, EntityList.getEntityStringFromClass(EntityPigZombie.class), (double)blockpos.getX() + 0.5D, (double)blockpos.getY() + 1.1D, (double)blockpos.getZ() + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:Cauldron
文件:BlockPortal.java
public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_)
{
super.updateTick(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, p_149674_5_);
if (p_149674_1_.getSpigotConfig().enableZombiePigmenPortalSpawns && p_149674_1_.provider.isSurfaceWorld() && p_149674_1_.getGameRules().getGameRuleBooleanValue("doMobSpawning") && p_149674_5_.nextInt(2000) < p_149674_1_.difficultySetting.getDifficultyId()) // Spigot // Cauldron
{
int l;
for (l = p_149674_3_; !World.doesBlockHaveSolidTopSurface(p_149674_1_, p_149674_2_, l, p_149674_4_) && l > 0; --l)
{
;
}
if (l > 0 && !p_149674_1_.getBlock(p_149674_2_, l + 1, p_149674_4_).isNormalCube())
{
Entity entity = ItemMonsterPlacer.spawnCreature(p_149674_1_, 57, (double)p_149674_2_ + 0.5D, (double)l + 1.1D, (double)p_149674_4_ + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:Cauldron
文件:BlockPortal.java
public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_)
{
super.updateTick(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, p_149674_5_);
if (p_149674_1_.provider.isSurfaceWorld() && p_149674_1_.getGameRules().getGameRuleBooleanValue("doMobSpawning") && p_149674_5_.nextInt(2000) < p_149674_1_.difficultySetting.getDifficultyId())
{
int l;
for (l = p_149674_3_; !World.doesBlockHaveSolidTopSurface(p_149674_1_, p_149674_2_, l, p_149674_4_) && l > 0; --l)
{
;
}
if (l > 0 && !p_149674_1_.getBlock(p_149674_2_, l + 1, p_149674_4_).isNormalCube())
{
Entity entity = ItemMonsterPlacer.spawnCreature(p_149674_1_, 57, (double)p_149674_2_ + 0.5D, (double)l + 1.1D, (double)p_149674_4_ + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:RuneCraftery
文件:BlockPortal.java
public void func_71847_b(World p_71847_1_, int p_71847_2_, int p_71847_3_, int p_71847_4_, Random p_71847_5_) {
super.func_71847_b(p_71847_1_, p_71847_2_, p_71847_3_, p_71847_4_, p_71847_5_);
if(p_71847_1_.field_73011_w.func_76569_d() && p_71847_5_.nextInt(2000) < p_71847_1_.field_73013_u) {
int var6;
for(var6 = p_71847_3_; !p_71847_1_.func_72797_t(p_71847_2_, var6, p_71847_4_) && var6 > 0; --var6) {
;
}
if(var6 > 0 && !p_71847_1_.func_72809_s(p_71847_2_, var6 + 1, p_71847_4_)) {
Entity var7 = ItemMonsterPlacer.func_77840_a(p_71847_1_, 57, (double)p_71847_2_ + 0.5D, (double)var6 + 1.1D, (double)p_71847_4_ + 0.5D);
if(var7 != null) {
var7.field_71088_bW = var7.func_82147_ab();
}
}
}
}
项目:RuneCraftery
文件:BlockPortal.java
/**
* Ticks the block if it's been scheduled
*/
public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
{
super.updateTick(par1World, par2, par3, par4, par5Random);
if (par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting)
{
int l;
for (l = par3; !par1World.doesBlockHaveSolidTopSurface(par2, l, par4) && l > 0; --l)
{
;
}
if (l > 0 && !par1World.isBlockNormalCube(par2, l + 1, par4))
{
Entity entity = ItemMonsterPlacer.spawnCreature(par1World, 57, (double)par2 + 0.5D, (double)l + 1.1D, (double)par4 + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:RuneCraftery
文件:DispenserBehaviorMobEgg.java
/**
* Dispense the specified stack, play the dispense sound and spawn particles.
*/
public ItemStack dispenseStack(IBlockSource par1IBlockSource, ItemStack par2ItemStack)
{
EnumFacing enumfacing = BlockDispenser.getFacing(par1IBlockSource.getBlockMetadata());
double d0 = par1IBlockSource.getX() + (double)enumfacing.getFrontOffsetX();
double d1 = (double)((float)par1IBlockSource.getYInt() + 0.2F);
double d2 = par1IBlockSource.getZ() + (double)enumfacing.getFrontOffsetZ();
Entity entity = ItemMonsterPlacer.spawnCreature(par1IBlockSource.getWorld(), par2ItemStack.getItemDamage(), d0, d1, d2);
if (entity instanceof EntityLivingBase && par2ItemStack.hasDisplayName())
{
((EntityLiving)entity).setCustomNameTag(par2ItemStack.getDisplayName());
}
par2ItemStack.splitStack(1);
return par2ItemStack;
}
项目:MysticRPG
文件:YirawiaPortal.java
@Override
public void updateTick(World par1World, int par2, int par3, int par4,
Random par5Random) {
super.updateTick(par1World, par2, par3, par4, par5Random);
if (par1World.provider.isSurfaceWorld()
&& par5Random.nextInt(2000) < par1World.difficultySetting) {
int l;
for (l = par3; !par1World.doesBlockHaveSolidTopSurface(par2, l,
par4) && l > 0; --l) {
;
}
if (l > 0 && !par1World.isBlockNormalCube(par2, l + 1, par4)) {
Entity entity = ItemMonsterPlacer.spawnCreature(par1World, 57,
par2 + 0.5D, l + 1.1D, par4 + 0.5D);
if (entity != null) {
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:BetterNutritionMod
文件:BlockPortal.java
/**
* Ticks the block if it's been scheduled
*/
public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
{
super.updateTick(par1World, par2, par3, par4, par5Random);
if (par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting)
{
int l;
for (l = par3; !par1World.doesBlockHaveSolidTopSurface(par2, l, par4) && l > 0; --l)
{
;
}
if (l > 0 && !par1World.isBlockNormalCube(par2, l + 1, par4))
{
Entity entity = ItemMonsterPlacer.spawnCreature(par1World, 57, (double)par2 + 0.5D, (double)l + 1.1D, (double)par4 + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:BetterNutritionMod
文件:DispenserBehaviorMobEgg.java
/**
* Dispense the specified stack, play the dispense sound and spawn particles.
*/
public ItemStack dispenseStack(IBlockSource par1IBlockSource, ItemStack par2ItemStack)
{
EnumFacing enumfacing = BlockDispenser.getFacing(par1IBlockSource.getBlockMetadata());
double d0 = par1IBlockSource.getX() + (double)enumfacing.getFrontOffsetX();
double d1 = (double)((float)par1IBlockSource.getYInt() + 0.2F);
double d2 = par1IBlockSource.getZ() + (double)enumfacing.getFrontOffsetZ();
Entity entity = ItemMonsterPlacer.spawnCreature(par1IBlockSource.getWorld(), par2ItemStack.getItemDamage(), d0, d1, d2);
if (entity instanceof EntityLivingBase && par2ItemStack.hasDisplayName())
{
((EntityLiving)entity).setCustomNameTag(par2ItemStack.getDisplayName());
}
par2ItemStack.splitStack(1);
return par2ItemStack;
}
项目:JLPModJam
文件:BlockPortalDreamLand.java
/**
* Checks to see if this location is valid to create a portal and will
* return True if it does. Args: world, x, y, z
*/
@Override
public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) {
super.updateTick(par1World, par2, par3, par4, par5Random);
if (par1World.provider.isSurfaceWorld()
&& (par5Random.nextInt(2000) < par1World.difficultySetting)){
int l;
for (l = par3; !par1World.doesBlockHaveSolidTopSurface(par2, l, par4) && (l > 0); --l){
;
}
if ((l > 0) && !par1World.isBlockNormalCube(par2, l + 1, par4)){
Entity entity = ItemMonsterPlacer.spawnCreature(par1World, 57, par2 + 0.5D,
l + 1.1D, par4 + 0.5D);
if (entity != null){
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:JLPModJam
文件:BlockPortalNightMare.java
/**
* Checks to see if this location is valid to create a portal and will
* return True if it does. Args: world, x, y, z
*/
@Override
public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) {
super.updateTick(par1World, par2, par3, par4, par5Random);
if (par1World.provider.isSurfaceWorld()
&& (par5Random.nextInt(2000) < par1World.difficultySetting)){
int l;
for (l = par3; !par1World.doesBlockHaveSolidTopSurface(par2, l, par4) && (l > 0); --l){
;
}
if ((l > 0) && !par1World.isBlockNormalCube(par2, l + 1, par4)){
Entity entity = ItemMonsterPlacer.spawnCreature(par1World, 57, par2 + 0.5D,
l + 1.1D, par4 + 0.5D);
if (entity != null){
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:Bubblegum-Mod
文件:BlockBGMPortal.java
/**
* Ticks the block if it's been scheduled
*/
public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
{
super.updateTick(par1World, par2, par3, par4, par5Random);
if (par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting)
{
int l;
for (l = par3; !par1World.doesBlockHaveSolidTopSurface(par2, l, par4) && l > 0; --l)
{
;
}
if (l > 0 && !par1World.isBlockNormalCube(par2, l + 1, par4))
{
Entity entity = ItemMonsterPlacer.spawnCreature(par1World, 57, (double)par2 + 0.5D, (double)l + 1.1D, (double)par4 + 0.5D);
if (entity != null)
{
entity.timeUntilPortal = entity.getPortalCooldown();
}
}
}
}
项目:Artifacts
文件:DispenserBehaviorMobEgg.java
/**
* Dispense the specified stack, play the dispense sound and spawn particles.
*/
public ItemStack dispenseStack(IBlockSource par1IBlockSource, ItemStack par2ItemStack)
{
EnumFacing enumfacing = BlockDispenser.func_149937_b/*getFacing*/(par1IBlockSource.getBlockMetadata());
double d0 = par1IBlockSource.getX() + (double)enumfacing.getFrontOffsetX();
double d1 = (double)((float)par1IBlockSource.getYInt() + 0.2F) + enumfacing.getFrontOffsetY();
double d2 = par1IBlockSource.getZ() + (double)enumfacing.getFrontOffsetZ();
Entity entity = ItemMonsterPlacer.spawnCreature(par1IBlockSource.getWorld(), par2ItemStack.getItemDamage(), d0, d1, d2);
if (entity instanceof EntityLiving && par2ItemStack.hasDisplayName())
{
((EntityLiving)entity).setCustomNameTag(par2ItemStack.getDisplayName());
}
par2ItemStack.splitStack(1);
return par2ItemStack;
}
项目:harshencastle
文件:HarshenSpawner.java
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn,
EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
if(playerIn.getHeldItem(hand).getItem() instanceof ItemMonsterPlacer || playerIn.getHeldItem(hand).getItem() == Item.getItemFromBlock(Blocks.AIR))
super.onBlockActivated(worldIn, pos, state, playerIn, hand, facing, hitX, hitY, hitZ);
return playerIn.capabilities.isCreativeMode;
}
项目:BaseClient
文件:CustomColors.java
public static int getColorFromItemStack(ItemStack p_getColorFromItemStack_0_, int p_getColorFromItemStack_1_, int p_getColorFromItemStack_2_)
{
if (p_getColorFromItemStack_0_ == null)
{
return p_getColorFromItemStack_2_;
}
else
{
Item item = p_getColorFromItemStack_0_.getItem();
return item == null ? p_getColorFromItemStack_2_ : (item instanceof ItemMonsterPlacer ? getSpawnEggColor((ItemMonsterPlacer)item, p_getColorFromItemStack_0_, p_getColorFromItemStack_1_, p_getColorFromItemStack_2_) : p_getColorFromItemStack_2_);
}
}
项目:Backmemed
文件:EntityAgeable.java
public boolean processInteract(EntityPlayer player, EnumHand hand)
{
ItemStack itemstack = player.getHeldItem(hand);
if (itemstack.getItem() == Items.SPAWN_EGG)
{
if (!this.world.isRemote)
{
Class <? extends Entity > oclass = (Class)EntityList.field_191308_b.getObject(ItemMonsterPlacer.func_190908_h(itemstack));
if (oclass != null && this.getClass() == oclass)
{
EntityAgeable entityageable = this.createChild(this);
if (entityageable != null)
{
entityageable.setGrowingAge(-24000);
entityageable.setLocationAndAngles(this.posX, this.posY, this.posZ, 0.0F, 0.0F);
this.world.spawnEntityInWorld(entityageable);
if (itemstack.hasDisplayName())
{
entityageable.setCustomNameTag(itemstack.getDisplayName());
}
if (!player.capabilities.isCreativeMode)
{
itemstack.func_190918_g(1);
}
}
}
}
return true;
}
else
{
return false;
}
}
项目:Backmemed
文件:EntityAgeable.java
protected boolean func_190669_a(ItemStack p_190669_1_, Class <? extends Entity > p_190669_2_)
{
if (p_190669_1_.getItem() != Items.SPAWN_EGG)
{
return false;
}
else
{
Class <? extends Entity > oclass = (Class)EntityList.field_191308_b.getObject(ItemMonsterPlacer.func_190908_h(p_190669_1_));
return oclass != null && p_190669_2_ == oclass;
}
}
项目:Backmemed
文件:CustomColors.java
public static int getColorFromItemStack(ItemStack p_getColorFromItemStack_0_, int p_getColorFromItemStack_1_, int p_getColorFromItemStack_2_)
{
if (p_getColorFromItemStack_0_ == null)
{
return p_getColorFromItemStack_2_;
}
else
{
Item item = p_getColorFromItemStack_0_.getItem();
return item == null ? p_getColorFromItemStack_2_ : (item instanceof ItemMonsterPlacer ? getSpawnEggColor((ItemMonsterPlacer)item, p_getColorFromItemStack_0_, p_getColorFromItemStack_1_, p_getColorFromItemStack_2_) : p_getColorFromItemStack_2_);
}
}
项目:CustomWorldGen
文件:EntityAgeable.java
public boolean processInteract(EntityPlayer player, EnumHand hand, @Nullable ItemStack stack)
{
if (stack != null && stack.getItem() == Items.SPAWN_EGG)
{
if (!this.worldObj.isRemote)
{
Class <? extends Entity > oclass = EntityList.NAME_TO_CLASS.get(ItemMonsterPlacer.getEntityIdFromItem(stack));
if (oclass != null && this.getClass() == oclass)
{
EntityAgeable entityageable = this.createChild(this);
if (entityageable != null)
{
entityageable.setGrowingAge(-24000);
entityageable.setLocationAndAngles(this.posX, this.posY, this.posZ, 0.0F, 0.0F);
this.worldObj.spawnEntityInWorld(entityageable);
if (stack.hasDisplayName())
{
entityageable.setCustomNameTag(stack.getDisplayName());
}
if (!player.capabilities.isCreativeMode)
{
--stack.stackSize;
}
}
}
}
return true;
}
else
{
return false;
}
}
项目:blockbuster
文件:BlockbusterTab.java
/**
* Display all items and also an actor egg
*/
@Override
@SideOnly(Side.CLIENT)
public void displayAllRelevantItems(java.util.List<net.minecraft.item.ItemStack> items)
{
super.displayAllRelevantItems(items);
ItemStack stack = new ItemStack(Items.SPAWN_EGG);
ItemMonsterPlacer.applyEntityIdToItemStack(stack, "blockbuster.Actor");
items.add(stack);
}
项目:ExpandedRailsMod
文件:EntityAgeable.java
public boolean processInteract(EntityPlayer player, EnumHand hand, @Nullable ItemStack stack)
{
if (stack != null && stack.getItem() == Items.SPAWN_EGG)
{
if (!this.worldObj.isRemote)
{
Class <? extends Entity > oclass = EntityList.NAME_TO_CLASS.get(ItemMonsterPlacer.getEntityIdFromItem(stack));
if (oclass != null && this.getClass() == oclass)
{
EntityAgeable entityageable = this.createChild(this);
if (entityageable != null)
{
entityageable.setGrowingAge(-24000);
entityageable.setLocationAndAngles(this.posX, this.posY, this.posZ, 0.0F, 0.0F);
this.worldObj.spawnEntityInWorld(entityageable);
if (stack.hasDisplayName())
{
entityageable.setCustomNameTag(stack.getDisplayName());
}
if (!player.capabilities.isCreativeMode)
{
--stack.stackSize;
}
}
}
}
return true;
}
else
{
return false;
}
}
项目:RuneCraftery
文件:DispenserBehaviorMobEgg.java
public ItemStack func_82487_b(IBlockSource p_82487_1_, ItemStack p_82487_2_) {
EnumFacing var3 = BlockDispenser.func_100009_j_(p_82487_1_.func_82620_h());
double var4 = p_82487_1_.func_82615_a() + (double)var3.func_82601_c();
double var6 = (double)((float)p_82487_1_.func_82622_e() + 0.2F);
double var8 = p_82487_1_.func_82616_c() + (double)var3.func_82599_e();
Entity var10 = ItemMonsterPlacer.func_77840_a(p_82487_1_.func_82618_k(), p_82487_2_.func_77960_j(), var4, var6, var8);
if(var10 instanceof EntityLivingBase && p_82487_2_.func_82837_s()) {
((EntityLiving)var10).func_94058_c(p_82487_2_.func_82833_r());
}
p_82487_2_.func_77979_a(1);
return p_82487_2_;
}
项目:Proyecto-DASI
文件:MinecraftTypeHelper.java
/** Attempt to break the item on this itemstack into a type/variant/colour which we can use for communication with the Malmo platform.
* @param is the ItemStack containing the item we are attempting to deconstruct.
* @return an XML DrawItem object containing the item's type, variant, colour etc.
*/
public static DrawItem getDrawItemFromItemStack(ItemStack is)
{
if (is == null)
return null;
DrawItem di = new DrawItem();
String name = is.getUnlocalizedName(); // Get unlocalised name from the stack, not the stack's item - this ensures we keep the metadata.
if (is.getHasSubtypes())
{
// If the item has subtypes, then there are varieties - eg different colours, types, etc.
// Attempt to map from these subtypes back to variant/colour.
// Do this by decomposing the unlocalised name:
List<String> itemParts = new ArrayList<String>(Arrays.asList(name.split("\\.")));
if (is.getItem() instanceof ItemMonsterPlacer)
{
// Special case for eggs:
itemParts.add(ItemMonsterPlacer.getEntityName(is));
}
// First part will be "tile" or "item".
// Second part will be the item itself (eg "dyePowder" or "stainedGlass" etc).
// Third part will be the variant, colour etc.
Colour col = null;
Variation var = null;
for (int part = 2; part < itemParts.size(); part++)
{
String section = itemParts.get(part);
// First see if this matches a colour:
if (col == null)
{
col = attemptToGetAsColour(section);
if (col == null && var == null) // If it wasn't a colour, check to see if it was a variant:
var = attemptToGetAsVariant(section, is);
}
else if (var == null)
var = attemptToGetAsVariant(section, is);
}
di.setColour(col);
di.setVariant(var);
}
// Use the item registry name for the item - this is what we use in Types.XSD
Object obj = Item.itemRegistry.getNameForObject(is.getItem());
String publicName;
if (obj instanceof ResourceLocation)
publicName = ((ResourceLocation)obj).getResourcePath();
else
publicName = obj.toString();
di.setType(publicName);
return di;
}
项目:Proyecto-DASI
文件:MinecraftTypeHelper.java
/** Attempt to break the item on this itemstack into a type/variant/colour which we can use for communication with the Malmo platform.
* @param is the ItemStack containing the item we are attempting to deconstruct.
* @return an XML DrawItem object containing the item's type, variant, colour etc.
*/
public static DrawItem getDrawItemFromItemStack(ItemStack is)
{
if (is == null)
return null;
DrawItem di = new DrawItem();
String name = is.getUnlocalizedName(); // Get unlocalised name from the stack, not the stack's item - this ensures we keep the metadata.
if (is.getHasSubtypes())
{
// If the item has subtypes, then there are varieties - eg different colours, types, etc.
// Attempt to map from these subtypes back to variant/colour.
// Do this by decomposing the unlocalised name:
List<String> itemParts = new ArrayList<String>(Arrays.asList(name.split("\\.")));
if (is.getItem() instanceof ItemMonsterPlacer)
{
// Special case for eggs:
itemParts.add(ItemMonsterPlacer.getEntityName(is));
}
// First part will be "tile" or "item".
// Second part will be the item itself (eg "dyePowder" or "stainedGlass" etc).
// Third part will be the variant, colour etc.
Colour col = null;
Variation var = null;
for (int part = 2; part < itemParts.size(); part++)
{
String section = itemParts.get(part);
// First see if this matches a colour:
if (col == null)
{
col = attemptToGetAsColour(section);
if (col == null && var == null) // If it wasn't a colour, check to see if it was a variant:
var = attemptToGetAsVariant(section, is);
}
else if (var == null)
var = attemptToGetAsVariant(section, is);
}
di.setColour(col);
di.setVariant(var);
}
// Use the item registry name for the item - this is what we use in Types.XSD
Object obj = Item.itemRegistry.getNameForObject(is.getItem());
String publicName;
if (obj instanceof ResourceLocation)
publicName = ((ResourceLocation)obj).getResourcePath();
else
publicName = obj.toString();
di.setType(publicName);
return di;
}
项目:Backmemed
文件:CustomColors.java
private static int getSpawnEggColor(ItemMonsterPlacer p_getSpawnEggColor_0_, ItemStack p_getSpawnEggColor_1_, int p_getSpawnEggColor_2_, int p_getSpawnEggColor_3_)
{
if (spawnEggPrimaryColors == null && spawnEggSecondaryColors == null)
{
return p_getSpawnEggColor_3_;
}
else
{
NBTTagCompound nbttagcompound = p_getSpawnEggColor_1_.getTagCompound();
if (nbttagcompound == null)
{
return p_getSpawnEggColor_3_;
}
else
{
NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("EntityTag");
if (nbttagcompound1 == null)
{
return p_getSpawnEggColor_3_;
}
else
{
String s = nbttagcompound1.getString("id");
int i = EntityUtils.getEntityIdByLocation(s);
int[] aint = p_getSpawnEggColor_2_ == 0 ? spawnEggPrimaryColors : spawnEggSecondaryColors;
if (aint == null)
{
return p_getSpawnEggColor_3_;
}
else if (i >= 0 && i < aint.length)
{
int j = aint[i];
return j < 0 ? p_getSpawnEggColor_3_ : j;
}
else
{
return p_getSpawnEggColor_3_;
}
}
}
}
}
项目:malmo
文件:MinecraftTypeHelper.java
/** Attempt to break the item on this itemstack into a type/variant/colour which we can use for communication with the Malmo platform.
* @param is the ItemStack containing the item we are attempting to deconstruct.
* @return an XML DrawItem object containing the item's type, variant, colour etc.
*/
public static DrawItem getDrawItemFromItemStack(ItemStack is)
{
if (is == null)
return null;
DrawItem di = new DrawItem();
String name = is.getUnlocalizedName(); // Get unlocalised name from the stack, not the stack's item - this ensures we keep the metadata.
if (is.getHasSubtypes())
{
// If the item has subtypes, then there are varieties - eg different colours, types, etc.
// Attempt to map from these subtypes back to variant/colour.
// Do this by decomposing the unlocalised name:
List<String> itemParts = new ArrayList<String>(Arrays.asList(name.split("\\.")));
if (is.getItem() instanceof ItemMonsterPlacer)
{
// Special case for eggs:
itemParts.add(ItemMonsterPlacer.getNamedIdFrom(is).toString());
}
// First part will be "tile" or "item".
// Second part will be the item itself (eg "dyePowder" or "stainedGlass" etc).
// Third part will be the variant, colour etc.
Colour col = null;
Variation var = null;
for (int part = 2; part < itemParts.size(); part++)
{
String section = itemParts.get(part);
// First see if this matches a colour:
if (col == null)
{
col = attemptToGetAsColour(section);
if (col == null && var == null) // If it wasn't a colour, check to see if it was a variant:
var = attemptToGetAsVariant(section, is);
}
else if (var == null)
var = attemptToGetAsVariant(section, is);
}
di.setColour(col);
di.setVariant(var);
}
// Use the item registry name for the item - this is what we use in Types.XSD
Object obj = Item.REGISTRY.getNameForObject(is.getItem());
String publicName;
if (obj instanceof ResourceLocation)
publicName = ((ResourceLocation)obj).getResourcePath();
else
publicName = obj.toString();
di.setType(publicName);
return di;
}
项目:malmo
文件:MinecraftTypeHelper.java
public static ItemStack getItemStackFromDrawItem(DrawItem i)
{
ItemStack itemStack = null;
// First see if this is an item:
Item item = MinecraftTypeHelper.ParseItemType(i.getType(), false);
if (item == null)
{
// No, so is it a block type?
IBlockState block = MinecraftTypeHelper.ParseBlockType(i.getType());
if (block != null)
{
// It is - apply the modifications:
block = BlockDrawingHelper.applyModifications(block, i.getColour(), i.getFace(), i.getVariant());
// And try to return as an item:
if (block != null && block.getBlock() != null && Item.getItemFromBlock(block.getBlock()) != null)
{
itemStack = new ItemStack(block.getBlock(), 1, block.getBlock().getMetaFromState(block));
}
}
}
else
{
if (item.getHasSubtypes() && (i.getColour() != null || i.getVariant() != null))
{
// Attempt to find the subtype for this colour/variant - made tricky
// because Items don't provide any nice property stuff like Blocks do...
NonNullList<ItemStack> subItems = NonNullList.create();
item.getSubItems(item, null, subItems);
for (ItemStack is : subItems)
{
String fullName = is.getUnlocalizedName();
if (is.getItem() instanceof ItemMonsterPlacer)
{
fullName += "." + ItemMonsterPlacer.getNamedIdFrom(is).toString(); // Special handling for eggs
}
String[] parts = fullName.split("\\.");
for (int p = 0; p < parts.length; p++)
{
Variation v = attemptToGetAsVariant(parts[p], is);
Colour c = attemptToGetAsColour(parts[p]);
if ((v != null && i.getVariant() != null && v.getValue().equals(i.getVariant().getValue())) || (c != null && i.getColour() != null && c == i.getColour()))
{
// This is it??
return is;
}
}
}
}
itemStack = new ItemStack(item);
}
return itemStack;
}
项目:EverythingBlocks
文件:EverythingColor.java
/** Find the average color of an item */
public static int getAverageColorUnbounded(ItemStack stack) {
ItemColors cols = Minecraft.getMinecraft().getItemColors();
// null -> return white
if(stack == null) return DEFAULT_COLOR;
ItemStack nStack = stack.copy();
nStack.stackSize = 1; // constant size (for counting / caching)
Item item = nStack.getItem();
// this stack overrides all color calculations
if(item instanceof IOverrideEBColor) {
return ((IOverrideEBColor)item).getEverythingBlockColor(nStack);
}
// non-overridden calculations cached for performance
if(itemColorCache.containsKey(item.toString())) {
return itemColorCache.get(item.toString());
} else if(stackColorCache.containsKey(nStack.toString())) {
return stackColorCache.get(nStack.toString());
}
// the color of potion stacks is their liquid color
if(item instanceof ItemPotion) {
return addStackToColorCache(nStack, cols.getColorFromItemstack(stack, 0));
}
// the color of spawn egg blocks is the average of their layers
if(item instanceof ItemMonsterPlacer) {
IntList colList = (IntList) new IntList().join(cols.getColorFromItemstack(stack, 0)).join(cols.getColorFromItemstack(stack, 1));
return addStackToColorCache(nStack, ColorHelper.averageColors(colList));
}
// dyeable armor returns a slightly darkened dye color
if(item instanceof ItemArmor && ((ItemArmor)item).getColor(stack) > -1) {
return addStackToColorCache(nStack, ColorHelper.averageColors(((ItemArmor)item).getColor(stack), 0, 0.75));
}
// sensitive code
try {
// get the texture from the ItemStack (IN GAME, not in init methods or events!)
TextureAtlasSprite sprite = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel(nStack).getParticleTexture();
if(sprite == null) return addStackToColorCache(nStack, cols.getColorFromItemstack(stack, 0)); // default to item stack color
int w = sprite.getIconWidth();
int h = sprite.getIconHeight();
// now look at the pixels
IntList colors = new IntList();
int[] aint = sprite.getFrameTextureData(0)[0];
for(int x = 0; x < w; x++) {
for(int y = 0; y < h; y++) {
int c = aint[x + y * h];
if(c == 0) continue; // skip alpha pixels
colors.add(c);
}
}
// this is the base color
int baseColor = ColorHelper.averageColors(colors);
// now get the defined item stack color
int stackColor = cols.getColorFromItemstack(stack, 0);
// get the subtractive mix, add it to the cache, and return!
return addStackToColorCache(nStack, ColorHelper.subtractMixColors(baseColor, stackColor));
} catch (Exception e) {
Log.logger.warn("Exception caught getting color from ItemStack " + nStack.toString());
return addStackToColorCache(nStack, DEFAULT_COLOR);
}
}