package com.thebrokenrail.scriptcraft.api.bridge; import com.thebrokenrail.scriptcraft.core.ScriptCraftCore; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.damage.DamageSource; import net.minecraft.entity.player.PlayerEntity; import java.util.Locale; class DamageSourceBridges { static void register() { ScriptCraftCore.addBridge("DamageSource.create", args -> { try { String id = ((String) args[0]).toUpperCase(Locale.ROOT); return DamageSource.class.getField(id).get(null); } catch (NoSuchFieldException | IllegalAccessException e) { throw new RuntimeException(e); } }); ScriptCraftCore.addBridge("DamageSource.createFromPlayer", args -> DamageSource.player((PlayerEntity) args[1])); ScriptCraftCore.addBridge("DamageSource.createFromMob", args -> DamageSource.mob((LivingEntity) args[1])); } }