Remove cross-version proxy
1.9.4 support has been dropped. Extremely little gain for major drawbacks.
This commit is contained in:
parent
6ff12aa0fe
commit
7b21439a03
8 changed files with 14 additions and 141 deletions
|
@ -1,7 +1,6 @@
|
|||
package WayofTime.bloodmagic;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
|
||||
import WayofTime.bloodmagic.meteor.MeteorConfigHandler;
|
||||
import lombok.Getter;
|
||||
|
@ -9,7 +8,6 @@ import net.minecraft.creativetab.CreativeTabs;
|
|||
import net.minecraft.item.Item;
|
||||
import net.minecraft.launchwrapper.Launch;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.fml.common.Loader;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.common.SidedProxy;
|
||||
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
||||
|
@ -25,7 +23,6 @@ import WayofTime.bloodmagic.api.util.helper.LogHelper;
|
|||
import WayofTime.bloodmagic.client.gui.GuiHandler;
|
||||
import WayofTime.bloodmagic.command.CommandBloodMagic;
|
||||
import WayofTime.bloodmagic.compat.ICompatibility;
|
||||
import WayofTime.bloodmagic.compat.minecraft.ICrossVersionProxy;
|
||||
import WayofTime.bloodmagic.network.BloodMagicPacketHandler;
|
||||
import WayofTime.bloodmagic.proxy.CommonProxy;
|
||||
import WayofTime.bloodmagic.registry.ModArmourTrackers;
|
||||
|
@ -42,8 +39,6 @@ import WayofTime.bloodmagic.structures.ModDungeons;
|
|||
import WayofTime.bloodmagic.util.Utils;
|
||||
import WayofTime.bloodmagic.util.handler.IMCHandler;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
|
||||
@Mod(modid = Constants.Mod.MODID, name = Constants.Mod.NAME, version = Constants.Mod.VERSION, dependencies = Constants.Mod.DEPEND, guiFactory = "WayofTime.bloodmagic.client.gui.config.ConfigGuiFactory")
|
||||
@Getter
|
||||
public class BloodMagic
|
||||
|
@ -76,34 +71,13 @@ public class BloodMagic
|
|||
{
|
||||
return true;
|
||||
}
|
||||
};
|
||||
}.setNoTitle().setBackgroundImageName("upgrade_tomes.png");
|
||||
|
||||
@Getter
|
||||
private static boolean isDev = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment");
|
||||
|
||||
@Getter
|
||||
private static ICrossVersionProxy crossVersionProxy;
|
||||
private static final Map<String, String> PROXY_MAP = ImmutableMap.of("1.9.4", "WayofTime.bloodmagic.compat.minecraft.CrossVersionProxy19", "1.10", "WayofTime.bloodmagic.compat.minecraft.CrossVersionProxy110", "1.10.2", "WayofTime.bloodmagic.compat.minecraft.CrossVersionProxy110");
|
||||
|
||||
static
|
||||
{
|
||||
try
|
||||
{
|
||||
String mcVersion = (String) Loader.class.getDeclaredField("MC_VERSION").get(null);
|
||||
|
||||
if (!PROXY_MAP.containsKey(mcVersion))
|
||||
throw new IllegalStateException("Blood Magic couldn't find a cross version proxy!");
|
||||
|
||||
Class proxyClass = Class.forName(PROXY_MAP.get(mcVersion));
|
||||
crossVersionProxy = (ICrossVersionProxy) proxyClass.newInstance();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new IllegalArgumentException("Blood Magic could not find a cross version proxy!", e);
|
||||
}
|
||||
|
||||
tabUpgradeTome.setNoTitle().setBackgroundImageName("upgrade_tomes.png");
|
||||
|
||||
FluidRegistry.enableUniversalBucket();
|
||||
}
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@ import net.minecraft.util.math.Vec3d;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import net.minecraftforge.common.ForgeModContainer;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
|
||||
import WayofTime.bloodmagic.BloodMagic;
|
||||
|
@ -368,7 +369,7 @@ public class BlockEnumStairs<E extends Enum<E> & IStringSerializable> extends Bl
|
|||
@Override
|
||||
public boolean doesSideBlockRendering(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing face)
|
||||
{
|
||||
if (BloodMagic.getCrossVersionProxy().disableStairSlabCulling())
|
||||
if (ForgeModContainer.disableStairSlabCulling)
|
||||
return super.doesSideBlockRendering(state, world, pos, face);
|
||||
|
||||
if (state.isOpaqueCube())
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
package WayofTime.bloodmagic.compat.minecraft;
|
||||
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.ForgeModContainer;
|
||||
import net.minecraftforge.fml.relauncher.ReflectionHelper;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class CrossVersionProxy110 implements ICrossVersionProxy {
|
||||
|
||||
@Override
|
||||
public TileEntity createTileFromData(World world, NBTTagCompound tagCompound)
|
||||
{
|
||||
Method m = ReflectionHelper.findMethod(TileEntity.class, null, new String[] { "create", "func_190200_a", "a" }, World.class, NBTTagCompound.class);
|
||||
try
|
||||
{
|
||||
return (TileEntity) m.invoke(null, world, tagCompound);
|
||||
} catch (Exception e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean disableStairSlabCulling()
|
||||
{
|
||||
Field disableStairSlabCulling = ReflectionHelper.findField(ForgeModContainer.class, "disableStairSlabCulling");
|
||||
try
|
||||
{
|
||||
return (Boolean) disableStairSlabCulling.get(null);
|
||||
} catch (Exception e)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
package WayofTime.bloodmagic.compat.minecraft;
|
||||
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.ReflectionHelper;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class CrossVersionProxy19 implements ICrossVersionProxy
|
||||
{
|
||||
|
||||
@Override
|
||||
public TileEntity createTileFromData(World world, NBTTagCompound tagCompound)
|
||||
{
|
||||
Method m = ReflectionHelper.findMethod(TileEntity.class, null, new String[] { "create", "func_189514_c", "c" }, NBTTagCompound.class);
|
||||
try
|
||||
{
|
||||
return (TileEntity) m.invoke(null, tagCompound);
|
||||
} catch (Exception e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean disableStairSlabCulling()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
package WayofTime.bloodmagic.compat.minecraft;
|
||||
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
/**
|
||||
* Allows for Blood Magic to support multiple MC versions that have only slight changes.
|
||||
*
|
||||
* Implementation copied from <a href="https://github.com/williewillus/Botania">Botania</a>.
|
||||
*/
|
||||
public interface ICrossVersionProxy
|
||||
{
|
||||
TileEntity createTileFromData(World world, NBTTagCompound tagCompound);
|
||||
|
||||
boolean disableStairSlabCulling();
|
||||
}
|
|
@ -1094,7 +1094,7 @@ public class Utils
|
|||
|
||||
if (initialTile != null)
|
||||
{
|
||||
TileEntity newTileInitial = BloodMagic.getCrossVersionProxy().createTileFromData(finalWorld, initialTag);
|
||||
TileEntity newTileInitial = TileEntity.create(finalWorld, initialTag);
|
||||
|
||||
finalWorld.setTileEntity(finalPos, newTileInitial);
|
||||
newTileInitial.setPos(finalPos);
|
||||
|
@ -1105,7 +1105,7 @@ public class Utils
|
|||
|
||||
if (finalTile != null)
|
||||
{
|
||||
TileEntity newTileFinal = BloodMagic.getCrossVersionProxy().createTileFromData(initialWorld, finalTag);
|
||||
TileEntity newTileFinal = TileEntity.create(initialWorld, finalTag);
|
||||
|
||||
initialWorld.setTileEntity(initialPos, newTileFinal);
|
||||
newTileFinal.setPos(initialPos);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue