Skip to content

Commit 9c37ca2

Browse files
committedJun 4, 2016
DeviceInfo. Lots of it.
1 parent 9106341 commit 9c37ca2

37 files changed

+572
-14
lines changed
 

Diff for: ‎build.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ enderio.version=1.7.10-2.3.0.424_beta
1111
forestry.version=4.2.0.47
1212
gregtech.version=5.07.07
1313
ic2.version=2.2.643-experimental
14-
oc.version=MC1.7.10-1.6.0.906-dev
14+
oc.version=MC1.7.10-1.6.0.920-dev
1515
qmunitylib.version=0.1.109
1616
tis3d.version=MC1.7.10-0.8.2.61
1717
waila.version=1.5.10_1.7.10

Diff for: ‎src/main/java/pl/asie/computronics/integration/buildcraft/pluggable/DriverDockingUpgrade.java

+20-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import buildcraft.transport.TileGenericPipe;
1010
import buildcraft.transport.TravelingItem;
1111
import li.cil.oc.api.Network;
12+
import li.cil.oc.api.driver.DeviceInfo;
1213
import li.cil.oc.api.internal.Drone;
1314
import li.cil.oc.api.machine.Arguments;
1415
import li.cil.oc.api.machine.Callback;
@@ -24,11 +25,14 @@
2425
import net.minecraft.world.World;
2526
import net.minecraftforge.common.util.ForgeDirection;
2627
import pl.asie.computronics.integration.buildcraft.pluggable.DroneStationPluggable.DroneStationState;
28+
import pl.asie.computronics.util.OCUtils;
29+
30+
import java.util.Map;
2731

2832
/**
2933
* @author Vexatos
3034
*/
31-
public class DriverDockingUpgrade extends ManagedEnvironment {
35+
public class DriverDockingUpgrade extends ManagedEnvironment implements DeviceInfo {
3236

3337
protected final Drone drone;
3438

@@ -261,4 +265,19 @@ public void load(NBTTagCompound nbt) {
261265
targetZ = nbt.getFloat("drone:targetZ");
262266
}
263267
}
268+
269+
protected Map<String, String> deviceInfo;
270+
271+
@Override
272+
public Map<String, String> getDeviceInfo() {
273+
if(deviceInfo == null) {
274+
return deviceInfo = new OCUtils.Device(
275+
DeviceClass.Bus,
276+
"Drone pipe connector",
277+
OCUtils.Vendors.BuildCraft,
278+
"DroneDock 233-B Deluxe"
279+
).deviceInfo();
280+
}
281+
return deviceInfo;
282+
}
264283
}

Diff for: ‎src/main/java/pl/asie/computronics/integration/railcraft/tile/TileDigitalBoxBase.java

+22-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import dan200.computercraft.api.peripheral.IComputerAccess;
77
import dan200.computercraft.api.peripheral.IPeripheral;
88
import li.cil.oc.api.Network;
9+
import li.cil.oc.api.driver.DeviceInfo;
910
import li.cil.oc.api.network.BlacklistedPeripheral;
1011
import li.cil.oc.api.network.Environment;
1112
import li.cil.oc.api.network.Message;
@@ -23,21 +24,24 @@
2324
import pl.asie.computronics.api.multiperipheral.IMultiPeripheral;
2425
import pl.asie.computronics.cc.ISidedPeripheral;
2526
import pl.asie.computronics.reference.Mods;
27+
import pl.asie.computronics.util.OCUtils;
2628
import pl.asie.computronics.util.internal.IComputronicsPeripheral;
2729

2830
import java.util.ArrayList;
31+
import java.util.Map;
2932

