Skip to content

Commit

Permalink
Merge branch 'refs/heads/master' into Edit-MaceDMG
Browse files Browse the repository at this point in the history
  • Loading branch information
JAXPLE committed Dec 4, 2024
2 parents bae80a9 + e4822ac commit 87face6
Show file tree
Hide file tree
Showing 29 changed files with 899 additions and 513 deletions.
17 changes: 11 additions & 6 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
# Code of Conduct

1. **Before making a claim, try to prove yourself wrong.**
Test it, if feasible. If not, google it to see if someone else has proven it wrong. This saves you from embarrassment and helps to stop the spread of misinformation at the same time.
- Try your best to be respectful and composed. Be constructive with your criticisms, and don't intentionally upset people. When providing negative feedback, attack concepts rather than people. Detailed opinions and reasoning is good, "[project] bad/cursed" is not.

2. **Before asking a question, try to answer it for yourself.**
Test it, if feasible. If not, google it to see if someone else has asked it before. This saves you time (it is faster to google something than to wait for a human to reply) and saves us frustration (as a moderator, answering the same question over and over again is tiresome).
- If you're getting heated and your discussions are becoming unproductive, consider stepping away from the conversation until you feel better and can think more clearly.

3. **Don't be a jerk.**
We appreciate discussion but do not accept personal attacks and calling people names.
- Remember that everyone has a life as interesting, rich and varied as your own, and these experiences will shape everyone differently. If someone asks you to stop behaving in a certain way, you should listen to them (especially if it directly involves them).

- Don't be afraid to help out if you see someone in need of support. We were all beginners at some point, and everyone benefits from working together on problems.

- All voices are welcome, regardless of age, background, or level of experience. Try to be helpful and encouraging towards newcomers and those that need help, and don't make fun of them for knowing less than you do.

- Avoid being disruptive - don't dump memes or complaints without relevance to the topic at hand, and don't try to interrupt discussions or force them onto another topic.

- Don't ask to ask, just ask! Instead of asking for someone to help, state your problem directly. This makes it more likely for people to engage in conversation and try to help you. See: https://solhsa.com/dontask.html
17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "gradle"
directory: "/"
schedule:
interval: "daily"

- package-ecosystem: "github-actions"
# Directory should be `/` instead of `/.github/workflows` according to the docs.
directory: "/"
schedule:
interval: "daily"
12 changes: 12 additions & 0 deletions .github/workflows/auto_snapshot_update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,10 @@ on:
required: true

permissions:
# To push changes to the new snapshot branch.
contents: write
# To trigger the CI workflow.
actions: write

jobs:
update:
Expand Down Expand Up @@ -118,3 +121,12 @@ jobs:
git commit -m "[Wurst-Bot] Update to ${{ github.event.inputs.mc_version }}"
git push --set-upstream origin ${{ github.event.inputs.mc_version }}
shell: bash

# For some reason the commit above doesn't automatically trigger the CI
# workflow, so we need to explicitly start it here.
- name: Trigger CI on the new branch
env:
GH_TOKEN: ${{ github.token }}
run: |
gh workflow run gradle.yml --ref ${{ github.event.inputs.mc_version }}
shell: bash
5 changes: 5 additions & 0 deletions .github/workflows/dependency_graph.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ name: Update Gradle Dependency Graph

on:
push:
branches:
# Submitting dependency graph reports on non-default branches does nothing
- "master"
tags-ignore:
- "**"
paths:
- "gradle**"
- "*.gradle"
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
name: Java CI with Gradle
run-name: |
${{ github.event_name == 'pull_request'
&& format('Test changes in PR #{0}: {1}', github.event.pull_request.number, github.event.pull_request.title)
|| format('Test changes in {0}: {1}', github.ref_name, github.event.head_commit.message) }}
on:
push:
branches:
- "**"
tags-ignore:
- "**"
paths:
- "**.java"
- "**.json"
- "**.yml"
- "gradle**"
- "*.gradle"
pull_request:
paths:
- "**.java"
- "**.json"
- "**.yml"
- "gradle**"
- "*.gradle"
workflow_dispatch:
Expand Down
98 changes: 98 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Publish Release
run-name: "Publish release from ${{ github.ref_name }} branch"

permissions:
# Needed to push the tag.
contents: write
# Needed to close the milestone.
issues: write

on:
workflow_dispatch:
inputs:
close_milestone:
description: "Close milestone"
required: true
type: boolean
default: true
upload_backups:
description: "Upload to backups server"
required: true
type: boolean
default: true
publish_github:
description: "Publish to GitHub"
required: true
type: boolean
default: true
update_website:
description: "Update WurstClient.net post (only works if there already is one)"
required: true
type: boolean
default: false

jobs:
publish:
runs-on: ubuntu-latest
env:
WI_BACKUPS_API_KEY: ${{ secrets.WI_BACKUPS_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:

- name: Checkout repository
uses: actions/checkout@v4
with:
# Include all tags in case the new tag already exists.
fetch-tags: true

- name: Set up Java 21
uses: actions/setup-java@v4
with:
java-version: "21"
distribution: "microsoft"

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: Build
run: ./gradlew build --stacktrace --warning-mode=fail

- name: Create and push tag
run: |
MOD_VERSION=$(grep "mod_version" gradle.properties | cut -d'=' -f2 | tr -d ' \r')
git config --global user.name "Wurst-Bot"
git config --global user.email "[email protected]"
git tag "$MOD_VERSION"
git push origin "$MOD_VERSION"
- name: Close milestone
if: ${{ inputs.close_milestone }}
run: ./gradlew closeMilestone --stacktrace

- name: Upload backups
if: ${{ inputs.upload_backups }}
run: ./gradlew uploadBackups --stacktrace

- name: Publish to GitHub
if: ${{ inputs.publish_github }}
env:
GITHUB_TOKEN: ${{ secrets.OLD_MCX_PUBLISH_TOKEN }}
run: ./gradlew github --stacktrace

- name: Trigger website update
if: ${{ inputs.update_website }}
env:
GH_TOKEN: ${{ secrets.WURSTCLIENT_NET_PUBLISH_TOKEN }}
run: |
MOD_VERSION=$(grep "mod_version" gradle.properties | cut -d'=' -f2 | tr -d ' \r')
WURST_VERSION=$(echo "$MOD_VERSION" | sed 's/^v//' | sed 's/-MC.*$//')
MC_VERSION=$(grep "minecraft_version" gradle.properties | cut -d'=' -f2 | tr -d ' \r')
FAPI_VERSION=$(grep "fabric_version" gradle.properties | cut -d'=' -f2 | tr -d ' \r')
gh workflow run add_wurst_port.yml \
-R Wurst-Imperium/WurstClient.net \
-f wurst_version="$WURST_VERSION" \
-f mc_version="$MC_VERSION" \
-f fapi_version="$FAPI_VERSION"
3 changes: 2 additions & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ jobs:
runs-on: ubuntu-latest
steps:

- uses: actions/stale@v9
- name: Run stale bot
uses: actions/stale@v9
with:
stale-issue-message: |
This issue has been open for a while with no recent activity. If this issue is still important to you, please add a comment within the next 7 days to keep it open. Otherwise, the issue will be automatically closed to free up time for other tasks.
Expand Down
94 changes: 81 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,102 @@
# Wurst Client v7

## Downloads (for users)
- **Downloads:** [https://www.wurstclient.net/download/](https://www.wurstclient.net/download/?ref=GitHub+repo)

[https://www.wurstclient.net/download/](https://www.wurstclient.net/download/?utm_source=GitHub&utm_medium=Wurst7&utm_campaign=README.md&utm_content=Downloads+%28for+users%29)
- **Installation guide:** [https://www.wurstclient.net/tutorials/how-to-install/](https://www.wurstclient.net/tutorials/how-to-install/?ref=GitHub+repo)

## Setup (for developers)
- **Feature list:** [https://www.wurstclient.net/](https://www.wurstclient.net/?ref=GitHub+repo)

(This assumes that you are using Windows with [Eclipse](https://www.eclipse.org/downloads/) and [Java Development Kit 21](https://adoptium.net/?variant=openjdk21&jvmVariant=hotspot) already installed.)
- **Wiki:** [https://wurst.wiki/](https://wurst.wiki/?ref=GitHub+repo)

1. Run this command in PowerShell:
- **Forum:** [https://wurstforum.net/](https://wurstforum.net/?ref=GitHub+repo)

```
./gradlew.bat genSources eclipse --no-daemon
- **Twitter/X:** https://x.com/Wurst_Imperium

- **YouTube:** https://www.youtube.com/@Alexander01998

- **Donations/Perks:** https://ko-fi.com/wurst

## Installation

Wurst 7 can be installed just like any other Fabric mod. Here are the basic installation steps:

1. Run the Fabric installer.
2. Add the Wurst Client and Fabric API to your mods folder.

Please refer to the [full Wurst 7 installation guide](https://www.wurstclient.net/tutorials/how-to-install/wurst-7/) if you need more detailed instructions or run into any problems.

Also, this should be obvious, but you do need to have a licensed copy of Minecraft Java Edition in order to use Wurst. Wurst is a cheat client, not a pirate client.

## Development Setup

> [!IMPORTANT]
> Make sure you have [Java Development Kit 21](https://adoptium.net/?variant=openjdk21&jvmVariant=hotspot) installed. It won't work with other versions.
### Development using Eclipse

1. Clone the repository:

```pwsh
git clone https://github.com/Wurst-Imperium/Wurst7.git
cd Wurst7
```

2. Generate the sources:

```pwsh
./gradlew genSources eclipse
```

3. In Eclipse, go to `Import...` > `Existing Projects into Workspace` and select this project.

4. **Optional:** Right-click on the project and select `Properties` > `Java Code Style`. Then under `Clean Up`, `Code Templates`, `Formatter`, import the respective files in the `codestyle` folder.

### Development using VSCode / Cursor

> [!TIP]
> You'll probably want to install the [Extension Pack for Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) to make development easier.
1. Clone the repository:

```pwsh
git clone https://github.com/Wurst-Imperium/Wurst7.git
cd Wurst7
```

2. Generate the sources:

```pwsh
./gradlew genSources vscode
```

3. Open the `Wurst7` folder in VSCode / Cursor.

4. **Optional:** In the VSCode settings, set `java.format.settings.url` to `https://raw.githubusercontent.com/Wurst-Imperium/Wurst7/master/codestyle/formatter.xml` and `java.format.settings.profile` to `Wurst-Imperium`.

### Development using IntelliJ IDEA

I don't use or recommend IntelliJ, but the commands to run would be:

```pwsh
git clone https://github.com/Wurst-Imperium/Wurst7.git
cd Wurst7
./gradlew genSources idea
```

2. In Eclipse, go to `Import...` > `Existing Projects into Workspace` and select this project.

## Contributing

Pull requests are welcome, but please make sure to read the [contributing guidelines](CONTRIBUTING.md) first.
Please always [contact me](https://www.wurstclient.net/contact/) before opening a Pull Request. Any method works. That way we can discuss your ideas early and avoid wasting your time working on unwanted features or having to make lots of changes later.

## Translations
We also have [contributing guidelines](CONTRIBUTING.md) to help you get started.

The preferred way to submit translations is through a Pull Request here on GitHub.
## Translations

To enable translations in-game, go to Wurst Options > Translations > ON.

Names of features (hacks/commands/etc.) should always be kept in English. This ensures that everyone can use the same commands, keybinds, etc. regardless of their language setting. It also makes it easier to communicate with someone who uses Wurst in a different language.
The preferred way to submit translations is through a Pull Request here on GitHub. The translation files are located in [this folder](https://github.com/Wurst-Imperium/Wurst7/tree/master/src/main/resources/assets/wurst/translations).

The translation files are located in [this folder](https://github.com/Wurst-Imperium/Wurst7/tree/master/src/main/resources/assets/wurst/translations), in case you need them.
Names of features (hacks/commands/etc.) should always be kept in English. This ensures that everyone can use the same commands, keybinds, etc. regardless of their language setting. It also makes it easier to communicate with someone who uses Wurst in a different language.

## License

Expand Down
Loading

0 comments on commit 87face6

Please sign in to comment.