Add chunk reference to Tick

This commit is contained in:
LeoDog896 2021-09-11 11:49:14 -04:00
parent 3e386a1491
commit 888405c54c
2 changed files with 19 additions and 6 deletions

View File

@ -97,7 +97,7 @@ public class DynamicChunk extends Chunk {
final int y = ChunkUtils.blockIndexToChunkPositionY(index); final int y = ChunkUtils.blockIndexToChunkPositionY(index);
final int z = ChunkUtils.blockIndexToChunkPositionZ(index); final int z = ChunkUtils.blockIndexToChunkPositionZ(index);
final Vec blockPosition = new Vec(x, y, z); final Vec blockPosition = new Vec(x, y, z);
handler.tick(new BlockHandler.Tick(block, instance, blockPosition)); handler.tick(new BlockHandler.Tick(block, instance, blockPosition, this));
}); });
} }

View File

@ -3,6 +3,8 @@ package net.minestom.server.instance.block;
import net.minestom.server.coordinate.Point; import net.minestom.server.coordinate.Point;
import net.minestom.server.entity.Entity; import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Player; import net.minestom.server.entity.Player;
import net.minestom.server.instance.Chunk;
import net.minestom.server.instance.DynamicChunk;
import net.minestom.server.instance.Instance; import net.minestom.server.instance.Instance;
import net.minestom.server.tag.Tag; import net.minestom.server.tag.Tag;
import net.minestom.server.utils.NamespaceID; import net.minestom.server.utils.NamespaceID;
@ -269,13 +271,15 @@ public interface BlockHandler {
class Tick { class Tick {
private final Block block; private final Block block;
private final Instance instance; private final Instance instance;
private final Point blockPosition; private final Point relativeBlockPosition;
private final DynamicChunk chunk;
@ApiStatus.Internal @ApiStatus.Internal
public Tick(Block block, Instance instance, Point blockPosition) { public Tick(Block block, Instance instance, Point relativeBlockPosition, DynamicChunk chunk) {
this.block = block; this.block = block;
this.instance = instance; this.instance = instance;
this.blockPosition = blockPosition; this.relativeBlockPosition = relativeBlockPosition;
this.chunk = chunk;
} }
public @NotNull Block getBlock() { public @NotNull Block getBlock() {
@ -286,8 +290,17 @@ public interface BlockHandler {
return instance; return instance;
} }
public @NotNull Point getBlockPosition() { /**
return blockPosition; * Gets the block position relative to this {@link Tick}'s {@link DynamicChunk}
*
* @return The relative block position to this Chunk
*/
public @NotNull Point getRelativeBlockPosition() {
return relativeBlockPosition;
}
public @NotNull DynamicChunk getChunk() {
return chunk;
} }
} }