diff --git a/src/main/java/de/bixilon/minosoft/util/EnumSetUtil.kt b/src/main/java/de/bixilon/minosoft/util/EnumSetUtil.kt index b78c158d0..ac19ed857 100644 --- a/src/main/java/de/bixilon/minosoft/util/EnumSetUtil.kt +++ b/src/main/java/de/bixilon/minosoft/util/EnumSetUtil.kt @@ -13,52 +13,13 @@ package de.bixilon.minosoft.util -import de.bixilon.kutil.cast.CastUtil.unsafeCast -import de.bixilon.kutil.unsafe.UnsafeUtil -import org.objenesis.ObjenesisStd import java.util.* @Deprecated("kutil 1.24") object EnumSetUtil { - private val OBJENSESIS = ObjenesisStd() - - private val ENUM_SET = EnumSet::class.java - private val ENUM_SET_TYPE = UnsafeUtil.UNSAFE.objectFieldOffset(ENUM_SET.getDeclaredField("elementType")) - private val ENUM_SET_UNIVERSE = UnsafeUtil.UNSAFE.objectFieldOffset(ENUM_SET.getDeclaredField("universe")) - - private val REGULAR_ENUM_SET = Class.forName("java.util.RegularEnumSet") - - private val JUMBO_ENUM_SET = Class.forName("java.util.RegularEnumSet") - private val JUMBO_ENUM_SET_ELEMENTS = UnsafeUtil.UNSAFE.objectFieldOffset(JUMBO_ENUM_SET.getDeclaredField("elements")) - - - private fun > EnumSet.update(type: Class, universe: Array) { - UnsafeUtil.UNSAFE.putObject(this, this@EnumSetUtil.ENUM_SET_TYPE, type) - UnsafeUtil.UNSAFE.putObject(this, this@EnumSetUtil.ENUM_SET_UNIVERSE, universe) - } - - fun > createRegular(clazz: Class, universe: Array): EnumSet { - // return RegularEnumSet(clazz, universe) - val set = UnsafeUtil.UNSAFE.allocateInstance(REGULAR_ENUM_SET).unsafeCast>() - set.update(clazz, universe) - - return set.unsafeCast() - } - - fun > createJumbo(clazz: Class, universe: Array): EnumSet { - // return JumboEnumSet(clazz, universe) - val set = OBJENSESIS.newInstance(REGULAR_ENUM_SET).unsafeCast>() - UnsafeUtil.UNSAFE.putObject(this, this@EnumSetUtil.JUMBO_ENUM_SET_ELEMENTS, LongArray(universe.size + 63 ushr 6)) - - set.update(clazz, universe) - - - return set - } fun > create(clazz: Class, universe: Array): EnumSet { return EnumSet.noneOf(clazz) // TODO: optimize and use universe - return if (universe.size <= Long.SIZE_BITS) createRegular(clazz, universe) else createJumbo(clazz, universe) } } diff --git a/src/main/resources/assets/minosoft/fixer/block_entity.json b/src/main/resources/assets/minosoft/fixer/block_entity.json index 67564ba4d..e6dcd7ea9 100644 --- a/src/main/resources/assets/minosoft/fixer/block_entity.json +++ b/src/main/resources/assets/minosoft/fixer/block_entity.json @@ -18,7 +18,6 @@ "Hopper": "hopper", "Banner": "banner", "FlowerPot": "flower_pot", - "Sign": "sign", "Piston": "piston", "Comparator": "comparator", "unpowered_comparator": "comparator",