mirror of
https://github.com/GTNewHorizons/Postea.git
synced 2026-11-12 16:37:38 +00:00
Initial commit
This commit is contained in:
1 parent
c6c34b08bb
commit
796d6b2d87
7 files changed
+151
-2
No files matched your search
@@ -0,0 +1,41 @@
|
||||
package com.myname.mymodid;
|
||||
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class ItemStackKey {
|
||||
private final String modId;
|
||||
private final String itemName;
|
||||
private final int meta;
|
||||
|
||||
public ItemStackKey(String modId, String itemName, int meta) {
|
||||
this.modId = modId;
|
||||
this.itemName = itemName;
|
||||
this.meta = meta;
|
||||
}
|
||||
|
||||
public ItemStackKey(ItemStack stack) {
|
||||
this(stack.getItem().getUnlocalizedName().substring(4),
|
||||
GameRegistry.findUniqueIdentifierFor(stack.getItem()).modId,
|
||||
stack.getItemDamage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
ItemStackKey that = (ItemStackKey) o;
|
||||
return meta == that.meta &&
|
||||
Objects.equals(modId, that.modId) &&
|
||||
Objects.equals(itemName, that.itemName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(modId, itemName, meta);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.myname.mymodid;
|
||||
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
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.CallbackInfo;
|
||||
|
||||
@Mixin(ItemStack.class)
|
||||
public abstract class MixinItemStack{
|
||||
|
||||
@Inject(method = "<init>(Lnet/minecraft/item/Item;II)V", at = @At("HEAD"))
|
||||
private void onConstructorHead(Item item, int stackSize, int metadata, CallbackInfo ci) {
|
||||
System.out.println(item.getUnlocalizedName() + " " + metadata + " " + stackSize);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,6 +9,8 @@ import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLServerStartingEvent;
|
||||
import org.spongepowered.asm.launch.MixinBootstrap;
|
||||
import org.spongepowered.asm.mixin.Mixins;
|
||||
|
||||
@Mod(modid = Tags.MODID, version = Tags.VERSION, name = Tags.MODNAME, acceptedMinecraftVersions = "[1.7.10]")
|
||||
public class MyMod {
|
||||
@@ -19,9 +21,10 @@ public class MyMod {
|
||||
public static CommonProxy proxy;
|
||||
|
||||
@Mod.EventHandler
|
||||
// preInit "Run before anything else. Read your config, create blocks, items, etc, and register them with the
|
||||
// GameRegistry." (Remove if not needed)
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
MixinBootstrap.init();
|
||||
Mixins.addConfiguration("mixins.json");
|
||||
|
||||
proxy.preInit(event);
|
||||
}
|
||||
|
||||
@@ -43,3 +46,4 @@ public class MyMod {
|
||||
proxy.serverStarting(event);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.myname.mymodid;
|
||||
|
||||
import com.falsepattern.gasstation.IEarlyMixinLoader;
|
||||
import cpw.mods.fml.relauncher.FMLLaunchHandler;
|
||||
import cpw.mods.fml.relauncher.IFMLLoadingPlugin;
|
||||
import jdk.jfr.Name;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@IFMLLoadingPlugin.TransformerExclusions({ "mods.mymod" })
|
||||
@Name("mymod")
|
||||
@IFMLLoadingPlugin.SortingIndex(1500)
|
||||
@IFMLLoadingPlugin.MCVersion("1.7.10")
|
||||
public final class PosteaLoadingPlugin implements IEarlyMixinLoader, IFMLLoadingPlugin {
|
||||
|
||||
public static final String ItemStackTransformer = "mods.battlegear2.coremod.transformers.EntityPlayerTransformer";
|
||||
|
||||
public static File debugOutputLocation;
|
||||
public static final String[] transformers = new String[] { ItemStackTransformer };
|
||||
|
||||
@Override
|
||||
public String[] getASMTransformerClass() {
|
||||
return transformers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAccessTransformerClass() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getModContainerClass() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSetupClass() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void injectData(Map<String, Object> data) {
|
||||
debugOutputLocation = new File(data.get("mcLocation").toString(), "ItemStack edited classes");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getMixinConfigs() {
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add("mixins.json" );
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.myname.mymodid;
|
||||
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ReplacementManager {
|
||||
private static final Map<ItemStackKey, ItemStack> replacementMap = new HashMap<>();
|
||||
|
||||
public static void addReplacement(String modId, String itemName, int meta, ItemStack replacement) {
|
||||
replacementMap.put(new ItemStackKey(modId, itemName, meta), replacement);
|
||||
}
|
||||
|
||||
public static ItemStack getReplacement(ItemStack original) {
|
||||
return replacementMap.getOrDefault(new ItemStackKey(original), original);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user