mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-26 08:48:34 +01:00
Added messy, but functional, remapper
This commit is contained in:
parent
ec8c642099
commit
07b97ada87
3 changed files with 52 additions and 17 deletions
|
@ -43,6 +43,7 @@ import de.ellpeck.actuallyadditions.mod.recipe.HairyBallHandler;
|
|||
import de.ellpeck.actuallyadditions.mod.recipe.TreasureChestHandler;
|
||||
import de.ellpeck.actuallyadditions.mod.tile.TileEntityBase;
|
||||
import de.ellpeck.actuallyadditions.mod.update.UpdateChecker;
|
||||
import de.ellpeck.actuallyadditions.mod.util.ItemUtil;
|
||||
import de.ellpeck.actuallyadditions.mod.util.ModUtil;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.fml.common.Loader;
|
||||
|
@ -55,8 +56,6 @@ import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent;
|
|||
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
// So that BuildCraft Oil always gets used
|
||||
@Mod(modid = ModUtil.MOD_ID, name = ModUtil.NAME, version = ModUtil.VERSION, dependencies = "after:BuildCraft|Energy", guiFactory = "de.ellpeck.actuallyadditions.mod.config.GuiFactory")
|
||||
public class ActuallyAdditions{
|
||||
|
@ -147,16 +146,19 @@ public class ActuallyAdditions{
|
|||
|
||||
@EventHandler
|
||||
public void missingMapping(FMLMissingMappingsEvent event){
|
||||
int totalRemaps = 0;
|
||||
int workedRemaps = 0;
|
||||
|
||||
for(FMLMissingMappingsEvent.MissingMapping mapping : event.getAll()){
|
||||
if(mapping.name != null){
|
||||
String name = mapping.name.toLowerCase(Locale.ROOT);
|
||||
if(name.startsWith(ModUtil.MOD_ID+":")){
|
||||
if(name.contains("paxel") || name.contains("itemspecial") || name.contains("blockbookstand") || name.contains("rarmor") || name.contains("bucket") || name.contains("modulereconstructor") || name.contains("stand")){
|
||||
mapping.ignore();
|
||||
ModUtil.LOGGER.info("Missing Mapping "+mapping.name+" is getting ignored. This is intentional.");
|
||||
}
|
||||
totalRemaps++;
|
||||
|
||||
if(ItemUtil.remapName(mapping)){
|
||||
workedRemaps++;
|
||||
}
|
||||
}
|
||||
|
||||
if(totalRemaps > 0){
|
||||
ModUtil.LOGGER.info("Successfully remapped "+workedRemaps+" out of "+totalRemaps+" blocks and items to match the 1.11 naming conventions.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -197,11 +197,11 @@ public final class InitItems{
|
|||
public static void init(){
|
||||
ModUtil.LOGGER.info("Initializing Items...");
|
||||
|
||||
itemFillingWand = new ItemFillingWand("itemFillingWand");
|
||||
itemBag = new ItemBag("itemBag", false);
|
||||
itemVoidBag = new ItemBag("itemVoidBag", true);
|
||||
itemWorm = new ItemWorm("itemWorm");
|
||||
itemPlayerProbe = new ItemPlayerProbe("itemPlayerProbe");
|
||||
itemFillingWand = new ItemFillingWand("item_filling_wand");
|
||||
itemBag = new ItemBag("item_bag", false);
|
||||
itemVoidBag = new ItemBag("item_void_bag", true);
|
||||
itemWorm = new ItemWorm("item_worm");
|
||||
itemPlayerProbe = new ItemPlayerProbe("item_player_probe");
|
||||
itemFilter = new ItemFilter("itemFilter");
|
||||
itemWaterBowl = new ItemWaterBowl("itemWaterBowl");
|
||||
itemSpawnerChanger = new ItemSpawnerChanger("itemSpawnerChanger");
|
||||
|
|
|
@ -19,14 +19,17 @@ import net.minecraft.item.Item;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
//TODO Remove the whole registry name mapping thing once the 1.11 fading phase is over
|
||||
public final class ItemUtil{
|
||||
|
||||
private static final Map<String, String> UNDERSCORELESS_TO_UNDERSCORED_NAMES = new HashMap<String, String>();
|
||||
|
||||
public static Item getItemFromName(String name){
|
||||
ResourceLocation resLoc = new ResourceLocation(name);
|
||||
if(Item.REGISTRY.containsKey(resLoc)){
|
||||
|
@ -45,6 +48,8 @@ public final class ItemUtil{
|
|||
GameRegistry.register(itemBlock);
|
||||
|
||||
block.setCreativeTab(addTab ? CreativeTab.INSTANCE : null);
|
||||
|
||||
addUnderscoreNameToMapUnderscorelessName(name);
|
||||
}
|
||||
|
||||
public static void registerItem(Item item, String name, boolean addTab){
|
||||
|
@ -58,6 +63,34 @@ public final class ItemUtil{
|
|||
if(item instanceof IColorProvidingItem){
|
||||
ActuallyAdditions.proxy.addColoredItem(item);
|
||||
}
|
||||
|
||||
addUnderscoreNameToMapUnderscorelessName(name);
|
||||
}
|
||||
|
||||
private static void addUnderscoreNameToMapUnderscorelessName(String name){
|
||||
String nameId = ModUtil.MOD_ID+":"+name;
|
||||
|
||||
String underscoreless = nameId.replaceAll("_", "");
|
||||
UNDERSCORELESS_TO_UNDERSCORED_NAMES.put(underscoreless, nameId);
|
||||
}
|
||||
|
||||
public static boolean remapName(FMLMissingMappingsEvent.MissingMapping mapping){
|
||||
if(mapping != null && mapping.name != null){
|
||||
if(UNDERSCORELESS_TO_UNDERSCORED_NAMES.containsKey(mapping.name)){
|
||||
String newName = UNDERSCORELESS_TO_UNDERSCORED_NAMES.get(mapping.name);
|
||||
ResourceLocation newResLoc = new ResourceLocation(newName);
|
||||
|
||||
if(Block.REGISTRY.containsKey(newResLoc)){
|
||||
mapping.remap(Block.REGISTRY.getObject(newResLoc));
|
||||
return true;
|
||||
}
|
||||
else if(Item.REGISTRY.containsKey(newResLoc)){
|
||||
mapping.remap(Item.REGISTRY.getObject(newResLoc));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue