1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-02-11 13:39:14 +02:00

new module

This commit is contained in:
MewMew 2019-08-16 23:19:19 +02:00
parent 3099805037
commit 4e4df4d327
2 changed files with 53 additions and 2 deletions

View File

@ -19,12 +19,12 @@ require "player_list"
require "poll"
require "score"
require "modules.floaty_chat"
require "modules.autohotbar"
--require "on_tick_schedule"
---- enable modules here ----
--require "tools.cheat_mode"
--require "modules.the_floor_is_lava"
--require "modules.trees_grow"
--require "modules.autodecon_when_depleted"
--require "modules.biter_noms_you"
--require "modules.biters_avoid_damage"
@ -62,6 +62,7 @@ require "modules.floaty_chat"
--require "maps.fish_defender.fish_defender"
--require "maps.wave_of_death.WoD"
--require "maps.stone_maze.main"
--require "maps.overgrowth"
--require "maps.maze_challenge"
--require "maps.cave_miner"
--require "maps.rocky_waste"
@ -76,7 +77,6 @@ require "modules.floaty_chat"
--require "maps.atoll"
--require "maps.rainbow_road"
--require "maps.cratewood_forest"
require "maps.overgrowth"
--require "maps.choppy"
--require "maps.tank_battles"
--require "maps.spiral_troopers"
@ -93,6 +93,11 @@ require "maps.overgrowth"
--require "maps.custom_start"
-----------------------------
---- more modules here ----
--require "modules.trees_grow"
--require "modules.trees_randomly_die"
------
local event = require 'utils.event'
if _DUMP_ENV then

46
modules/autohotbar.lua Normal file
View File

@ -0,0 +1,46 @@
local event = require 'utils.event'
local function get_empty_hotbar_slot(player)
for i = 1, 20, 1 do
local item = player.get_quick_bar_slot(i)
if not item then return i end
end
return false
end
local function is_item_already_present_in_hotbar(player, item)
for i = 1, 20, 1 do
local prototype = player.get_quick_bar_slot(i)
if prototype then
if item == prototype.name then return true end
end
end
return false
end
local function set_hotbar(player, item)
if not game.entity_prototypes[item] then return end
local slot_index = get_empty_hotbar_slot(player)
if not slot_index then return end
if is_item_already_present_in_hotbar(player, item) then return end
player.set_quick_bar_slot(slot_index, item)
end
local function on_player_fast_transferred(event)
local player = game.players[event.player_index]
for name, count in pairs(player.get_main_inventory().get_contents()) do
set_hotbar(player, name)
end
end
local function on_player_crafted_item(event)
set_hotbar(game.players[event.player_index], event.item_stack.name)
end
local function on_picked_up_item(event)
set_hotbar(game.players[event.player_index], event.item_stack.name)
end
event.add(defines.events.on_player_fast_transferred, on_player_fast_transferred)
event.add(defines.events.on_player_crafted_item, on_player_crafted_item)
event.add(defines.events.on_picked_up_item, on_picked_up_item)