Skip to content

Commit 0e39255

Browse files
committed
Merge remote-tracking branch 'origin/mc1.20.1/dev' into mc1.20.1/dev
2 parents 2c57954 + e0c859a commit 0e39255

25 files changed

+1671
-3
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ local.properties
2929
.classpath
3030
.settings/
3131
.loadpath
32+
.factorypath
3233

3334
# External tool builders
3435
.externalToolBuilders/

src/main/java/com/simibubi/create/AllPackets.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
import com.simibubi.create.content.logistics.stockTicker.StockKeeperCategoryHidingPacket;
7878
import com.simibubi.create.content.logistics.stockTicker.StockKeeperCategoryRefundPacket;
7979
import com.simibubi.create.content.logistics.stockTicker.StockKeeperLockPacket;
80+
import com.simibubi.create.content.logistics.tableCloth.ShopUpdatePacket;
8081
import com.simibubi.create.content.logistics.tunnel.TunnelFlapPacket;
8182
import com.simibubi.create.content.redstone.displayLink.DisplayLinkConfigurationPacket;
8283
import com.simibubi.create.content.redstone.link.controller.LinkedControllerBindPacket;
@@ -255,7 +256,8 @@ public enum AllPackets {
255256
REDSTONE_REQUESTER_EFFECT(RedstoneRequesterEffectPacket.class, RedstoneRequesterEffectPacket::new, PLAY_TO_CLIENT),
256257
KNOCKBACK(KnockbackPacket.class, KnockbackPacket::new, PLAY_TO_CLIENT),
257258
TRAIN_MAP_SYNC(TrainMapSyncPacket.class, TrainMapSyncPacket::new, PLAY_TO_CLIENT),
258-
CLIENTBOUND_CHAIN_CONVEYOR(ClientboundChainConveyorRidingPacket.class, ClientboundChainConveyorRidingPacket::new, PLAY_TO_CLIENT);
259+
CLIENTBOUND_CHAIN_CONVEYOR(ClientboundChainConveyorRidingPacket.class, ClientboundChainConveyorRidingPacket::new, PLAY_TO_CLIENT),
260+
SHOP_UPDATE(ShopUpdatePacket.class, ShopUpdatePacket::new, PLAY_TO_CLIENT);
259261

260262
static {
261263
ClientboundSimpleActionPacket.addAction("rainbowDebug", () -> SimpleCreateActions::rainbowDebug);

src/main/java/com/simibubi/create/compat/computercraft/ComputerCraftProxy.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public static void register() {
1616
private static void registerWithDependency() {
1717
/* Comment if computercraft.implementation is not in the source set */
1818
computerFactory = ComputerBehaviour::new;
19+
ComputerBehaviour.registerItemDetailProviders();
1920
}
2021

2122
private static Function<SmartBlockEntity, ? extends AbstractComputerBehaviour> fallbackFactory;

src/main/java/com/simibubi/create/compat/computercraft/implementation/ComputerBehaviour.java

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,41 @@
11
package com.simibubi.create.compat.computercraft.implementation;
22

33
import com.simibubi.create.compat.computercraft.AbstractComputerBehaviour;
4+
import com.simibubi.create.compat.computercraft.implementation.luaObjects.PackageLuaObject;
5+
import com.simibubi.create.compat.computercraft.implementation.luaObjects.PackageOrderLuaObject;
46
import com.simibubi.create.compat.computercraft.implementation.peripherals.DisplayLinkPeripheral;
7+
import com.simibubi.create.compat.computercraft.implementation.peripherals.FrogportPeripheral;
8+
import com.simibubi.create.compat.computercraft.implementation.peripherals.PostboxPeripheral;
9+
import com.simibubi.create.compat.computercraft.implementation.peripherals.RepackagerPeripheral;
510
import com.simibubi.create.compat.computercraft.implementation.peripherals.SequencedGearshiftPeripheral;
611
import com.simibubi.create.compat.computercraft.implementation.peripherals.SpeedControllerPeripheral;
712
import com.simibubi.create.compat.computercraft.implementation.peripherals.SpeedGaugePeripheral;
813
import com.simibubi.create.compat.computercraft.implementation.peripherals.StationPeripheral;
914
import com.simibubi.create.compat.computercraft.implementation.peripherals.StressGaugePeripheral;
15+
import com.simibubi.create.compat.computercraft.implementation.peripherals.StockTickerPeripheral;
16+
import com.simibubi.create.compat.computercraft.implementation.peripherals.PackagerPeripheral;
17+
import com.simibubi.create.compat.computercraft.implementation.peripherals.TableClothShopPeripheral;
18+
import com.simibubi.create.content.logistics.box.PackageItem;
19+
import com.simibubi.create.content.logistics.packagePort.frogport.FrogportBlockEntity;
20+
import com.simibubi.create.content.logistics.packagePort.postbox.PostboxBlockEntity;
21+
import com.simibubi.create.compat.computercraft.implementation.peripherals.RedstoneRequesterPeripheral;
22+
import com.simibubi.create.content.logistics.packager.repackager.RepackagerBlockEntity;
23+
import com.simibubi.create.content.logistics.redstoneRequester.RedstoneRequesterBlockEntity;
24+
import com.simibubi.create.content.logistics.packager.PackagerBlockEntity;
25+
import com.simibubi.create.content.logistics.stockTicker.PackageOrderWithCrafts;
26+
import com.simibubi.create.content.logistics.stockTicker.StockTickerBlockEntity;
1027
import com.simibubi.create.content.kinetics.gauge.SpeedGaugeBlockEntity;
1128
import com.simibubi.create.content.kinetics.gauge.StressGaugeBlockEntity;
1229
import com.simibubi.create.content.kinetics.speedController.SpeedControllerBlockEntity;
1330
import com.simibubi.create.content.kinetics.transmission.sequencer.SequencedGearshiftBlockEntity;
31+
import com.simibubi.create.content.logistics.tableCloth.TableClothBlockEntity;
1432
import com.simibubi.create.content.redstone.displayLink.DisplayLinkBlockEntity;
1533
import com.simibubi.create.content.trains.station.StationBlockEntity;
1634
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
1735

1836
import dan200.computercraft.api.peripheral.IPeripheral;
37+
import dan200.computercraft.api.detail.VanillaDetailRegistries;
38+
import dan200.computercraft.api.lua.LuaException;
1939
import net.minecraftforge.common.capabilities.Capability;
2040
import net.minecraftforge.common.capabilities.CapabilityManager;
2141
import net.minecraftforge.common.capabilities.CapabilityToken;
@@ -41,19 +61,44 @@ public static NonNullSupplier<IPeripheral> getPeripheralFor(SmartBlockEntity be)
4161
return () -> new SpeedControllerPeripheral(scbe, scbe.targetSpeed);
4262
if (be instanceof DisplayLinkBlockEntity dlbe)
4363
return () -> new DisplayLinkPeripheral(dlbe);
64+
if (be instanceof FrogportBlockEntity fpbe)
65+
return () -> new FrogportPeripheral(fpbe);
66+
if (be instanceof PostboxBlockEntity pbbe)
67+
return () -> new PostboxPeripheral(pbbe);
4468
if (be instanceof SequencedGearshiftBlockEntity sgbe)
4569
return () -> new SequencedGearshiftPeripheral(sgbe);
4670
if (be instanceof SpeedGaugeBlockEntity sgbe)
4771
return () -> new SpeedGaugePeripheral(sgbe);
4872
if (be instanceof StressGaugeBlockEntity sgbe)
4973
return () -> new StressGaugePeripheral(sgbe);
74+
if (be instanceof StockTickerBlockEntity sgbe)
75+
return () -> new StockTickerPeripheral(sgbe);
76+
// Has to be before PackagerBlockEntity as it's a subclass
77+
if (be instanceof RepackagerBlockEntity rpbe)
78+
return () -> new RepackagerPeripheral(rpbe);
79+
if (be instanceof PackagerBlockEntity pgbe)
80+
return () -> new PackagerPeripheral(pgbe);
81+
if (be instanceof RedstoneRequesterBlockEntity rrbe)
82+
return () -> new RedstoneRequesterPeripheral(rrbe);
5083
if (be instanceof StationBlockEntity sbe)
5184
return () -> new StationPeripheral(sbe);
85+
if (be instanceof TableClothBlockEntity tcbe)
86+
return () -> new TableClothShopPeripheral(tcbe);
5287

5388
throw new IllegalArgumentException(
5489
"No peripheral available for " + ForgeRegistries.BLOCK_ENTITY_TYPES.getKey(be.getType()));
5590
}
5691

92+
public static void registerItemDetailProviders() {
93+
VanillaDetailRegistries.ITEM_STACK.addProvider((out, stack) -> {
94+
if (PackageItem.isPackage(stack))
95+
{
96+
PackageLuaObject packageLuaObject = new PackageLuaObject(null, stack);
97+
out.put("package", packageLuaObject);
98+
}
99+
});
100+
}
101+
57102
@Override
58103
public <T> boolean isPeripheralCap(Capability<T> cap) {
59104
return cap == PERIPHERAL_CAPABILITY;

0 commit comments

Comments
 (0)