mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-11 23:04:52 +09:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
95d23e9615 |
No files matched your search
@@ -182,7 +182,6 @@ function SearchModsTable(props: SearchModsTableProps) {
|
||||
|
||||
return <>
|
||||
<Input
|
||||
autoFocus
|
||||
placeholder="Search Mods"
|
||||
style={{ marginBottom: 8 }}
|
||||
onChange={(event) => {
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import React, { Fragment, useState, useContext, useEffect, useMemo, useRef } from "react";
|
||||
import React, { Fragment, useState, useContext, useEffect, useMemo } from "react";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import {
|
||||
Button, Form, Input, InputRef, Modal, Popconfirm, Space, Table, Typography, Upload, Alert, Select, Tooltip,
|
||||
notification,
|
||||
Button, Form, Input, Modal, Popconfirm, Space, Table, Typography, Upload, Alert, Select, Tooltip, notification,
|
||||
} from "antd";
|
||||
import {
|
||||
ImportOutlined, PlusOutlined, SearchOutlined, DownloadOutlined,
|
||||
@@ -148,7 +147,6 @@ function SearchModsButton() {
|
||||
const account = useAccount();
|
||||
const [open, setOpen] = useState(false);
|
||||
const [form] = Form.useForm();
|
||||
const nameInputRef = useRef<InputRef>(null);
|
||||
const [searchText, setSearchText] = useState("");
|
||||
const [factorioVersion, setFactorioVersion] = useState<lib.MajorMinorVersion>("2.0");
|
||||
|
||||
@@ -335,7 +333,6 @@ function SearchModsButton() {
|
||||
title="Search Mod Portal"
|
||||
open={open}
|
||||
onCancel={() => { setOpen(false); }}
|
||||
afterOpenChange={visible => { if (visible) { nameInputRef.current?.focus(); } }}
|
||||
width={1000}
|
||||
footer={[
|
||||
<Button key="close" onClick={() => { setOpen(false); }}>
|
||||
@@ -352,7 +349,7 @@ function SearchModsButton() {
|
||||
initialValues={{ factorioVersion: factorioVersion, name: searchText }}
|
||||
>
|
||||
<Form.Item name="name" label="Filter by Name or Title">
|
||||
<Input ref={nameInputRef} placeholder="Start typing to filter..." />
|
||||
<Input placeholder="Start typing to filter..." />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
name="factorioVersion"
|
||||
|
||||
@@ -1271,8 +1271,23 @@ local function ensure_character(player)
|
||||
player.teleport(force.get_spawn_position(planet_surface), planet_surface)
|
||||
end
|
||||
|
||||
-- Create and return the character
|
||||
-- create_character needs a free spot within 200 tiles and does not generate chunks to find one. It fails in a chunk
|
||||
-- which does not exist yet, such as one the player was teleported into a moment ago, and where water or void is all
|
||||
-- there is. The character is then made at the force's spawn. From a missing chunk it is moved back, as the game
|
||||
-- generates the chunks around a character. Otherwise there is nowhere to stand, and it stays at the spawn.
|
||||
if not player.create_character() then
|
||||
surface = player.surface
|
||||
local position = player.position
|
||||
local force = player.force --[[@as LuaForce]]
|
||||
local missing_chunk = not surface.is_chunk_generated({ math.floor(position.x / 32), math.floor(position.y / 32) })
|
||||
player.teleport(force.get_spawn_position(surface), surface)
|
||||
if player.create_character() and missing_chunk then
|
||||
player.teleport(position, surface)
|
||||
end
|
||||
end
|
||||
|
||||
-- Return the character
|
||||
if not player.character then
|
||||
error(string.format(
|
||||
"Failed to create character (controller: %s, physical: %s, surface: %s, connected: %s, driving: %s)",
|
||||
controller_to_name[player.controller_type],
|
||||
|
||||
Reference in new issue
Block a user