Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -74,26 +74,26 @@ apiPackage =
accessTransformersFile =

# Provides setup for Mixins if enabled. If you don't know what mixins are: Keep it disabled!
usesMixins = false
usesMixins = true

# Set to a non-empty string to configure mixins in a separate source set under src/VALUE, instead of src/main.
# This can speed up compile times thanks to not running the mixin annotation processor on all input sources.
# Mixin classes will have access to "main" classes, but not the other way around.
separateMixinSourceSet =

# Adds some debug arguments like verbose output and class export.
usesMixinDebug = false
usesMixinDebug = true

# Specify the location of your implementation of IMixinConfigPlugin. Leave it empty otherwise.
mixinPlugin =

# Specify the package that contains all of your Mixins. You may only place Mixins in this package or the build will fail!
mixinsPackage =
mixinsPackage = mixins

# Specify the core mod entry class if you use a core mod. This class must implement IFMLLoadingPlugin!
# This parameter is for legacy compatibility only
# Example value: (coreModClass = asm.FMLPlugin) + (modGroup = com.myname.mymodid) -> com.myname.mymodid.asm.FMLPlugin
coreModClass =
coreModClass = mixins.EarlyMixinsLoader

# If your project is only a consolidation of mixins or a core mod and does NOT contain a 'normal' mod ( = some class
# that is annotated with @Mod) you want this to be true. When in doubt: leave it on false!
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,5 @@ pluginManagement {
}

plugins {
id("com.gtnewhorizons.gtnhsettingsconvention") version("1.0.38")
id("com.gtnewhorizons.gtnhsettingsconvention") version("1.0.48")
}
4 changes: 3 additions & 1 deletion src/main/java/com/nao7016/ClayiumAdditions/CAModMain.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ public class CAModMain {
+ ",);" // buildVersion
+ "required-after:clayium@[0.4.6.36.hotfix2,);" // clayium
+ "after:etfuturum@[2.6.2,);" // Et Futurum Requiem
+ "after:bogosorter@[1.2.51-GTNH,)";
+ "after:bogosorter@[1.2.51-GTNH,);"
+ "required-after:gtnhmixins@[2.0.1,);"
+ "required-after:unimixins@[0.0.20,);";
@SidedProxy(
clientSide = "com.nao7016.ClayiumAdditions.client.ClientProxy",
serverSide = "com.nao7016.ClayiumAdditions.common.CommonProxy")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package com.nao7016.ClayiumAdditions.mixins;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.gtnewhorizon.gtnhmixins.IEarlyMixinLoader;
import com.gtnewhorizon.gtnhmixins.builders.IMixins;
import com.nao7016.ClayiumAdditions.CAModMain;

import cpw.mods.fml.relauncher.IFMLLoadingPlugin;

@IFMLLoadingPlugin.MCVersion("1.7.10")
public class EarlyMixinsLoader implements IFMLLoadingPlugin, IEarlyMixinLoader {

@Override
public String[] getASMTransformerClass() {
return null;
}

@Override
public String getModContainerClass() {
return null;
}

@Override
public String getSetupClass() {
return null;
}

@Override
public void injectData(Map<String, Object> data) {}

@Override
public String getAccessTransformerClass() {
return null;
}

@Override
public String getMixinConfig() {
return "mixins." + CAModMain.MODID + ".early.json";
}

@Override
public List<String> getMixins(Set<String> loadedCoreMods) {
return IMixins.getEarlyMixins(Mixins.class, loadedCoreMods);
}
}
24 changes: 24 additions & 0 deletions src/main/java/com/nao7016/ClayiumAdditions/mixins/Mixins.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.nao7016.ClayiumAdditions.mixins;

import javax.annotation.Nonnull;

import com.gtnewhorizon.gtnhmixins.builders.IMixins;
import com.gtnewhorizon.gtnhmixins.builders.MixinBuilder;

public enum Mixins implements IMixins {

CLAYIUM(new MixinBuilder().setPhase(Phase.EARLY)
.addCommonMixins("MixinTilePANCore"));

private final MixinBuilder builder;

Mixins(MixinBuilder builder) {
this.builder = builder;
}

@Nonnull
@Override
public MixinBuilder getBuilder() {
return builder;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.nao7016.ClayiumAdditions.mixins.early;

import static mods.clayium.util.crafting.CRecipes.i;

import java.util.Set;

import net.minecraft.item.ItemStack;

import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;

import com.nao7016.ClayiumAdditions.common.CAItems;

import mods.clayium.block.tile.TilePANCore;

@Mixin(value = TilePANCore.class, remap = false)
public class MixinTilePANCore {

@ModifyVariable(method = "refreshItemSet", at = @At("STORE"), name = "prohibiteds", require = 1)
private Set<TilePANCore.ItemStackWithEnergy> addProhibited(Set<TilePANCore.ItemStackWithEnergy> prohibiteds) {

for (int tier = 4; tier <= 12; tier++) {
ItemStack energyClay = i(CAItems.clayEnergy, 1, tier);
prohibiteds.add(new TilePANCore.ItemStackWithEnergy(energyClay, 0, 0));
}

return prohibiteds;
}
}
8 changes: 8 additions & 0 deletions src/main/resources/mixins.clayiumadditions.early.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"required": true,
"minVersion": "0.8.5-GTNH",
"package": "com.nao7016.ClayiumAdditions.mixins.early",
"refmap": "mixins.clayiumadditions.refmap.json",
"target": "@env(DEFAULT)",
"compatibilityLevel": "JAVA_8"
}
7 changes: 7 additions & 0 deletions src/main/resources/mixins.clayiumadditions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"required": true,
"minVersion": "0.8.5-GTNH",
"refmap": "mixins.clayiumadditions.refmap.json",
"target": "@env(DEFAULT)",
"compatibilityLevel": "JAVA_8"
}