6639 Commits

Author SHA1 Message Date
payonel
904990f294 Merge branch 'master-MC1.7.10' into master-MC1.10 2018-10-31 03:07:46 -07:00
payonel
d249367ee9 fix: a.onDisconnect(a) isn't called on components by microcontroller 2018-10-31 02:43:35 -07:00
svitoos
e85f3e1f83 Improved chunkloader upgrade by svitoos
change reduced by payonel

Namely:

- moving setting for chunkloaders, svitoos choice was cleaner
- allowing chunkloaders in microcontrollers

Closes #2499.
2018-10-31 02:42:57 -07:00
payonel
d59db2990b add Forge Energy support
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
2018-10-30 23:26:00 -07:00
payonel
8a450d2634 Merge branch 'master-MC1.11' into master-MC1.12 2018-10-29 23:16:45 -07:00
payonel
d388a31415 Merge branch 'master-MC1.10' into master-MC1.11 2018-10-29 23:16:34 -07:00
payonel
82c486ffba Merge branch 'master-MC1.7.10' into master-MC1.10 2018-10-29 23:16:14 -07:00
payonel
9b7d125ebb add disk_drive.media(), get floppy disk address
closes #2972
2018-10-29 23:03:13 -07:00
payonel
e7eddad588 add proper support for \b and \r. ignore \15
closes #2971
2018-10-29 21:59:58 -07:00
payonel
89c8885624 add a AgentContainer to improve item use detection
This new AgentContainer provides slots for all agent inventory items so
that proper change detection can occur for using items

properly closes #2327
2018-10-29 21:42:14 -07:00
payonel
4ff26e91a0 fix more inventory interactions
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.
2018-10-29 18:41:33 -07:00
payonel
ef2f45b7a0 allow host to build component list even if off
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
2018-10-29 17:37:23 -07:00
payonel
9d4826d070 rework useEquippedItem to use formal use api
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
2018-10-28 11:41:28 -07:00
payonel
7209457d62 mimic orb xp pickup (with exp upgrade)
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
2018-10-28 01:40:45 -07:00
payonel
7ffc9525a4 Merge branch 'master-MC1.11' into master-MC1.12 2018-10-28 00:23:48 -07:00
payonel
0944e2e578 Merge branch 'master-MC1.10' into master-MC1.11 2018-10-28 00:23:41 -07:00
payonel
dc0f187a83 Merge branch 'master-MC1.7.10' into master-MC1.10
# Conflicts:
#	src/main/scala/li/cil/oc/server/component/UpgradeChunkloader.scala
2018-10-28 00:23:27 -07:00
payonel
ad8218a2ea fix the chunkloader upgrade i just broke 2018-10-28 00:22:15 -07:00
payonel
79a632e9f2 ae2 startup fix 2018-10-27 23:36:35 -07:00
payonel
ea9b6b1559 Merge branch 'master-MC1.11' into master-MC1.12 2018-10-27 23:15:10 -07:00
payonel
f301f931e2 Merge branch 'master-MC1.10' into master-MC1.11 2018-10-27 23:08:42 -07:00
payonel
3be48ae4d5 Merge branch 'master-MC1.7.10' into master-MC1.10
# Conflicts:
#	src/main/scala/li/cil/oc/server/component/UpgradeChunkloader.scala
2018-10-27 23:03:33 -07:00
payonel
a0821f1493 add white/blacklist option for chunkloading
new settings options: misc.chunkloaderDimensionBlacklist and
misc.chunkloaderDimensionWhitelist

