- 47
- 4
- 8
Всем привет!
История сей странности такова...
Сидел значит я и решил сделать туман на входе в локацию с боссом...
Зашел в исходники майна и жадностью вгрызся в класс с блоком портала!
Нарисовал текстуру, запустил клиент...
С радостно наблюдал великолепную картину! (всё вроде идет по плану)
ВСЕ ПОЛУЧИЛОСЬ!!!
Сказал я себе и прошел сквозь блок в режиме креатива...
Увидел тот самый эффект который мне нужен!
Однако после того как я вошел в режим выживания и проделала ту-же процедуру ( прошел сквозь блок ) я начал получать урон ( задыхаться в блоке )
Плюс к этому блок как-бы выталкивал меня из себя.
Тут я опечалился. Стал искать проблему, зашел в класс своего блока и увидел, что (Material.rock) Обрадовался, что я такой убийца тигриный лев и нашел ошибку, поменял на (Material.web) Зайдя в игру и пройдя опять сквозь блок я перестал получать урон... Однако увидел вот это...
Каким образом получить эффект затемнения как при (Material.rock) и при этом не получать урон ?
Вот собственно код моего блока...
История сей странности такова...
Сидел значит я и решил сделать туман на входе в локацию с боссом...
Зашел в исходники майна и жадностью вгрызся в класс с блоком портала!
Нарисовал текстуру, запустил клиент...
С радостно наблюдал великолепную картину! (всё вроде идет по плану)
ВСЕ ПОЛУЧИЛОСЬ!!!
Сказал я себе и прошел сквозь блок в режиме креатива...
Увидел тот самый эффект который мне нужен!
Однако после того как я вошел в режим выживания и проделала ту-же процедуру ( прошел сквозь блок ) я начал получать урон ( задыхаться в блоке )
Плюс к этому блок как-бы выталкивал меня из себя.
Тут я опечалился. Стал искать проблему, зашел в класс своего блока и увидел, что (Material.rock) Обрадовался, что я такой убийца тигриный лев и нашел ошибку, поменял на (Material.web) Зайдя в игру и пройдя опять сквозь блок я перестал получать урон... Однако увидел вот это...
Каким образом получить эффект затемнения как при (Material.rock) и при этом не получать урон ?
Вот собственно код моего блока...
Java:
package ru.zxter.rpi.blocks;
import cpw.mods.fml.common.registry.GameRegistry;
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.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
import ru.zxter.rpi.main;
import java.util.Random;
/**
* Created by zxter on 18.01.2021.
*/
public class FogBlock extends Block {
public FogBlock (String name, String texture){
super(Material.web);
GameRegistry.registerBlock(this, name);
this.setBlockTextureName(main.MODID + ":" + texture);
this.setHardness(6000000.0F);
this.setResistance(6000000.0F);
// this.setLightOpacity(13);
setBlockUnbreakable();
this.setLightLevel(0.9375F);
this.setBlockName(name);
this.setCreativeTab(CreativeTabs.tabBlock);
this.setHarvestLevel("pickaxe", 3);
}
@Override
public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_)
{
return null;
}
@Override
public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity p_149670_5_)
{
if (p_149670_5_.ridingEntity == null && p_149670_5_.riddenByEntity == null)
{
p_149670_5_.getAir();
}
}
@SideOnly(Side.CLIENT)
public void randomDisplayTick(World world, int x, int y, int z, Random random)
{
if (random.nextInt(100) == 0)
{
world.playSound((double)x + 0.5D, (double)y + 0.5D, (double)z + 0.5D, main.MODID +":" + "block.fog", 0.5F, random.nextFloat() * 0.4F + 0.8F, false);
}
}
}