mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2026-07-26 10:36:22 +09:00
Merge branch 'explosivegaming:main' into aperx
This commit is contained in:
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json",
|
||||
"workspace.ignoreDir": [
|
||||
".vscode", ".github", "luals", "factorio"
|
||||
".vscode", ".github", "luals", "factorio", "web"
|
||||
],
|
||||
"completion.requireSeparator": "/",
|
||||
"runtime.pluginArgs": [
|
||||
|
||||
@@ -191,8 +191,8 @@ export class ControllerPlugin extends BaseControllerPlugin {
|
||||
|
||||
async handleResolvedAssignmentSubscription(request: lib.SubscriptionRequest) {
|
||||
// Check for any missing assignments to be computed on demand
|
||||
const filters = Array.isArray(request.filters) ? request.filters : [request.filters!];
|
||||
if (request.filters && filters.length) {
|
||||
const filters = request.filters.toJSON();
|
||||
if (filters.length) {
|
||||
const missing = filters.filter(name => !this.resolvedAssignments.has(name));
|
||||
if (missing.length) {
|
||||
this.resolvedAssignments.setMany(await this.computeResolvedAssignments(missing));
|
||||
|
||||
@@ -45,7 +45,7 @@ export class InstancePlugin extends BaseInstancePlugin {
|
||||
async onStart() {
|
||||
// We use Date.now() because we need to manually initialise the groups on the lua side
|
||||
await this.instance.sendTo("controller", new lib.SubscriptionRequest(
|
||||
`exp_groups:${messages.GroupUpdatedEvent.name}`, true, Date.now()
|
||||
`exp_groups:${messages.GroupUpdatedEvent.name}`, "subscribe", Date.now()
|
||||
));
|
||||
const groups = await this.instance.sendTo("controller", new messages.GroupListRequest())
|
||||
await this.luaSendInitialGroups(groups);
|
||||
@@ -118,13 +118,13 @@ export class InstancePlugin extends BaseInstancePlugin {
|
||||
|
||||
async subscribePlayerAssignment(playerName: string) {
|
||||
await this.instance.sendTo("controller", new lib.SubscriptionRequest(
|
||||
`exp_groups:${messages.ResolvedAssignmentUpdatedEvent.name}`, true, 0, playerName
|
||||
`exp_groups:${messages.ResolvedAssignmentUpdatedEvent.name}`, "subscribe", 0, lib.SubscriptionFilters.fromShorthand(playerName)
|
||||
));
|
||||
}
|
||||
|
||||
async unsubscribePlayerAssignment(playerName: string) {
|
||||
await this.instance.sendTo("controller", new lib.SubscriptionRequest(
|
||||
`exp_groups:${messages.ResolvedAssignmentUpdatedEvent.name}`, false, 0, playerName
|
||||
`exp_groups:${messages.ResolvedAssignmentUpdatedEvent.name}`, "unsubscribe", 0, lib.SubscriptionFilters.fromShorthand(playerName)
|
||||
));
|
||||
}
|
||||
|
||||
@@ -166,6 +166,6 @@ export class InstancePlugin extends BaseInstancePlugin {
|
||||
}
|
||||
|
||||
async luaSend(receiver: string, json: any) {
|
||||
await this.instance.sendRcon(`/c exp_groups.${receiver}(helpers.json_to_table[=[${JSON.stringify(json)}]=])`, true)
|
||||
await this.instance.sendRcon(`/sc exp_groups.${receiver}(helpers.json_to_table[=[${JSON.stringify(json)}]=])`, true)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ export default function GroupForm({ open, setOpen }: {
|
||||
const group = await control.send(new messages.GroupCreateRequest(
|
||||
values.name, new messages.GroupPermissions(Boolean(values.isBlacklist), [])
|
||||
));
|
||||
navigate(`/exp_groups/${group.id}/view`);
|
||||
navigate(`/permission_groups/${group.id}/view`);
|
||||
setOpen(false);
|
||||
}
|
||||
|
||||
|
||||
@@ -66,9 +66,9 @@ function ExpGroupsPage() {
|
||||
}
|
||||
|
||||
export class WebPlugin extends BaseWebPlugin {
|
||||
groups = new lib.EventSubscriber(messages.GroupUpdatedEvent, this.control);
|
||||
assignments = new lib.EventSubscriber(messages.ManualAssignmentUpdatedEvent, this.control);
|
||||
roleMappings = new lib.EventSubscriber(messages.RoleMappingUpdatedEvent, this.control);
|
||||
groups = new lib.MapSubscriber(messages.GroupUpdatedEvent, this.control);
|
||||
assignments = new lib.MapSubscriber(messages.ManualAssignmentUpdatedEvent, this.control);
|
||||
roleMappings = new lib.MapSubscriber(messages.RoleMappingUpdatedEvent, this.control);
|
||||
|
||||
async init() {
|
||||
this.pages = [
|
||||
|
||||
@@ -14,7 +14,7 @@ Roles.define_flag_trigger("is_spectator", function(player, state)
|
||||
end)
|
||||
Roles.define_flag_trigger("is_jail", function(player, state)
|
||||
if player.character then
|
||||
player.character.active = not state
|
||||
player.character.disabled_by_script = not state
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
@@ -182,7 +182,7 @@ function Warps.make_warp_area(warp_id)
|
||||
}
|
||||
entity.destructible = false
|
||||
entity.health = 0
|
||||
entity.minable = false
|
||||
entity.minable_flag = false
|
||||
entity.rotatable = false
|
||||
|
||||
-- Save reference of the last power pole
|
||||
|
||||
@@ -43,10 +43,14 @@ local ignored_items = {
|
||||
--- Saves your quickbar preset to the script-output folder
|
||||
Commands.new("save-quickbar", "Saves your Quickbar preset items to file")
|
||||
:add_aliases{ "save-toolbar" }
|
||||
:add_flags{ "disabled" }
|
||||
:register(function(player)
|
||||
local filters = {}
|
||||
|
||||
error("2.1 changes to get_quick_bar_slot beak compatibility with 2.0; waiting for upstream")
|
||||
-- Upstream may add method to compat, or change inventory sync to have a quickbar only mode
|
||||
for i = 1, 100 do
|
||||
--[[
|
||||
local slot = player.get_quick_bar_slot(i)
|
||||
-- Need to filter out blueprint and blueprint books because the slot is a LuaItemPrototype and does not contain a way to export blueprint data
|
||||
if slot ~= nil then
|
||||
@@ -55,6 +59,7 @@ Commands.new("save-quickbar", "Saves your Quickbar preset items to file")
|
||||
filters[i] = slot.name
|
||||
end
|
||||
end
|
||||
]]
|
||||
end
|
||||
|
||||
if next(filters) then
|
||||
|
||||
@@ -54,7 +54,7 @@ commands.home = Commands.new("home", { "exp-commands_home.description-home" })
|
||||
|
||||
--- Teleports you to your previous location on the current surface
|
||||
--- @class ExpCommand_Home.commands._return: ExpCommand
|
||||
commands._return = Commands.new("return", { "exp-commands_home.description-return" })
|
||||
commands.home_return = Commands.new("return", { "exp-commands_home.description-return" })
|
||||
:add_flags{ "character_only" }
|
||||
:register(function(player)
|
||||
local surface = player.surface
|
||||
@@ -120,3 +120,7 @@ commands.get_home = Commands.new("get-home", { "exp-commands_home.description-ge
|
||||
local _, floor_position = align_to_grid(player_home[1])
|
||||
return Commands.status.success{ "exp-commands_home.home-get", surface.localised_name, floor_position.x, floor_position.y }
|
||||
end)
|
||||
|
||||
return {
|
||||
commands = commands,
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ require("modules/exp_scenario/commands/_types")
|
||||
--- Commands with events
|
||||
add(require("modules/exp_scenario/commands/protected_entities"))
|
||||
add(require("modules/exp_scenario/commands/protected_tags"))
|
||||
add(require("modules/exp_scenario/commands/research"))
|
||||
|
||||
--- Commands
|
||||
require("modules/exp_scenario/commands/admin_chat")
|
||||
@@ -82,3 +81,5 @@ add(require("modules/exp_scenario/gui/rocket_info"))
|
||||
add(require("modules/exp_scenario/gui/science_production"))
|
||||
add(require("modules/exp_scenario/gui/surveillance"))
|
||||
add(require("modules/exp_scenario/gui/task_list"))
|
||||
add(require("modules/exp_scenario/gui/debug/shim"))
|
||||
add(require("modules/exp_scenario/gui/debug/event_view"))
|
||||
|
||||
@@ -43,7 +43,7 @@ local function prevent_deconstruction(entity)
|
||||
end
|
||||
|
||||
-- Not minable, selectable, or deconstructive
|
||||
if not entity.minable or not entity.prototype.selectable_in_game or entity.has_flag("not-deconstructable") then
|
||||
if not entity.minable_flag or not entity.prototype.selectable_in_game or entity.has_flag("not-deconstructable") then
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -234,7 +234,7 @@ end
|
||||
local max_mining_radius = 0
|
||||
for _, proto in pairs(prototypes.get_entity_filtered{ { filter = "type", type = "mining-drill" } }) do
|
||||
if proto.mining_drill_radius then
|
||||
max_mining_radius = math.max(proto.get_mining_drill_radius(max_quality), max_mining_radius)
|
||||
max_mining_radius = math.max(assert(proto.get_mining_drill_radius(max_quality)), max_mining_radius)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ end
|
||||
local function protect_entity(entity)
|
||||
if entity and entity.valid then
|
||||
entity.destructible = false
|
||||
entity.minable = false
|
||||
entity.minable_flag = false
|
||||
entity.rotatable = false
|
||||
entity.operable = false
|
||||
end
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
local Gui = require("modules.exp_legacy.utils.gui") --- @dep utils.gui
|
||||
local Model = require("modules.exp_legacy.modules.gui.debug.model") --- @dep modules.gui.debug.model
|
||||
local Gui = require("modules/exp_scenario/gui/debug/shim")
|
||||
local Model = require("modules/exp_scenario/gui/debug/model")
|
||||
local Color = require("modules/exp_util/include/color")
|
||||
|
||||
local dump = Model.dump
|
||||
+4
-4
@@ -1,7 +1,6 @@
|
||||
local Event = require("modules/exp_legacy/utils/event")
|
||||
local Storage = require("modules/exp_util/storage")
|
||||
local Gui = require("modules.exp_legacy.utils.gui")
|
||||
local Model = require("modules.exp_legacy.modules.gui.debug.model")
|
||||
local Gui = require("modules/exp_scenario/gui/debug/shim")
|
||||
local Model = require("modules/exp_scenario/gui/debug/model")
|
||||
|
||||
local format = string.format
|
||||
local insert = table.insert
|
||||
@@ -14,6 +13,7 @@ local events_to_keep = 10
|
||||
-- Local vars
|
||||
local Public = {
|
||||
name = "Events",
|
||||
events = {}
|
||||
}
|
||||
local name_lookup = {}
|
||||
|
||||
@@ -168,7 +168,7 @@ Gui.on_click(
|
||||
-- Event registers (TODO: turn to removable hooks.. maybe)
|
||||
for name, id in pairs(events) do
|
||||
name_lookup[id] = name
|
||||
Event.add(id, event_callback)
|
||||
Public.events[id] = event_callback
|
||||
end
|
||||
|
||||
return Public
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
local Gui = require("modules.exp_legacy.utils.gui") --- @dep utils.gui
|
||||
local Datastore = require("modules.exp_legacy.expcore.datastore") --- @dep expcore.datastore
|
||||
local Gui = require("modules/exp_scenario/gui/debug/shim")
|
||||
local Datastore = require("modules.exp_legacy.expcore.datastore")
|
||||
local Color = require("modules/exp_util/include/color")
|
||||
local Model = require("modules.exp_legacy.modules.gui.debug.model") --- @dep modules.gui.debug.model
|
||||
local Model = require("modules/exp_scenario/gui/debug/model")
|
||||
|
||||
local dump = Model.dump
|
||||
local concat = table.concat
|
||||
+2
-2
@@ -3,8 +3,8 @@ local ExpData = require("modules/exp_gui/data")
|
||||
local ExpIter = require("modules/exp_gui/iter")
|
||||
local Color = require("modules/exp_util/include/color")
|
||||
|
||||
local Gui = require("modules.exp_legacy.utils.gui") --- @dep utils.gui
|
||||
local Model = require("modules.exp_legacy.modules.gui.debug.model") --- @dep modules.gui.debug.model
|
||||
local Gui = require("modules/exp_scenario/gui/debug/shim")
|
||||
local Model = require("modules/exp_scenario/gui/debug/model")
|
||||
|
||||
local dump = Model.dump
|
||||
local dump_text = Model.dump_text
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
local Gui = require("modules.exp_legacy.utils.gui") --- @dep utils.gui
|
||||
local Model = require("modules.exp_legacy.modules.gui.debug.model") --- @dep modules.gui.debug.model
|
||||
local Gui = require("modules/exp_scenario/gui/debug/shim")
|
||||
local Model = require("modules/exp_scenario/gui/debug/model")
|
||||
local Color = require("modules/exp_util/include/color")
|
||||
|
||||
local dump = Model.dump
|
||||
+8
-8
@@ -1,16 +1,16 @@
|
||||
local Gui = require("modules.exp_legacy.utils.gui") --- @dep utils.gui
|
||||
local Gui = require("modules/exp_scenario/gui/debug/shim")
|
||||
local Color = require("modules/exp_util/include/color")
|
||||
|
||||
local Public = {}
|
||||
|
||||
local pages = {
|
||||
require("modules.exp_legacy.modules.gui.debug.redmew_global_view"),
|
||||
require("modules.exp_legacy.modules.gui.debug.expcore_datastore_view"),
|
||||
require("modules.exp_legacy.modules.gui.debug.expcore_gui_view"),
|
||||
require("modules.exp_legacy.modules.gui.debug.global_view"),
|
||||
require("modules.exp_legacy.modules.gui.debug.package_view"),
|
||||
require("modules.exp_legacy.modules.gui.debug._g_view"),
|
||||
require("modules.exp_legacy.modules.gui.debug.event_view"),
|
||||
require("modules/exp_scenario/gui/debug/redmew_global_view"),
|
||||
require("modules/exp_scenario/gui/debug/expcore_datastore_view"),
|
||||
require("modules/exp_scenario/gui/debug/expcore_gui_view"),
|
||||
require("modules/exp_scenario/gui/debug/global_view"),
|
||||
require("modules/exp_scenario/gui/debug/package_view"),
|
||||
require("modules/exp_scenario/gui/debug/_g_view"),
|
||||
require("modules/exp_scenario/gui/debug/event_view"),
|
||||
}
|
||||
|
||||
local main_frame_name = Gui.uid_name()
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
local Gui = require("modules.exp_legacy.utils.gui") --- @dep utils.gui
|
||||
local Gui = require("modules/exp_scenario/gui/debug/shim") --- @dep utils.gui
|
||||
local ExpUtil = require("modules/exp_util")
|
||||
|
||||
local concat = table.concat
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
local Gui = require("modules.exp_legacy.utils.gui") --- @dep utils.gui
|
||||
local Gui = require("modules/exp_scenario/gui/debug/shim") --- @dep utils.gui
|
||||
local Color = require("modules/exp_util/include/color")
|
||||
local Model = require("modules.exp_legacy.modules.gui.debug.model") --- @dep modules.gui.debug.model
|
||||
local Model = require("modules/exp_scenario/gui/debug/model") --- @dep modules.gui.debug.model
|
||||
|
||||
local dump_function = Model.dump_function
|
||||
local loaded = _G.package.loaded
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
local Gui = require("modules.exp_legacy.utils.gui") --- @dep utils.gui
|
||||
local Gui = require("modules/exp_scenario/gui/debug/shim") --- @dep utils.gui
|
||||
local Storage = require("modules/exp_util/storage")
|
||||
local Color = require("modules/exp_util/include/color")
|
||||
local Model = require("modules.exp_legacy.modules.gui.debug.model") --- @dep modules.gui.debug.model
|
||||
local Model = require("modules/exp_scenario/gui/debug/model") --- @dep modules.gui.debug.model
|
||||
|
||||
local dump = Model.dump
|
||||
local dump_text = Model.dump_text
|
||||
@@ -1,5 +1,4 @@
|
||||
local Storage = require("modules/exp_util/storage")
|
||||
local Event = require("modules/exp_legacy/utils/event")
|
||||
local mod_gui = require "mod-gui"
|
||||
|
||||
local Gui = {}
|
||||
@@ -70,14 +69,15 @@ function Gui.clear(element)
|
||||
element.clear()
|
||||
end
|
||||
|
||||
Gui.events = {}
|
||||
local function handler_factory(event_name)
|
||||
return function(element_name, handler)
|
||||
Event.add(defines.events[event_name], function(event)
|
||||
Gui.events[defines.events[event_name]] = function(event)
|
||||
if event.element and event.element.valid and event.element.name == element_name then
|
||||
event.player = game.players[event.player_index]
|
||||
handler(event)
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
@@ -228,7 +228,7 @@ Elements.bonus_slider = Gui.define("player_bonus/bonus_slider")
|
||||
local player = Gui.get_player(parent)
|
||||
local value = Elements.container.get_player_bonus(player, bonus_data.name)
|
||||
if not value then
|
||||
value = math.floor(bonus_data.initial_value / 2)
|
||||
value = math.floor(bonus_data.max_value / 2)
|
||||
elements.apply_button.enabled = true
|
||||
end
|
||||
|
||||
@@ -289,7 +289,7 @@ function Elements.bonus_slider.reset_value(slider)
|
||||
local player = Gui.get_player(slider)
|
||||
local element_data = Elements.bonus_slider.data[slider]
|
||||
local bonus_data = element_data.bonus_data
|
||||
local value = Elements.container.get_player_bonus(player, bonus_data.name) or math.floor(bonus_data.initial_value / 2)
|
||||
local value = Elements.container.get_player_bonus(player, bonus_data.name) or math.floor(bonus_data.max_value / 2)
|
||||
slider.slider_value = value
|
||||
element_data.label.caption = Elements.bonus_slider.calculate_slider_caption(bonus_data, value)
|
||||
element_data.previous_value = value
|
||||
|
||||
@@ -67,7 +67,7 @@ new_quick_action(addon_surface.commands.clear_ground_items)
|
||||
new_quick_action(addon_surface.commands.clear_blueprints_surface)
|
||||
new_quick_action(addon_surface.commands.clear_blueprints)
|
||||
new_quick_action(addon_home.commands.home)
|
||||
new_quick_action(addon_home.commands._return)
|
||||
new_quick_action(addon_home.commands.home_return)
|
||||
new_quick_action(addon_home.commands.set_home)
|
||||
new_quick_action(addon_home.commands.get_home)
|
||||
new_quick_action(addon_vlayer.commands.vlayer)
|
||||
|
||||
@@ -200,7 +200,7 @@ define_tab(
|
||||
local container = parent.add{ type = "flow", direction = "vertical" }
|
||||
|
||||
local top_flow = container.add{ type = "flow" }
|
||||
top_flow.add{ type = "sprite", sprite = "file/modules/exp_legacy/modules/gui/logo.png" }
|
||||
top_flow.add{ type = "sprite", sprite = "file/modules/exp_scenario/gui/logo.png" }
|
||||
|
||||
local center_flow = top_flow.add{ type = "flow", direction = "vertical" }
|
||||
center_flow.style.horizontal_align = "center"
|
||||
@@ -208,7 +208,7 @@ define_tab(
|
||||
Gui.elements.title_label(center_flow, 62, { "exp-gui_readme.welcome-title", server_details.name })
|
||||
Gui.elements.centered_label(center_flow, 380, server_details.welcome)
|
||||
|
||||
top_flow.add{ type = "sprite", sprite = "file/modules/exp_legacy/modules/gui/logo.png" }
|
||||
top_flow.add{ type = "sprite", sprite = "file/modules/exp_scenario/gui/logo.png" }
|
||||
|
||||
Gui.elements.bar(container)
|
||||
container.add{ type = "flow" }.style.height = 4
|
||||
|
||||
Reference in New Issue
Block a user