添加实体中键选取物品
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.energy.IEnergyStorage;
|
||||||
import net.neoforged.neoforge.event.entity.living.LivingDeathEvent;
|
import net.neoforged.neoforge.event.entity.living.LivingDeathEvent;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
import software.bernie.geckolib.animatable.GeoEntity;
|
import software.bernie.geckolib.animatable.GeoEntity;
|
||||||
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
|
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
|
||||||
import software.bernie.geckolib.animation.*;
|
import software.bernie.geckolib.animation.*;
|
||||||
|
@ -359,4 +360,10 @@ public class DPSGeneratorEntity extends LivingEntity implements GeoEntity {
|
||||||
storage.setEnergy(this.getMaxEnergy());
|
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.fml.common.EventBusSubscriber;
|
||||||
import net.neoforged.neoforge.event.entity.living.LivingDeathEvent;
|
import net.neoforged.neoforge.event.entity.living.LivingDeathEvent;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
import software.bernie.geckolib.animatable.GeoEntity;
|
import software.bernie.geckolib.animatable.GeoEntity;
|
||||||
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
|
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
|
||||||
import software.bernie.geckolib.animation.*;
|
import software.bernie.geckolib.animation.*;
|
||||||
|
@ -240,4 +241,9 @@ public class TargetEntity extends LivingEntity implements GeoEntity {
|
||||||
return this.cache;
|
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();
|
return stack.getItem().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nullable
|
||||||
|
public ItemStack getPickResult() {
|
||||||
|
return new ItemStack(ModItems.DRONE.get());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void destroy() {
|
public void destroy() {
|
||||||
Player controller = EntityFindUtil.findPlayer(this.level(), this.entityData.get(CONTROLLER));
|
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
|
@Override
|
||||||
public boolean canPlaceItem(int slot, @NotNull ItemStack stack) {
|
public boolean canPlaceItem(int slot, @NotNull ItemStack stack) {
|
||||||
return super.canPlaceItem(slot, stack) && this.entityData.get(FIRE_TIME) == 0 && stack.getItem() instanceof MortarShell;
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nullable
|
||||||
|
public ItemStack getPickResult() {
|
||||||
|
return ContainerBlockItem.createInstance(this.getType());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 渲染载具的第一人称UI
|
* 渲染载具的第一人称UI
|
||||||
* 务必标记 @OnlyIn(Dist.CLIENT) !
|
* 务必标记 @OnlyIn(Dist.CLIENT)
|
||||||
*/
|
*/
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public void renderFirstPersonOverlay(GuiGraphics guiGraphics, Font font, Player player, int screenWidth, int screenHeight, float scale) {
|
public void renderFirstPersonOverlay(GuiGraphics guiGraphics, Font font, Player player, int screenWidth, int screenHeight, float scale) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue