Remove legacy tile support
This commit is contained in:
parent
1f65363396
commit
69b9c511c3
2 changed files with 57 additions and 107 deletions
|
@ -115,9 +115,6 @@ public class Core {
|
|||
// Entitys
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("techreborn", "nuke"), EntityNukePrimed.class, "nuke", 0, INSTANCE, 160, 5, true);
|
||||
|
||||
ModFixs dataFixes = FMLCommonHandler.instance().getDataFixer().init(ModInfo.MOD_ID, 1);
|
||||
ModTileEntities.initDataFixer(dataFixes);
|
||||
|
||||
//Ore Dictionary
|
||||
OreDict.init();
|
||||
proxy.preInit(event);
|
||||
|
|
|
@ -24,12 +24,8 @@
|
|||
|
||||
package techreborn.init;
|
||||
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.datafix.FixTypes;
|
||||
import net.minecraft.util.datafix.IFixableData;
|
||||
import net.minecraftforge.common.util.ModFixs;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import reborncore.common.tile.TileLegacyMachineBase;
|
||||
import techreborn.lib.ModInfo;
|
||||
|
@ -54,125 +50,82 @@ import techreborn.tiles.transformers.TileLVTransformer;
|
|||
import techreborn.tiles.transformers.TileMVTransformer;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Optional;
|
||||
|
||||
public enum ModTileEntities {
|
||||
|
||||
THERMAL_GEN(TileThermalGenerator.class, "thermal_generator", "TileThermalGeneratorTR"),
|
||||
QUANTUM_TANK(TileQuantumTank.class, "quantum_tank", "TileQuantumTankTR"),
|
||||
QUANTUM_CHEST(TileQuantumChest.class, "quantum_chest", "TileQuantumChestTR"),
|
||||
DIGITAL_CHEST(TileDigitalChest.class, "digital_chest", "TileDigitalChestTR"),
|
||||
INDUSTRIAL_CENTRIFUGE(TileIndustrialCentrifuge.class, "industrial_centrifuge", "TileIndustrialCentrifugeTR"),
|
||||
ROLLING_MACHINE(TileRollingMachine.class, "rolling_machine", "TileRollingMachineTR"),
|
||||
INDUSTRIAL_BLAST_FURNACE(TileIndustrialBlastFurnace.class, "industrial_blast_furnace", "TileIndustrialBlastFurnaceTR"),
|
||||
ALLOY_SMELTER(TileAlloySmelter.class, "alloy_smelter", "TileAlloySmalterTR"),
|
||||
INDUSTRIAL_GRINDER(TileIndustrialGrinder.class, "industrial_grinder", "TileIndustrialGrinderTR"),
|
||||
IMPLOSION_COMPRESSOR(TileImplosionCompressor.class, "implosion_compressor", "TileImplosionCompressorTR"),
|
||||
MATTER_FABRICATOR(TileMatterFabricator.class, "matter_fabricator", "TileMatterFabricatorTR"),
|
||||
CHUNK_LOADER(TileChunkLoader.class, "chunk_loader", "TileChunkLoaderTR"),
|
||||
CHARGE_O_MAT(TileChargeOMat.class, "charge_o_mat", "TileChargeOMatTR"),
|
||||
PLAYER_DETECTOR(TilePlayerDectector.class, "player_detector", "TilePlayerDectectorTR"),
|
||||
CABLE(TileCable.class, "cable", "TileCableTR"),
|
||||
MACHINE_CASINGS(TileMachineCasing.class, "machine_casing", "TileMachineCasingTR"),
|
||||
DRAGON_EGG_SYPHON(TileDragonEggSyphon.class, "dragon_egg_syphon", "TileDragonEggSyphonTR"),
|
||||
ASSEMBLY_MACHINE(TileAssemblingMachine.class, "assembly_machine", "TileAssemblyMachineTR"),
|
||||
DIESEL_GENERATOR(TileDieselGenerator.class, "diesel_generator", "TileDieselGeneratorTR"),
|
||||
INDUSTRIAL_ELECTROLYZER(TileIndustrialElectrolyzer.class, "industrial_electrolyzer", "TileIndustrialElectrolyzerTR"),
|
||||
SEMI_FLUID_GENERATOR(TileSemiFluidGenerator.class, "semi_fluid_generator", "TileSemiFluidGeneratorTR"),
|
||||
GAS_TURBINE(TileGasTurbine.class, "gas_turbine", "TileGasTurbineTR"),
|
||||
IRON_ALLOY_FURNACE(TileIronAlloyFurnace.class, "iron_alloy_furnace", "TileIronAlloyFurnaceTR"),
|
||||
CHEMICAL_REACTOR(TileChemicalReactor.class, "chemical_reactor", "TileChemicalReactorTR"),
|
||||
INTERDIMENSIONAL_SU(TileInterdimensionalSU.class, "interdimensional_su", "TileInterdimensionalSUTR"),
|
||||
ADJUSTABLE_SU(TileAdjustableSU.class, "adjustable_su", "TileAdjustableSUTR"),
|
||||
LAPOTRONIC_SU(TileLapotronicSU.class, "lapotronic_su", "TileLapotronicSUTR"),
|
||||
LSU_STORAGE(TileLSUStorage.class, "lsu_storage", "TileLSUStorageTR"),
|
||||
DISTILLATION_TOWER(TileDistillationTower.class, "distillation_tower", "TileDistillationTowerTR"),
|
||||
VACUUM_FREEZER(TileVacuumFreezer.class, "vacuum_freezer", "TileVacuumFreezerTR"),
|
||||
FUSION_CONTROL_COMPUTER(TileFusionControlComputer.class, "fusion_control_computer", "TileFusionControlComputerTR"),
|
||||
LIGHTNING_ROD(TileLightningRod.class, "lightning_rod", "TileLightningRodTR"),
|
||||
INDUSTRIAL_SAWMILL(TileIndustrialSawmill.class, "industrial_sawmill", "TileIndustrialSawmillTR"),
|
||||
GRINDER(TileGrinder.class, "grinder", "TileGrinderTR"),
|
||||
SOLID_FUEL_GENEREATOR(TileSolidFuelGenerator.class, "solid_fuel_generator", "TileSolidFuelGeneratorTR"),
|
||||
EXTRACTOR(TileExtractor.class, "extractor", "TileExtractorTR"),
|
||||
COMPRESSOR(TileCompressor.class, "compressor", "TileCompressorTR"),
|
||||
ELECTRIC_FURNACE(TileElectricFurnace.class, "electric_furnace", "TileElectricFurnaceTR"),
|
||||
SOLAR_PANEL(TileSolarPanel.class, "solar_panel", "TileSolarPanelTR"),
|
||||
CREATIVE_SOLAR_PANEL(TileCreativeSolarPanel.class, "creative_solar_panel", "TileCreativeSolarPanelTR"),
|
||||
WATER_MILL(TileWaterMill.class, "water_mill", "TileWaterMillTR"),
|
||||
WIND_MILL(TileWindMill.class, "wind_mill", "TileWindMillTR"),
|
||||
MACHINE_BASE(TileLegacyMachineBase.class, "machine_base", "TileMachineBaseTR"),
|
||||
RECYCLER(TileRecycler.class, "recycler", "TileRecyclerTR"),
|
||||
LOW_VOLTAGE_SU(TileLowVoltageSU.class, "low_voltage_su", "TileLowVoltageSUTR"),
|
||||
MEDIUM_VOLTAGE_SU(TileMediumVoltageSU.class, "medium_voltage_su", "TileMediumVoltageSUTR"),
|
||||
HIGH_VOLTAGE_SU(TileHighVoltageSU.class, "high_voltage_su", "TileHighVoltageSUTR"),
|
||||
LV_TRANSFORMER(TileLVTransformer.class, "lv_transformer", "TileLVTransformerTR"),
|
||||
MV_TRANSFORMER(TileMVTransformer.class, "mv_transformer", "TileMVTransformerTR"),
|
||||
HV_TRANSFORMER(TileHVTransformer.class, "hv_transformer", "TileHVTransformerTR"),
|
||||
AUTO_CRAFTING_TABLE(TileAutoCraftingTable.class, "auto_crafting_table", "TileAutoCraftingTableTR"),
|
||||
IRON_FURNACE(TileIronFurnace.class, "iron_furnace", "TileIronFurnaceTR"),
|
||||
SCRAPBOXINATOR(TileScrapboxinator.class, "scrapboxinator", "TileScrapboxinatorTR"),
|
||||
PLASMA_GENERATOR(TilePlasmaGenerator.class, "plasma_generator", "TilePlasmalGeneratorTR"),
|
||||
LAMP(TileLamp.class, "lamp", "TileLampTR"),
|
||||
ALARM(TileAlarm.class, "alarm", "TileAlarmTR"),
|
||||
FLUID_REPLICATOR(TileFluidReplicator.class, "fluid_replicator", "TileFluidReplicatorTR");
|
||||
THERMAL_GEN(TileThermalGenerator.class, "thermal_generator"),
|
||||
QUANTUM_TANK(TileQuantumTank.class, "quantum_tank"),
|
||||
QUANTUM_CHEST(TileQuantumChest.class, "quantum_chest"),
|
||||
DIGITAL_CHEST(TileDigitalChest.class, "digital_chest"),
|
||||
INDUSTRIAL_CENTRIFUGE(TileIndustrialCentrifuge.class, "industrial_centrifuge"),
|
||||
ROLLING_MACHINE(TileRollingMachine.class, "rolling_machine"),
|
||||
INDUSTRIAL_BLAST_FURNACE(TileIndustrialBlastFurnace.class, "industrial_blast_furnace"),
|
||||
ALLOY_SMELTER(TileAlloySmelter.class, "alloy_smelter"),
|
||||
INDUSTRIAL_GRINDER(TileIndustrialGrinder.class, "industrial_grinder"),
|
||||
IMPLOSION_COMPRESSOR(TileImplosionCompressor.class, "implosion_compressor"),
|
||||
MATTER_FABRICATOR(TileMatterFabricator.class, "matter_fabricator"),
|
||||
CHUNK_LOADER(TileChunkLoader.class, "chunk_loader"),
|
||||
CHARGE_O_MAT(TileChargeOMat.class, "charge_o_mat"),
|
||||
PLAYER_DETECTOR(TilePlayerDectector.class, "player_detector"),
|
||||
CABLE(TileCable.class, "cable"),
|
||||
MACHINE_CASINGS(TileMachineCasing.class, "machine_casing"),
|
||||
DRAGON_EGG_SYPHON(TileDragonEggSyphon.class, "dragon_egg_syphon"),
|
||||
ASSEMBLY_MACHINE(TileAssemblingMachine.class, "assembly_machine"),
|
||||
DIESEL_GENERATOR(TileDieselGenerator.class, "diesel_generator"),
|
||||
INDUSTRIAL_ELECTROLYZER(TileIndustrialElectrolyzer.class, "industrial_electrolyzer"),
|
||||
SEMI_FLUID_GENERATOR(TileSemiFluidGenerator.class, "semi_fluid_generator"),
|
||||
GAS_TURBINE(TileGasTurbine.class, "gas_turbine"),
|
||||
IRON_ALLOY_FURNACE(TileIronAlloyFurnace.class, "iron_alloy_furnace"),
|
||||
CHEMICAL_REACTOR(TileChemicalReactor.class, "chemical_reactor"),
|
||||
INTERDIMENSIONAL_SU(TileInterdimensionalSU.class, "interdimensional_su"),
|
||||
ADJUSTABLE_SU(TileAdjustableSU.class, "adjustable_su"),
|
||||
LAPOTRONIC_SU(TileLapotronicSU.class, "lapotronic_su"),
|
||||
LSU_STORAGE(TileLSUStorage.class, "lsu_storage"),
|
||||
DISTILLATION_TOWER(TileDistillationTower.class, "distillation_tower"),
|
||||
VACUUM_FREEZER(TileVacuumFreezer.class, "vacuum_freezer"),
|
||||
FUSION_CONTROL_COMPUTER(TileFusionControlComputer.class, "fusion_control_computer"),
|
||||
LIGHTNING_ROD(TileLightningRod.class, "lightning_rod"),
|
||||
INDUSTRIAL_SAWMILL(TileIndustrialSawmill.class, "industrial_sawmill"),
|
||||
GRINDER(TileGrinder.class, "grinder"),
|
||||
SOLID_FUEL_GENEREATOR(TileSolidFuelGenerator.class, "solid_fuel_generator"),
|
||||
EXTRACTOR(TileExtractor.class, "extractor"),
|
||||
COMPRESSOR(TileCompressor.class, "compressor"),
|
||||
ELECTRIC_FURNACE(TileElectricFurnace.class, "electric_furnace"),
|
||||
SOLAR_PANEL(TileSolarPanel.class, "solar_panel"),
|
||||
CREATIVE_SOLAR_PANEL(TileCreativeSolarPanel.class, "creative_solar_panel"),
|
||||
WATER_MILL(TileWaterMill.class, "water_mill"),
|
||||
WIND_MILL(TileWindMill.class, "wind_mill"),
|
||||
MACHINE_BASE(TileLegacyMachineBase.class, "machine_base"),
|
||||
RECYCLER(TileRecycler.class, "recycler"),
|
||||
LOW_VOLTAGE_SU(TileLowVoltageSU.class, "low_voltage_su"),
|
||||
MEDIUM_VOLTAGE_SU(TileMediumVoltageSU.class, "medium_voltage_su"),
|
||||
HIGH_VOLTAGE_SU(TileHighVoltageSU.class, "high_voltage_su"),
|
||||
LV_TRANSFORMER(TileLVTransformer.class, "lv_transformer"),
|
||||
MV_TRANSFORMER(TileMVTransformer.class, "mv_transformer"),
|
||||
HV_TRANSFORMER(TileHVTransformer.class, "hv_transformer"),
|
||||
AUTO_CRAFTING_TABLE(TileAutoCraftingTable.class, "auto_crafting_table"),
|
||||
IRON_FURNACE(TileIronFurnace.class, "iron_furnace"),
|
||||
SCRAPBOXINATOR(TileScrapboxinator.class, "scrapboxinator"),
|
||||
PLASMA_GENERATOR(TilePlasmaGenerator.class, "plasma_generator"),
|
||||
LAMP(TileLamp.class, "lamp"),
|
||||
ALARM(TileAlarm.class, "alarm"),
|
||||
FLUID_REPLICATOR(TileFluidReplicator.class, "fluid_replicator");
|
||||
|
||||
public Class<? extends TileEntity> tileClass;
|
||||
public ResourceLocation name;
|
||||
public Optional<String> oldName;
|
||||
|
||||
ModTileEntities(Class<? extends TileEntity> tileClass, ResourceLocation name, String oldName) {
|
||||
this.tileClass = tileClass;
|
||||
this.name = name;
|
||||
this.oldName = Optional.of(oldName);
|
||||
}
|
||||
|
||||
ModTileEntities(Class<? extends TileEntity> tileClass, ResourceLocation name) {
|
||||
this.tileClass = tileClass;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
ModTileEntities(Class<? extends TileEntity> tileClass, String name, String oldName) {
|
||||
this(tileClass, new ResourceLocation(ModInfo.MOD_ID, name), oldName);
|
||||
}
|
||||
|
||||
ModTileEntities(Class<? extends TileEntity> tileClass, String name) {
|
||||
this(tileClass, new ResourceLocation(ModInfo.MOD_ID, name));
|
||||
}
|
||||
|
||||
public boolean hasUpgradePath(){
|
||||
return oldName.isPresent();
|
||||
}
|
||||
|
||||
public static void init(){
|
||||
Arrays.stream(ModTileEntities.values())
|
||||
.forEach(modTileEntities -> GameRegistry.registerTileEntity(modTileEntities.tileClass, modTileEntities.name));
|
||||
}
|
||||
|
||||
public static Optional<ModTileEntities> getFromOldName(String name){
|
||||
for(ModTileEntities entry : ModTileEntities.values()){
|
||||
if(entry.oldName.isPresent() && entry.oldName.get().equalsIgnoreCase(name)){
|
||||
return Optional.of(entry);
|
||||
}
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
public static void initDataFixer(ModFixs dataFixes){
|
||||
dataFixes.registerFix(FixTypes.BLOCK_ENTITY, new IFixableData() {
|
||||
@Override
|
||||
public int getFixVersion() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound fixTagCompound(NBTTagCompound compound) {
|
||||
ResourceLocation tileEntityLocation = new ResourceLocation(compound.getString("id"));
|
||||
if(tileEntityLocation.getNamespace().equalsIgnoreCase("minecraft")){
|
||||
Optional<ModTileEntities> tileData = getFromOldName(tileEntityLocation.getPath());
|
||||
tileData.ifPresent(modTileEntities -> compound.setString("id", modTileEntities.name.toString()));
|
||||
}
|
||||
return compound;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue