This commit is contained in:
2026-05-13 20:38:59 +03:00
parent 9055c9c93c
commit 5620324b2e
4904 changed files with 391162 additions and 0 deletions
@@ -0,0 +1,67 @@
public net.minecraft.client.renderer.block.ModelBlockRenderer$Cache
public net.minecraft.server.level.ChunkHolder entityTickingChunkFuture
public net.minecraft.server.level.ChunkHolder tickingChunkFuture
public net.minecraft.server.level.ChunkHolder fullChunkFuture
public net.minecraft.client.renderer.block.BlockRenderDispatcher modelRenderer
public net.minecraft.client.renderer.block.ModelBlockRenderer$AmbientOcclusionFace
public net.minecraft.server.level.ServerChunkCache$MainThreadExecutor
public net.minecraft.client.renderer.LevelRenderer cullingFrustum
public net.minecraft.world.entity.projectile.AbstractHurtingProjectile accelerationPower
public net.minecraft.world.entity.projectile.Projectile Projectile(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/level/Level;)V
public net.minecraft.server.level.ServerChunkCache$ChunkAndHolder
public net.minecraft.server.level.ServerChunkCache$ChunkAndHolder <init>(Lnet/minecraft/world/level/chunk/LevelChunk;Lnet/minecraft/server/level/ChunkHolder;)V
public-f net.minecraft.client.renderer.chunk.SectionRenderDispatcher bufferPool
public-f net.minecraft.world.entity.ai.attributes.AttributeSupplier instances
public net.minecraft.server.level.ServerPlayer findRespawnAndUseSpawnBlock(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;FZZ)Ljava/util/Optional;
public net.minecraft.client.renderer.chunk.SectionRenderDispatcher$RenderSection updateGlobalBlockEntities(Ljava/util/Collection;)V
public net.minecraft.client.renderer.chunk.SectionRenderDispatcher$RenderSection setCompiled(Lnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$CompiledSection;)V
public net.minecraft.world.entity.Entity removalReason
public net.minecraft.world.entity.Entity levelCallback
public-f net.minecraft.world.entity.Entity getEyePosition(F)Lnet/minecraft/world/phys/Vec3;
public-f net.minecraft.world.entity.Entity setRemoved(Lnet/minecraft/world/entity/Entity$RemovalReason;)V
public net.minecraft.server.level.ChunkLevel ENTITY_TICKING_LEVEL
public net.minecraft.server.level.ChunkLevel BLOCK_TICKING_LEVEL
public net.minecraft.world.entity.decoration.HangingEntity calculateSupportBox()Lnet/minecraft/world/phys/AABB;
public net.minecraft.world.entity.LivingEntity dismountVehicle(Lnet/minecraft/world/entity/Entity;)V
public net.minecraft.world.level.lighting.LevelLightEngine skyEngine
public net.minecraft.world.level.lighting.LevelLightEngine blockEngine
public net.minecraft.server.level.ThreadedLevelLightEngine runUpdate()V
public net.minecraft.server.level.ThreadedLevelLightEngine updateChunkStatus(Lnet/minecraft/world/level/ChunkPos;)V
public net.minecraft.client.renderer.block.ModelBlockRenderer CACHE
public net.minecraft.server.network.PlayerChunkSender sendChunk(Lnet/minecraft/server/network/ServerGamePacketListenerImpl;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/level/chunk/LevelChunk;)V
public net.minecraft.server.network.ServerCommonPacketListenerImpl connection
public net.minecraft.client.multiplayer.ClientChunkCache$Storage
public net.minecraft.network.Connection channel
public net.minecraft.client.renderer.RenderStateShard name
public net.minecraft.client.renderer.ShaderInstance samplerLocations
public net.minecraft.world.level.entity.PersistentEntitySectionManager sectionStorage
public net.minecraft.world.level.storage.DimensionDataStorage dataFolder
public net.minecraft.client.renderer.GameRenderer getFov(Lnet/minecraft/client/Camera;FZ)D
public-f net.minecraft.server.level.GenerationChunkHolder rescheduleChunkTask(Lnet/minecraft/server/level/ChunkMap;Lnet/minecraft/world/level/chunk/status/ChunkStatus;)V
public net.minecraft.client.particle.Particle zo
public net.minecraft.client.particle.Particle yo
public net.minecraft.client.particle.Particle xo
public net.minecraft.client.particle.Particle x
public net.minecraft.client.particle.Particle y
public net.minecraft.client.particle.Particle zd
public net.minecraft.client.particle.Particle z
public net.minecraft.client.particle.Particle yd
public net.minecraft.client.particle.Particle xd
public net.minecraft.world.level.ClipContext collisionContext
public net.minecraft.world.level.ClipContext fluid
public net.minecraft.world.level.ClipContext block
public net.minecraft.server.level.ChunkMap$DistanceManager
public net.minecraft.server.level.ServerPlayer$RespawnPosAngle
public net.minecraft.server.level.ServerPlayer$RespawnPosAngle <init>(Lnet/minecraft/world/phys/Vec3;F)V
public net.minecraft.server.level.ChunkMap unloadQueue
public net.minecraft.server.level.ChunkMap toDrop
public net.minecraft.server.level.ChunkMap updatingChunkMap
public net.minecraft.server.level.ChunkMap visibleChunkMap
public net.minecraft.server.level.ChunkMap modified
public net.minecraft.server.level.ChunkMap chunkSaveCooldowns
public net.minecraft.server.level.ChunkMap scheduleUnload(JLnet/minecraft/server/level/ChunkHolder;)V
public net.minecraft.server.level.ChunkMap onFullChunkStatusChange(Lnet/minecraft/world/level/ChunkPos;Lnet/minecraft/server/level/FullChunkStatus;)V
public net.minecraft.server.level.ChunkMap getChunks()Ljava/lang/Iterable;
public net.minecraft.server.level.ChunkMap saveChunkIfNeeded(Lnet/minecraft/server/level/ChunkHolder;)Z
public net.minecraft.server.level.ServerLevel entityManager
@@ -0,0 +1 @@
dev.ryanhcode.sable.ActiveSableCompanion
@@ -0,0 +1,2 @@
{
}
@@ -0,0 +1,148 @@
{
"menu.savingSubLevels": "Saving sub-levels",
"commands.sable.helper.missing_sub_level_container": "Couldn't find sub-level container for this level!",
"commands.sable.helper.missing_physics_system": "Couldn't find sub-level physics system for this level!",
"commands.sable.sub_level": "sub-level",
"commands.sable.sub_levels": "%s sub-levels",
"commands.sable.physics.global": "global",
"commands.sable.physics.local": "local",
"commands.sable.spawn.success": "Spawned %s",
"commands.sable.spawn.clone.success": "Cloned sublevel",
"commands.sable.physics.impulse.angular.success": "Applied %s angular impulse to %s of %s",
"commands.sable.physics.impulse.linear.success": "Applied %s linear impulse to %s of %s",
"commands.sable.physics.rotation.add.success": "Added %s rotation to %s of %s",
"commands.sable.physics.rotation.set.success": "Set rotation of %s to %s",
"commands.sable.physics.translation.add.success": "Added %s translation to %s of %s",
"commands.sable.physics.translation.set.success": "Set translation of %s to %s",
"commands.sable.joint.missing_sublevel_target": "Failed to find sub-level for joint",
"commands.sable.joint.success": "Successfully created joint",
"commands.sable.sub_level.set_name.success_singular": "Set name of sub-level to %s",
"commands.sable.sub_level.set_name.success_multiple": "Set name of %s sub-levels to %s",
"commands.sable.sub_level.get_name.success": "Name of sub-level is %s",
"commands.sable.sub_level.get_name.failure_unnamed": "Sub-level has no name",
"commands.sable.sub_level.clear_name.success_singular": "Cleared name of sub-level",
"commands.sable.sub_level.clear_name.success_multiple": "Cleared name of %s sub-levels",
"commands.sable.sub_level.teleport_with_orientation.success": "Teleported %s to %.2f, %.2f, %.2f facing %.2f, %.2f",
"commands.sable.sub_level.teleport.success": "Teleported %s to %.2f, %.2f, %.2f",
"commands.sable.sub_level.remove.success": "Removed %s",
"commands.sable.sub_level.assemble.no_blocks": "Couldn't assemble sub-level, no valid blocks found",
"commands.sable.sub_level.assemble.connected.too_many_blocks": "Couldn't assemble sub-level, too many blocks (maximum %s)",
"commands.sable.sub_level.shatter.no_blocks": "Couldn't shatter into sub-levels, no valid blocks found",
"commands.sable.sub_level.shatter.connected.too_many_blocks": "Couldn't shatter into sub-levels, too many blocks (maximum %s)",
"commands.sable.sub_level.shatter.region.success": "Shattered a region with %s blocks into new sub-levels",
"commands.sable.sub_level.shatter.connected.success": "Shattered %s connected blocks into new sub-levels",
"commands.sable.sub_level.shatter.range.success": "Shattered a range with %s blocks into new sub-levels",
"commands.sable.sub_level.shatter.radius.success": "Shattered a radius with %s blocks into new sub-levels",
"commands.sable.sub_level.shatter.sub_level.success": "Shattered %s into %s new sub-levels",
"commands.sable.sub_level.shatter.sub_level.only_single_block": "Can't shatter single-block sub-levels",
"commands.sable.sub_level.assemble.region.success": "Assembled a region %s blocks to a new sub-level",
"commands.sable.sub_level.assemble.connected.success": "Assembled %s connected blocks to a new sub-level",
"commands.sable.sub_level.assemble.radius.success": "Assembled a radius with %s blocks to a new sub-level",
"commands.sable.sub_level.assemble.range.success": "Assembled a range with %s blocks to a new sub-level",
"commands.sable.physics.paused.success": "Set physics paused to be %s",
"commands.sable.physics.paused_toggled.success": "Toggled physics paused to be %s",
"commands.sable.place_schematic.failure": "Couldn't find schematic!",
"commands.sable.place_schematic.success": "Placed schematic!",
"commands.sable.fail.not_inside_sub_level": "Position outside of sub-level plot",
"commands.sable.fail.no_sub_levels": "No sub-levels found",
"commands.sable.fail.unmodified": "No sub-levels were modified",
"commands.sable.fail.no_axis_for_rotation": "No axis for rotation",
"commands.sable.info.count": "Found %s sub-levels:",
"commands.sable.info.name": "%s:",
"commands.sable.info.name.tooltip": "Serialization Pointer: %s",
"commands.sable.info.position": " Position: %.2f %.2f %.2f",
"commands.sable.info.orientation": " Orientation: %.2f %.2f %.2f %.2f",
"commands.sable.info.linear_velocity": " Linear Velocity: %.2f %.2f %.2f",
"commands.sable.info.angular_velocity": " Angular Velocity: %.2f %.2f %.2f",
"commands.sable.info.mass": " Mass: %.2f",
"commands.sable.info.world_bounds": " World Bounds: %.2f x %.2f x %.2f",
"commands.data.sub_level.get": "%s on sub-level %s after scale factor of %s is %s",
"commands.data.sub_level.modified": "Modified sub-level auxiliary data of %s",
"commands.data.sub_level.query": "%s has the following auxiliary sub-level data: %s",
"argument.sable.body.selector.all": "All sub-levels",
"argument.sable.body.selector.nearest": "Nearest sub-level",
"argument.sable.body.selector.random": "Random sub-level",
"argument.sable.body.selector.viewed": "Viewed sub-level",
"argument.sable.body.selector.latest": "Latest sub-level",
"argument.sable.body.selector.tracking": "Tracking sub-level",
"argument.sable.body.selector.inside": "Inside sub-level",
"argument.sable.body.static_world": "The static world",
"argument.sable.sub_level.modifier.distance": "Distance to sub-level",
"argument.sable.sub_level.modifier.x": "x position",
"argument.sable.sub_level.modifier.y": "y position",
"argument.sable.sub_level.modifier.z": "z position",
"argument.sable.sub_level.modifier.dx": "Sub-levels between x and x + dx",
"argument.sable.sub_level.modifier.dy": "Sub-levels between y and y + dy",
"argument.sable.sub_level.modifier.dz": "Sub-levels between z and z + dz",
"argument.sable.sub_level.modifier.vx": "x velocity",
"argument.sable.sub_level.modifier.vy": "y velocity",
"argument.sable.sub_level.modifier.vz": "z velocity",
"argument.sable.sub_level.modifier.speed": "Sub-level speed",
"argument.sable.sub_level.modifier.mass": "Sub-level weight",
"argument.sable.sub_level.modifier.volume": "Volume of sub-level bounding box",
"argument.sable.sub_level.modifier.width": "X axis size of sub-level bounding box",
"argument.sable.sub_level.modifier.height": "Y axis size of sub-level bounding box",
"argument.sable.sub_level.modifier.length": "Z axis size of sub-level bounding box",
"argument.sable.sub_level.modifier.limit": "Maximum number of sub-levels to return",
"argument.sable.sub_level.modifier.name": "Sub-level name",
"argument.sable.sub_level.modifier.sort": "Sort the sub-levels by distance",
"argument.sable.unexpected_end_of_input": "Unexpected end of input",
"argument.sable.single_sub_level_required": "Only one sub-level is allowed, but the provided selector allows more than one",
"argument.sable.sub_level.invalid": "Invalid sub-level selector",
"argument.sable.sub_level.expected_end_of_modifier": "Expected end of modifier",
"argument.sable.sub_level.expected_positive_integer": "Expected a positive integer",
"argument.sable.sub_level.expected_positive_decimal": "Expected a positive decimal",
"argument.sable.sub_level.expected_positive_range": "Expected a positive range",
"argument.sable.sub_level.expected_sorting": "Expected sorting type of either nearest or furthest",
"inspector.sable.sub_level_container.title": "Sub-level Container",
"attribute.name.player.sub_level_punch_strength": "Push Strength",
"attribute.name.player.sub_level_punch_cooldown": "Push Cooldown",
"options.sable_menu": "Sub-Level Settings... ",
"options.physics_steps": "Physics Steps",
"options.physics_steps_template": "%s steps / second",
"options.physics_steps.tooltip": "How many times the physics simulation is stepped in every second. Higher values will be significantly more performance intensive, but will have higher accuracy.",
"sub_level.toast.checkLog": "See log for more details",
"sub_level.toast.loadFailure": "Failed to load sub-level at %s",
"sub_level.toast.saveFailure": "Failed to save sub-level at %s",
"sub_level.toast.physicsFailure": "Physics failure for sub-level at %s",
"sub_level.toast.attemptingRecovery": "Attempting recovery",
"camera_type.sub_level_view": "Entering Contraption Camera",
"camera_type.sub_level_view_unlocked": "Entering Unlocked Contraption Camera",
"force_group.sable.gravity": "Gravity",
"force_group.sable.drag": "Drag",
"force_group.sable.levitation": "Levitation",
"force_group.sable.balloon_lift": "Balloon Lift",
"force_group.sable.propulsion": "Propulsion",
"force_group.sable.lift": "Lift",
"force_group.sable.magnetic_force": "Magnetic",
"schematic.sable.mirror_not_supported": "Cannot mirror schematics containing sub-levels!",
"death.attack.fall.from_sublevel": "%1$s fell from %2$s",
"sable.create.mechanical_arm.points_removed_sublevel_and_range": "%1$s selected interaction point(s) removed due to range limitations or not being anchored.",
"sable.create.remove.points_removed_sublevel" : "%1$s selected interaction point(s) removed due to not being anchored"
}
@@ -0,0 +1,61 @@
layout(location = 0) in vec3 QuadPosition;
layout(location = 1) in vec3 SableNormal;
layout(location = 2) in uvec2 SableData;
layout(std140) uniform SableSprites {
vec4 sableSprites[2 * SABLE_TEXTURE_CACHE_SIZE];
};
uniform mat4 SableTransform;
vec3 Position;
vec3 Normal;
vec4 Color;
vec2 UV0;
ivec2 UV2;
void _sable_unpack() {
uint vertexIndex = uint(gl_VertexID) & 0x3u;
// Packed data format:
// TTTTTTTTTTTTLLLLLLLLZZZZYYYYXXXX
// T = Texture ID
// L = Packed Light
// Z = Relative Z position
// Y = Relative Y position
// X = Relative X position
uint posX = SableData.x & 15u;
uint posY = (SableData.x >> 4) & 15u;
uint posZ = (SableData.x >> 8) & 15u;
uint packedLight = (SableData.x >> 12) & 255u;
uint textureId = SableData.x >> 20u;
// Packed data format:
// AAAAAAAAYYYYYYYYZZZZZZZZXXXXXXXX
// A = Ambient Occlusion
// Y = Section Y
// Z = Section Z
// X = Section X
uint xOffset = (SableData.y) & 0xFFu;
uint yOffset = (SableData.y >> 8) & 0xFFu;
uint zOffset = (SableData.y >> 16) & 0xFFu;
uint ambientOcclusion = (SableData.y >> (24u + (vertexIndex << 1u))) & 0x3u;
// 0,0 == 0b00
// 0,1 == 0b01
// 1,1 == 0b10
// 1,0 == 0b11
uint lower = uint(gl_VertexID) & 1u;
uint upper = (uint(gl_VertexID) >> 1) & 1u;
vec2 uv = vec2(float(upper), float(lower ^ upper));
uint textureOffset = vertexIndex << 3u;
vec4 textureU = sableSprites[(textureId << 1u)];
vec4 textureV = sableSprites[(textureId << 1u) + 1u];
Position = (SableTransform * vec4(QuadPosition + vec3(float((xOffset << 4u) + posX), float((yOffset << 4u) + posY), float((zOffset << 4u) + posZ)), 1.0)).xyz;
Normal = (SableTransform * vec4(SableNormal, 0.0)).xyz;
Color = vec4(1.0, 1.0, 1.0, 1.0) * vec4(vec3(1.0 - 0.2 * float(ambientOcclusion)), 1.0);
UV0 = vec2(textureU[vertexIndex], textureV[vertexIndex]);
UV2 = ivec2(packedLight & 0xF0u, (packedLight << 4) & 0xF0u);
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:end_stone"
]
}
@@ -0,0 +1,10 @@
{
"prevent_self_lift": true,
"scale_friction_with_gravity":true,
"lift_strength": 2,
"transition_speed": 2,
"slow_vertical_friction": 0.4,
"fast_vertical_friction": 0.02,
"slow_horizontal_friction": 0.3,
"fast_horizontal_friction": 0.01
}
@@ -0,0 +1,7 @@
{
"selector": "minecraft:bedrock",
"properties": {
"sable:mass": 1000.0
}
}
@@ -0,0 +1,7 @@
{
"selector": "#sable:bouncy",
"properties": {
"sable:restitution": 0.5
}
}
@@ -0,0 +1,13 @@
{
"selector": "minecraft:end_stone_brick_slab",
"properties": {
"sable:floating_material": "sable:end_stone",
"sable:floating_scale": 0.5
},
"overrides": {
"type=double": {
"sable:floating_scale": 1.0
}
}
}
@@ -0,0 +1,7 @@
{
"selector": "#sable:end_stones",
"properties": {
"sable:floating_material": "sable:end_stone"
}
}
@@ -0,0 +1,19 @@
{
"selector": "create:flywheel",
"properties": {
"sable:mass":4.0
},
"overrides":{
"axis=x": {
"sable:inertia": [2.25,1.125,1.125]
},
"axis=y": {
"sable:inertia": [1.125,2.25,1.125]
},
"axis=z": {
"sable:inertia": [1.125,1.125,2.25]
}
}
}
@@ -0,0 +1,7 @@
{
"selector": "#sable:fragile",
"properties": {
"sable:fragile": true
}
}
@@ -0,0 +1,7 @@
{
"selector": "minecraft:grindstone",
"properties": {
"sable:friction": 0.05
}
}
@@ -0,0 +1,13 @@
{
"selector": "#sable:half_volume",
"properties": {
"sable:volume": 0.5
},
"overrides": {
"type=double": {
"sable:volume": 1.0
}
}
}
@@ -0,0 +1,7 @@
{
"selector": "#sable:heavy",
"properties": {
"sable:mass": 2.0
}
}
@@ -0,0 +1,13 @@
{
"selector": "#sable:light",
"properties": {
"sable:mass": 0.5
},
"overrides": {
"type=double": {
"sable:mass": 1.0
}
}
}
@@ -0,0 +1,7 @@
{
"selector": "minecraft:mud",
"properties": {
"sable:friction": 0.25
}
}
@@ -0,0 +1,13 @@
{
"selector": "#sable:pistons",
"properties": {
"sable:mass": 1.0
},
"overrides": {
"extended=true": {
"sable:mass": 0.5
}
}
}
@@ -0,0 +1,13 @@
{
"selector": "#sable:quarter_volume",
"properties": {
"sable:volume": 0.25
},
"overrides": {
"type=double": {
"sable:volume": 0.5
}
}
}
@@ -0,0 +1,7 @@
{
"selector": "#sable:slippery",
"properties": {
"sable:friction": 0.0
}
}
@@ -0,0 +1,7 @@
{
"selector": "#sable:frictive",
"properties": {
"sable:friction": 1.65
}
}
@@ -0,0 +1,7 @@
{
"selector": "#sable:super_heavy",
"properties": {
"sable:mass": 4.0
}
}
@@ -0,0 +1,14 @@
{
"priority": 1001,
"selector": "#sable:super_light",
"properties": {
"sable:mass": 0.25
},
"overrides": {
"type=double": {
"sable:mass": 0.5
}
}
}
@@ -0,0 +1,14 @@
{
"replace": false,
"values": [
{ "id": "computercraft:monitor_normal", "required": false },
{ "id": "computercraft:monitor_advanced", "required": false },
{ "id": "computercraft:turtle_normal", "required": false },
{ "id": "computercraft:turtle_advanced", "required": false },
{ "id": "computercraft:computer_normal", "required": false },
{ "id": "computercraft:computer_advanced", "required": false },
{ "id": "computercraft:computer_command", "required": false }
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:slime_block"
]
}
@@ -0,0 +1,12 @@
{
"replace": false,
"values": [
"minecraft:repeater",
"minecraft:comparator",
{ "id": "create:powered_toggle_latch", "required": false },
{ "id": "create:powered_latch", "required": false },
{ "id": "create:pulse_timer", "required": false },
{ "id": "create:pulse_extender", "required": false },
{ "id": "create:pulse_repeater", "required": false }
]
}
@@ -0,0 +1,17 @@
{
"replace": false,
"values": [
"#c:end_stones",
"minecraft:end_stone_bricks",
"minecraft:end_stone_brick_stairs",
"minecraft:end_stone_brick_wall",
{ "id": "supplementaries:end_stone_lamp", "required": false },
{ "id": "architects_palette:choral_end_stone_bricks", "required": false },
{ "id": "architects_palette:cracked_end_stone_bricks", "required": false },
{ "id": "architects_palette:chiseled_end_stone_bricks", "required": false },
{ "id": "architects_palette:heavy_end_stone_bricks", "required": false },
{ "id": "architects_palette:heavy_cracked_end_stone_bricks", "required": false }
]
}
@@ -0,0 +1,13 @@
{
"replace": false,
"values": [
"#minecraft:leaves",
"minecraft:bamboo",
"minecraft:melon",
"minecraft:pumpkin",
"minecraft:cactus",
"minecraft:ice",
"minecraft:frosted_ice",
"minecraft:lily_pad"
]
}
@@ -0,0 +1,16 @@
{
"replace": false,
"values": [
"minecraft:soul_sand",
"minecraft:soul_soil",
"minecraft:honey_block",
"minecraft:cactus",
{ "id": "create:belt", "required": false },
{ "id": "architects_palette:tread_plate", "required": false },
{ "id": "architects_palette:tread_plate_slab", "required": false },
{ "id": "architects_palette:tread_plate_stairs", "required": false },
{ "id": "architects_palette:tread_plate_wall", "required": false }
]
}
@@ -0,0 +1,22 @@
{
"replace": false,
"values": [
"#minecraft:slabs",
"#minecraft:stairs",
{ "id": "decorative_blocks:chain", "required": false },
{ "id": "#decorative_blocks:palisades", "required": false },
{ "id": "quark:feeding_trough", "required": false },
{ "id": "#quark:vertical_slabs", "required": false },
{ "id": "#quark:hedges", "required": false },
{ "id": "supplementaries:blackboard", "required": false },
{ "id": "supplementaries:jar", "required": false },
{ "id": "#storagedrawers:half_drawers", "required": false },
{ "id": "#another_furniture:seats", "required": false }
]
}
@@ -0,0 +1,13 @@
{
"replace": false,
"values": [
"#c:stones",
"#c:cobblestones",
"minecraft:blackstone",
"minecraft:basalt",
"minecraft:smooth_basalt",
"minecraft:polished_basalt",
"minecraft:obsidian",
"minecraft:crying_obsidian"
]
}
@@ -0,0 +1,72 @@
{
"replace": false,
"values": [
"#minecraft:planks",
"#minecraft:logs",
"#minecraft:slabs",
"#minecraft:stairs",
"minecraft:piston_head",
"minecraft:barrel",
"minecraft:chest",
"#minecraft:bamboo_blocks",
"#c:clusters",
"#c:chests/wooden",
{ "id": "create:belt", "required": false },
{ "id": "create:track", "required": false },
{ "id": "create:nixie_tube", "required": false },
{ "id": "create:desk_bell", "required": false },
{ "id": "create:piston_extension_pole", "required": false },
{ "id": "create:turntable", "required": false },
{ "id": "create:andesite_funnel", "required": false },
{ "id": "create:brass_funnel", "required": false },
{ "id": "create:factory_gauge", "required": false },
{ "id": "create:display_link", "required": false },
{ "id": "create:stock_link", "required": false },
{ "id": "create:cardboard_block", "required": false },
{ "id": "create:bound_cardboard_block", "required": false },
{ "id": "create:andesite_encased_shaft", "required": false },
{ "id": "create:andesite_encased_cogwheel", "required": false },
{ "id": "create:andesite_encased_large_cogwheel", "required": false },
{ "id": "create:brass_encased_shaft", "required": false },
{ "id": "create:brass_encased_cogwheel", "required": false },
{ "id": "create:brass_encased_large_cogwheel", "required": false },
{ "id": "create:shaft", "required": false },
{ "id": "create:cogwheel", "required": false },
{ "id": "create:large_cogwheel", "required": false },
{ "id": "create:hand_crank", "required": false },
{ "id": "#create:valve_handles", "required": false },
{ "id": "#create:seats", "required": false },
{ "id": "farmersdelight:skillet", "required": false },
{ "id": "farmersdelight:cooking_pot", "required": false },
{ "id": "decorative_blocks:chain", "required": false },
{ "id": "#decorative_blocks:beams", "required": false },
{ "id": "#woodworks:wooden_boards", "required": false },
{ "id": "#quark:vertical_slabs", "required": false },
{ "id": "#quark:hollow_logs", "required": false },
{ "id": "supplementaries:blackboard", "required": false },
{ "id": "supplementaries:crystal_display", "required": false },
{ "id": "#supplementaries:presents", "required": false },
{ "id": "#supplementaries:trapped_presents", "required": false },
{ "id": "#architects_palette:boards", "required": false },
{ "id": "#storagedrawers:full_drawers", "required": false },
{ "id": "#storagedrawers:trim", "required": false },
{ "id": "#another_furniture:drawers", "required": false }
],
"remove": [
"#minecraft:wooden_slabs",
"#minecraft:wooden_stairs",
"#quark:wooden_vertical_slabs"
]
}
@@ -0,0 +1,6 @@
{
"values": [
"minecraft:piston",
"minecraft:sticky_piston"
]
}
@@ -0,0 +1,99 @@
{
"replace": false,
"values": [
"#minecraft:fences",
"#minecraft:fence_gates",
"#minecraft:trapdoors",
"#minecraft:doors",
"#minecraft:wool_carpets",
"#minecraft:candles",
"#c:glass_panes",
{ "id": "c:ladders", "required": false },
"minecraft:ladder",
"minecraft:iron_bars",
"#c:fence_gates",
"minecraft:cocoa",
"minecraft:moss_carpet",
"minecraft:bamboo",
"minecraft:sea_pickle",
"minecraft:chain",
"minecraft:lightning_rod",
"minecraft:flower_pot",
"minecraft:end_rod",
"minecraft:lantern",
"minecraft:soul_lantern",
{ "id": "create:clipboard", "required": false },
{ "id": "create:redstone_link", "required": false },
"#sable:diode",
{ "id": "create:andesite_ladder", "required": false },
{ "id": "create:copper_ladder", "required": false },
{ "id": "create:brass_ladder", "required": false },
{ "id": "create:andesite_bars", "required": false },
{ "id": "create:copper_bars", "required": false },
{ "id": "create:brass_bars", "required": false },
{ "id": "create:copycat_step", "required": false },
{ "id": "create:copycat_panel", "required": false },
{ "id": "#create:table_cloths", "required": false },
{ "id": "farmersdelight:cutting_board", "required": false },
{ "id": "farmersdelight:skillet", "required": false },
{ "id": "farmersdelight:cooking_pot", "required": false },
{ "id": "decorative_blocks:lattice", "required": false },
{ "id": "decorative_blocks:bar_panel", "required": false },
{ "id": "#decorative_blocks:seats", "required": false },
{ "id": "#decorative_blocks:supports", "required": false },
{ "id": "nomansland:tap", "required": false },
{ "id": "nomansland:spike_trap", "required": false },
{ "id": "nomansland:warding_effigy", "required": false },
{ "id": "quark:gold_bars", "required": false },
{ "id": "quark:iron_rod", "required": false },
{ "id": "quark:grate", "required": false },
{ "id": "quark:paper_wall", "required": false },
{ "id": "quark:paper_wall_big", "required": false },
{ "id": "quark:paper_wall_sakura", "required": false },
{ "id": "#quark:posts", "required": false },
{ "id": "supplementaries:stick", "required": false },
{ "id": "supplementaries:blaze_rod", "required": false },
{ "id": "supplementaries:gold_bars", "required": false },
{ "id": "supplementaries:gold_gate", "required": false },
{ "id": "supplementaries:iron_gate", "required": false },
{ "id": "supplementaries:wicker_fence", "required": false },
{ "id": "supplementaries:goblet", "required": false },
{ "id": "supplementaries:hourglass", "required": false },
{ "id": "supplementaries:flower_box", "required": false },
{ "id": "supplementaries:doormat", "required": false },
{ "id": "supplementaries:wind_vane", "required": false },
{ "id": "supplementaries:bamboo_spikes", "required": false },
{ "id": "supplementaries:crystal_display", "required": false },
{ "id": "#supplementaries:flags", "required": false },
{ "id": "#supplementaries:awnings", "required": false },
{ "id": "#supplementaries:globes", "required": false },
{ "id": "architects_palette:entwine_bars", "required": false },
{ "id": "architects_palette:sunmetal_bars", "required": false },
{ "id": "architects_palette:nether_brass_lantern", "required": false },
{ "id": "architects_palette:nether_brass_chain", "required": false },
{ "id": "architects_palette:hazard_sign", "required": false },
{ "id": "architects_palette:redstone_cage_lantern", "required": false },
{ "id": "architects_palette:glowstone_cage_lantern", "required": false },
{ "id": "architects_palette:algal_cage_lantern", "required": false },
{ "id": "#architects_palette:nubs", "required": false },
{ "id": "#another_furniture:shelves", "required": false },
{ "id": "#another_furniture:tables", "required": false },
{ "id": "#another_furniture:shutters", "required": false },
{ "id": "#another_furniture:flower_boxes", "required": false },
{ "id": "#another_furniture:curtains", "required": false },
{ "id": "#another_furniture:lamps", "required": false }
]
}
@@ -0,0 +1,13 @@
{
"replace": false,
"values": [
"#minecraft:ice",
{ "id": "architects_palette:polished_packed_ice", "required": false },
{ "id": "architects_palette:polished_packed_ice_slab", "required": false },
{ "id": "architects_palette:polished_packed_ice_stairs", "required": false },
{ "id": "architects_palette:polished_packed_ice_wall", "required": false },
{ "id": "architects_palette:chiseled_packed_ice", "required": false },
{ "id": "architects_palette:packed_ice_pillar", "required": false }
]
}
@@ -0,0 +1,14 @@
{
"replace": false,
"values": [
"#c:storage_blocks",
"#minecraft:anvil",
"minecraft:heavy_core"
],
"remove": [
{ "id": "create:cardboard_block", "required": false },
"minecraft:copper_block",
"minecraft:slime_block",
"minecraft:bone_block"
]
}
@@ -0,0 +1,118 @@
{
"replace": false,
"values": [
"#minecraft:wool",
"#minecraft:wooden_slabs",
"#minecraft:wooden_stairs",
"#minecraft:fences",
"#minecraft:fence_gates",
"#minecraft:trapdoors",
"#minecraft:doors",
"#minecraft:wool_carpets",
"#minecraft:leaves",
"#minecraft:saplings",
"#minecraft:candles",
"#c:glass_panes",
{ "id": "c:ladders", "required": false },
"minecraft:ladder",
"minecraft:iron_bars",
"#c:fence_gates",
"minecraft:cocoa",
"minecraft:lily_pad",
"minecraft:big_dripleaf",
"minecraft:turtle_egg",
"minecraft:moss_carpet",
"minecraft:snow",
"minecraft:bamboo",
"minecraft:sea_pickle",
"minecraft:chain",
"minecraft:lightning_rod",
"minecraft:flower_pot",
"minecraft:end_rod",
"minecraft:lantern",
"minecraft:soul_lantern",
"#sable:diode",
{ "id": "create:clipboard", "required": false },
{ "id": "create:redstone_link", "required": false },
{ "id": "create:andesite_ladder", "required": false },
{ "id": "create:copper_ladder", "required": false },
{ "id": "create:brass_ladder", "required": false },
{ "id": "create:andesite_bars", "required": false },
{ "id": "create:copper_bars", "required": false },
{ "id": "create:brass_bars", "required": false },
{ "id": "create:copycat_step", "required": false },
{ "id": "create:copycat_panel", "required": false },
{ "id": "#create:table_cloths", "required": false },
{ "id": "#create:windmill_sails", "required": false },
{ "id": "farmersdelight:cutting_board", "required": false },
{ "id": "#farmersdelight:straw_blocks", "required": false },
{ "id": "decorative_blocks:lattice", "required": false },
{ "id": "decorative_blocks:bar_panel", "required": false },
{ "id": "#decorative_blocks:seats", "required": false },
{ "id": "#decorative_blocks:supports", "required": false },
{ "id": "#decorative_blocks:palisades", "required": false },
{ "id": "nomansland:tap", "required": false },
{ "id": "nomansland:spike_trap", "required": false },
{ "id": "nomansland:warding_effigy", "required": false },
{ "id": "quark:gold_bars", "required": false },
{ "id": "quark:feeding_trough", "required": false },
{ "id": "quark:iron_rod", "required": false },
{ "id": "quark:grate", "required": false },
{ "id": "quark:paper_wall", "required": false },
{ "id": "quark:paper_wall_big", "required": false },
{ "id": "quark:paper_wall_sakura", "required": false },
{ "id": "quark:paper_lantern", "required": false },
{ "id": "quark:paper_lantern_sakura", "required": false },
{ "id": "#quark:wooden_vertical_slabs", "required": false },
{ "id": "#quark:posts", "required": false },
{ "id": "#quark:hedges", "required": false },
{ "id": "supplementaries:stick", "required": false },
{ "id": "supplementaries:blaze_rod", "required": false },
{ "id": "supplementaries:gold_bars", "required": false },
{ "id": "supplementaries:gold_gate", "required": false },
{ "id": "supplementaries:iron_gate", "required": false },
{ "id": "supplementaries:wicker_fence", "required": false },
{ "id": "supplementaries:goblet", "required": false },
{ "id": "supplementaries:hourglass", "required": false },
{ "id": "supplementaries:jar", "required": false },
{ "id": "supplementaries:flower_box", "required": false },
{ "id": "supplementaries:doormat", "required": false },
{ "id": "supplementaries:wind_vane", "required": false },
{ "id": "supplementaries:bamboo_spikes", "required": false },
{ "id": "#supplementaries:flags", "required": false },
{ "id": "#supplementaries:awnings", "required": false },
{ "id": "#supplementaries:globes", "required": false },
{ "id": "architects_palette:entwine_bars", "required": false },
{ "id": "architects_palette:sunmetal_bars", "required": false },
{ "id": "architects_palette:nether_brass_lantern", "required": false },
{ "id": "architects_palette:nether_brass_chain", "required": false },
{ "id": "architects_palette:hazard_sign", "required": false },
{ "id": "architects_palette:redstone_cage_lantern", "required": false },
{ "id": "architects_palette:glowstone_cage_lantern", "required": false },
{ "id": "architects_palette:algal_cage_lantern", "required": false },
{ "id": "#architects_palette:nubs", "required": false },
{ "id": "#storagedrawers:half_drawers", "required": false },
{ "id": "#another_furniture:seats", "required": false },
{ "id": "#another_furniture:shelves", "required": false },
{ "id": "#another_furniture:tables", "required": false },
{ "id": "#another_furniture:shutters", "required": false },
{ "id": "#another_furniture:flower_boxes", "required": false },
{ "id": "#another_furniture:curtains", "required": false },
{ "id": "#another_furniture:lamps", "required": false }
]
}
@@ -0,0 +1,10 @@
{
"replace": false,
"values": [
{ "id": "create:contraption", "required": false },
{ "id": "create:stationary_contraption", "required": false },
{ "id": "create:oriented_contraption", "required": false },
{ "id": "create:gantry_contraption", "required": false },
{ "id": "create:carriage_contraption", "required": false }
]
}
@@ -0,0 +1,12 @@
{
"replace": false,
"values": [
{ "id": "exposure:camera_stand", "required": false },
"minecraft:armor_stand",
"minecraft:minecart",
"minecraft:hopper_minecart",
"minecraft:chest_minecart",
"minecraft:furnace_minecart",
"minecraft:tnt_minecart"
]
}
@@ -0,0 +1,8 @@
{
"replace": false,
"values": [
"#sable:super_glue",
{ "id": "create:seat", "required": false },
"#sable:create_contraption"
]
}
@@ -0,0 +1,27 @@
{
"replace": false,
"values": [
"#sable:create_contraption",
"#sable:super_glue",
"#sable:wall_entities",
{ "id": "create:seat", "required": false },
{ "id": "blockbox:seat", "required": false },
{ "id": "botania:mana_burst", "required": false },
{ "id": "botania:corporea_burst", "required": false },
{ "id": "botania:spark", "required": false },
{ "id": "exposure:camera_stand", "required": false },
"minecraft:snow_golem",
"minecraft:armor_stand",
"minecraft:minecart",
"minecraft:hopper_minecart",
"minecraft:chest_minecart",
"minecraft:furnace_minecart",
"minecraft:tnt_minecart",
"minecraft:command_block_minecart",
"minecraft:block_display",
"minecraft:item_display",
"minecraft:text_display",
"minecraft:marker",
"minecraft:leash_knot"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
{ "id": "create:super_glue", "required": false }
]
}
@@ -0,0 +1,12 @@
{
"replace": false,
"values": [
"minecraft:painting",
"minecraft:item_frame",
"minecraft:glow_item_frame",
{ "id": "create:crafting_blueprint", "required": false },
{ "id": "exposure:glass_photograph_frame", "required": false },
{ "id": "exposure:photograph_frame", "required": false },
{ "id": "labels:label", "required": false }
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"#minecraft:shovels"
]
}
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2020 Sébastien Crozet
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@@ -0,0 +1,2 @@
The natives in this folder are for Sable's Rapier physics pipeline.
They contain a slightly modified version of Rapier visible at https://github.com/ryanhcode/rapier (view LICENSE-RAPIER).
@@ -0,0 +1,118 @@
accessWidener v2 named
accessible class net/minecraft/client/multiplayer/ClientChunkCache$Storage
accessible field net/minecraft/server/level/ChunkHolder fullChunkFuture Ljava/util/concurrent/CompletableFuture;
accessible field net/minecraft/server/level/ChunkHolder tickingChunkFuture Ljava/util/concurrent/CompletableFuture;
accessible field net/minecraft/server/level/ChunkHolder entityTickingChunkFuture Ljava/util/concurrent/CompletableFuture;
accessible class net/minecraft/server/level/ServerChunkCache$ChunkAndHolder
accessible method net/minecraft/server/level/ServerChunkCache$ChunkAndHolder <init> (Lnet/minecraft/world/level/chunk/LevelChunk;Lnet/minecraft/server/level/ChunkHolder;)V
accessible field net/minecraft/server/network/ServerCommonPacketListenerImpl connection Lnet/minecraft/network/Connection;
accessible field net/minecraft/server/level/ChunkMap updatingChunkMap Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap;
accessible field net/minecraft/server/level/ChunkMap visibleChunkMap Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap;
accessible field net/minecraft/server/level/ChunkLevel ENTITY_TICKING_LEVEL I
accessible field net/minecraft/server/level/ChunkLevel BLOCK_TICKING_LEVEL I
accessible method net/minecraft/server/network/PlayerChunkSender sendChunk (Lnet/minecraft/server/network/ServerGamePacketListenerImpl;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/level/chunk/LevelChunk;)V
accessible field net/minecraft/world/level/ClipContext block Lnet/minecraft/world/level/ClipContext$Block;
accessible field net/minecraft/world/level/ClipContext fluid Lnet/minecraft/world/level/ClipContext$Fluid;
accessible field net/minecraft/world/level/ClipContext collisionContext Lnet/minecraft/world/phys/shapes/CollisionContext;
accessible method net/minecraft/server/level/ChunkMap onFullChunkStatusChange (Lnet/minecraft/world/level/ChunkPos;Lnet/minecraft/server/level/FullChunkStatus;)V
accessible field net/minecraft/client/particle/Particle xo D
accessible field net/minecraft/client/particle/Particle yo D
accessible field net/minecraft/client/particle/Particle zo D
accessible field net/minecraft/client/particle/Particle x D
accessible field net/minecraft/client/particle/Particle y D
accessible field net/minecraft/client/particle/Particle z D
accessible field net/minecraft/world/level/lighting/LevelLightEngine blockEngine Lnet/minecraft/world/level/lighting/LightEngine;
accessible field net/minecraft/world/level/lighting/LevelLightEngine skyEngine Lnet/minecraft/world/level/lighting/LightEngine;
accessible method net/minecraft/server/level/ThreadedLevelLightEngine runUpdate ()V
extendable method net/minecraft/server/level/GenerationChunkHolder rescheduleChunkTask (Lnet/minecraft/server/level/ChunkMap;Lnet/minecraft/world/level/chunk/status/ChunkStatus;)V
accessible method net/minecraft/server/level/ThreadedLevelLightEngine updateChunkStatus (Lnet/minecraft/world/level/ChunkPos;)V
accessible field net/minecraft/client/renderer/block/BlockRenderDispatcher modelRenderer Lnet/minecraft/client/renderer/block/ModelBlockRenderer;
accessible class net/minecraft/client/renderer/block/ModelBlockRenderer$AmbientOcclusionFace
accessible field net/minecraft/client/renderer/RenderStateShard name Ljava/lang/String;
# Assembly
accessible method net/minecraft/world/entity/decoration/HangingEntity calculateSupportBox ()Lnet/minecraft/world/phys/AABB;
# Directional Shading
accessible field net/minecraft/client/renderer/block/ModelBlockRenderer CACHE Ljava/lang/ThreadLocal;
accessible class net/minecraft/client/renderer/block/ModelBlockRenderer$Cache
# UDP Networking
accessible field net/minecraft/network/Connection channel Lio/netty/channel/Channel;
# Serialization
accessible field net/minecraft/world/level/storage/DimensionDataStorage dataFolder Ljava/io/File;
accessible method net/minecraft/server/level/ChunkMap getChunks ()Ljava/lang/Iterable;
accessible method net/minecraft/server/level/ChunkMap scheduleUnload (JLnet/minecraft/server/level/ChunkHolder;)V
accessible field net/minecraft/server/level/ChunkMap toDrop Lit/unimi/dsi/fastutil/longs/LongSet;
accessible field net/minecraft/server/level/ChunkMap modified Z
accessible field net/minecraft/server/level/ChunkMap unloadQueue Ljava/util/Queue;
accessible method net/minecraft/server/level/ChunkMap saveChunkIfNeeded (Lnet/minecraft/server/level/ChunkHolder;)Z
accessible field net/minecraft/server/level/ChunkMap chunkSaveCooldowns Lit/unimi/dsi/fastutil/longs/Long2LongMap;
# Shadows
accessible field net/minecraft/client/renderer/ShaderInstance samplerLocations Ljava/util/List;
# Particles
accessible field net/minecraft/client/particle/Particle xd D
accessible field net/minecraft/client/particle/Particle yd D
accessible field net/minecraft/client/particle/Particle zd D
# Attributes
accessible field net/minecraft/world/entity/ai/attributes/AttributeSupplier instances Ljava/util/Map;
mutable field net/minecraft/world/entity/ai/attributes/AttributeSupplier instances Ljava/util/Map;
# Entity Storage
accessible field net/minecraft/server/level/ServerLevel entityManager Lnet/minecraft/world/level/entity/PersistentEntitySectionManager;
accessible field net/minecraft/world/level/entity/PersistentEntitySectionManager sectionStorage Lnet/minecraft/world/level/entity/EntitySectionStorage;
# Lithum Compat
accessible class net/minecraft/server/level/ServerChunkCache$MainThreadExecutor
# Entity Kicking
accessible field net/minecraft/world/entity/Entity levelCallback Lnet/minecraft/world/level/entity/EntityInLevelCallback;
# Distance Manager
accessible class net/minecraft/server/level/ChunkMap$DistanceManager
# Gizmo
accessible method net/minecraft/client/renderer/GameRenderer getFov (Lnet/minecraft/client/Camera;FZ)D
# Sub-Level rendering
accessible method net/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection updateGlobalBlockEntities (Ljava/util/Collection;)V
accessible method net/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection setCompiled (Lnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$CompiledSection;)V
accessible field net/minecraft/client/renderer/LevelRenderer cullingFrustum Lnet/minecraft/client/renderer/culling/Frustum;
accessible field net/minecraft/client/renderer/chunk/SectionRenderDispatcher bufferPool Lnet/minecraft/client/renderer/SectionBufferBuilderPool;
mutable field net/minecraft/client/renderer/chunk/SectionRenderDispatcher bufferPool Lnet/minecraft/client/renderer/SectionBufferBuilderPool;
# Entity Getting
accessible method net/minecraft/world/level/Level getEntities ()Lnet/minecraft/world/level/entity/LevelEntityGetter;
# Respawning
accessible class net/minecraft/server/level/ServerPlayer$RespawnPosAngle
accessible method net/minecraft/server/level/ServerPlayer$RespawnPosAngle <init> (Lnet/minecraft/world/phys/Vec3;F)V
accessible method net/minecraft/server/level/ServerPlayer findRespawnAndUseSpawnBlock (Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;FZZ)Ljava/util/Optional;
# Entity Riding
accessible method net/minecraft/world/entity/LivingEntity dismountVehicle (Lnet/minecraft/world/entity/Entity;)V
accessible field net/minecraft/world/entity/Entity removalReason Lnet/minecraft/world/entity/Entity$RemovalReason;
extendable method net/minecraft/world/entity/Entity getEyePosition (F)Lnet/minecraft/world/phys/Vec3;
extendable method net/minecraft/world/entity/Entity setRemoved (Lnet/minecraft/world/entity/Entity$RemovalReason;)V
#Abstract hurting projectile accel
accessible field net/minecraft/world/entity/projectile/AbstractHurtingProjectile accelerationPower D
@@ -0,0 +1,223 @@
{
"required": true,
"package": "dev.ryanhcode.sable.mixin",
"compatibilityLevel": "JAVA_21",
"minVersion": "0.8",
"plugin": "dev.ryanhcode.sable.plugin.SableMixinPlugin",
"client": [
"block_decal_render.LevelRendererMixin",
"camera.camera_rotation.CompassItemPropertyFunctionMixin",
"camera.camera_rotation.EntityMixin",
"camera.camera_rotation.GuiMixin",
"camera.camera_zoom.CameraMixin",
"camera.camera_zoom.MouseHandlerMixin",
"camera.new_camera_types.CameraTypeMixin",
"camera.new_camera_types.GameRendererMixin",
"camera.new_camera_types.MinecraftMixin",
"clip_overwrite.ClientLevelMixin",
"clip_overwrite.GameRendererMixin",
"compatibility.iris.ExtendedShaderMixin",
"config.GameRendererAccessor",
"debug_render.DebugRendererMixin",
"debug_render.DebugScreenOverlayMixin",
"debug_render.LevelRendererMixin",
"dynamic_directional_shading.AmbientOcclusionFaceMixin",
"dynamic_directional_shading.ModelBlockRendererCacheMixin",
"dynamic_directional_shading.ModelBlockRendererMixin",
"entity.entities_stick_sublevels.ClientPacketListenerMixin",
"entity.entities_stick_sublevels.EntityRenderDispatcherMixin",
"entity.entities_stick_sublevels.effects.LocalPlayerMixin",
"entity.entities_stick_sublevels.player.LocalPlayerMixin",
"entity.entities_stick_sublevels.player.RemotePlayerMixin",
"entity.entities_turn_with_sub_levels.GameRendererMixin",
"entity.entity_leashing.EntityRendererMixin",
"entity.entity_rendering.EntityRendererMixin",
"entity.entity_rendering.LevelRendererMixin",
"entity.entity_rendering.shadows.EntityRenderDispatcherMixin",
"entity.entity_rotations_and_riding.ClientPacketListenerMixin",
"entity.entity_rotations_and_riding.EntityRenderDispatcherMixin",
"entity.entity_rotations_and_riding.EntityRendererMixin",
"entity.entity_rotations_and_riding.LocalPlayerMixin",
"entity.entity_sublevel_collision.CameraMixin",
"entity.entity_swimming.CameraMixin",
"options.OptionsScreenMixin",
"particle.BlockMarkerMixin",
"particle.ClientLevelMixin",
"particle.FlameParticleMixin",
"particle.LevelRendererMixin",
"particle.ParticleEngineMixin",
"particle.ParticleMixin",
"particle.SuspendedParticleMixin",
"particle.TerrainParticleMixin",
"player_freezing.LocalPlayerMixin",
"plot.ClientChunkCacheMixin",
"plot.MinecraftMixin",
"plot.lighting.ClientPacketListenerMixin",
"plot.lighting.RenderChunkRegionMixin",
"punching.MinecraftMixin",
"punching.MultiPlayerGameModeMixin",
"respawn_point.sleeping.LivingEntityRendererMixin",
"sky_light_shadow.LevelRendererMixin",
"stop_rain.LevelRenderMixin",
"sublevel_render.BlockEntityRenderDispatcherMixin",
"sublevel_render.LevelRendererMixin",
"sublevel_render.RenderSectionAccessor",
"sublevel_render.RenderSectionMixin",
"sublevel_render.block_entity_render.LevelRendererMixin",
"sublevel_render.fancy.ProgramMixin",
"sublevel_render.impl.sodium.LevelRendererMixin",
"sublevel_render.impl.sodium.SodiumWorldRendererMixin",
"sublevel_render.impl.vanilla.LevelRendererMixin",
"sublevel_render.impl.vanilla.ViewAreaMixin",
"sublevel_render.impl.vanilla.water_occlusion.LevelRendererMixin",
"sublevel_sounds.AbstractSoundInstanceMixin",
"sublevel_sounds.ChannelAccessor",
"sublevel_sounds.ClientLevelMixin",
"sublevel_sounds.SoundEngineMixin",
"toast.IntegratedServerMixin",
"water_occlusion.CameraMixin",
"water_occlusion.FogRendererMixin",
"water_occlusion.GameRendererMixin"
],
"mixins": [
"assembly.AbstractFurnaceBlockEntityMixin",
"block_decal_render.ServerLevelMixin",
"block_placement.BlockPlaceContextMixin",
"block_placement.EntityGetterMixin",
"block_placement.UseOnContextMixin",
"block_properties.BlockStateMixin",
"chunk_container_replacement.LevelChunkSectionMixin",
"climbing_sub_levels.LivingEntityMixin",
"clip_overwrite.BlockGetterMixin",
"clip_overwrite.ClipContextMixin",
"clip_overwrite.EntityMixin",
"clip_overwrite.HitResultMixin",
"command.ArgumentTypeInfosMixin",
"command.DataCommandsMixin",
"command.ExecuteCommandMixin",
"compatibility.computercraft.WirelessNetworkMixin",
"compatibility.exposure.CameraPosesMixin",
"compatibility.exposure.CameraStandEntityMixin",
"compatibility.jade.BlockAccessorImplMixin",
"compatibility.jade.RayTracingMixin",
"compatibility.jadeaddons.CreatePluginMixin",
"compatibility.vista.LODMixin",
"compatibility.vista.ViewFinderAccessMixin",
"compatibility.vista.ViewFinderControllerMixin",
"death_message.CombatTrackerMixin",
"death_message.EntityMixin",
"enchanting_table.EnchantingTableBlockEntityMixin",
"entity.arrows_hit_blocks.AbstractArrowMixin",
"entity.entities_in_blocks.EntityMixin",
"entity.entities_stick_sublevels.EntityMixin",
"entity.entities_stick_sublevels.LivingEntityMixin",
"entity.entities_stick_sublevels.ServerEntityMixin",
"entity.entities_stick_sublevels.effects.EntityMixin",
"entity.entities_stick_sublevels.effects.LivingEntityMixin",
"entity.entities_stick_sublevels.packet_mixin.ClientboundMoveEntityPacketPosMixin",
"entity.entities_stick_sublevels.packet_mixin.ClientboundMoveEntityPacketPosRotMixin",
"entity.entities_stick_sublevels.packet_mixin.ClientboundTeleportEntityPacketMixin",
"entity.entities_stick_sublevels.player.ServerboundMovePlayerPacketMixin",
"entity.entities_stick_sublevels.player.ServerGamePacketListenerImplMixin",
"entity.entities_stick_sublevels.player.ServerPlayerMixin",
"entity.entity_aabb_lookup.LevelsMixin",
"entity.entity_ai.EatBlockGoalMixin",
"entity.entity_collision.CollisionContextMixin",
"entity.entity_collision.EntityMixin",
"entity.entity_interaction.ProjectileUtilMixin",
"entity.entity_kicking.BlockMixin",
"entity.entity_kicking.ServerLevelMixin",
"entity.entity_leashing.LeashableMixin",
"entity.entity_pathfinding.FlyNodeEvaluatorMixin",
"entity.entity_pathfinding.GroundPathNavigationMixin",
"entity.entity_pathfinding.PathfindingContextMixin",
"entity.entity_pathfinding.PathMixin",
"entity.entity_pathfinding.PathNavigationMixin",
"entity.entity_pathfinding.RandomPosMixin",
"entity.entity_pathfinding.WalkNodeEvaluatorMixin",
"entity.entity_rotations_and_riding.BlockMixin",
"entity.entity_rotations_and_riding.EntityMixin",
"entity.entity_rotations_and_riding.EntityTypeMixin",
"entity.entity_rotations_and_riding.LivingEntityMixin",
"entity.entity_rotations_and_riding.PlayerMixin",
"entity.entity_rotations_and_riding.ServerEntityMixin",
"entity.entity_rotations_and_riding.ServerPlayerMixin",
"entity.entity_sublevel_collision.AbstractMinecartMixin",
"entity.entity_sublevel_collision.EntityMixin",
"entity.entity_sublevel_collision.ItemEntityMixin",
"entity.entity_sublevel_collision.LevelMixin",
"entity.entity_sublevel_collision.LivingEntityMixin",
"entity.entity_sublevel_collision.PlayerMixin",
"entity.entity_sublevel_collision.ServerGamePacketListenerImplMixin",
"entity.entity_tracking.TrackedEntityMixin",
"entity.entity_unloading.PersistentEntitySectionManagerMixin",
"entity.falling_block.FallingBlockEntityMixin",
"entity.projectile.ProjectileMixin",
"entity.server_entities_tick.ChunkMapMixin",
"entity.server_entities_tick.ServerLevelMixin",
"entity.sublevels_block_sky.SubLevelsBlockSkyMixin",
"entity.tamed_teleport.TamableAnimalMixin",
"entity.teleport_players.ServerPlayerMixin",
"entity.tnt_jumps.PrimedTntMixin",
"entity.trident.ThrownTridentMixin",
"explosion.ExplosionMixin",
"explosion.ServerLevelMixin",
"extension.EntityMixin",
"fluids_on_sub_levels.FlowingFluidMixin",
"game_test.GameTestInfoMixin",
"game_test.StructureUtilsMixin",
"game_test.TestCommandMixin",
"impact.BeehiveBlockMixin",
"impact.BellBlockMixin",
"impact.TntBlockMixin",
"interaction_distance.EntityMixin",
"interaction_distance.PlayerMixin",
"level_accelerator.ServerChunkCacheAccessor",
"particle.ServerLevelMixin",
"physics.ServerLevelMixin",
"player_freezing.PlayerListMixin",
"player_freezing.PlayerMixin",
"player_freezing.ServerPlayerMixin",
"plot.ChunkMapMixin",
"plot.LevelChunkMixin",
"plot.LevelsMixin",
"plot.PlayerListMixin",
"plot.ServerChunkCacheMixin",
"plot.ServerLevelMixin",
"plot.lighting.BlockAndTintGetterMixin",
"plot.lighting.LevelChunkMixin",
"plot.serialization.ChunkMapMixin",
"plot.serialization.LevelChunkTicksMixin",
"portal.EntityMixin",
"portal.NetherPortalBlockMixin",
"prevent_freezing.BiomeMixin",
"prevent_overgrowth.VineBlockMixin",
"punching.ItemInvoker",
"recoil.ProjectileDispenseBehaviorMixin",
"respawn_point.ServerPlayerMixin",
"respawn_point.sleeping.LivingEntityMixin",
"respawn_point.sleeping.ServerPlayerMixin",
"sculk_vibrations.EuclideanGameEventListenerRegistryMixin",
"sculk_vibrations.GameEventDispatcherMixin",
"sculk_vibrations.VibrationSystemListenerMixin",
"sculk_vibrations.VibrationSystemTickerMixin",
"sign_interaction.SignBlockEntityMixin",
"tracking_points.EntityMixin",
"tracking_points.ServerPlayerMixin",
"udp.ConnectionMixin",
"udp.MinecraftServerMixin",
"udp.PlayerListMixin",
"udp.ServerConnectionListenerMixin",
"voxel_shape_iteration.BitSetDiscreteVoxelShapeAccessor",
"voxel_shape_iteration.DiscreteVoxelShapeAccessor",
"voxel_shape_iteration.VoxelShapeMixin",
"water_occlusion.EntityMixin",
"water_occlusion.LevelsMixin",
"water_occlusion.WaterFluidMixin",
"world_border.LevelMixin",
"world_border.WorldBorderMixin"
],
"injectors": {
"defaultRequire": 1
}
}