mirror of
https://github.com/barkeser2002/CatServer.git
synced 2026-09-25 13:46:10 +03:00
40 lines
1.6 KiB
Diff
40 lines
1.6 KiB
Diff
--- ../src-base/minecraft/net/minecraftforge/common/util/EnumHelper.java
|
|
+++ ../src-work/minecraft/net/minecraftforge/common/util/EnumHelper.java
|
|
@@ -43,6 +43,10 @@
|
|
import net.minecraft.world.EnumSkyBlock;
|
|
import net.minecraft.world.gen.structure.StructureStrongholdPieces.Stronghold.Door;
|
|
import net.minecraftforge.classloading.FMLForgePlugin;
|
|
+import net.minecraftforge.fml.relauncher.ReflectionHelper;
|
|
+import org.bukkit.World;
|
|
+import org.bukkit.entity.Entity;
|
|
+import org.bukkit.entity.EntityType;
|
|
|
|
public class EnumHelper
|
|
{
|
|
@@ -372,4 +376,25 @@
|
|
setup();
|
|
}
|
|
}
|
|
+
|
|
+ public static EntityType addBukkitEntityType(String name, Class <? extends org.bukkit.entity.Entity> clazz, int typeId, boolean independent) {
|
|
+ String entityType = name.replace("-", "_").toUpperCase();
|
|
+ EntityType bukkitType = addEnum(EntityType.class, entityType, new Class[] { String.class, Class.class, Integer.TYPE, Boolean.TYPE }, new Object[] { name, clazz, typeId, independent });
|
|
+
|
|
+ Map<String, EntityType> NAME_MAP = ReflectionHelper.getPrivateValue(EntityType.class, null, "NAME_MAP");
|
|
+ Map<Short, EntityType> ID_MAP = ReflectionHelper.getPrivateValue(EntityType.class, null, "ID_MAP");
|
|
+
|
|
+ NAME_MAP.put(name.toLowerCase(), bukkitType);
|
|
+ ID_MAP.put((short)typeId, bukkitType);
|
|
+
|
|
+
|
|
+ return bukkitType;
|
|
+ }
|
|
+
|
|
+ public static World.Environment addBukkitEnvironment(int id, String name) {
|
|
+ if(!isSetup){
|
|
+ setup();
|
|
+ }
|
|
+ return (World.Environment)addEnum(World.Environment.class,name,new Class[]{Integer.TYPE}, new Object[]{Integer.valueOf(id)});
|
|
+ }
|
|
}
|