添加实体中键选取物品
This commit is contained in:
parent
f163ce1e5a
commit
85ea6f3077
5 changed files with 32 additions and 1 deletions
|
@ -34,6 +34,7 @@ import net.neoforged.neoforge.capabilities.Capabilities;
|
|||
import net.neoforged.neoforge.energy.IEnergyStorage;
|
||||
import net.neoforged.neoforge.event.entity.living.LivingDeathEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import software.bernie.geckolib.animatable.GeoEntity;
|
||||
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
|
||||
import software.bernie.geckolib.animation.*;
|
||||
|
@ -359,4 +360,10 @@ public class DPSGeneratorEntity extends LivingEntity implements GeoEntity {
|
|||
storage.setEnergy(this.getMaxEnergy());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public ItemStack getPickResult() {
|
||||
return new ItemStack(ModItems.DPS_GENERATOR_DEPLOYER.get());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ import net.neoforged.bus.api.SubscribeEvent;
|
|||
import net.neoforged.fml.common.EventBusSubscriber;
|
||||
import net.neoforged.neoforge.event.entity.living.LivingDeathEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import software.bernie.geckolib.animatable.GeoEntity;
|
||||
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
|
||||
import software.bernie.geckolib.animation.*;
|
||||
|
@ -240,4 +241,9 @@ public class TargetEntity extends LivingEntity implements GeoEntity {
|
|||
return this.cache;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public ItemStack getPickResult() {
|
||||
return new ItemStack(ModItems.TARGET_DEPLOYER.get());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -600,6 +600,12 @@ public class DroneEntity extends MobileVehicleEntity implements GeoEntity {
|
|||
return stack.getItem().toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public ItemStack getPickResult() {
|
||||
return new ItemStack(ModItems.DRONE.get());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroy() {
|
||||
Player controller = EntityFindUtil.findPlayer(this.level(), this.entityData.get(CONTROLLER));
|
||||
|
|
|
@ -406,6 +406,12 @@ public class MortarEntity extends VehicleEntity implements GeoEntity, RemoteCont
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public ItemStack getPickResult() {
|
||||
return new ItemStack(ModItems.MORTAR_DEPLOYER.get());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPlaceItem(int slot, @NotNull ItemStack stack) {
|
||||
return super.canPlaceItem(slot, stack) && this.entityData.get(FIRE_TIME) == 0 && stack.getItem() instanceof MortarShell;
|
||||
|
|
|
@ -1556,9 +1556,15 @@ public abstract class VehicleEntity extends Entity implements Container {
|
|||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public ItemStack getPickResult() {
|
||||
return ContainerBlockItem.createInstance(this.getType());
|
||||
}
|
||||
|
||||
/**
|
||||
* 渲染载具的第一人称UI
|
||||
* 务必标记 @OnlyIn(Dist.CLIENT) !
|
||||
* 务必标记 @OnlyIn(Dist.CLIENT)
|
||||
*/
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public void renderFirstPersonOverlay(GuiGraphics guiGraphics, Font font, Player player, int screenWidth, int screenHeight, float scale) {
|
||||
|
|
Loading…
Add table
Reference in a new issue