pumpkin-api-cs/src/gen/PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IServerImports.cs
Alexander Medvedev 1ff1774b1c first commit
2026-04-29 12:57:22 +02:00

480 lines
19 KiB
C#

// Generated by `wit-bindgen` 0.57.1. DO NOT EDIT!
// <auto-generated />
#nullable enable
namespace PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0;
public interface IServerImports {
/**
* Represents the difficulty setting of a Minecraft server.
*/
public enum Difficulty {
PEACEFUL, EASY, NORMAL, HARD
}
/**
* Represents the three main Minecraft dimensions.
*/
public enum Dimension {
OVERWORLD, NETHER, END
}
public class CommandSender {
public readonly byte Tag;
private readonly object? value;
private CommandSender(byte tag, object? value) {
this.Tag = tag;
this.value = value;
}
public static CommandSender Console() {
return new CommandSender(Tags.Console, null);
}
public static CommandSender Player(global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player player) {
return new CommandSender(Tags.Player, player);
}
public global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player AsPlayer
{
get
{
if (Tag == Tags.Player)
return (global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player)value!;
else
throw new global::System.ArgumentException("expected Player, got " + Tag);
}
}
public class Tags {
public const byte Console = 0;
public const byte Player = 1;
}
}
/**
* Represents the global server instance.
*/
public class Server: global::System.IDisposable {
internal int Handle { get; set; }
public readonly record struct THandle(int Handle);
public Server(THandle handle) {
Handle = handle.Handle;
}
public void Dispose() {
Dispose(true);
}
[global::System.Runtime.InteropServices.DllImportAttribute("pumpkin:plugin/server@0.1.0", EntryPoint = "[resource-drop]server"), global::System.Runtime.InteropServices.WasmImportLinkageAttribute]
private static extern void wasmImportResourceDrop(int p0);
protected virtual void Dispose(bool disposing) {
if (disposing && Handle != 0) {
wasmImportResourceDrop(Handle);
Handle = 0;
}
}
public unsafe global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IServerImports.Difficulty GetDifficulty()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.GetDifficultyWasmInterop.wasmImportGetDifficulty(handle);
return (global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IServerImports.Difficulty)result;
}
public unsafe uint GetPlayerCount()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.GetPlayerCountWasmInterop.wasmImportGetPlayerCount(handle);
return unchecked((uint)(result));
}
public unsafe double GetMspt()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.GetMsptWasmInterop.wasmImportGetMspt(handle);
return result;
}
public unsafe double GetTps()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.GetTpsWasmInterop.wasmImportGetTps(handle);
return result;
}
public unsafe global::System.Collections.Generic.List<global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player> GetAllPlayers()
{
var handle = this.Handle;
var retArea = stackalloc uint[3];
var ptr = (nint)MemoryHelper.AlignStackPtr(retArea, 4);
ServerImportsInterop.Server.GetAllPlayersWasmInterop.wasmImportGetAllPlayers(handle, ptr);
var array = new global::System.Collections.Generic.List<global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player>(new global::System.Span<int>((void*)((byte*)ptr + 4), 1)[0]);
for (int index = 0; index < new global::System.Span<int>((void*)((byte*)ptr + 4), 1)[0]; ++index) {
nint basePtr = new global::System.Span<nint>((void*)((byte*)ptr + 0), 1)[0] + (index * 4);
var resource = new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player(new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player.THandle(new global::System.Span<int>((void*)((byte*)basePtr + 0), 1)[0]));
array.Add(resource);
}
if (new global::System.Span<int>((void*)((byte*)ptr + 4), 1)[0] > 0) {
global::System.Runtime.InteropServices.NativeMemory.Free((void*)new global::System.Span<nint>((void*)((byte*)ptr + 0), 1)[0]);
}
return array;
}
public unsafe global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player? GetPlayerByName(string name)
{
var cleanups = new global::System.Collections.Generic.List<global::System.Action>();
var handle = this.Handle;
var utf8Bytes = global::System.Text.Encoding.UTF8.GetBytes(name);
var length = utf8Bytes.Length;
var gcHandle = global::System.Runtime.InteropServices.GCHandle.Alloc(utf8Bytes, global::System.Runtime.InteropServices.GCHandleType.Pinned);
var strPtr = gcHandle.AddrOfPinnedObject();
cleanups.Add(()=> gcHandle.Free());
var retArea = stackalloc uint[3];
var ptr = (nint)MemoryHelper.AlignStackPtr(retArea, 4);
ServerImportsInterop.Server.GetPlayerByNameWasmInterop.wasmImportGetPlayerByName(handle, strPtr.ToInt32(), length, ptr);
global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player? lifted;
switch (new global::System.Span<byte>((byte*)ptr + 0, 1)[0]) {
case 0: {
lifted = null;
break;
}
case 1: {
var resource = new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player(new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player.THandle(new global::System.Span<int>((void*)((byte*)ptr + 4), 1)[0]));
lifted = resource;
break;
}
default: throw new global::System.ArgumentException("invalid discriminant: " + (new global::System.Span<byte>((byte*)ptr + 0, 1)[0]));
}
foreach (var cleanup in cleanups)
{
cleanup();
}
return lifted;
}
public unsafe global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player? GetPlayerByUuid(string id)
{
var cleanups = new global::System.Collections.Generic.List<global::System.Action>();
var handle = this.Handle;
var utf8Bytes = global::System.Text.Encoding.UTF8.GetBytes(id);
var length = utf8Bytes.Length;
var gcHandle = global::System.Runtime.InteropServices.GCHandle.Alloc(utf8Bytes, global::System.Runtime.InteropServices.GCHandleType.Pinned);
var strPtr = gcHandle.AddrOfPinnedObject();
cleanups.Add(()=> gcHandle.Free());
var retArea = stackalloc uint[3];
var ptr = (nint)MemoryHelper.AlignStackPtr(retArea, 4);
ServerImportsInterop.Server.GetPlayerByUuidWasmInterop.wasmImportGetPlayerByUuid(handle, strPtr.ToInt32(), length, ptr);
global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player? lifted;
switch (new global::System.Span<byte>((byte*)ptr + 0, 1)[0]) {
case 0: {
lifted = null;
break;
}
case 1: {
var resource = new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player(new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player.THandle(new global::System.Span<int>((void*)((byte*)ptr + 4), 1)[0]));
lifted = resource;
break;
}
default: throw new global::System.ArgumentException("invalid discriminant: " + (new global::System.Span<byte>((byte*)ptr + 0, 1)[0]));
}
foreach (var cleanup in cleanups)
{
cleanup();
}
return lifted;
}
public unsafe global::System.Collections.Generic.List<global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IWorldImports.World> GetAllWorlds()
{
var handle = this.Handle;
var retArea = stackalloc uint[3];
var ptr = (nint)MemoryHelper.AlignStackPtr(retArea, 4);
ServerImportsInterop.Server.GetAllWorldsWasmInterop.wasmImportGetAllWorlds(handle, ptr);
var array = new global::System.Collections.Generic.List<global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IWorldImports.World>(new global::System.Span<int>((void*)((byte*)ptr + 4), 1)[0]);
for (int index = 0; index < new global::System.Span<int>((void*)((byte*)ptr + 4), 1)[0]; ++index) {
nint basePtr = new global::System.Span<nint>((void*)((byte*)ptr + 0), 1)[0] + (index * 4);
var resource = new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IWorldImports.World(new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IWorldImports.World.THandle(new global::System.Span<int>((void*)((byte*)basePtr + 0), 1)[0]));
array.Add(resource);
}
if (new global::System.Span<int>((void*)((byte*)ptr + 4), 1)[0] > 0) {
global::System.Runtime.InteropServices.NativeMemory.Free((void*)new global::System.Span<nint>((void*)((byte*)ptr + 0), 1)[0]);
}
return array;
}
public unsafe global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IWorldImports.World? GetWorldByName(string name)
{
var cleanups = new global::System.Collections.Generic.List<global::System.Action>();
var handle = this.Handle;
var utf8Bytes = global::System.Text.Encoding.UTF8.GetBytes(name);
var length = utf8Bytes.Length;
var gcHandle = global::System.Runtime.InteropServices.GCHandle.Alloc(utf8Bytes, global::System.Runtime.InteropServices.GCHandleType.Pinned);
var strPtr = gcHandle.AddrOfPinnedObject();
cleanups.Add(()=> gcHandle.Free());
var retArea = stackalloc uint[3];
var ptr = (nint)MemoryHelper.AlignStackPtr(retArea, 4);
ServerImportsInterop.Server.GetWorldByNameWasmInterop.wasmImportGetWorldByName(handle, strPtr.ToInt32(), length, ptr);
global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IWorldImports.World? lifted;
switch (new global::System.Span<byte>((byte*)ptr + 0, 1)[0]) {
case 0: {
lifted = null;
break;
}
case 1: {
var resource = new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IWorldImports.World(new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IWorldImports.World.THandle(new global::System.Span<int>((void*)((byte*)ptr + 4), 1)[0]));
lifted = resource;
break;
}
default: throw new global::System.ArgumentException("invalid discriminant: " + (new global::System.Span<byte>((byte*)ptr + 0, 1)[0]));
}
foreach (var cleanup in cleanups)
{
cleanup();
}
return lifted;
}
public unsafe void ExecuteCommand(string command, global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IServerImports.CommandSender sender)
{
var cleanups = new global::System.Collections.Generic.List<global::System.Action>();
var handle = this.Handle;
var utf8Bytes = global::System.Text.Encoding.UTF8.GetBytes(command);
var length = utf8Bytes.Length;
var gcHandle = global::System.Runtime.InteropServices.GCHandle.Alloc(utf8Bytes, global::System.Runtime.InteropServices.GCHandleType.Pinned);
var strPtr = gcHandle.AddrOfPinnedObject();
cleanups.Add(()=> gcHandle.Free());
int lowered;
int lowered4;
switch (sender.Tag) {
case 0: {
lowered = 0;
lowered4 = 0;
break;
}
case 1: {
global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IPlayerImports.Player payload2 = sender.AsPlayer;
var handle3 = payload2.Handle;
payload2.Handle = 0;
lowered = 1;
lowered4 = handle3;
break;
}
default: throw new global::System.ArgumentException("invalid discriminant: " + sender);
}
ServerImportsInterop.Server.ExecuteCommandWasmInterop.wasmImportExecuteCommand(handle, strPtr.ToInt32(), length, lowered, lowered4);
foreach (var cleanup in cleanups)
{
cleanup();
}
}
public unsafe global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IWorldImports.World CreateWorld(string name, global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IServerImports.Dimension dimension)
{
var cleanups = new global::System.Collections.Generic.List<global::System.Action>();
var handle = this.Handle;
var utf8Bytes = global::System.Text.Encoding.UTF8.GetBytes(name);
var length = utf8Bytes.Length;
var gcHandle = global::System.Runtime.InteropServices.GCHandle.Alloc(utf8Bytes, global::System.Runtime.InteropServices.GCHandleType.Pinned);
var strPtr = gcHandle.AddrOfPinnedObject();
cleanups.Add(()=> gcHandle.Free());
var result = ServerImportsInterop.Server.CreateWorldWasmInterop.wasmImportCreateWorld(handle, strPtr.ToInt32(), length, (int)dimension);
var resource = new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IWorldImports.World(new global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.IWorldImports.World.THandle(result));
foreach (var cleanup in cleanups)
{
cleanup();
}
return resource;
}
public unsafe void Broadcast(string message)
{
var cleanups = new global::System.Collections.Generic.List<global::System.Action>();
var handle = this.Handle;
var utf8Bytes = global::System.Text.Encoding.UTF8.GetBytes(message);
var length = utf8Bytes.Length;
var gcHandle = global::System.Runtime.InteropServices.GCHandle.Alloc(utf8Bytes, global::System.Runtime.InteropServices.GCHandleType.Pinned);
var strPtr = gcHandle.AddrOfPinnedObject();
cleanups.Add(()=> gcHandle.Free());
ServerImportsInterop.Server.BroadcastWasmInterop.wasmImportBroadcast(handle, strPtr.ToInt32(), length);
foreach (var cleanup in cleanups)
{
cleanup();
}
}
public unsafe void BroadcastTabListHeaderFooter(global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.ITextImports.TextComponent header, global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.ITextImports.TextComponent footer)
{
var handle = this.Handle;
var handle0 = header.Handle;
header.Handle = 0;
var handle1 = footer.Handle;
footer.Handle = 0;
ServerImportsInterop.Server.BroadcastTabListHeaderFooterWasmInterop.wasmImportBroadcastTabListHeaderFooter(handle, handle0, handle1);
}
public unsafe uint GetMaxPlayers()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.GetMaxPlayersWasmInterop.wasmImportGetMaxPlayers(handle);
return unchecked((uint)(result));
}
public unsafe bool IsHardcore()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.IsHardcoreWasmInterop.wasmImportIsHardcore(handle);
return (result != 0);
}
public unsafe bool IsOnlineMode()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.IsOnlineModeWasmInterop.wasmImportIsOnlineMode(handle);
return (result != 0);
}
public unsafe string GetMotd()
{
var handle = this.Handle;
var retArea = stackalloc uint[3];
var ptr = (nint)MemoryHelper.AlignStackPtr(retArea, 4);
ServerImportsInterop.Server.GetMotdWasmInterop.wasmImportGetMotd(handle, ptr);
var str = global::System.Text.Encoding.UTF8.GetString((byte*)new global::System.Span<nint>((void*)((byte*)ptr + 0), 1)[0], new global::System.Span<int>((void*)((byte*)ptr + 4), 1)[0]);
if (new global::System.Span<int>((void*)((byte*)ptr + 4), 1)[0] > 0) {
global::System.Runtime.InteropServices.NativeMemory.Free((void*)new global::System.Span<nint>((void*)((byte*)ptr + 0), 1)[0]);
}
return str;
}
public unsafe bool HasWhitelist()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.HasWhitelistWasmInterop.wasmImportHasWhitelist(handle);
return (result != 0);
}
public unsafe bool GetAllowNether()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.GetAllowNetherWasmInterop.wasmImportGetAllowNether(handle);
return (result != 0);
}
public unsafe bool GetAllowEnd()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.GetAllowEndWasmInterop.wasmImportGetAllowEnd(handle);
return (result != 0);
}
public unsafe byte GetViewDistance()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.GetViewDistanceWasmInterop.wasmImportGetViewDistance(handle);
return ((byte)result);
}
public unsafe byte GetSimulationDistance()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.GetSimulationDistanceWasmInterop.wasmImportGetSimulationDistance(handle);
return ((byte)result);
}
public unsafe global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.ICommonImports.GameMode GetDefaultGamemode()
{
var handle = this.Handle;
var result = ServerImportsInterop.Server.GetDefaultGamemodeWasmInterop.wasmImportGetDefaultGamemode(handle);
return (global::PluginWorld.wit.Imports.pumpkin.plugin.v0_1_0.ICommonImports.GameMode)result;
}
}
}