[1.16.x] Allow GlobalEntityTypeAttributes' EntityType -> AttributeModifierMap to be added to (#6822)

* Make GlobalEntityTypeAttributes map able to be added to

* Split get patch into two lines

* Favor Forge's map over vanilla
This commit is contained in:
its_meow authored and GitHub committed 2020-06-26 15:03:56 +02:00
1 parent e7b5dcb149
commit 71baebcc93
1 file changed
+24
@@ -0,0 +1,24 @@
--- a/net/minecraft/entity/ai/attributes/GlobalEntityTypeAttributes.java
+++ b/net/minecraft/entity/ai/attributes/GlobalEntityTypeAttributes.java
@@ -71,13 +71,19 @@
public class GlobalEntityTypeAttributes {
private static final Logger field_233832_a_ = LogManager.getLogger();
private static final Map<EntityType<? extends LivingEntity>, AttributeModifierMap> field_233833_b_ = ImmutableMap.<EntityType<? extends LivingEntity>, AttributeModifierMap>builder().put(EntityType.field_200789_c, LivingEntity.func_233639_cI_().func_233813_a_()).put(EntityType.field_200791_e, BatEntity.func_234175_m_().func_233813_a_()).put(EntityType.field_226289_e_, BeeEntity.func_234182_eX_().func_233813_a_()).put(EntityType.field_200792_f, BlazeEntity.func_234276_m_().func_233813_a_()).put(EntityType.field_220360_g, CatEntity.func_234184_eY_().func_233813_a_()).put(EntityType.field_200794_h, CaveSpiderEntity.func_234277_m_().func_233813_a_()).put(EntityType.field_200795_i, ChickenEntity.func_234187_eI_().func_233813_a_()).put(EntityType.field_203780_j, AbstractFishEntity.func_234176_m_().func_233813_a_()).put(EntityType.field_200796_j, CowEntity.func_234188_eI_().func_233813_a_()).put(EntityType.field_200797_k, CreeperEntity.func_234278_m_().func_233813_a_()).put(EntityType.field_205137_n, DolphinEntity.func_234190_eK_().func_233813_a_()).put(EntityType.field_200798_l, AbstractChestedHorseEntity.func_234234_eJ_().func_233813_a_()).put(EntityType.field_204724_o, ZombieEntity.func_234342_eQ_().func_233813_a_()).put(EntityType.field_200800_n, ElderGuardianEntity.func_234283_m_().func_233813_a_()).put(EntityType.field_200803_q, EndermanEntity.func_234287_m_().func_233813_a_()).put(EntityType.field_200804_r, EndermiteEntity.func_234288_m_().func_233813_a_()).put(EntityType.field_200802_p, EnderDragonEntity.func_234257_m_().func_233813_a_()).put(EntityType.field_200806_t, EvokerEntity.func_234289_eI_().func_233813_a_()).put(EntityType.field_220356_B, FoxEntity.func_234192_eI_().func_233813_a_()).put(EntityType.field_200811_y, GhastEntity.func_234290_eH_().func_233813_a_()).put(EntityType.field_200812_z, GiantEntity.func_234291_m_().func_233813_a_()).put(EntityType.field_200761_A, GuardianEntity.func_234292_eK_().func_233813_a_()).put(EntityType.field_233588_G_, HoglinEntity.func_234362_eI_().func_233813_a_()).put(EntityType.field_200762_B, AbstractHorseEntity.func_234237_fg_().func_233813_a_()).put(EntityType.field_200763_C, ZombieEntity.func_234342_eQ_().func_233813_a_()).put(EntityType.field_200764_D, IllusionerEntity.func_234293_eI_().func_233813_a_()).put(EntityType.field_200757_aw, IronGolemEntity.func_234200_m_().func_233813_a_()).put(EntityType.field_200769_I, LlamaEntity.func_234244_fu_().func_233813_a_()).put(EntityType.field_200771_K, MagmaCubeEntity.func_234294_m_().func_233813_a_()).put(EntityType.field_200780_T, CowEntity.func_234188_eI_().func_233813_a_()).put(EntityType.field_200779_S, AbstractChestedHorseEntity.func_234234_eJ_().func_233813_a_()).put(EntityType.field_200781_U, OcelotEntity.func_234201_eI_().func_233813_a_()).put(EntityType.field_220353_aa, PandaEntity.func_234204_eW_().func_233813_a_()).put(EntityType.field_200783_W, ParrotEntity.func_234213_eS_().func_233813_a_()).put(EntityType.field_203097_aH, MonsterEntity.func_234295_eP_().func_233813_a_()).put(EntityType.field_200784_X, PigEntity.func_234215_eI_().func_233813_a_()).put(EntityType.field_233591_ai_, PiglinEntity.func_234420_eI_().func_233813_a_()).put(EntityType.field_220350_aJ, PillagerEntity.func_234296_eI_().func_233813_a_()).put(EntityType.field_200729_aH, PlayerEntity.func_234570_el_().func_233813_a_()).put(EntityType.field_200786_Z, PolarBearEntity.func_234219_eI_().func_233813_a_()).put(EntityType.field_203779_Z, AbstractFishEntity.func_234176_m_().func_233813_a_()).put(EntityType.field_200736_ab, RabbitEntity.func_234224_eJ_().func_233813_a_()).put(EntityType.field_220352_aU, RavagerEntity.func_234297_m_().func_233813_a_()).put(EntityType.field_203778_ae, AbstractFishEntity.func_234176_m_().func_233813_a_()).put(EntityType.field_200737_ac, SheepEntity.func_234225_eI_().func_233813_a_()).put(EntityType.field_200738_ad, ShulkerEntity.func_234300_m_().func_233813_a_()).put(EntityType.field_200740_af, SilverfishEntity.func_234301_m_().func_233813_a_()).put(EntityType.field_200741_ag, AbstractSkeletonEntity.func_234275_m_().func_233813_a_()).put(EntityType.field_200742_ah, SkeletonHorseEntity.func_234250_eJ_().func_233813_a_()).put(EntityType.field_200743_ai, MonsterEntity.func_234295_eP_().func_233813_a_()).put(EntityType.field_200745_ak, SnowGolemEntity.func_234226_m_().func_233813_a_()).put(EntityType.field_200748_an, SpiderEntity.func_234305_eI_().func_233813_a_()).put(EntityType.field_200749_ao, SquidEntity.func_234227_m_().func_233813_a_()).put(EntityType.field_200750_ap, AbstractSkeletonEntity.func_234275_m_().func_233813_a_()).put(EntityType.field_233589_aE_, StriderEntity.func_234317_eK_().func_233813_a_()).put(EntityType.field_220354_ax, LlamaEntity.func_234244_fu_().func_233813_a_()).put(EntityType.field_204262_at, AbstractFishEntity.func_234176_m_().func_233813_a_()).put(EntityType.field_203099_aq, TurtleEntity.func_234228_eK_().func_233813_a_()).put(EntityType.field_200755_au, VexEntity.func_234321_m_() Line truncated
+ private static final Map<EntityType<? extends LivingEntity>, AttributeModifierMap> FORGE_ATTRIBUTES = new java.util.HashMap<EntityType<? extends LivingEntity>, AttributeModifierMap>();
+
+ public static AttributeModifierMap put(EntityType<? extends LivingEntity> type, AttributeModifierMap map) {
+ return FORGE_ATTRIBUTES.put(type, map);
+ }
public static AttributeModifierMap func_233835_a_(EntityType<? extends LivingEntity> p_233835_0_) {
- return field_233833_b_.get(p_233835_0_);
+ AttributeModifierMap map = FORGE_ATTRIBUTES.get(p_233835_0_);
+ return map != null ? map : field_233833_b_.get(p_233835_0_);
}
public static boolean func_233837_b_(EntityType<?> p_233837_0_) {
- return field_233833_b_.containsKey(p_233837_0_);
+ return field_233833_b_.containsKey(p_233837_0_) || FORGE_ATTRIBUTES.containsKey(p_233837_0_);
}
public static void func_233834_a_() {