Slight cleanup, fixed a duplication bug, and make it so muffins don't deal any damage

This commit is contained in:
Sollace 2022-03-27 17:55:02 +02:00
parent d9d56c634c
commit c84a38cefb
2 changed files with 16 additions and 5 deletions

View file

@ -33,16 +33,13 @@ public class HeavyProjectileItem extends ProjectileItem {
} }
@Override @Override
protected ProjectileEntity createProjectile(ItemStack stack, World world, PlayerEntity player) { protected PhysicsBodyProjectileEntity createProjectile(ItemStack stack, World world, PlayerEntity player) {
PhysicsBodyProjectileEntity projectile = player == null ? new PhysicsBodyProjectileEntity(world) : new PhysicsBodyProjectileEntity(world, player); PhysicsBodyProjectileEntity projectile = player == null ? new PhysicsBodyProjectileEntity(world) : new PhysicsBodyProjectileEntity(world, player);
if (player != null) { if (player != null) {
projectile.setVelocity(player, player.getPitch(), player.getYaw(), 0, 1.5F, 1); projectile.setVelocity(player, player.getPitch(), player.getYaw(), 0, 1.5F, 1);
} }
projectile.pickupType = PersistentProjectileEntity.PickupPermission.ALLOWED; projectile.pickupType = PersistentProjectileEntity.PickupPermission.ALLOWED;
projectile.setStack(stack.copy()); projectile.setStack(stack.copy().split(1));
if (this == UItems.MUFFIN) {
projectile.setBouncy();
}
return projectile; return projectile;
} }

View file

@ -1,8 +1,22 @@
package com.minelittlepony.unicopia.item; package com.minelittlepony.unicopia.item;
import com.minelittlepony.unicopia.entity.PhysicsBodyProjectileEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class MuffinItem extends HeavyProjectileItem { public class MuffinItem extends HeavyProjectileItem {
public MuffinItem(Settings settings, float projectileDamage) { public MuffinItem(Settings settings, float projectileDamage) {
super(settings, projectileDamage); super(settings, projectileDamage);
} }
@Override
protected PhysicsBodyProjectileEntity createProjectile(ItemStack stack, World world, PlayerEntity player) {
PhysicsBodyProjectileEntity projectile = super.createProjectile(stack, world, player);
projectile.setBouncy();
projectile.setDamage(0);
return projectile;
}
} }