Jump to content

MihlanDOta

Members
  • Posts

    2
  • Joined

  • Last visited

MihlanDOta's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. I have solved my problem by adding TileEntity to the block
  2. The idea is that a block has a radius, within which if a player appears, then an effect must be applied on it until he goes back outside this radius. Something like a beacon from the usual minecraft. I tried in a block class to do it this way: @Override public void tick(BlockState p_225534_1_, ServerWorld world, BlockPos pos, Random p_225534_4_) { super.tick(p_225534_1_, world, pos, p_225534_4_); int radius = 10; List<Entity> ent = world.getEntities(EntityType.PLAYER.create(world), new AxisAlignedBB(pos.getX() - radius, pos.getY() - radius, pos.getZ() - radius, pos.getX() + radius, pos.getY() + radius, pos.getZ() + radius)); for (Entity n : ent) { if (n instanceof PlayerEntity) { PlayerEntity pl = (PlayerEntity) n; pl.addEffect(new EffectInstance(Effects.BLINDNESS, 150)); } } } But for some reason the "tick" function is called only when a random tick hits this block. In fact, I need to call this function all the time, but I cannot implement it. Thank you in advance
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.