Skip to content

Commit 503870d

Browse files
authored
Merge pull request #372 from IcarussOne/main
6th Batch of Tweaks
2 parents 4babc39 + fa75acd commit 503870d

File tree

9 files changed

+116
-2
lines changed

9 files changed

+116
-2
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ All changes are toggleable via config files.
2727
* **Chunk Saving:** Fixes loading of outdated chunks to prevent duplications, deletions and data corruption
2828
* **Comparator Timing:** Fixes inconsistent delays of comparators to prevent redstone timing issues
2929
* **Concurrent Entity AI Tasks:** Replaces linked entity AI task sets with concurrent sets to avoid mod exception concerning entity AI
30+
* **Crafted Item Statistics:** Fixes crafted item statistics not increasing correctly when items are crafted with shift-click or drop methods
3031
* **Death Time:** Fixes corrupted entities exceeding the allowed death time
3132
* **Depth Mask:** Fixes entity and particle rendering issues by enabling depth buffer writing
3233
* **Destroy Entity Packets:** Fixes lag caused by dead entities by sending additional packets when the player is not alive
@@ -68,6 +69,7 @@ All changes are toggleable via config files.
6869
* **Shear Mooshroom Dupe:** Fixes a duplication exploit connected to shearing mooshrooms
6970
* **Skeleton Aim:** Fixes skeletons not looking at their targets when strafing
7071
* **Sleep Resets Weather:** Fixes sleeping always resetting rain and thunder times
72+
* **Spectator Menu:** Fixes the spectator menu not showing player skins
7173
* **Tile Entity Map:** Replaces the chunk position data table to prevent tile entity related issues
7274
* **Villager Mantle:** Returns missing hoods to villager mantles
7375
* **Witch Huts:** Fixes witch hut structure data not accounting for the height it is generated at

