-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
109 additions
and
178 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
68 changes: 68 additions & 0 deletions
68
src/main/java/com/teampotato/piglinsafety/ConfigSetup.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
package com.teampotato.piglinsafety; | ||
|
||
import com.google.gson.JsonObject; | ||
import com.google.gson.JsonParser; | ||
import net.minecraftforge.fml.loading.FMLPaths; | ||
import org.apache.logging.log4j.LogManager; | ||
import org.objectweb.asm.tree.ClassNode; | ||
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; | ||
import org.spongepowered.asm.mixin.extensibility.IMixinInfo; | ||
|
||
import java.io.*; | ||
import java.util.List; | ||
import java.util.Set; | ||
|
||
public class ConfigSetup implements IMixinConfigPlugin { | ||
|
||
private static boolean piglin, hoglin, piglinBrute; | ||
|
||
public ConfigSetup() { | ||
File file = FMLPaths.CONFIGDIR.get().resolve("piglinsafety.json").toFile(); | ||
if (!file.exists()) { | ||
try { | ||
FileWriter writer = writeFile(file); | ||
writer.close(); | ||
} catch (IOException e) { | ||
LogManager.getLogger().error("Error writing config", e); | ||
} | ||
} | ||
|
||
try { | ||
BufferedReader reader = new BufferedReader(new FileReader(file)); | ||
JsonObject config = new JsonParser().parse(reader).getAsJsonObject(); | ||
piglin = config.get("Piglin").getAsBoolean(); | ||
hoglin = config.get("Hoglin").getAsBoolean(); | ||
piglinBrute = config.get("PiglinBrute").getAsBoolean(); | ||
reader.close(); | ||
} catch (IOException e) { | ||
LogManager.getLogger().error("Error reading config", e); | ||
} | ||
} | ||
|
||
private static FileWriter writeFile(File file) throws IOException { | ||
JsonObject defaultConfig = new JsonObject(); | ||
defaultConfig.addProperty("Piglin", true); | ||
defaultConfig.addProperty("Hoglin", true); | ||
defaultConfig.addProperty("PiglinBrute", true); | ||
FileWriter writer = new FileWriter(file); | ||
writer.write(defaultConfig.toString()); | ||
return writer; | ||
} | ||
|
||
|
||
@Override | ||
public boolean shouldApplyMixin(String s, String mixinClassName) { | ||
if (mixinClassName.contains("PiglinBrute")) return piglinBrute; | ||
if (mixinClassName.contains("Piglin")) return piglin; | ||
if (mixinClassName.contains("Hoglin")) return hoglin; | ||
return true; | ||
} | ||
|
||
|
||
@Override public void onLoad(String s) {} | ||
@Override public String getRefMapperConfig() {return null;} | ||
@Override public void acceptTargets(Set<String> set, Set<String> set1) {} | ||
@Override public List<String> getMixins() {return null;} | ||
@Override public void preApply(String s, ClassNode classNode, String s1, IMixinInfo iMixinInfo) {} | ||
@Override public void postApply(String s, ClassNode classNode, String s1, IMixinInfo iMixinInfo) {} | ||
} |
12 changes: 12 additions & 0 deletions
12
src/main/java/com/teampotato/piglinsafety/mixin/MixinHoglin.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package com.teampotato.piglinsafety.mixin; | ||
|
||
import net.minecraft.world.entity.monster.hoglin.Hoglin; | ||
import org.spongepowered.asm.mixin.Mixin; | ||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; | ||
|
||
@Mixin(Hoglin.class) | ||
public class MixinHoglin extends MixinEntity { | ||
protected void checkFireImmune(CallbackInfoReturnable<Boolean> cir) { | ||
cir.setReturnValue(Boolean.TRUE); | ||
} | ||
} |
12 changes: 12 additions & 0 deletions
12
src/main/java/com/teampotato/piglinsafety/mixin/MixinPiglin.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package com.teampotato.piglinsafety.mixin; | ||
|
||
import net.minecraft.world.entity.monster.piglin.Piglin; | ||
import org.spongepowered.asm.mixin.Mixin; | ||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; | ||
|
||
@Mixin(Piglin.class) | ||
public class MixinPiglin extends MixinEntity { | ||
protected void checkFireImmune(CallbackInfoReturnable<Boolean> cir) { | ||
cir.setReturnValue(Boolean.TRUE); | ||
} | ||
} |
5 changes: 2 additions & 3 deletions
5
...tato/piglinsafety/mixin/MixinPiglins.java → .../piglinsafety/mixin/MixinPiglinBrute.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,16 @@ | ||
{ | ||
"required": true, | ||
"package": "com.teampotato.piglinsafety.mixin", | ||
"plugin": "com.teampotato.piglinsafety.ConfigSetup", | ||
"compatibilityLevel": "JAVA_8", | ||
"minVersion": "0.8", | ||
"injectors": { | ||
"defaultRequire": 1 | ||
}, | ||
"mixins": [ | ||
"MixinEntity", | ||
"MixinPiglins" | ||
"MixinHoglin", | ||
"MixinPiglin", | ||
"MixinPiglinBrute" | ||
] | ||
} |