Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This workflow will build a Java project with Gradle
# For more information see: https://docs.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle

name: Java CI with Gradle
on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v7
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'microsoft'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
- name: Build
run: ./gradlew build
- name: Store failure reports
if: failure()
uses: actions/upload-artifact@v7
with:
name: reports
path: |
**/build/reports/
**/build/test-results/
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
The MIT License (MIT)

Copyright (c) 2020 Andrew Steinborn
Copyright (c) 2020 Velocity Contributors
Copyright (c) 2020-2026 Andrew Steinborn
Copyright (c) 2020-2026 Velocity Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
# CrossStitch
# CrossStitch [![Discord](https://img.shields.io/discord/289587909051416579.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/papermc)

CrossStitch is a Minecraft mod designed to improve Minecraft proxy compatibility with other Minecraft mods.
This mod is supported by the [Velocity](https://velocitypowered.com/) team and is developed against Velocity
This mod is supported by the [Velocity](https://papermc.io/software/velocity) team and is developed against Velocity
and Fabric, but the principles used are intended to be generic enough to apply to any Minecraft proxy and to
any Minecraft modding platform. (Once we have modern Forge support in Velocity, for instance, we'll have a version
for Forge, for instance.)

## Installation

Download the mod from [CurseForge](https://www.curseforge.com/minecraft/mc-mods/crossstitch) or from
the releases section here.
Download the mod from [Modrinth](https://modrinth.com/mod/crossstitch) or [CurseForge](https://www.curseforge.com/minecraft/mc-mods/crossstitch).

CrossStitch needs to be installed on the Fabric server itself - Velocity supports CrossStitch as
of Velocity 1.1.2.

Once installed, make sure to only use Velocity to connect to your server, as CrossStitch isn't available
client-side - it's designed to work only with Velocity.

## Additional Components

To support Velocity's modern player information forwarding, you need to install and configure [FabricProxy-Lite](https://modrinth.com/mod/fabricproxy-lite)

## Why?

Mojang has been increasing the opportunities that mod developers have to add new content to the game.
Expand Down
55 changes: 0 additions & 55 deletions build.gradle

This file was deleted.

52 changes: 52 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
plugins {
id("maven-publish")
alias(libs.plugins.fabric.loom)
}

group = "com.velocitypowered"
version = libs.versions.project.get()

fabricApi {
configureTests {
createSourceSet = true
modId = "crossstitch-test"
enableClientGameTests = false
eula = true
}
}

dependencies {
minecraft(libs.minecraft)
implementation(libs.fabric.loader)

"gametestImplementation"(libs.fabric.api)
}

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(libs.versions.java.get()))
}
}

tasks.named<Jar>("jar") {
from("LICENSE")
}

tasks.named<ProcessResources>("processResources") {
filteringCharset = "UTF-8"

val props = mapOf(
"version" to libs.versions.project.get(),
"java" to libs.versions.java.get(),
"minecraft" to libs.versions.minecraft.get(),
"fabric_loader" to libs.versions.fabric.loader.get()
)

props.forEach { (key, value) ->
inputs.property(key, value)
}

filesMatching("fabric.mod.json") {
expand(props)
}
}
16 changes: 0 additions & 16 deletions gradle.properties

This file was deleted.

17 changes: 17 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[versions]
project = "0.1.8"
java = "25"
minecraft = "26.1.2"

fabric_loom="1.17-SNAPSHOT"
fabric_loader="0.19.3"
# used for gametests
fabric_api="0.155.2+26.1.2"

[plugins]
fabric_loom = { id = "net.fabricmc.fabric-loom", version.ref = "fabric_loom" }

[libraries]
minecraft = { module = "com.mojang:minecraft", version.ref = "minecraft" }
fabric-loader = { module = "net.fabricmc:fabric-loader", version.ref = "fabric_loader" }
fabric-api = { module = "net.fabricmc.fabric-api:fabric-api", version.ref = "fabric_api" }
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 3 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading