Skip to content

Commit

Permalink
Merge v7.46.4 into 1.21.4-rc3
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander01998 committed Dec 3, 2024
2 parents 8f78628 + e4822ac commit 977e56d
Show file tree
Hide file tree
Showing 9 changed files with 129 additions and 123 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
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
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ loader_version=0.16.9
fabric_version=0.110.5+1.21.4

# Mod Properties
mod_version = v7.46.3-MC1.21.4-rc3
mod_version = v7.46.4-MC1.21.4-rc3
maven_group = net.wurstclient
archives_base_name = Wurst-Client

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/wurstclient/WurstClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public enum WurstClient
public static MinecraftClient MC;
public static IMinecraftClient IMC;

public static final String VERSION = "7.46.3";
public static final String VERSION = "7.46.4";
public static final String MC_VERSION = "1.21.4-rc3";

private WurstAnalytics analytics;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

import net.minecraft.block.BlockState;
import net.minecraft.fluid.Fluid;
import net.minecraft.fluid.FluidState;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.world.BlockRenderView;
Expand All @@ -26,19 +27,47 @@
@Mixin(targets = {
"net.caffeinemc.mods.sodium.client.render.chunk.compile.pipeline.DefaultFluidRenderer"},
remap = false)
public class SodiumFluidRendererMixin
public class SodiumDefaultFluidRendererMixin
{
@Unique
private ThreadLocal<BlockPos.Mutable> mutablePosForExposedCheck =
ThreadLocal.withInitial(BlockPos.Mutable::new);

/**
* This mixin hides and shows fluids when using X-Ray with Sodium installed.
* Last updated for Sodium 0.6.0-beta.1+mc1.21.
*
* <p>
* Works with Sodium >=0.6.0-beta.1 and <0.6.1.
*/
@Inject(at = @At("HEAD"), method = "isFluidOccluded", cancellable = true)
@Inject(at = @At("HEAD"),
method = "isFluidOccluded(Lnet/minecraft/class_1920;IIILnet/minecraft/class_2350;Lnet/minecraft/class_2680;Lnet/minecraft/class_3611;)Z",
cancellable = true,
require = 0)
private void onIsFluidOccludedInSodium060(BlockRenderView world, int x,
int y, int z, Direction dir, BlockState state, Fluid fluid,
CallbackInfoReturnable<Boolean> cir)
{
BlockPos.Mutable pos = mutablePosForExposedCheck.get();
pos.set(x, y, z);
ShouldDrawSideEvent event = new ShouldDrawSideEvent(state, pos);
EventManager.fire(event);

if(event.isRendered() != null)
cir.setReturnValue(!event.isRendered());
}

/**
* This mixin hides and shows fluids when using X-Ray with Sodium installed.
*
* <p>
* Works with Sodium >=0.6.1. Last tested with Sodium 0.6.1+mc1.21.3.
*/
@Inject(at = @At("HEAD"),
method = "isFluidOccluded(Lnet/minecraft/class_1920;IIILnet/minecraft/class_2350;Lnet/minecraft/class_2680;Lnet/minecraft/class_3610;)Z",
cancellable = true,
require = 0)
private void onIsFluidOccluded(BlockRenderView world, int x, int y, int z,
Direction dir, BlockState state, Fluid fluid,
Direction dir, BlockState state, FluidState fluid,
CallbackInfoReturnable<Boolean> cir)
{
BlockPos.Mutable pos = mutablePosForExposedCheck.get();
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ public static void runWurstCommand(String command)
*/
public static void rightClickInGame()
{
submitAndWait(mc -> mc.doItemUse());
submitAndWait(MinecraftClient::doItemUse);
waitForWorldTicks(1);
}

Expand Down
4 changes: 1 addition & 3 deletions src/main/resources/wurst.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,8 @@
"ScreenMixin",
"ShulkerBoxScreenMixin",
"SimpleOptionMixin",
"SodiumDefaultFluidRendererMixin",
"SodiumBlockOcclusionCacheMixin",
"SodiumFluidRendererMixin",
"SodiumOldBlockOcclusionCacheMixin",
"SodiumOldFluidRendererMixin",
"StatsScreenMixin",
"StatusEffectInstanceMixin",
"TelemetryManagerMixin",
Expand Down

0 comments on commit 977e56d

Please sign in to comment.