Reimplement nametag distance attribute, fix attribute translation keys (#7387)
This commit is contained in:
parent
8a77681574
commit
22f7f4649b
|
@ -13,3 +13,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
@@ -77,7 +79,7 @@
|
||||
|
||||
protected void func_225629_a_(T p_225629_1_, ITextComponent p_225629_2_, MatrixStack p_225629_3_, IRenderTypeBuffer p_225629_4_, int p_225629_5_) {
|
||||
double d0 = this.field_76990_c.func_229099_b_(p_225629_1_);
|
||||
- if (!(d0 > 4096.0D)) {
|
||||
+ if (net.minecraftforge.client.ForgeHooksClient.isNameplateInRenderDistance(p_225629_1_, d0)) {
|
||||
boolean flag = !p_225629_1_.func_226273_bm_();
|
||||
float f = p_225629_1_.func_213302_cg() + 0.5F;
|
||||
int i = "deadmau5".equals(p_225629_2_.getString()) ? -10 : 0;
|
||||
|
|
|
@ -52,6 +52,7 @@ import net.minecraft.client.resources.I18n;
|
|||
import net.minecraft.client.settings.KeyBinding;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.ai.attributes.ModifiableAttributeInstance;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.fluid.Fluid;
|
||||
import net.minecraft.fluid.FluidState;
|
||||
|
@ -79,6 +80,7 @@ import net.minecraftforge.client.event.*;
|
|||
import net.minecraftforge.client.event.sound.PlaySoundEvent;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.model.animation.Animation;
|
||||
import net.minecraftforge.common.ForgeMod;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.common.model.TransformationHelper;
|
||||
import net.minecraftforge.eventbus.api.Event;
|
||||
|
@ -757,4 +759,14 @@ public class ForgeHooksClient
|
|||
}
|
||||
net.minecraftforge.client.ForgeHooksClient.setRenderLayer(null);
|
||||
}
|
||||
|
||||
public static boolean isNameplateInRenderDistance(Entity entity, double squareDistance) {
|
||||
if (entity instanceof LivingEntity) {
|
||||
final ModifiableAttributeInstance attribute = ((LivingEntity) entity).getAttribute(ForgeMod.NAMETAG_DISTANCE.get());
|
||||
if (attribute != null) {
|
||||
return !(squareDistance > (attribute.getValue() * attribute.getValue()));
|
||||
}
|
||||
}
|
||||
return !(squareDistance > 4096.0f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -87,10 +87,10 @@ public class ForgeMod implements WorldPersistenceHooks.WorldPersistenceHook
|
|||
private static final DeferredRegister<Attribute> ATTRIBUTES = DeferredRegister.create(Attribute.class, "forge");
|
||||
|
||||
public static final RegistryObject<Attribute> SWIM_SPEED = ATTRIBUTES.register("swim_speed", () -> new RangedAttribute("forge.swimSpeed", 1.0D, 0.0D, 1024.0D).func_233753_a_(true));
|
||||
public static final RegistryObject<Attribute> NAMETAG_DISTANCE = ATTRIBUTES.register("nametag_distance", () -> new RangedAttribute("forge.nameTagDistance", 64.0D, 0.0D, Float.MAX_VALUE).func_233753_a_(true));
|
||||
public static final RegistryObject<Attribute> NAMETAG_DISTANCE = ATTRIBUTES.register("nametag_distance", () -> new RangedAttribute("forge.nameTagDistance", 64.0D, 0.0D, 64.0).func_233753_a_(true));
|
||||
public static final RegistryObject<Attribute> ENTITY_GRAVITY = ATTRIBUTES.register("entity_gravity", () -> new RangedAttribute("forge.entity_gravity", 0.08D, -8.0D, 8.0D).func_233753_a_(true));
|
||||
|
||||
public static final RegistryObject<Attribute> REACH_DISTANCE = ATTRIBUTES.register("reach_distance", () -> new RangedAttribute( "generic.reachDistance", 5.0D, 0.0D, 1024.0D).func_233753_a_(true));
|
||||
public static final RegistryObject<Attribute> REACH_DISTANCE = ATTRIBUTES.register("reach_distance", () -> new RangedAttribute("generic.reachDistance", 5.0D, 0.0D, 1024.0D).func_233753_a_(true));
|
||||
|
||||
private static ForgeMod INSTANCE;
|
||||
public static ForgeMod getInstance()
|
||||
|
|
|
@ -162,6 +162,12 @@
|
|||
"forge.controlsgui.alt": "ALT + %s",
|
||||
|
||||
"forge.container.enchant.limitedEnchantability": "Limited Enchantability",
|
||||
"attribute.name.generic.reachDistance": "Reach Distance",
|
||||
"attribute.name.forge.swimSpeed": "Swim Speed"
|
||||
"attribute.name.forge.swim_speed": "Swim Speed",
|
||||
"attribute.name.forge.nametag_distance": "Nametag Render Distance",
|
||||
"attribute.name.forge.entity_gravity": "Entity Gravity",
|
||||
"attribute.name.generic.reach_distance": "Reach Distance",
|
||||
"forge.swimSpeed": "Swim Speed",
|
||||
"forge.nameTagDistance": "Nametag Render Distance",
|
||||
"forge.entity_gravity": "Entity Gravity",
|
||||
"generic.reachDistance": "Reach Distance"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue