// Generated by tools/gen.zig, do not edit. const abi = @import("../abi.zig"); const world = @import("world.zig"); const text = @import("text.zig"); const item_stack = @import("item_stack.zig"); const uuid = @import("uuid.zig"); pub const Entity = world.Entity; pub const TextComponent = text.TextComponent; pub const ItemStack = item_stack.ItemStack; pub const Uuid = uuid.Uuid; /// Billboard rendering constraints for display entities. pub const BillboardMode = enum(u8) { fixed, vertical, horizontal, center, }; /// Item display transformation modes for item display entities. pub const ItemDisplayMode = enum(u8) { none, thirdperson_lefthand, thirdperson_righthand, firstperson_lefthand, firstperson_righthand, head, gui, ground, fixed, }; /// Text alignment options for text display entities. pub const TextAlignment = enum(u8) { center, left, right, }; /// 3D single-precision vector. pub const Vector3f = struct { x: f32, y: f32, z: f32, }; /// Single-precision quaternion representing a 3D rotation. pub const Quaternionf = struct { x: f32, y: f32, z: f32, w: f32, }; /// Transformation (translation, scale, left and right rotations) for display entities. pub const DisplayTransformation = struct { translation: Vector3f, scale: Vector3f, left_rotation: Quaternionf, right_rotation: Quaternionf, }; /// Common base resource for all display entities. pub const DisplayEntity = enum(u32) { _, pub const resource_drop = &raw.@"[resource-drop]display-entity"; pub fn fromEntity(entity: Entity) ?DisplayEntity { return abi.call(raw.@"[static]display-entity.from-entity", ?DisplayEntity, .{abi.borrow(entity)}); } pub fn getEntity(self: DisplayEntity) Entity { return abi.call(raw.@"[method]display-entity.get-entity", Entity, .{abi.borrow(self)}); } pub fn getTransformation(self: DisplayEntity) DisplayTransformation { return abi.call(raw.@"[method]display-entity.get-transformation", DisplayTransformation, .{abi.borrow(self)}); } pub fn setTransformation(self: DisplayEntity, transformation: DisplayTransformation) void { return abi.call(raw.@"[method]display-entity.set-transformation", void, .{ abi.borrow(self), transformation }); } pub fn getInterpolationDuration(self: DisplayEntity) i32 { return abi.call(raw.@"[method]display-entity.get-interpolation-duration", i32, .{abi.borrow(self)}); } pub fn setInterpolationDuration(self: DisplayEntity, duration: i32) void { return abi.call(raw.@"[method]display-entity.set-interpolation-duration", void, .{ abi.borrow(self), duration }); } pub fn getInterpolationStart(self: DisplayEntity) i32 { return abi.call(raw.@"[method]display-entity.get-interpolation-start", i32, .{abi.borrow(self)}); } pub fn setInterpolationStart(self: DisplayEntity, delta_ticks: i32) void { return abi.call(raw.@"[method]display-entity.set-interpolation-start", void, .{ abi.borrow(self), delta_ticks }); } pub fn getTeleportDuration(self: DisplayEntity) i32 { return abi.call(raw.@"[method]display-entity.get-teleport-duration", i32, .{abi.borrow(self)}); } pub fn setTeleportDuration(self: DisplayEntity, duration: i32) void { return abi.call(raw.@"[method]display-entity.set-teleport-duration", void, .{ abi.borrow(self), duration }); } pub fn getBillboard(self: DisplayEntity) BillboardMode { return abi.call(raw.@"[method]display-entity.get-billboard", BillboardMode, .{abi.borrow(self)}); } pub fn setBillboard(self: DisplayEntity, mode: BillboardMode) void { return abi.call(raw.@"[method]display-entity.set-billboard", void, .{ abi.borrow(self), mode }); } pub fn getViewRange(self: DisplayEntity) f32 { return abi.call(raw.@"[method]display-entity.get-view-range", f32, .{abi.borrow(self)}); } pub fn setViewRange(self: DisplayEntity, range: f32) void { return abi.call(raw.@"[method]display-entity.set-view-range", void, .{ abi.borrow(self), range }); } pub fn getShadowRadius(self: DisplayEntity) f32 { return abi.call(raw.@"[method]display-entity.get-shadow-radius", f32, .{abi.borrow(self)}); } pub fn setShadowRadius(self: DisplayEntity, radius: f32) void { return abi.call(raw.@"[method]display-entity.set-shadow-radius", void, .{ abi.borrow(self), radius }); } pub fn getShadowStrength(self: DisplayEntity) f32 { return abi.call(raw.@"[method]display-entity.get-shadow-strength", f32, .{abi.borrow(self)}); } pub fn setShadowStrength(self: DisplayEntity, strength: f32) void { return abi.call(raw.@"[method]display-entity.set-shadow-strength", void, .{ abi.borrow(self), strength }); } pub fn getDisplayWidth(self: DisplayEntity) f32 { return abi.call(raw.@"[method]display-entity.get-display-width", f32, .{abi.borrow(self)}); } pub fn setDisplayWidth(self: DisplayEntity, width: f32) void { return abi.call(raw.@"[method]display-entity.set-display-width", void, .{ abi.borrow(self), width }); } pub fn getDisplayHeight(self: DisplayEntity) f32 { return abi.call(raw.@"[method]display-entity.get-display-height", f32, .{abi.borrow(self)}); } pub fn setDisplayHeight(self: DisplayEntity, height: f32) void { return abi.call(raw.@"[method]display-entity.set-display-height", void, .{ abi.borrow(self), height }); } pub fn getGlowColorOverride(self: DisplayEntity) i32 { return abi.call(raw.@"[method]display-entity.get-glow-color-override", i32, .{abi.borrow(self)}); } pub fn setGlowColorOverride(self: DisplayEntity, color: i32) void { return abi.call(raw.@"[method]display-entity.set-glow-color-override", void, .{ abi.borrow(self), color }); } pub fn getBrightness(self: DisplayEntity) i32 { return abi.call(raw.@"[method]display-entity.get-brightness", i32, .{abi.borrow(self)}); } pub fn setBrightness(self: DisplayEntity, brightness: i32) void { return abi.call(raw.@"[method]display-entity.set-brightness", void, .{ abi.borrow(self), brightness }); } /// Keeps the handle alive past the current callback. Release it with `deinit`. pub fn keep(self: DisplayEntity) void { abi.keep(DisplayEntity, self); } /// Releases the handle now instead of when the callback returns. pub fn deinit(self: DisplayEntity) void { abi.drop(DisplayEntity, self); } }; /// Resource specifically for Block Display entities. pub const BlockDisplayEntity = enum(u32) { _, pub const resource_drop = &raw.@"[resource-drop]block-display-entity"; pub fn fromEntity(entity: Entity) ?BlockDisplayEntity { return abi.call(raw.@"[static]block-display-entity.from-entity", ?BlockDisplayEntity, .{abi.borrow(entity)}); } pub fn getDisplay(self: BlockDisplayEntity) DisplayEntity { return abi.call(raw.@"[method]block-display-entity.get-display", DisplayEntity, .{abi.borrow(self)}); } pub fn getEntity(self: BlockDisplayEntity) Entity { return abi.call(raw.@"[method]block-display-entity.get-entity", Entity, .{abi.borrow(self)}); } pub fn getBlockStateId(self: BlockDisplayEntity) u16 { return abi.call(raw.@"[method]block-display-entity.get-block-state-id", u16, .{abi.borrow(self)}); } pub fn setBlockStateId(self: BlockDisplayEntity, state_id: u16) void { return abi.call(raw.@"[method]block-display-entity.set-block-state-id", void, .{ abi.borrow(self), state_id }); } /// Keeps the handle alive past the current callback. Release it with `deinit`. pub fn keep(self: BlockDisplayEntity) void { abi.keep(BlockDisplayEntity, self); } /// Releases the handle now instead of when the callback returns. pub fn deinit(self: BlockDisplayEntity) void { abi.drop(BlockDisplayEntity, self); } }; /// Resource specifically for Item Display entities. pub const ItemDisplayEntity = enum(u32) { _, pub const resource_drop = &raw.@"[resource-drop]item-display-entity"; pub fn fromEntity(entity: Entity) ?ItemDisplayEntity { return abi.call(raw.@"[static]item-display-entity.from-entity", ?ItemDisplayEntity, .{abi.borrow(entity)}); } pub fn getDisplay(self: ItemDisplayEntity) DisplayEntity { return abi.call(raw.@"[method]item-display-entity.get-display", DisplayEntity, .{abi.borrow(self)}); } pub fn getEntity(self: ItemDisplayEntity) Entity { return abi.call(raw.@"[method]item-display-entity.get-entity", Entity, .{abi.borrow(self)}); } pub fn getItem(self: ItemDisplayEntity) ?ItemStack { return abi.call(raw.@"[method]item-display-entity.get-item", ?ItemStack, .{abi.borrow(self)}); } pub fn setItem(self: ItemDisplayEntity, item: ?ItemStack) void { return abi.call(raw.@"[method]item-display-entity.set-item", void, .{ abi.borrow(self), item }); } pub fn getItemDisplayMode(self: ItemDisplayEntity) ItemDisplayMode { return abi.call(raw.@"[method]item-display-entity.get-item-display-mode", ItemDisplayMode, .{abi.borrow(self)}); } pub fn setItemDisplayMode(self: ItemDisplayEntity, mode: ItemDisplayMode) void { return abi.call(raw.@"[method]item-display-entity.set-item-display-mode", void, .{ abi.borrow(self), mode }); } /// Keeps the handle alive past the current callback. Release it with `deinit`. pub fn keep(self: ItemDisplayEntity) void { abi.keep(ItemDisplayEntity, self); } /// Releases the handle now instead of when the callback returns. pub fn deinit(self: ItemDisplayEntity) void { abi.drop(ItemDisplayEntity, self); } }; /// Resource specifically for Text Display entities. pub const TextDisplayEntity = enum(u32) { _, pub const resource_drop = &raw.@"[resource-drop]text-display-entity"; pub fn fromEntity(entity: Entity) ?TextDisplayEntity { return abi.call(raw.@"[static]text-display-entity.from-entity", ?TextDisplayEntity, .{abi.borrow(entity)}); } pub fn getDisplay(self: TextDisplayEntity) DisplayEntity { return abi.call(raw.@"[method]text-display-entity.get-display", DisplayEntity, .{abi.borrow(self)}); } pub fn getEntity(self: TextDisplayEntity) Entity { return abi.call(raw.@"[method]text-display-entity.get-entity", Entity, .{abi.borrow(self)}); } pub fn getText(self: TextDisplayEntity) TextComponent { return abi.call(raw.@"[method]text-display-entity.get-text", TextComponent, .{abi.borrow(self)}); } /// Consumes `text_`. pub fn setText(self: TextDisplayEntity, text_: TextComponent) void { return abi.call(raw.@"[method]text-display-entity.set-text", void, .{ abi.borrow(self), text_ }); } pub fn getLineWidth(self: TextDisplayEntity) i32 { return abi.call(raw.@"[method]text-display-entity.get-line-width", i32, .{abi.borrow(self)}); } pub fn setLineWidth(self: TextDisplayEntity, width: i32) void { return abi.call(raw.@"[method]text-display-entity.set-line-width", void, .{ abi.borrow(self), width }); } pub fn getBackground(self: TextDisplayEntity) i32 { return abi.call(raw.@"[method]text-display-entity.get-background", i32, .{abi.borrow(self)}); } pub fn setBackground(self: TextDisplayEntity, color: i32) void { return abi.call(raw.@"[method]text-display-entity.set-background", void, .{ abi.borrow(self), color }); } pub fn getTextOpacity(self: TextDisplayEntity) i8 { return abi.call(raw.@"[method]text-display-entity.get-text-opacity", i8, .{abi.borrow(self)}); } pub fn setTextOpacity(self: TextDisplayEntity, opacity: i8) void { return abi.call(raw.@"[method]text-display-entity.set-text-opacity", void, .{ abi.borrow(self), opacity }); } pub fn getShadow(self: TextDisplayEntity) bool { return abi.call(raw.@"[method]text-display-entity.get-shadow", bool, .{abi.borrow(self)}); } pub fn setShadow(self: TextDisplayEntity, shadow: bool) void { return abi.call(raw.@"[method]text-display-entity.set-shadow", void, .{ abi.borrow(self), shadow }); } pub fn getSeeThrough(self: TextDisplayEntity) bool { return abi.call(raw.@"[method]text-display-entity.get-see-through", bool, .{abi.borrow(self)}); } pub fn setSeeThrough(self: TextDisplayEntity, see_through: bool) void { return abi.call(raw.@"[method]text-display-entity.set-see-through", void, .{ abi.borrow(self), see_through }); } pub fn getDefaultBackground(self: TextDisplayEntity) bool { return abi.call(raw.@"[method]text-display-entity.get-default-background", bool, .{abi.borrow(self)}); } pub fn setDefaultBackground(self: TextDisplayEntity, default_background: bool) void { return abi.call(raw.@"[method]text-display-entity.set-default-background", void, .{ abi.borrow(self), default_background }); } pub fn getAlignment(self: TextDisplayEntity) TextAlignment { return abi.call(raw.@"[method]text-display-entity.get-alignment", TextAlignment, .{abi.borrow(self)}); } pub fn setAlignment(self: TextDisplayEntity, alignment: TextAlignment) void { return abi.call(raw.@"[method]text-display-entity.set-alignment", void, .{ abi.borrow(self), alignment }); } /// Keeps the handle alive past the current callback. Release it with `deinit`. pub fn keep(self: TextDisplayEntity) void { abi.keep(TextDisplayEntity, self); } /// Releases the handle now instead of when the callback returns. pub fn deinit(self: TextDisplayEntity) void { abi.drop(TextDisplayEntity, self); } }; /// Resource specifically for Interaction entities. pub const InteractionEntity = enum(u32) { _, pub const resource_drop = &raw.@"[resource-drop]interaction-entity"; pub fn fromEntity(entity: Entity) ?InteractionEntity { return abi.call(raw.@"[static]interaction-entity.from-entity", ?InteractionEntity, .{abi.borrow(entity)}); } pub fn getEntity(self: InteractionEntity) Entity { return abi.call(raw.@"[method]interaction-entity.get-entity", Entity, .{abi.borrow(self)}); } pub fn getWidth(self: InteractionEntity) f32 { return abi.call(raw.@"[method]interaction-entity.get-width", f32, .{abi.borrow(self)}); } pub fn setWidth(self: InteractionEntity, width: f32) void { return abi.call(raw.@"[method]interaction-entity.set-width", void, .{ abi.borrow(self), width }); } pub fn getHeight(self: InteractionEntity) f32 { return abi.call(raw.@"[method]interaction-entity.get-height", f32, .{abi.borrow(self)}); } pub fn setHeight(self: InteractionEntity, height: f32) void { return abi.call(raw.@"[method]interaction-entity.set-height", void, .{ abi.borrow(self), height }); } pub fn getResponse(self: InteractionEntity) bool { return abi.call(raw.@"[method]interaction-entity.get-response", bool, .{abi.borrow(self)}); } pub fn setResponse(self: InteractionEntity, response: bool) void { return abi.call(raw.@"[method]interaction-entity.set-response", void, .{ abi.borrow(self), response }); } pub fn getLastAttacker(self: InteractionEntity) ?Uuid { return abi.call(raw.@"[method]interaction-entity.get-last-attacker", ?Uuid, .{abi.borrow(self)}); } pub fn getLastInteraction(self: InteractionEntity) ?Uuid { return abi.call(raw.@"[method]interaction-entity.get-last-interaction", ?Uuid, .{abi.borrow(self)}); } /// Keeps the handle alive past the current callback. Release it with `deinit`. pub fn keep(self: InteractionEntity) void { abi.keep(InteractionEntity, self); } /// Releases the handle now instead of when the callback returns. pub fn deinit(self: InteractionEntity) void { abi.drop(InteractionEntity, self); } }; const raw = struct { extern "pumpkin:plugin/display@0.1.0" fn @"[static]display-entity.from-entity"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-entity"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-transformation"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-transformation"(i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-interpolation-duration"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-interpolation-duration"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-interpolation-start"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-interpolation-start"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-teleport-duration"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-teleport-duration"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-billboard"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-billboard"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-view-range"(i32) f32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-view-range"(i32, f32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-shadow-radius"(i32) f32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-shadow-radius"(i32, f32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-shadow-strength"(i32) f32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-shadow-strength"(i32, f32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-display-width"(i32) f32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-display-width"(i32, f32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-display-height"(i32) f32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-display-height"(i32, f32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-glow-color-override"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-glow-color-override"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.get-brightness"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]display-entity.set-brightness"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[static]block-display-entity.from-entity"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]block-display-entity.get-display"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]block-display-entity.get-entity"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]block-display-entity.get-block-state-id"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]block-display-entity.set-block-state-id"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[static]item-display-entity.from-entity"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]item-display-entity.get-display"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]item-display-entity.get-entity"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]item-display-entity.get-item"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]item-display-entity.set-item"(i32, i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]item-display-entity.get-item-display-mode"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]item-display-entity.set-item-display-mode"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[static]text-display-entity.from-entity"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.get-display"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.get-entity"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.get-text"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.set-text"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.get-line-width"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.set-line-width"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.get-background"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.set-background"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.get-text-opacity"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.set-text-opacity"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.get-shadow"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.set-shadow"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.get-see-through"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.set-see-through"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.get-default-background"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.set-default-background"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.get-alignment"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]text-display-entity.set-alignment"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[static]interaction-entity.from-entity"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]interaction-entity.get-entity"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]interaction-entity.get-width"(i32) f32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]interaction-entity.set-width"(i32, f32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]interaction-entity.get-height"(i32) f32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]interaction-entity.set-height"(i32, f32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]interaction-entity.get-response"(i32) i32; extern "pumpkin:plugin/display@0.1.0" fn @"[method]interaction-entity.set-response"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]interaction-entity.get-last-attacker"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[method]interaction-entity.get-last-interaction"(i32, i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[resource-drop]display-entity"(i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[resource-drop]block-display-entity"(i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[resource-drop]item-display-entity"(i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[resource-drop]text-display-entity"(i32) void; extern "pumpkin:plugin/display@0.1.0" fn @"[resource-drop]interaction-entity"(i32) void; };