3033
/**
3134
* @author CovertJaguar, Vexatos
3235
*/
3336
@Optional.InterfaceList({
3437
@Optional.Interface(iface = "li.cil.oc.api.network.Environment", modid = Mods.OpenComputers),
3538
@Optional.Interface(iface = "li.cil.oc.api.network.SidedEnvironment", modid = Mods.OpenComputers),
39+
@Optional.Interface(iface = "li.cil.oc.api.driver.DeviceInfo", modid = Mods.OpenComputers),
3640
@Optional.Interface(iface = "li.cil.oc.api.network.BlacklistedPeripheral", modid = Mods.OpenComputers),
3741
@Optional.Interface(iface = "pl.asie.computronics.api.multiperipheral.IMultiPeripheral", modid = Mods.ComputerCraft)
3842
})
3943
public abstract class TileDigitalBoxBase extends TileBoxBase
40-
implements Environment, SidedEnvironment, IMultiPeripheral, IComputronicsPeripheral,
44+
implements Environment, SidedEnvironment, DeviceInfo, IMultiPeripheral, IComputronicsPeripheral,
4145
ISidedPeripheral, BlacklistedPeripheral {
4246

4347
public TileDigitalBoxBase(String name) {
@@ -157,6 +161,23 @@ public void onMessage(Message message) {
157161

158162
}
159163

164+
protected Map<String, String> deviceInfo;
165+
166+
@Override
167+
@Optional.Method(modid = Mods.OpenComputers)
168+
public Map<String, String> getDeviceInfo() {
169+
if(deviceInfo == null) {
170+
OCUtils.Device device = deviceInfo();
171+
if(device != null) {
172+
return deviceInfo = device.deviceInfo();
173+
}
174+
}
175+
return deviceInfo;
176+
}
177+
178+
@Optional.Method(modid = Mods.OpenComputers)
179+
protected abstract OCUtils.Device deviceInfo();
180+
160181
@Override
161182
@Optional.Method(modid = Mods.OpenComputers)
162183
public Node sidedNode(ForgeDirection forgeDirection) {

Diff for: ‎src/main/java/pl/asie/computronics/integration/railcraft/tile/TileDigitalControllerBox.java

+13
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import pl.asie.computronics.integration.railcraft.signalling.MassiveSignalController;
2020
import pl.asie.computronics.reference.Mods;
2121
import pl.asie.computronics.reference.Names;
22+
import pl.asie.computronics.util.OCUtils;
2223
import pl.asie.computronics.util.TableUtils;
2324

2425
import java.io.DataInputStream;
@@ -118,6 +119,18 @@ public void readPacketData(DataInputStream data) throws IOException {
118119

119120
// Computer stuff //
120121

122+
@Override
123+
@Optional.Method(modid = Mods.OpenComputers)
124+
protected OCUtils.Device deviceInfo() {
125+
return new OCUtils.Device(
126+
DeviceClass.Communication,
127+
"Signal Controller",
128+
OCUtils.Vendors.Railcraft,
129+
"Digitized Signal Sender X3"
130+
);
131+
}
132+
133+
121134
private Object[] setAspect(String name, int aspectIndex) {
122135
if(aspectIndex > 0 && aspectIndex < SignalAspect.VALUES.length) {
123136
SignalAspect aspect = SignalAspect.fromOrdinal(aspectIndex - 1);

Diff for: ‎src/main/java/pl/asie/computronics/integration/railcraft/tile/TileDigitalDetector.java

+14
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import pl.asie.computronics.reference.Mods;
2121
import pl.asie.computronics.reference.Names;
2222
import pl.asie.computronics.tile.TileEntityPeripheralBase;
23+
import pl.asie.computronics.util.OCUtils;
2324

2425
import java.util.ArrayList;
2526
import java.util.List;
@@ -155,11 +156,24 @@ public void eventCC(ArrayList<Object> info) {
155156
}
156157

157158
@Override
159+
@Optional.Method(modid = Mods.OpenComputers)
160+
protected OCUtils.Device deviceInfo() {
161+
return new OCUtils.Device(
162+
DeviceClass.Generic,
163+
"Cart detector",
164+
OCUtils.Vendors.Railcraft,
165+
"Digitized Detector A12"
166+
);
167+
}
168+
169+
@Override
170+
@Optional.Method(modid = Mods.OpenComputers)
158171
public Node sidedNode(ForgeDirection side) {
159172
return side == this.direction ? node() : null;
160173
}
161174

162175
@Override
176+
@Optional.Method(modid = Mods.OpenComputers)
163177
public boolean canConnect(ForgeDirection side) {
164178
return side == this.direction;
165179
}

Diff for: ‎src/main/java/pl/asie/computronics/integration/railcraft/tile/TileDigitalReceiverBox.java

+13
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import pl.asie.computronics.integration.railcraft.signalling.MassiveSignalReceiver;
2323
import pl.asie.computronics.reference.Mods;
2424
import pl.asie.computronics.reference.Names;
25+
import pl.asie.computronics.util.OCUtils;
2526
import pl.asie.computronics.util.TableUtils;
2627

2728
import java.io.DataInputStream;
@@ -168,6 +169,18 @@ public void eventCC(String name, SignalAspect aspect) {
168169
}
169170
}
170171

172+
@Override
173+
@Optional.Method(modid = Mods.OpenComputers)
174+
protected OCUtils.Device deviceInfo() {
175+
return new OCUtils.Device(
176+
DeviceClass.Communication,
177+
"Signal receiver",
178+
OCUtils.Vendors.Railcraft,
179+
"Digitized Signal Receiver X3"
180+
);
181+
}
182+
183+
171184
private Object[] getAspect(String name) {
172185
SignalAspect aspect = this.receiver.getMostRestrictiveAspectFor(name);
173186
if(aspect != null) {

Diff for: ‎src/main/java/pl/asie/computronics/integration/railcraft/tile/TileLocomotiveRelay.java

+12
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import pl.asie.computronics.reference.Config;
1919
import pl.asie.computronics.reference.Mods;
2020
import pl.asie.computronics.tile.TileEntityPeripheralBase;
21+
import pl.asie.computronics.util.OCUtils;
2122

2223
import java.lang.ref.WeakReference;
2324
import java.util.Locale;
@@ -176,6 +177,17 @@ private String cannotAccessLocomotive_OC(double amount) {
176177
return null;
177178
}
178179

180+
@Override
181+
@Optional.Method(modid = Mods.OpenComputers)
182+
protected OCUtils.Device deviceInfo() {
183+
return new OCUtils.Device(
184+
DeviceClass.Communication,
185+
"Locomotive interface",
186+
OCUtils.Vendors.Railcraft,
187+
"Locoremotive (TM)"
188+
);
189+
}
190+
179191
//Computer stuff
180192

181193
private static Object[] setDestination(EntityLocomotiveElectric locomotive, Object[] arguments) {

Diff for: ‎src/main/java/pl/asie/computronics/integration/railcraft/tile/TileTicketMachine.java

+12
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import pl.asie.computronics.reference.Config;
2323
import pl.asie.computronics.reference.Mods;
2424
import pl.asie.computronics.tile.TileEntityPeripheralBase;
25+
import pl.asie.computronics.util.OCUtils;
2526
import pl.asie.lib.api.tile.IBatteryProvider;
2627
import pl.asie.lib.api.tile.IInventoryProvider;
2728
import pl.asie.lib.network.Packet;
@@ -286,6 +287,17 @@ private int tryConsumeEnergy(double v) {
286287
return 0;
287288
}
288289

290+
@Override
291+
@Optional.Method(modid = Mods.OpenComputers)
292+
protected OCUtils.Device deviceInfo() {
293+
return new OCUtils.Device(
294+
DeviceClass.Printer,
295+
"Ticket machine",
296+
OCUtils.Vendors.Railcraft,
297+
"Dot matrix 3000"
298+
);
299+
}
300+
289301
// Methods for Computers
290302

291303
public Object[] printTicket() {

Diff for: ‎src/main/java/pl/asie/computronics/oc/driver/DriverBoardBoom.java

+11
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import pl.asie.computronics.oc.IntegrationOpenComputers;
2424
import pl.asie.computronics.reference.Config;
2525
import pl.asie.computronics.reference.Mods;
26+
import pl.asie.computronics.util.OCUtils;
2627
import pl.asie.computronics.util.boom.SelfDestruct;
2728

2829
import java.util.ArrayDeque;
@@ -167,6 +168,16 @@ public void save(NBTTagCompound nbt) {
167168
nbt.setBoolean("active", this.isActive);
168169
}
169170

171+
@Override
172+
protected OCUtils.Device deviceInfo() {
173+
return new OCUtils.Device(
174+
DeviceClass.Generic,
175+
"Server-cleaning service",
176+
OCUtils.Vendors.HuggingCreeper,
177+
"SSD-Struct M4"
178+
);
179+
}
180+
170181
@Override
171182
public int getConnectableCount() {
172183
return 0;

Diff for: ‎src/main/java/pl/asie/computronics/oc/driver/DriverBoardCapacitor.java

+11
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import li.cil.oc.api.network.Visibility;
99
import net.minecraft.nbt.NBTTagCompound;
1010
import pl.asie.computronics.reference.Config;
11+
import pl.asie.computronics.util.OCUtils;
1112

1213
/**
1314
* @author Vexatos
@@ -34,6 +35,16 @@ public Object[] maxEnergy(Context context, Arguments args) {
3435
return new Object[] { node.localBufferSize() };
3536
}
3637

38+
@Override
39+
protected OCUtils.Device deviceInfo() {
40+
return new OCUtils.Device(
41+
DeviceClass.Power,
42+
"Battery",
43+
OCUtils.Vendors.Soluna,
44+
"CapCube 64 (Rev. 2)"
45+
);
46+
}
47+
3748
@Override
3849
public NBTTagCompound getData() {
3950
return null;

Diff for: ‎src/main/java/pl/asie/computronics/oc/driver/DriverBoardLight.java

+12
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import net.minecraft.util.MathHelper;
1717
import net.minecraft.util.ResourceLocation;
1818
import pl.asie.computronics.reference.Config;
19+
import pl.asie.computronics.util.OCUtils;
1920
import pl.asie.lib.integration.Integration;
2021

2122
/**
@@ -352,4 +353,15 @@ public boolean onActivate(EntityPlayer player, float hitX, float hitY) {
352353
}
353354
return false;
354355
}
356+
357+
@Override
358+
protected OCUtils.Device deviceInfo() {
359+
return new OCUtils.Device(
360+
DeviceClass.Display,
361+
"Light board",
362+
OCUtils.Vendors.Lumiose,
363+
"LED-15 X"
364+
);
365+
}
366+
355367
}

Diff for: ‎src/main/java/pl/asie/computronics/oc/driver/DriverBoardSwitch.java

+11
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import net.minecraft.entity.player.EntityPlayer;
1010
import net.minecraft.nbt.NBTTagCompound;
1111
import pl.asie.computronics.reference.Config;
12+
import pl.asie.computronics.util.OCUtils;
1213

1314
/**
1415
* @author Vexatos
@@ -148,4 +149,14 @@ public void save(NBTTagCompound tag) {
148149
}
149150
tag.setByte("s", switchData);
150151
}
152+
153+
@Override
154+
protected OCUtils.Device deviceInfo() {
155+
return new OCUtils.Device(
156+
DeviceClass.Input,
157+
"Switch board",
158+
OCUtils.Vendors.Soluna,
159+
"Clickety-Clack Q3"
160+
);
161+
}
151162
}

Diff for: ‎src/main/java/pl/asie/computronics/oc/driver/DriverCardBeep.java

+11
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import li.cil.oc.api.network.EnvironmentHost;
88
import li.cil.oc.api.network.Visibility;
99
import pl.asie.computronics.reference.Config;
10+
import pl.asie.computronics.util.OCUtils;
1011
import pl.asie.computronics.util.sound.AudioType;
1112
import pl.asie.computronics.util.sound.Channel;
1213

@@ -76,4 +77,14 @@ public Object[] beep(Context context, Arguments args) throws Exception {
7677
}
7778
return tryQueueSound(freqPairs, new Object[] { true }, Config.SOUND_ENERGY_COST * getNonNullCount(freqPairs) * (longest / 1000D), playMethodName);
7879
}
80+
81+
@Override
82+
protected OCUtils.Device deviceInfo() {
83+
return new OCUtils.Device(
84+
DeviceClass.Multimedia,
85+
"Audio interface",
86+
OCUtils.Vendors.Yanaki,
87+
"SQ532"
88+
);
89+
}
7990
}

Diff for: ‎src/main/java/pl/asie/computronics/oc/driver/DriverCardBoom.java

+11
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import net.minecraft.nbt.NBTTagCompound;
1313
import pl.asie.computronics.Computronics;
1414
import pl.asie.computronics.reference.Mods;
15+
import pl.asie.computronics.util.OCUtils;
1516
import pl.asie.computronics.util.boom.SelfDestruct;
1617

1718
/**
@@ -134,6 +135,16 @@ public void save(NBTTagCompound nbt) {
134135
}
135136
}
136137

138+
@Override
139+
protected OCUtils.Device deviceInfo() {
140+
return new OCUtils.Device(
141+
DeviceClass.Generic,
142+
"Machine destruction service",
143+
OCUtils.Vendors.HuggingCreeper,
144+
"SD-Struct 1"
145+
);
146+
}
147+
137148
@Override
138149
public void update() {
139150
super.update();

0 commit comments

Comments
 (0)
Please sign in to comment.