Skip to content

Commit f531785

Browse files
committed
Implement TFC knapping sounds
1 parent 87db857 commit f531785

File tree

8 files changed

+92
-8
lines changed

8 files changed

+92
-8
lines changed

build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,9 @@ repositories {
6565

6666
dependencies {
6767
deobfCompile 'zone.rong:mixinbooter:7.0'
68+
deobfCompile 'com.cleanroommc:assetmover:2.5'
6869
deobfCompile 'curse.maven:had-enough-items-557549:4109510'
69-
deobfCompile 'com.cleanroommc:assetmover:2.4'
70+
deobfCompile 'curse.maven:terrafirmacraft-302973:3645502'
7071
}
7172

7273
mixin {

src/main/java/mod/acgaming/extrasounds/core/ESMixinLoader.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package mod.acgaming.extrasounds.core;
22

3-
import java.util.Collections;
43
import java.util.List;
54

5+
import com.google.common.collect.Lists;
66
import net.minecraftforge.fml.common.Loader;
77

88
import zone.rong.mixinbooter.ILateMixinLoader;
@@ -12,17 +12,23 @@ public class ESMixinLoader implements ILateMixinLoader
1212
@Override
1313
public List<String> getMixinConfigs()
1414
{
15-
return ESLoadingPlugin.isClient ? Collections.singletonList("extrasounds.jei.mixins.json") : Collections.singletonList("");
15+
return Lists.newArrayList(
16+
"extrasounds.jei.mixins.json",
17+
"extrasounds.tfc.mixins.json"
18+
);
1619
}
1720

1821
@Override
1922
public boolean shouldMixinConfigQueue(String mixinConfig)
2023
{
2124
if (ESLoadingPlugin.isClient)
2225
{
23-
if (mixinConfig.equals("extrasounds.jei.mixins.json"))
26+
switch (mixinConfig)
2427
{
25-
return Loader.isModLoaded("jei");
28+
case "extrasounds.jei.mixins.json":
29+
return Loader.isModLoaded("jei");
30+
case "extrasounds.tfc.mixins.json":
31+
return Loader.isModLoaded("tfc");
2632
}
2733
}
2834
return false;
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package mod.acgaming.extrasounds.mixin.client;
2+
3+
import net.minecraft.client.Minecraft;
4+
import net.minecraft.client.audio.SoundHandler;
5+
import net.minecraft.client.gui.GuiButton;
6+
import net.minecraft.client.gui.GuiScreen;
7+
import net.minecraftforge.fml.common.Loader;
8+
9+
import net.dries007.tfc.client.gui.GuiKnapping;
10+
import org.spongepowered.asm.mixin.Mixin;
11+
import org.spongepowered.asm.mixin.Shadow;
12+
import org.spongepowered.asm.mixin.injection.At;
13+
import zone.rong.mixinextras.injector.WrapWithCondition;
14+
15+
@Mixin(GuiScreen.class)
16+
public class GuiScreenMixin
17+
{
18+
@Shadow
19+
public Minecraft mc;
20+
21+
@WrapWithCondition(method = "mouseClicked", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiButton;playPressSound(Lnet/minecraft/client/audio/SoundHandler;)V"))
22+
public boolean esKnappingMouseClicked(GuiButton button, SoundHandler soundHandler)
23+
{
24+
if (!Loader.isModLoaded("tfc")) return true;
25+
else return !(this.mc.currentScreen instanceof GuiKnapping);
26+
}
27+
}

src/main/java/mod/acgaming/extrasounds/mixin/client/IngredientGridWithNavigationMixin.java renamed to src/main/java/mod/acgaming/extrasounds/mixin/jei/IngredientGridWithNavigationMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package mod.acgaming.extrasounds.mixin.client;
1+
package mod.acgaming.extrasounds.mixin.jei;
22

33
import mezz.jei.gui.overlay.IngredientGridWithNavigation;
44
import mezz.jei.input.IPaged;
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package mod.acgaming.extrasounds.mixin.tfc;
2+
3+
import net.minecraft.client.audio.SoundHandler;
4+
import net.minecraft.client.gui.GuiButton;
5+
import net.minecraft.init.SoundEvents;
6+
7+
import mod.acgaming.extrasounds.sound.client.ESSoundManagerClient;
8+
import net.dries007.tfc.api.recipes.knapping.KnappingType;
9+
import net.dries007.tfc.client.gui.GuiKnapping;
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+
@Mixin(value = GuiKnapping.class, remap = false)
17+
public class GuiKnappingMixin
18+
{
19+
@Shadow
20+
@Final
21+
private KnappingType type;
22+
23+
@Redirect(method = "actionPerformed", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiButton;playPressSound(Lnet/minecraft/client/audio/SoundHandler;)V"))
24+
public void esKnappingPlayPressSound(GuiButton b1, SoundHandler soundHandler, GuiButton b2)
25+
{
26+
if (type.equals(KnappingType.CLAY) || type.equals(KnappingType.FIRE_CLAY))
27+
{
28+
ESSoundManagerClient.playSoundPlayer(SoundEvents.BLOCK_GRAVEL_BREAK, 1.2F, 0.8F);
29+
}
30+
else if (type.equals(KnappingType.STONE))
31+
{
32+
ESSoundManagerClient.playSoundPlayer(SoundEvents.BLOCK_STONE_BREAK, 2, 0.8F);
33+
}
34+
else if (type.equals(KnappingType.LEATHER))
35+
{
36+
ESSoundManagerClient.playSoundPlayer(SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, 2, 0.8F);
37+
}
38+
else
39+
{
40+
ESSoundManagerClient.playSoundPlayer(SoundEvents.UI_BUTTON_CLICK, 1, 1);
41+
}
42+
}
43+
}

src/main/resources/extrasounds.client.mixins.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
"refmap": "extrasounds.refmap.json",
44
"minVersion": "0.8",
55
"compatibilityLevel": "JAVA_8",
6-
"client": ["GuiContainerCreativeMixin", "GuiContainerMixin", "GuiInventoryMixin", "GuiNewChatMixin", "GuiRecipeBookMixin", "GuiScreenBookMixin", "GuiTextFieldMixin", "ItemDyeMixin", "MinecraftMixin"]
6+
"client": ["GuiContainerCreativeMixin", "GuiContainerMixin", "GuiInventoryMixin", "GuiNewChatMixin", "GuiRecipeBookMixin", "GuiScreenBookMixin", "GuiScreenMixin", "GuiTextFieldMixin", "ItemDyeMixin", "MinecraftMixin"]
77
}

src/main/resources/extrasounds.jei.mixins.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"package": "mod.acgaming.extrasounds.mixin.client",
2+
"package": "mod.acgaming.extrasounds.mixin.jei",
33
"refmap": "extrasounds.refmap.json",
44
"minVersion": "0.8",
55
"compatibilityLevel": "JAVA_8",
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"package": "mod.acgaming.extrasounds.mixin.tfc",
3+
"refmap": "extrasounds.refmap.json",
4+
"minVersion": "0.8",
5+
"compatibilityLevel": "JAVA_8",
6+
"client": ["GuiKnappingMixin"]
7+
}

0 commit comments

Comments
 (0)