diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/src/main/java/tschipp/carryon/common/config/CarryOnConfig.java b/src/main/java/tschipp/carryon/common/config/CarryOnConfig.java index 2321acb..454a6e3 100644 --- a/src/main/java/tschipp/carryon/common/config/CarryOnConfig.java +++ b/src/main/java/tschipp/carryon/common/config/CarryOnConfig.java @@ -27,6 +27,10 @@ public class CarryOnConfig { @Config.Comment("Blacklist for Blocks and Entities") public static Configs.Blacklist blacklist = new Configs.Blacklist(); + @Config.LangKey(CarryOn.MODID) + @Config.Comment("Whitelist for Entities") + public static Configs.WhiteList whitelist = new Configs.WhiteList(); + @Config.LangKey(CarryOn.MODID) @Config.Comment("Model Overrides based on NBT or on Meta. Advanced Users Only!") public static Configs.ModelOverrides modelOverrides = new Configs.ModelOverrides(); diff --git a/src/main/java/tschipp/carryon/common/config/Configs.java b/src/main/java/tschipp/carryon/common/config/Configs.java index 1236502..bc9da96 100644 --- a/src/main/java/tschipp/carryon/common/config/Configs.java +++ b/src/main/java/tschipp/carryon/common/config/Configs.java @@ -45,6 +45,23 @@ public class Configs { @Comment("Arms should render on sides when carrying") public boolean renderArms = true; + + @Comment("Allow babies to be carried when parents are not") + public boolean allowBabies=false; + + @Comment("Use Whitelist instead of Blacklist") + public boolean useWhiteList=false; + } + + public static class WhiteList + { + @Config.RequiresMcRestart() + @Comment("Entities that CAN be picked up") + public String[] allowedEntities=new String[] + { + "minecraft:chicken", + "minecraft:rabbit" + }; } public static class Blacklist @@ -101,6 +118,7 @@ public class Configs { "animania:textures/entity/pigs/hamster_tarou.png", "mynko:*" }; + } public static class ModelOverrides diff --git a/src/main/java/tschipp/carryon/common/handler/ForbiddenTileHandler.java b/src/main/java/tschipp/carryon/common/handler/ForbiddenTileHandler.java index 9ba0fe3..7cc5375 100644 --- a/src/main/java/tschipp/carryon/common/handler/ForbiddenTileHandler.java +++ b/src/main/java/tschipp/carryon/common/handler/ForbiddenTileHandler.java @@ -13,6 +13,7 @@ public class ForbiddenTileHandler { public static List FORBIDDEN_TILES; public static List FORBIDDEN_ENTITIES; + public static List ALLOWED_ENTITIES; public static boolean isForbidden(Block block) { @@ -30,6 +31,16 @@ public class ForbiddenTileHandler return true; } + public static boolean isAllowed(Entity entity){ + if (EntityList.getKey(entity) != null) + { + String name = EntityList.getKey(entity).toString(); + boolean contains = ALLOWED_ENTITIES.contains(name); + return contains; + } + return true; + } + public static void initForbiddenTiles() { String[] forbidden = CarryOnConfig.blacklist.forbiddenTiles; @@ -69,6 +80,22 @@ public class ForbiddenTileHandler } FORBIDDEN_ENTITIES.add(forbiddenEntity[i]); } + + String [] allowedEntities=CarryOnConfig.whitelist.allowedEntities; + ALLOWED_ENTITIES=new ArrayList(); + for(int i=0;i