Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

tomatosauce's Achievements

Tree Puncher

Tree Puncher (2/8)



  1. Hi, I am trying to make a custom vine block with varying bounding box on placement. Currently, I am using the `getShape()` method from the Block class like so: public class CreepVine extends Block { public CreepVine() { super(BlockBehaviour.Properties.of(Material.REPLACEABLE_PLANT).noCollission().randomTicks().instabreak().sound(SoundType.VINE)); } @Override public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) { double width = Utils.getDoubleInRange(4, 12); double height = Utils.getDoubleInRange(4, 12); return Block.box(0.0D, 0.0D, 0.0D, width, 1.0D, height); } } However, every tick, the bounding box alters. What is the best way to make a per block basis BB on placement? Thanks in advance!
  2. I am wondering what the differences are between the two. Also, I noticed that VoxelShape is often present around AxisAlignedBB, what does it actually handle?
  3. I've successful manage to make a jigsaw structure work using the JigsawManager.addPieces() class. It seems to be working fine on worldgen: public class BridgeStructure extends Structure<NoFeatureConfig> { public BridgeStructure() { super(NoFeatureConfig.field_236558_a_); } @Override public IStartFactory<NoFeatureConfig> getStartFactory() { return BridgeStructure.Start::new; } @Override public GenerationStage.Decoration getDecorationStage() { return GenerationStage.Decoration.SURFACE_STRUCTURES; } @Override // can be generated? protected boolean func_230363_a_(ChunkGenerator chunkGenerator, BiomeProvider biomeProvider, long seed, SharedSeedRandom sharedSeedRandom, int chunkX, int chunkZ, Biome biome, ChunkPos chunkPos, NoFeatureConfig noFeatureConfig) { return true; } public static class Start extends StructureStart<NoFeatureConfig> { // structureIn chunkX chunkZ mutableBoundingBox referenceIn seedIn // p_i225876_1_ p_i225876_2_ p_i225876_3_ p_i225876_4_ p_i225876_5_ p_i225876_6_ public Start(Structure<NoFeatureConfig> structureIn, int chunkX, int chunkZ, MutableBoundingBox mutableBoundingBox, int referenceIn, long seedIn) { super(structureIn, chunkX, chunkZ, mutableBoundingBox, referenceIn, seedIn); } @Override // generatePieces public void func_230364_a_(DynamicRegistries dynamicRegistries, ChunkGenerator chunkGenerator, TemplateManager templateManager, int chunkX, int chunkZ, Biome biome, NoFeatureConfig noFeatureConfig) { int x = chunkX * 16; int z = chunkZ * 16; BlockPos centerPos = new BlockPos(x, 0, z); // addPieces JigsawManager.func_242837_a( dynamicRegistries, new VillageConfig(() -> dynamicRegistries.getRegistry(Registry.JIGSAW_POOL_KEY).getOrDefault(new ResourceLocation(ModFiddle.MOD_ID, "bridge/bridge_start")), 10), AbstractVillagePiece::new, chunkGenerator, templateManager, centerPos, this.components, this.rand, false, true); int submergedBaseOffset = -6; this.components.forEach(piece -> piece.offset(0, submergedBaseOffset, 0)); this.recalculateStructureSize(); } } } I'm interested in adding some sort of logic when jigsaw pieces are added to the structure, something that I cannot do without somehow overriding (or copying) the class. For example, continuously adding jigsaw pieces so long as there are jigsaw blocks present or generating three consecutive pieces... I'm afraid of doing something horribly stupid here. Should I not be looking into the jigsaw manager at all even? Thank for the help!
  4. There seems to be an issue with the minecolonies mod. More specifically at com.ldtteam.structurize.placement.handlers.placement.PlacementHandlers on the GrassPlacementHandler.canHandle method. As the name suggest, something is trying to access a field DIRT which is none existent. If you're not a modder, maybe look for a patch on this specifically, downgrade or update the mod, or remove it.
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.