closes #2768
2018-10-27 22:55:12 -07:00
payonel
8940388cb7 adding interaction helper
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
2018-10-27 17:26:26 -07:00
payonel
d50843ae7e robot swing refactor wip
fixes tinker hammer aoe block break, closes #2167
2018-10-27 09:18:39 -07:00
payonel
8cf10863cc perhaps a better fix for ae
closes #2961
2018-10-25 03:20:10 -07:00
payonel
ac2e734547 fix some ae2 integration api
partially resolves #2961 but we have a jnlua issue with iterating lua 5.3 tables
2018-10-22 23:06:25 -07:00
payonel
0ec817ff2b update ae2 gridnode when world is set, not on load 2018-10-22 01:59:20 -07:00
payonel
218792270f Merge branch 'master-MC1.11' into master-MC1.12 2018-10-21 23:21:25 -07:00
payonel
20b672eb62 Merge branch 'master-MC1.10' into master-MC1.11 2018-10-21 23:20:14 -07:00
payonel
e967432627 Merge branch 'master-MC1.7.10' into master-MC1.10 2018-10-21 23:18:48 -07:00
payonel
1e35f8e49a connect internal nodes created from side effects
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
2018-10-21 23:15:56 -07:00
payonel
c360209df8 Merge branch 'master-MC1.11' into master-MC1.12
add back in enderstorage support for 1.12
2018-10-12 22:10:08 -07:00
payonel
de40f47a42 Merge branch 'master-MC1.10' into master-MC1.11
# Conflicts:
#	src/main/scala/li/cil/oc/integration/enderstorage/DriverFrequencyOwner.java
#	src/main/scala/li/cil/oc/server/component/LinkedCard.scala
#	src/main/scala/li/cil/oc/server/component/NetworkCard.scala
2018-10-12 18:17:00 -07:00
payonel
4fd0399ad5 Merge branch 'master-MC1.7.10' into master-MC1.10
# Conflicts:
#	src/main/scala/li/cil/oc/common/tileentity/NetSplitter.scala
#	src/main/scala/li/cil/oc/common/tileentity/Waypoint.scala
#	src/main/scala/li/cil/oc/integration/enderstorage/DriverFrequencyOwner.java
#	src/main/scala/li/cil/oc/server/component/LinkedCard.scala
#	src/main/scala/li/cil/oc/server/component/NetworkCard.scala
2018-10-12 17:38:24 -07:00
payonel
6d5dd948b5 add wake message support to link cards
same api as network card

closes #2753
2018-10-12 14:05:33 -07:00
payonel
cc0fddb914 allow setFrequency on owned ender storage chests
ender storage, the mod itself, lets players change frequency of owned
chests without any type of owner check

closes #2775
2018-10-12 12:24:36 -07:00
payonel
4731cb1b01 add recrafting option to link 2 link cards
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
2018-10-12 10:07:30 -07:00
payonel
6182fde957 allow waypoints to face UP or DOWN
the block faces up or down, depending on the pitch of your cross-hair
when you place the block down, just like screens

closes #2364
2018-10-12 01:13:29 -07:00
payonel
904db35be2 platter size an even factor for unmanaged disks
closes #2305
2018-10-11 23:46:13 -07:00
payonel
2d2c6feb1a use less disruptive particles for nanomachines
closes #2773
2018-10-11 16:29:53 -07:00
payonel
243b0aa910 Merge branch 'master-MC1.11' into master-MC1.12 2018-10-10 17:16:59 -07:00
payonel
e0ebfed999 Merge branch 'master-MC1.10' into master-MC1.11
# Conflicts:
#	src/main/scala/li/cil/oc/common/GuiHandler.scala
2018-10-10 17:16:41 -07:00
payonel
0c4d10ee1f main hand mountable disk drive open gui fix 2018-10-10 17:15:39 -07:00
payonel
10420b3a4f Merge branch 'master-MC1.11' into master-MC1.12 2018-10-10 01:41:39 -07:00
payonel
af9bdbef15 Merge branch 'master-MC1.10' into master-MC1.11
# Conflicts:
#	src/main/scala/li/cil/oc/common/tileentity/Adapter.scala
#	src/main/scala/li/cil/oc/common/tileentity/NetSplitter.scala
2018-10-10 01:41:14 -07:00
payonel
454e091959 Merge branch 'master-MC1.7.10' into master-MC1.10
# Conflicts:
#	src/main/scala/li/cil/oc/common/nanomachines/provider/PotionProvider.scala
#	src/main/scala/li/cil/oc/common/tileentity/Adapter.scala
#	src/main/scala/li/cil/oc/common/tileentity/NetSplitter.scala
2018-10-10 01:35:29 -07:00
payonel
a5b6e3fec3 honor enableNanomachinePfx when false
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
2018-10-10 00:38:26 -07:00
payonel
1301ed8c3d meant to name it net_splitter 2018-10-09 22:36:00 -07:00
payonel
4142e09671 new net_splitter component with api
getSides, setSides, open, and close

closes #2531
2018-10-09 22:34:51 -07:00