package modchest.block.entity; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.item.ItemStack; import net.minecraft.screen.NamedScreenHandlerFactory; import net.minecraft.screen.PropertyDelegate; import net.minecraft.screen.ScreenHandler; import net.minecraft.text.Text; import net.minecraft.util.collection.DefaultedList; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import org.jetbrains.annotations.Nullable; //definiert das Interkationsmenü public class steeringWheelEntity extends BlockEntity implements NamedScreenHandlerFactory, ImplementedInventory { public final PropertyDelegate propertyDelegate; //synchonisiert Eigenschaften zwischen client und server private final DefaultedList inventory = DefaultedList.ofSize(3, ItemStack.EMPTY); public steeringWheelEntity(BlockPos pos, BlockState state) { super(modBlockEntities.steering_wheel_interface, pos, state); this.propertyDelegate = new PropertyDelegate() { @Override public int get(int index) { return 0; } @Override public void set(int index, int value) { } @Override public int size() { return 0; } }; } @Override public DefaultedList getItems() { return this.inventory; } @Override public Text getDisplayName() { return Text.literal("Bereit kaputte Schiffe zu fliegen?"); } //TODO: setzt den Namen. Muss noch an die einzelnen Sprachen angepasst werden! @Nullable @Override public ScreenHandler createMenu(int syncId, PlayerInventory inv, PlayerEntity player) { return null; } public static void tick(World world, BlockPos pos, BlockState state, steeringWheelEntity e) { //wird pro tick aufgerufen if(world.isClient()) { return; } } }