Compare commits
3 Commits
406fe6f861
...
a948d31d3c
Author | SHA1 | Date |
---|---|---|
Wynd | a948d31d3c | |
Wynd | 97c7f970dc | |
Wynd | 033d175097 |
50
README.md
50
README.md
|
@ -7,7 +7,7 @@ A (Cursed) Fabric mod for Minecraft Beta 1.7.3 that adds some quality of life ch
|
|||
You can change what fixes get applied using the config found in one of the following paths:
|
||||
|
||||
| OS | Location |
|
||||
|-------|----------|
|
||||
| ------- | ------------------------------------------------------------- |
|
||||
| Windows | %appdata%/.minecraft/config/finalbeta.toml |
|
||||
| Linux | ~/.minecraft/config/finalbeta.toml |
|
||||
| macOS | ~/Library/Application Support/minecraft/config/finalbeta.toml |
|
||||
|
@ -29,6 +29,7 @@ Note that if you're using something like MultiMC or any of its derivates the fol
|
|||
- Opening / closing chests
|
||||
- Minecarts
|
||||
- Items breaking
|
||||
- Climbing ladders
|
||||
|
||||
**Note: The mod doesn't add any sounds by itself, all of these sounds are already present in your "resources" folder, they are automatically downloaded by Minecraft itself**
|
||||
|
||||
|
@ -40,6 +41,12 @@ Note that if you're using something like MultiMC or any of its derivates the fol
|
|||
|
||||
</details>
|
||||
|
||||
<details><summary>Adds Cloud height slider in Video Settings</summary>
|
||||
|
||||
<video controls src="https://i.imgur.com/UED8RTl.mp4" />
|
||||
|
||||
</details>
|
||||
|
||||
<details><summary>Removes the id tags above entities while in F3 mode</summary>
|
||||
|
||||
Before:<br>
|
||||
|
@ -83,6 +90,20 @@ Real life days are calculated differently from the world time but are stored in
|
|||
|
||||
</details>
|
||||
|
||||
<details><summary>Minecart improvements</summary>
|
||||
|
||||
Such as a 25% increased in speed
|
||||
|
||||
<video controls src="https://i.imgur.com/LPlalym.mp4" />
|
||||
|
||||
Or furnace minecarts pushing other minecarts in their path
|
||||
|
||||
<video controls src="https://i.imgur.com/utqVWaS.mp4" />
|
||||
|
||||
Or furnace minecarts loading chunks around them when going on tracks.
|
||||
|
||||
</details>
|
||||
|
||||
### Fixes
|
||||
|
||||
<details><summary>Fixes selected blocks being rendered under text in containers</summary>
|
||||
|
@ -104,6 +125,7 @@ After:
|
|||
![death screen displaying a yellow score of 0](https://i.imgur.com/rTHeTOk.png)
|
||||
|
||||
**Note: Score will always be 0 as nothing gives score in this version**
|
||||
|
||||
</details>
|
||||
|
||||
<details><summary>Made bows bigger and facing the right direction</summary>
|
||||
|
@ -124,9 +146,10 @@ After:
|
|||
|
||||
</details>
|
||||
|
||||
<details><summary>Updated list of blocks that pickaxes and axes can mine quicker</summary>
|
||||
<details><summary>Updated list of blocks that pickaxes, shovels and axes can mine quicker</summary>
|
||||
|
||||
**Extra pickaxe blocks:**
|
||||
|
||||
- Cobblestone stairs
|
||||
- Redstone ore
|
||||
- Iron door
|
||||
|
@ -141,6 +164,7 @@ After:
|
|||
- Sticky pistons
|
||||
|
||||
**Extra axe blocks:**
|
||||
|
||||
- Wooden stairs
|
||||
- Door
|
||||
- Pressure plates
|
||||
|
@ -153,6 +177,10 @@ After:
|
|||
- Crafting tables
|
||||
- Fences
|
||||
|
||||
**Extra shovel blocks:**
|
||||
|
||||
- Soul sand
|
||||
|
||||
</details>
|
||||
|
||||
<details><summary>Stairs will now drop themselves rather than cobble/planks</summary>
|
||||
|
@ -259,14 +287,27 @@ Before:<br>
|
|||
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>
|
||||
|
||||
<details><summary>Fixes furnace minecarts permanently destroying unused coal loaded in them</summary>
|
||||
|
||||
Before:
|
||||
|
||||
<video controls src="https://i.imgur.com/mMo6Vdl.mp4"/>
|
||||
|
||||
After:
|
||||
|
||||
<video controls src="https://i.imgur.com/9FOf9yn.mp4" />
|
||||
|
||||
</details>
|
||||
|
||||
<br>
|
||||
As well as a bunch of other minor issues not worth having before/after images such as:
|
||||
|
||||
- ghasts getting killed in 1 hit by their reflected fireballs
|
||||
- slimes not splitting when their HP gets reduced below 0
|
||||
- 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
|
||||
|
@ -278,6 +319,7 @@ As well as a bunch of other minor issues not worth having before/after images su
|
|||
## Install
|
||||
|
||||
### Vanilla Launcher
|
||||
|
||||
- Download the Vanilla Launcher installer of Cursed Legacy Fabric from [https://minecraft-cursed-legacy.github.io/downloads.html](https://minecraft-cursed-legacy.github.io/downloads.html)
|
||||
- Run the installer and let it finish
|
||||
- Download the latest version of the mod
|
||||
|
@ -285,6 +327,7 @@ As well as a bunch of other minor issues not worth having before/after images su
|
|||
- Start the launcher and make sure you pick the Cursed Fabric profile before starting the game
|
||||
|
||||
### MultiMC / Prism Launcher
|
||||
|
||||
- Download the MultiMC archive of Cursed Legacy Fabric from [https://minecraft-cursed-legacy.github.io/downloads.html](https://minecraft-cursed-legacy.github.io/downloads.html)
|
||||
- Open your MultiMC / Prism Launcher
|
||||
- Drag the .zip file into the launcher (you can also choose a different name for this profile now) and click Ok
|
||||
|
@ -303,3 +346,4 @@ A: Check the above answer
|
|||
|
||||
**Q: Entities and items don't seem to burn**
|
||||
A: Check the above answer
|
||||
|
||||
|
|
|
@ -48,6 +48,8 @@ public class ModConfig {
|
|||
"Enables furance minecarts to push forward the first minecart it comes in contact with");
|
||||
public static final Option<Boolean> FURNACE_MINECART_CHUNK_LOADING = make("Enable furnace minecarts to load chunks", true,
|
||||
"Name says it all, furnace minecarts will load chunks as they go on tracks.");
|
||||
public static final Option<Double> CLOUDS_HEIGHT = make("Clouds Height", 0.0,
|
||||
"Clouds height modifier, goes from 0.0, meaning the default 108 blocks height, to 1.0, meaning a 324 blocks height.");
|
||||
|
||||
public static final Option<Boolean> FIX_BOW_MODEL = make("Fix bow model", true,
|
||||
"Makes the box model held by players and skeletons bigger and facing forward");
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
package xyz.pixelatedw.finalbeta;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.widgets.Button;
|
||||
|
||||
public class ModSlider extends Button {
|
||||
public float value = 1.0F;
|
||||
public boolean dragged = false;
|
||||
public final String defaultText;
|
||||
private final IChanceValue changeEvent;
|
||||
|
||||
public ModSlider(int id, int x, int y, String label, float initialValue, IChanceValue changeEvent) {
|
||||
super(id, x, y, 150, 20, label);
|
||||
this.value = initialValue;
|
||||
this.defaultText = label;
|
||||
this.changeEvent = changeEvent;
|
||||
this.text = this.defaultText + "" + String.format("%.2f", this.value);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getYImage(boolean flag) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void postRender(Minecraft minecraft, int i, int j) {
|
||||
if (this.visible) {
|
||||
if (this.dragged) {
|
||||
this.value = (float) (i - (this.x + 4)) / (float) (this.width - 8);
|
||||
if (this.value < 0.0F) {
|
||||
this.value = 0.0F;
|
||||
}
|
||||
|
||||
if (this.value > 1.0F) {
|
||||
this.value = 1.0F;
|
||||
}
|
||||
|
||||
this.changeEvent.changeValue(this.value);
|
||||
this.text = this.defaultText + "" + String.format("%.2f", this.value);
|
||||
}
|
||||
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
this.blit(this.x + (int) (this.value * (this.width - 8)), this.y, 0, 66, 4, 20);
|
||||
this.blit(this.x + (int) (this.value * (this.width - 8)) + 4, this.y, 196, 66, 4, 20);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMouseOver(Minecraft minecraft, int i, int j) {
|
||||
if (super.isMouseOver(minecraft, i, j)) {
|
||||
this.value = (float) (i - (this.x + 4)) / (float) (this.width - 8);
|
||||
if (this.value < 0.0F) {
|
||||
this.value = 0.0F;
|
||||
}
|
||||
|
||||
if (this.value > 1.0F) {
|
||||
this.value = 1.0F;
|
||||
}
|
||||
|
||||
this.changeEvent.changeValue(this.value);
|
||||
this.text = this.defaultText + "" + String.format("%.2f", this.value);
|
||||
this.dragged = true;
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(int i, int j) {
|
||||
this.dragged = false;
|
||||
}
|
||||
|
||||
public interface IChanceValue {
|
||||
void changeValue(float value);
|
||||
}
|
||||
}
|
|
@ -95,7 +95,7 @@ public class WyHelper {
|
|||
// Slime slime = new Slime(player.level);
|
||||
// slime.setPositionAndAngles(player.x, player.y + 0.5D, player.z, player.level.rand.nextFloat() * 360.0F, 0.0F);
|
||||
// player.level.spawnEntity(slime);
|
||||
// slime.setSize(10);
|
||||
// slime.setSize(5);
|
||||
|
||||
// player.level.entities.stream().filter(e -> !(e instanceof Player)).forEach((e) -> ((net.minecraft.entity.Entity)e).remove());
|
||||
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
package xyz.pixelatedw.finalbeta.mixin;
|
||||
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import net.minecraft.level.dimension.Dimension;
|
||||
import xyz.pixelatedw.finalbeta.ModConfig;
|
||||
|
||||
@Mixin(Dimension.class)
|
||||
public class DimensionMixin {
|
||||
private static final float CLOUD_HEIGHT = 108.0F;
|
||||
|
||||
@Inject(method = "getCloudHeight", at = @At("RETURN"), cancellable = true)
|
||||
private void getCloudHeight(CallbackInfoReturnable<Float> cir) {
|
||||
float height = CLOUD_HEIGHT + (CLOUD_HEIGHT * 2.0f * ModConfig.CLOUDS_HEIGHT.get().floatValue());
|
||||
cir.setReturnValue(height);
|
||||
}
|
||||
}
|
|
@ -4,6 +4,9 @@ import java.util.List;
|
|||
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.Screen;
|
||||
|
@ -16,4 +19,11 @@ public class ScreenMixin {
|
|||
|
||||
@Shadow
|
||||
public List buttons;
|
||||
|
||||
@Inject(method = "onClose", at = @At("HEAD"))
|
||||
public void onClose(CallbackInfo ci) {
|
||||
this.onCloseEvent();
|
||||
}
|
||||
|
||||
public void onCloseEvent() {}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ import net.minecraft.client.gui.screen.VideoSettingsScreen;
|
|||
import net.minecraft.client.gui.widgets.Button;
|
||||
import net.minecraft.client.resource.language.TranslationStorage;
|
||||
import xyz.pixelatedw.finalbeta.ModConfig;
|
||||
import xyz.pixelatedw.finalbeta.ModSlider;
|
||||
|
||||
@Mixin(VideoSettingsScreen.class)
|
||||
public class VideoSettingsScreenMixin extends ScreenMixin {
|
||||
|
@ -16,20 +17,34 @@ public class VideoSettingsScreenMixin extends ScreenMixin {
|
|||
@Inject(method = "init", at = @At("TAIL"))
|
||||
public void init(CallbackInfo ci) {
|
||||
VideoSettingsScreen screen = (VideoSettingsScreen)(Object)this;
|
||||
|
||||
this.buttons.add(new Button(300, screen.width / 2 - 155, screen.height / 6 + 96, 150, 20, this.getCloudsLabel()));
|
||||
this.buttons.add(new ModSlider(301, screen.width / 2 + 5, screen.height / 6 + 96, this.getCloudHeightLabel(), ModConfig.CLOUDS_HEIGHT.get().floatValue(), (val) -> ModConfig.CLOUDS_HEIGHT.set((double) val)));
|
||||
}
|
||||
|
||||
@Inject(method = "buttonClicked", at = @At("HEAD"))
|
||||
@Inject(method = "buttonClicked", at = @At("HEAD"), cancellable = true)
|
||||
public void buttonClicked(Button btn, CallbackInfo ci) {
|
||||
if(btn.active) {
|
||||
if(btn.id == 300) {
|
||||
if (btn.active) {
|
||||
if (btn.id == 300) {
|
||||
ModConfig.ENABLE_CLOUDS.set(!ModConfig.ENABLE_CLOUDS.get());
|
||||
ci.cancel();
|
||||
}
|
||||
else if(btn.id == 301) {
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCloseEvent() {
|
||||
}
|
||||
|
||||
private String getCloudsLabel() {
|
||||
TranslationStorage i18n = TranslationStorage.getInstance();
|
||||
return "Clouds: " + (ModConfig.ENABLE_CLOUDS.get() ? i18n.translate("options.on") : i18n.translate("options.off"));
|
||||
}
|
||||
|
||||
private String getCloudHeightLabel() {
|
||||
return "Clouds Height: ";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"schemaVersion": 1,
|
||||
"id": "finalbeta",
|
||||
"version": "1.1.0",
|
||||
"version": "1.2.0",
|
||||
|
||||
"name": "Final Beta",
|
||||
"description": "A (Cursed) Fabric mod that adds some quality of life changes and fixes some common issues",
|
||||
|
|
|
@ -42,7 +42,8 @@
|
|||
"RecipeRegistryMixin",
|
||||
"SnowballMixin",
|
||||
"EntityMixin",
|
||||
"SlimeMixin"
|
||||
"SlimeMixin",
|
||||
"DimensionMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": -1
|
||||
|
|
Loading…
Reference in New Issue