Jump to content

Fryzek

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by Fryzek

  1. I need to create an invisible barrier on my server through which the player will be able to pass freely but monsters can't, I figured I'd do it with a block created in mcraft but I was able to create only an invisible block through which you can pass or not, but everyone or no one can pass through, I need division players yes mobs no In mcreator I created something like this package net.mcreator.test.block; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.pathfinder.BlockPathTypes; import net.minecraft.world.level.material.Material; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.item.ItemStack; import net.minecraft.world.entity.Mob; import net.minecraft.core.BlockPos; import java.util.List; import java.util.Collections; public class NiewidzialnyblokBlock extends Block { public NiewidzialnyblokBlock() { super(BlockBehaviour.Properties.of(Material.GLASS).sound(SoundType.GRAVEL).strength(1f, 10f).noCollission().noOcclusion().isRedstoneConductor((bs, br, bp) -> false)); } @Override public boolean propagatesSkylightDown(BlockState state, BlockGetter reader, BlockPos pos) { return true; } @Override public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) { return 0; } @Override public VoxelShape getVisualShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) { return Shapes.empty(); } @Override public BlockPathTypes getBlockPathType(BlockState state, BlockGetter world, BlockPos pos, Mob entity) { return BlockPathTypes.BLOCKED; } @Override public List<ItemStack> getDrops(BlockState state, LootContext.Builder builder) { List<ItemStack> dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; return Collections.singletonList(new ItemStack(this, 1)); } } responsible for collisions or lack thereof .noCollision() parameter, how to split it between players and mobs? if you have any other idea how to create a barrier that lets players through and mobs don't, you can write below
×
×
  • Create New...

Important Information

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