src/main/java/mod/acgaming/universaltweaks/bugfixes/blocks/piston/retraction/mixin/UTPistonBaseBlockMixin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
// MC-88959
1717
// https://bugs.mojang.com/browse/MC-88959
18-
// Courtesy of mrgrim
18+
// Courtesy of Nessiesson
1919
@Mixin(BlockPistonBase.class)
2020
public abstract class UTPistonBaseBlockMixin
2121
{
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package mod.acgaming.universaltweaks.bugfixes.misc.crafteditemstatistics.mixin;
2+
3+
import net.minecraft.inventory.IInventory;
4+
import net.minecraft.inventory.Slot;
5+
import net.minecraft.inventory.SlotCrafting;
6+
import net.minecraft.item.ItemStack;
7+
import mod.acgaming.universaltweaks.config.UTConfigBugfixes;
8+
import org.spongepowered.asm.mixin.Mixin;
9+
import org.spongepowered.asm.mixin.Shadow;
10+
import org.spongepowered.asm.mixin.injection.At;
11+
import org.spongepowered.asm.mixin.injection.Inject;
12+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
13+
14+
// MC-65198, MC-161869
15+
// https://bugs.mojang.com/browse/MC-65198
16+
// https://bugs.mojang.com/browse/MC-161869
17+
// Courtesy of mrgrim
18+
@Mixin(SlotCrafting.class)
19+
public abstract class UTSlotCraftingMixin extends Slot
20+
{
21+
@Shadow
22+
private int amountCrafted;
23+
24+
public UTSlotCraftingMixin(IInventory inventoryIn, int index, int xPosition, int yPosition)
25+
{
26+
super(inventoryIn, index, xPosition, yPosition);
27+
}
28+
29+
@Inject(method = "decrStackSize", at = @At("HEAD"), cancellable = true)
30+
private void utFixCraftingStats(int amount, CallbackInfoReturnable<ItemStack> cir)
31+
{
32+
if (UTConfigBugfixes.MISC.utCraftedItemStatisticsToggle)
33+
{
34+
ItemStack ret = super.decrStackSize(amount);
35+
this.amountCrafted += ret.getCount();
36+
37+
cir.setReturnValue(ret);
38+
}
39+
}
40+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package mod.acgaming.universaltweaks.bugfixes.misc.spectator.mixin;
2+
3+
import com.mojang.authlib.GameProfile;
4+
import net.minecraft.client.Minecraft;
5+
import net.minecraft.client.gui.spectator.PlayerMenuObject;
6+
import net.minecraft.client.network.NetworkPlayerInfo;
7+
import net.minecraft.client.renderer.texture.TextureManager;
8+
import net.minecraft.util.ResourceLocation;
9+
import mod.acgaming.universaltweaks.config.UTConfigBugfixes;
10+
import org.spongepowered.asm.mixin.Final;
11+
import org.spongepowered.asm.mixin.Mixin;
12+
import org.spongepowered.asm.mixin.Shadow;
13+
import org.spongepowered.asm.mixin.injection.At;
14+
import org.spongepowered.asm.mixin.injection.Redirect;
15+
16+
// MC-125157
17+
// https://bugs.mojang.com/browse/MC-125157
18+
// Courtesy of mrgrim
19+
@Mixin(PlayerMenuObject.class)
20+
public abstract class UTPlayerMenuObjectMixin
21+
{
22+
@Shadow
23+
@Final
24+
private GameProfile profile;
25+
26+
@Redirect(method = "renderIcon", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/texture/TextureManager;bindTexture(Lnet/minecraft/util/ResourceLocation;)V"))
27+
private void utRedirectBindTexture(TextureManager textureManager, ResourceLocation resource)
28+
{
29+
if (UTConfigBugfixes.MISC.utSpectatorMenuToggle)
30+
{
31+
final Minecraft mc = Minecraft.getMinecraft();
32+
final NetworkPlayerInfo npi = mc.player.connection.getPlayerInfo(this.profile.getName());
33+
if (npi != null)
34+
{
35+
mc.getTextureManager().bindTexture(npi.getLocationSkin());
36+
}
37+
} else
38+
{
39+
textureManager.bindTexture(resource);
40+
}
41+
}
42+
}

src/main/java/mod/acgaming/universaltweaks/config/UTConfigBugfixes.java

+10
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,11 @@ public static class MiscCategory
303303
@Config.Name("Blast Protection Knockback")
304304
@Config.Comment("Fixes the blast protection enchantment not reducing knockback from explosions except at very high levels")
305305
public boolean utBlastProtectionKnockbackToggle = false;
306+
307+
@Config.RequiresMcRestart
308+
@Config.Name("Crafted Item Statistics")
309+
@Config.Comment("Fixes crafted item statistics not increasing correctly when items are crafted with shift-click or drop methods")
310+
public boolean utCraftedItemStatisticsToggle = true;
306311

307312
@Config.RequiresMcRestart
308313
@Config.Name("Depth Mask")
@@ -327,6 +332,11 @@ public static class MiscCategory
327332
@Config.Name("Potion Amplifier Visibility")
328333
@Config.Comment("Fixes potion effects not displaying their level above 'IV'")
329334
public boolean utPotionAmplifierVisibilityToggle = true;
335+
336+
@Config.RequiresMcRestart
337+
@Config.Name("Spectator Menu")
338+
@Config.Comment("Fixes the spectator menu not showing player skins")
339+
public boolean utSpectatorMenuToggle = true;
330340

331341
@Config.RequiresMcRestart
332342
@Config.Name("Packet Size")

src/main/java/mod/acgaming/universaltweaks/config/UTConfigTweaks.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1032,7 +1032,7 @@ public static class ItemEntitiesCategory
10321032

10331033
@Config.Name("[17] Slowed Movement")
10341034
@Config.Comment("Slows how often item entities update their position to improve performance")
1035-
public boolean utIEUpdateToggle = true;
1035+
public boolean utIEUpdateToggle = false;
10361036
}
10371037

10381038
public static class MendingCategory

src/main/java/mod/acgaming/universaltweaks/core/UTLoadingPlugin.java

+6
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ public List<String> getMixinConfigs()
114114
configs.add("mixins.bugfixes.misc.modelgap.json");
115115
configs.add("mixins.bugfixes.misc.potionamplifier.json");
116116
configs.add("mixins.bugfixes.misc.smoothlighting.json");
117+
configs.add("mixins.bugfixes.misc.spectatormenu.json");
117118
configs.add("mixins.bugfixes.misc.startup.json");
118119
configs.add("mixins.bugfixes.world.frustumculling.json");
119120
configs.add("mixins.tweaks.entities.autojump.json");
@@ -178,6 +179,7 @@ public List<String> getMixinConfigs()
178179
configs.add("mixins.bugfixes.entities.skeletonaim.json");
179180
configs.add("mixins.bugfixes.entities.suffocation.json");
180181
configs.add("mixins.bugfixes.entities.tracker.json");
182+
configs.add("mixins.bugfixes.misc.crafteditemstatistics.json");
181183
configs.add("mixins.bugfixes.misc.enchantment.json");
182184
configs.add("mixins.bugfixes.misc.packetsize.json");
183185
configs.add("mixins.bugfixes.misc.particlespawning.json");
@@ -281,6 +283,8 @@ public boolean shouldMixinConfigQueue(String mixinConfig)
281283
return UTConfigBugfixes.MISC.utPotionAmplifierVisibilityToggle;
282284
case "mixins.bugfixes.misc.smoothlighting.json":
283285
return UTConfigBugfixes.MISC.utAccurateSmoothLighting;
286+
case "mixins.bugfixes.misc.spectatormenu.json":
287+
return UTConfigBugfixes.MISC.utSpectatorMenuToggle;
284288
case "mixins.bugfixes.misc.startup.json":
285289
return UTConfigTweaks.PERFORMANCE.utFasterBackgroundStartupToggle;
286290
case "mixins.bugfixes.world.frustumculling.json":
@@ -353,6 +357,8 @@ public boolean shouldMixinConfigQueue(String mixinConfig)
353357
return UTConfigBugfixes.BLOCKS.utPistonRetractionToggle;
354358
case "mixins.bugfixes.blocks.bed.json":
355359
return UTConfigBugfixes.BLOCKS.utSleepResetsWeatherToggle;
360+
case "mixins.bugfixes.misc.crafteditemstatistics.json":
361+
return UTConfigBugfixes.MISC.utCraftedItemStatisticsToggle;
356362
case "mixins.bugfixes.misc.enchantment.json":
357363
return UTConfigBugfixes.MISC.utBlastProtectionKnockbackToggle;
358364
case "mixins.bugfixes.misc.packetsize.json":
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"package": "mod.acgaming.universaltweaks.bugfixes.misc.crafteditemstatistics.mixin",
3+
"refmap": "universaltweaks.refmap.json",
4+
"minVersion": "0.8",
5+
"compatibilityLevel": "JAVA_8",
6+
"mixins": ["UTSlotCraftingMixin"]
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"package": "mod.acgaming.universaltweaks.bugfixes.misc.spectatormenu.mixin",
3+
"refmap": "universaltweaks.refmap.json",
4+
"minVersion": "0.8",
5+
"compatibilityLevel": "JAVA_8",
6+
"client": ["UTPlayerMenuObjectMixin"]
7+
}

0 commit comments

Comments
 (0)