Updated the README

master
Wynd 2024-01-07 21:01:35 +02:00
parent ed4b7f4672
commit 7242ef63ec
3 changed files with 57 additions and 20 deletions

View File

@ -54,8 +54,20 @@ After:
![white text showingcasing the number of days spent in game](https://i.imgur.com/clje0xb.png)
**Format: ingame days (real life days)**
Both are calculated using the play time stat the player has, which means if the stats file gets corrupted or deleted these numbers will reset as well!
**Format**: ingame days (real life days)
The ingame time is calculated using the world's time, this means that other mods that poorly reset the time of day might influence it, sleeping also passes 1 ingame game as expected.<br>
Real life days are calculated differently from the world time but are stored in the world's data (level.dat) if this file gets corrupted or deleted both ingame time and real life time will be lost.
**Note**: Unfortunately due to how the time is tracked real life days will start being counted since this mod gets installed, any prior time not being tracked. Ingame days will however be tracked correctly.
</details>
<details><summary>Two different config options to handle how boats break</summary>
- Default config (value of 2) allows boats to break only when they crash with almost maximum speed. Making them less likely to break randomly.
- A value of 1 disables boat breaking logic entirely.
</details>
@ -212,12 +224,44 @@ After:
Before:<br>
<video controls src="https://i.imgur.com/BY0t3iG.mp4"/>
After:
After:<br>
<video controls src="https://i.imgur.com/4O7Fo8V.mp4" />
</details>
<details><summary>Fixes bookshelves not dropping anything when mined</summary>
Before:<br>
<video controls src="https://i.imgur.com/9dt46cf.mp4"/>
After:<br>
<video controls src="https://i.imgur.com/v9nEcfp.mp4" />
</details>
<details><summary>Fixes double doors not working with pressure plates</summary>
Before:<br>
<video controls src="https://i.imgur.com/WWcOZA0.mp4"/>
After:<br>
<video controls src="https://i.imgur.com/8Dj19lR.mp4" />
**Note**: This is not the prettiest of fixes and edge cases might still exist as I didn't test it in normal gameplay for long periods of time. If you experience any issues with already placed doors break them and then place them again, this should fix them.
</details>
<br>
As well as a bunch of other minor issues not worth having before/after images such as grass block items being rendered incorrectly or the useless 10mb array wasting resources.
As well as a bunch of other minor issues not worth having before/after images such as:
- fixes grass block items being rendered incorrectly
- made the chicken hitbox slightly taller
- allows the use of `shift` key to drop the entire held stack and to exit vehicles
- adds a config option that disables nightmares (mosters spawning at your bed while sleeping), disabled by default
- adds a config option that disables bed functionality (so no more spawn point setting or night skipping), disabled by default
- replaces the fence's bulky hitbox with a more slim version
- removing the useless 10mb array wasting resources
## Install

View File

@ -6,7 +6,6 @@ import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import net.minecraft.level.Level;
import xyz.pixelatedw.finalbeta.ModConfig;
import xyz.pixelatedw.finalbeta.WyHelper;
@Mixin(Level.class)
@ -14,9 +13,7 @@ public class LevelMixin {
@Inject(method = "method_242", at = @At(value = "INVOKE", target = "Lnet/minecraft/level/LevelMonsterSpawner;method_1870"))
public void tick(CallbackInfo ci) {
if (ModConfig.ENABLE_TIME_TRACKING.get()) {
WyHelper.playTime++;
}
WyHelper.playTime++;
}
}

View File

@ -20,14 +20,12 @@ public class LevelPropertiesMixin {
@Inject(method = "<init>", at = @At("TAIL"))
public void settingSpawnTime(CompoundTag nbt, CallbackInfo ci) {
if (ModConfig.ENABLE_TIME_TRACKING.get()) {
if (!nbt.containsKey(WyHelper.SPAWN_TIME_TAG)) {
this.spawnTime = System.currentTimeMillis();
} else {
this.spawnTime = nbt.getLong(WyHelper.SPAWN_TIME_TAG);
}
WyHelper.playTime = nbt.getLong(WyHelper.PLAY_TIME_TAG);
if (!nbt.containsKey(WyHelper.SPAWN_TIME_TAG)) {
this.spawnTime = System.currentTimeMillis();
} else {
this.spawnTime = nbt.getLong(WyHelper.SPAWN_TIME_TAG);
}
WyHelper.playTime = nbt.getLong(WyHelper.PLAY_TIME_TAG);
if (ModConfig.FIX_DOUBLE_DOORS.get()) {
WyHelper.DOOR_STATES.clear();
@ -44,11 +42,9 @@ public class LevelPropertiesMixin {
@Inject(method = "updateProperties", at = @At("TAIL"))
public void updateSpawnTime(CompoundTag worldNbt, CompoundTag playerNbt, CallbackInfo ci) {
if (ModConfig.ENABLE_TIME_TRACKING.get()) {
worldNbt.put(WyHelper.SPAWN_TIME_TAG, this.spawnTime);
worldNbt.put(WyHelper.PLAY_TIME_TAG, WyHelper.playTime);
}
worldNbt.put(WyHelper.SPAWN_TIME_TAG, this.spawnTime);
worldNbt.put(WyHelper.PLAY_TIME_TAG, WyHelper.playTime);
if (ModConfig.FIX_DOUBLE_DOORS.get()) {
ListTag doorStates = new ListTag();
for (Entry<Integer, Boolean> entry : WyHelper.DOOR_STATES.entrySet()) {