Compare commits
No commits in common. "a948d31d3cfe28e7f53f382d4544f57fd2e1801a" and "406fe6f86121ddc145962108551e2e334a456642" have entirely different histories.
a948d31d3c
...
406fe6f861
58
README.md
58
README.md
|
@ -6,11 +6,11 @@ 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:
|
You can change what fixes get applied using the config found in one of the following paths:
|
||||||
|
|
||||||
| OS | Location |
|
| OS | Location |
|
||||||
| ------- | ------------------------------------------------------------- |
|
|-------|----------|
|
||||||
| Windows | %appdata%/.minecraft/config/finalbeta.toml |
|
| Windows | %appdata%/.minecraft/config/finalbeta.toml |
|
||||||
| Linux | ~/.minecraft/config/finalbeta.toml |
|
| Linux | ~/.minecraft/config/finalbeta.toml |
|
||||||
| macOS | ~/Library/Application Support/minecraft/config/finalbeta.toml |
|
| macOS | ~/Library/Application Support/minecraft/config/finalbeta.toml |
|
||||||
|
|
||||||
Note that if you're using something like MultiMC or any of its derivates the folder will be in a different location, in those instances simply right click on your profile and click on "Folder", this will open the location where you can find the .minecraft folder and follow the path from above.
|
Note that if you're using something like MultiMC or any of its derivates the folder will be in a different location, in those instances simply right click on your profile and click on "Folder", this will open the location where you can find the .minecraft folder and follow the path from above.
|
||||||
|
|
||||||
|
@ -29,7 +29,6 @@ Note that if you're using something like MultiMC or any of its derivates the fol
|
||||||
- Opening / closing chests
|
- Opening / closing chests
|
||||||
- Minecarts
|
- Minecarts
|
||||||
- Items breaking
|
- 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**
|
**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**
|
||||||
|
|
||||||
|
@ -41,12 +40,6 @@ Note that if you're using something like MultiMC or any of its derivates the fol
|
||||||
|
|
||||||
</details>
|
</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>
|
<details><summary>Removes the id tags above entities while in F3 mode</summary>
|
||||||
|
|
||||||
Before:<br>
|
Before:<br>
|
||||||
|
@ -90,20 +83,6 @@ Real life days are calculated differently from the world time but are stored in
|
||||||
|
|
||||||
</details>
|
</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
|
### Fixes
|
||||||
|
|
||||||
<details><summary>Fixes selected blocks being rendered under text in containers</summary>
|
<details><summary>Fixes selected blocks being rendered under text in containers</summary>
|
||||||
|
@ -125,7 +104,6 @@ After:
|
||||||
![death screen displaying a yellow score of 0](https://i.imgur.com/rTHeTOk.png)
|
![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**
|
**Note: Score will always be 0 as nothing gives score in this version**
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details><summary>Made bows bigger and facing the right direction</summary>
|
<details><summary>Made bows bigger and facing the right direction</summary>
|
||||||
|
@ -146,10 +124,9 @@ After:
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details><summary>Updated list of blocks that pickaxes, shovels and axes can mine quicker</summary>
|
<details><summary>Updated list of blocks that pickaxes and axes can mine quicker</summary>
|
||||||
|
|
||||||
**Extra pickaxe blocks:**
|
**Extra pickaxe blocks:**
|
||||||
|
|
||||||
- Cobblestone stairs
|
- Cobblestone stairs
|
||||||
- Redstone ore
|
- Redstone ore
|
||||||
- Iron door
|
- Iron door
|
||||||
|
@ -164,7 +141,6 @@ After:
|
||||||
- Sticky pistons
|
- Sticky pistons
|
||||||
|
|
||||||
**Extra axe blocks:**
|
**Extra axe blocks:**
|
||||||
|
|
||||||
- Wooden stairs
|
- Wooden stairs
|
||||||
- Door
|
- Door
|
||||||
- Pressure plates
|
- Pressure plates
|
||||||
|
@ -177,10 +153,6 @@ After:
|
||||||
- Crafting tables
|
- Crafting tables
|
||||||
- Fences
|
- Fences
|
||||||
|
|
||||||
**Extra shovel blocks:**
|
|
||||||
|
|
||||||
- Soul sand
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details><summary>Stairs will now drop themselves rather than cobble/planks</summary>
|
<details><summary>Stairs will now drop themselves rather than cobble/planks</summary>
|
||||||
|
@ -287,27 +259,14 @@ Before:<br>
|
||||||
After:<br>
|
After:<br>
|
||||||
<video controls src="https://i.imgur.com/8Dj19lR.mp4" />
|
<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.
|
**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>
|
||||||
|
|
||||||
<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>
|
<br>
|
||||||
As well as a bunch of other minor issues not worth having before/after images such as:
|
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
|
- fixes grass block items being rendered incorrectly
|
||||||
- made the chicken hitbox slightly taller
|
- made the chicken hitbox slightly taller
|
||||||
- allows the use of `shift` key to drop the entire held stack and to exit vehicles
|
- allows the use of `shift` key to drop the entire held stack and to exit vehicles
|
||||||
|
@ -319,7 +278,6 @@ As well as a bunch of other minor issues not worth having before/after images su
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
### Vanilla Launcher
|
### 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)
|
- 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
|
- Run the installer and let it finish
|
||||||
- Download the latest version of the mod
|
- Download the latest version of the mod
|
||||||
|
@ -327,7 +285,6 @@ 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
|
- Start the launcher and make sure you pick the Cursed Fabric profile before starting the game
|
||||||
|
|
||||||
### MultiMC / Prism Launcher
|
### 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)
|
- 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
|
- 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
|
- Drag the .zip file into the launcher (you can also choose a different name for this profile now) and click Ok
|
||||||
|
@ -346,4 +303,3 @@ A: Check the above answer
|
||||||
|
|
||||||
**Q: Entities and items don't seem to burn**
|
**Q: Entities and items don't seem to burn**
|
||||||
A: Check the above answer
|
A: Check the above answer
|
||||||
|
|
||||||
|
|
|
@ -48,8 +48,6 @@ public class ModConfig {
|
||||||
"Enables furance minecarts to push forward the first minecart it comes in contact with");
|
"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,
|
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.");
|
"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,
|
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");
|
"Makes the box model held by players and skeletons bigger and facing forward");
|
||||||
|
|
|
@ -1,79 +0,0 @@
|
||||||
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 slime = new Slime(player.level);
|
||||||
// slime.setPositionAndAngles(player.x, player.y + 0.5D, player.z, player.level.rand.nextFloat() * 360.0F, 0.0F);
|
// slime.setPositionAndAngles(player.x, player.y + 0.5D, player.z, player.level.rand.nextFloat() * 360.0F, 0.0F);
|
||||||
// player.level.spawnEntity(slime);
|
// player.level.spawnEntity(slime);
|
||||||
// slime.setSize(5);
|
// slime.setSize(10);
|
||||||
|
|
||||||
// player.level.entities.stream().filter(e -> !(e instanceof Player)).forEach((e) -> ((net.minecraft.entity.Entity)e).remove());
|
// player.level.entities.stream().filter(e -> !(e instanceof Player)).forEach((e) -> ((net.minecraft.entity.Entity)e).remove());
|
||||||
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
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,9 +4,6 @@ import java.util.List;
|
||||||
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
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.Minecraft;
|
||||||
import net.minecraft.client.gui.Screen;
|
import net.minecraft.client.gui.Screen;
|
||||||
|
@ -19,11 +16,4 @@ public class ScreenMixin {
|
||||||
|
|
||||||
@Shadow
|
@Shadow
|
||||||
public List buttons;
|
public List buttons;
|
||||||
|
|
||||||
@Inject(method = "onClose", at = @At("HEAD"))
|
|
||||||
public void onClose(CallbackInfo ci) {
|
|
||||||
this.onCloseEvent();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onCloseEvent() {}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,6 @@ import net.minecraft.client.gui.screen.VideoSettingsScreen;
|
||||||
import net.minecraft.client.gui.widgets.Button;
|
import net.minecraft.client.gui.widgets.Button;
|
||||||
import net.minecraft.client.resource.language.TranslationStorage;
|
import net.minecraft.client.resource.language.TranslationStorage;
|
||||||
import xyz.pixelatedw.finalbeta.ModConfig;
|
import xyz.pixelatedw.finalbeta.ModConfig;
|
||||||
import xyz.pixelatedw.finalbeta.ModSlider;
|
|
||||||
|
|
||||||
@Mixin(VideoSettingsScreen.class)
|
@Mixin(VideoSettingsScreen.class)
|
||||||
public class VideoSettingsScreenMixin extends ScreenMixin {
|
public class VideoSettingsScreenMixin extends ScreenMixin {
|
||||||
|
@ -17,34 +16,20 @@ public class VideoSettingsScreenMixin extends ScreenMixin {
|
||||||
@Inject(method = "init", at = @At("TAIL"))
|
@Inject(method = "init", at = @At("TAIL"))
|
||||||
public void init(CallbackInfo ci) {
|
public void init(CallbackInfo ci) {
|
||||||
VideoSettingsScreen screen = (VideoSettingsScreen)(Object)this;
|
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 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"), cancellable = true)
|
@Inject(method = "buttonClicked", at = @At("HEAD"))
|
||||||
public void buttonClicked(Button btn, CallbackInfo ci) {
|
public void buttonClicked(Button btn, CallbackInfo ci) {
|
||||||
if (btn.active) {
|
if(btn.active) {
|
||||||
if (btn.id == 300) {
|
if(btn.id == 300) {
|
||||||
ModConfig.ENABLE_CLOUDS.set(!ModConfig.ENABLE_CLOUDS.get());
|
ModConfig.ENABLE_CLOUDS.set(!ModConfig.ENABLE_CLOUDS.get());
|
||||||
ci.cancel();
|
|
||||||
}
|
|
||||||
else if(btn.id == 301) {
|
|
||||||
ci.cancel();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCloseEvent() {
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getCloudsLabel() {
|
private String getCloudsLabel() {
|
||||||
TranslationStorage i18n = TranslationStorage.getInstance();
|
TranslationStorage i18n = TranslationStorage.getInstance();
|
||||||
return "Clouds: " + (ModConfig.ENABLE_CLOUDS.get() ? i18n.translate("options.on") : i18n.translate("options.off"));
|
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,
|
"schemaVersion": 1,
|
||||||
"id": "finalbeta",
|
"id": "finalbeta",
|
||||||
"version": "1.2.0",
|
"version": "1.1.0",
|
||||||
|
|
||||||
"name": "Final Beta",
|
"name": "Final Beta",
|
||||||
"description": "A (Cursed) Fabric mod that adds some quality of life changes and fixes some common issues",
|
"description": "A (Cursed) Fabric mod that adds some quality of life changes and fixes some common issues",
|
||||||
|
|
|
@ -42,8 +42,7 @@
|
||||||
"RecipeRegistryMixin",
|
"RecipeRegistryMixin",
|
||||||
"SnowballMixin",
|
"SnowballMixin",
|
||||||
"EntityMixin",
|
"EntityMixin",
|
||||||
"SlimeMixin",
|
"SlimeMixin"
|
||||||
"DimensionMixin"
|
|
||||||
],
|
],
|
||||||
"injectors": {
|
"injectors": {
|
||||||
"defaultRequire": -1
|
"defaultRequire": -1
|
||||||
|
|
Loading…
Reference in New Issue