change reduced by payonel
Namely:
- moving setting for chunkloaders, svitoos choice was cleaner
- allowing chunkloaders in microcontrollers
Closes#2499.
1. battery upgrades, tablets, and hover boots can be charged in Forge
Energy compatible devices, such as Thermal Expansion's Energetic Infuser
2. battery upgrades also support power extraction, allowing them to
recharge Forge Energy devices (in the battery slot)
more than closes#2687
1. the agent armor inventory maps to the player equipment inventory.
previously we have been preparing only the first(0) equipment(belt) item
out of robots/drones for inventory interactions. but the player
inventory has 4 slots for the armor set, enough room to represent all
of the belt from the agent. This change prepares all 4 armor positions.
2. when our player inventory is modified via the our container slots the
agent inventory is updated. this causes underlying player inventory
lists to thus become outdated. We can detect these changes by hooking
into a listener that will notify us when slots change the agents, thus
allowing us to keep the player inventory lists updated. When an
operation on the inventory container is done, we are then up to date
between the agent and the player
3. Previously we had been holding the active slot index contents in a
private offHand tuple, and previously when the item action had completed
we would detect changes to the offHand data. This extra field wasn't
needed, this change just uses the offhand inventory.
4. cleaned up wasteful code in InventoryUtils.insertIntoInventory
todo: the inventory container is a PlayerContainer, which builds various
slots we never need, and not enough slots. This causes the slot change
detection code to only cover a tiny subset of agent slots
note: the offhand solution isn't infallable. what if an item is
naturally supposed to create duplicate of itself on use. the dup would
stack with the originating slot, and the offhand data would overwrite it
when the item use action completed. but this is unlikely. a solution
would require a truly blocking item be put in place of the originating
slot as a placeholder for when the offhand action completed.
fixes confusing analyzer report. when you place a case in the world and
add components, even while the case is off it correctly reports its
internal component max. But when loading a world, cases that are not
running will have a 0 component max according to the analyzer. This
inaccurate limit is fixed when the case is turned on
by using the more formal set of start and stop using item calls, this
fixes using some items that require a start and stop with duration such
as the tinker bow
closes#2752
When a robot or drone with an experience upgrade gains experience,
either through actions or breaking blocks that drop xp, the agent will
now also mimic orb xp behavior, which may be utilized by tools such as
the tinker tools with moss mending.
also, fix exp upgrade check for item upgrade
closes#2506
1. solves issue with digging state of the manager
2. solves issue with xp pickup
3. solves issue with digSpeed not matching our calculations
this bring robot swing code in uniform with a natural player clickBlock
closes#2167
it has been found that a screen placed below a case can be connected
the the case before the case's internal components have been added to
a network. This causes the screen to miss its chance to connect to the
gpu, causing the gpu's bound screen to be unavailable, and gpu api
calls will error
This is likely the root cause for many "stalled" or crashed when
restarting servers, or chunks loading
closes#2962
also, clean up the net_splitter.getSides() return, it should use the
exact same index values you need to use in setSides.
added getChannel() on link cards. Link cards of the same channel are
linked in the same network. Also inventory controllers can read this as
the `linkChannel` from the item
closes#2400
also the distance check for nanomachine wireless comm was perhaps
not as intended. this change increases the range by correctly computing
the distance
closes#2505