数据调整
This commit is contained in:
parent
d95552900e
commit
e4fc6d5225
6 changed files with 21 additions and 11 deletions
|
@ -92,6 +92,7 @@ public class ClickHandler {
|
|||
if (button == GLFW.GLFW_MOUSE_BUTTON_RIGHT) {
|
||||
if (player.hasEffect(ModMobEffects.SHOCK.get())) {
|
||||
event.setCanceled(true);
|
||||
return;
|
||||
}
|
||||
if (player.getMainHandItem().is(ModTags.Items.GUN) || (player.isPassenger() && player.getVehicle() instanceof ICannonEntity)) {
|
||||
event.setCanceled(true);
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.mojang.blaze3d.platform.GlStateManager;
|
|||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import net.mcreator.superbwarfare.ModUtils;
|
||||
import net.mcreator.superbwarfare.init.ModItems;
|
||||
import net.mcreator.superbwarfare.network.ModVariables;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.GameRenderer;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
|
@ -30,7 +31,7 @@ public class JavelinHudOverlay {
|
|||
if (player != null) {
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
|
||||
if ((stack.getItem() == ModItems.JAVELIN.get() && !stack.getOrCreateTag().getBoolean("HoloHidden")) && Minecraft.getInstance().options.getCameraType().isFirstPerson()) {
|
||||
if ((stack.getItem() == ModItems.JAVELIN.get() && !stack.getOrCreateTag().getBoolean("HoloHidden")) && Minecraft.getInstance().options.getCameraType().isFirstPerson() && (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming) {
|
||||
RenderSystem.disableDepthTest();
|
||||
RenderSystem.depthMask(false);
|
||||
RenderSystem.enableBlend();
|
||||
|
|
|
@ -24,6 +24,7 @@ import net.minecraft.world.entity.Entity;
|
|||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.boss.enderdragon.EnderDragon;
|
||||
import net.minecraft.world.entity.monster.Monster;
|
||||
import net.minecraft.world.entity.projectile.ThrowableItemProjectile;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.level.Explosion;
|
||||
|
@ -52,16 +53,17 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||
|
||||
public String animationprocedure = "empty";
|
||||
|
||||
private int monsterMultiplier = 0;
|
||||
private float damage = 300f;
|
||||
|
||||
public JavelinMissileEntity(EntityType<? extends JavelinMissileEntity> type, Level world) {
|
||||
super(type, world);
|
||||
}
|
||||
|
||||
public JavelinMissileEntity(LivingEntity entity, Level level, float damage) {
|
||||
super(ModEntities.JAVELIN_MISSILE.get(), entity, level);
|
||||
public JavelinMissileEntity(LivingEntity entity, Level level, float damage, int monsterMultiplier) {
|
||||
super(ModEntities.RPG_ROCKET.get(), entity, level);
|
||||
this.damage = damage;
|
||||
this.monsterMultiplier = monsterMultiplier;
|
||||
}
|
||||
|
||||
public JavelinMissileEntity(PlayMessages.SpawnEntity spawnEntity, Level level) {
|
||||
|
@ -99,6 +101,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
|
||||
@Override
|
||||
protected void onHitEntity(EntityHitResult result) {
|
||||
float damageMultiplier = 1 + 0.2f * this.monsterMultiplier;
|
||||
Entity entity = result.getEntity();
|
||||
if (this.getOwner() instanceof LivingEntity living) {
|
||||
if (!living.level().isClientSide() && living instanceof ServerPlayer player) {
|
||||
|
@ -112,7 +115,11 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
entity.invulnerableTime = 0;
|
||||
}
|
||||
|
||||
entity.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), 0.2f * this.damage);
|
||||
if (entity instanceof Monster monster) {
|
||||
monster.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage * damageMultiplier);
|
||||
} else {
|
||||
entity.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage);
|
||||
}
|
||||
|
||||
if (this.tickCount > 1) {
|
||||
if (this.level() instanceof ServerLevel) {
|
||||
|
@ -214,7 +221,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
private void causeExplode() {
|
||||
CustomExplosion explosion = new CustomExplosion(this.level(), this,
|
||||
ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this.getOwner()), this.damage,
|
||||
this.getX(), this.getY(), this.getZ(), 7f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(1);
|
||||
this.getX(), this.getY(), this.getZ(), 8f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(this.monsterMultiplier);
|
||||
explosion.explode();
|
||||
net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this.level(), explosion);
|
||||
explosion.finalizeExplosion(false);
|
||||
|
@ -225,7 +232,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
private void triggerExplode(Entity target) {
|
||||
CustomExplosion explosion = new CustomExplosion(this.level(), this,
|
||||
ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this.getOwner()), this.damage,
|
||||
target.getX(), target.getY(), target.getZ(), 7f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(1);
|
||||
target.getX(), target.getY(), target.getZ(), 8f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(this.monsterMultiplier);
|
||||
explosion.explode();
|
||||
net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this.level(), explosion);
|
||||
explosion.finalizeExplosion(false);
|
||||
|
@ -236,7 +243,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
private void causeEntityHitExplode(Entity entity) {
|
||||
CustomExplosion explosion = new CustomExplosion(this.level(), this,
|
||||
ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this.getOwner()), this.damage,
|
||||
entity.getX(), entity.getY(), entity.getZ(), 7f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(1);
|
||||
entity.getX(), entity.getY(), entity.getZ(), 8f, Explosion.BlockInteraction.KEEP).setDamageMultiplier(this.monsterMultiplier);
|
||||
explosion.explode();
|
||||
net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this.level(), explosion);
|
||||
explosion.finalizeExplosion(false);
|
||||
|
|
|
@ -94,7 +94,7 @@ public class TaserBulletProjectileEntity extends AbstractArrow implements ItemSu
|
|||
return;
|
||||
}
|
||||
if (!living.level().isClientSide()) {
|
||||
living.addEffect(new MobEffectInstance(ModMobEffects.SHOCK.get(), 100, volt), this.getOwner());
|
||||
living.addEffect(new MobEffectInstance(ModMobEffects.SHOCK.get(), 100 + volt * 30, volt), this.getOwner());
|
||||
}
|
||||
}
|
||||
this.discard();
|
||||
|
|
|
@ -482,7 +482,8 @@ public class FireMessage {
|
|||
firePos.rotateY(-yRot * Mth.DEG_TO_RAD);
|
||||
|
||||
if (!level.isClientSide()) {
|
||||
JavelinMissileEntity missileEntity = new JavelinMissileEntity(player, level, (float) tag.getDouble("damage") * (float) tag.getDouble("levelDamageMultiple"));
|
||||
int monsterMultiple = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.MONSTER_HUNTER.get(), mainHandItem);
|
||||
JavelinMissileEntity missileEntity = new JavelinMissileEntity(player, level, (float) tag.getDouble("damage") * (float) tag.getDouble("levelDamageMultiple"), monsterMultiple);
|
||||
missileEntity.setPos(player.getX() + firePos.x, player.getEyeY() + firePos.y, player.getZ() + firePos.z);
|
||||
missileEntity.shoot(player.getLookAngle().x, player.getLookAngle().y + 0.3, player.getLookAngle().z, 3f, 1);
|
||||
missileEntity.setTargetUuid(tag.getString("TargetEntity"));
|
||||
|
|
|
@ -148,7 +148,7 @@ public class CustomExplosion extends Explosion {
|
|||
|
||||
double damageFinal = (damagePercent * damagePercent + damagePercent) / 2.0D * damage;
|
||||
if (entity instanceof Monster monster) {
|
||||
monster.hurt(this.damageSource, (int) damageFinal * (1 + 0.4f * this.damageMultiplier));
|
||||
monster.hurt(this.damageSource, (int) damageFinal * (1 + 0.2f * this.damageMultiplier));
|
||||
} else {
|
||||
entity.hurt(this.damageSource, (float) ((int) damageFinal));
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue