Fix dependency issue on MCMP
This commit is contained in:
@@ -56,7 +56,7 @@ dependencies {
|
||||
deobfCompile "net.darkhax.tesla:Tesla:1.11-1.3.0.51"
|
||||
deobfCompile "org.cyclops.cyclopscore:CyclopsCore:1.11.2-0.9.2-483"
|
||||
deobfCompile "org.cyclops.commoncapabilities:CommonCapabilities:1.11.2-1.3.1-95"
|
||||
deobfCompile "MCMultiPart2:MCMultiPart-exp:2.0.0_13"
|
||||
deobfCompile "MCMultiPart2:MCMultiPart-exp:2.0.0_16"
|
||||
}
|
||||
|
||||
processResources {
|
||||
|
||||
@@ -23,7 +23,7 @@ public final class RS {
|
||||
|
||||
public static final String ID = "refinedstorage";
|
||||
public static final String VERSION = "1.4.1";
|
||||
public static final String DEPENDENCIES = "required-after:forge@[13.19.1.2188,);after:commoncapabilities@[1.3.1,);";
|
||||
public static final String DEPENDENCIES = "required-after:forge@[13.19.1.2188,);after:commoncapabilities@[1.3.1,);before:mcmultipart;";
|
||||
public static final String GUI_FACTORY = "com.raoulvdberge.refinedstorage.gui.config.ModGuiFactory";
|
||||
|
||||
@SidedProxy(clientSide = "com.raoulvdberge.refinedstorage.proxy.ProxyClient", serverSide = "com.raoulvdberge.refinedstorage.proxy.ProxyCommon")
|
||||
|
||||
@@ -4,13 +4,47 @@ import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import mcmultipart.api.addon.IMCMPAddon;
|
||||
import mcmultipart.api.addon.MCMPAddon;
|
||||
import mcmultipart.api.multipart.IMultipartRegistry;
|
||||
import mcmultipart.api.ref.MCMPCapabilities;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.common.capabilities.Capability;
|
||||
import net.minecraftforge.common.capabilities.ICapabilityProvider;
|
||||
import net.minecraftforge.event.AttachCapabilitiesEvent;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@MCMPAddon
|
||||
public class IntegrationMCMP implements IMCMPAddon {
|
||||
@Override
|
||||
public void registerParts(IMultipartRegistry registry) {
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
|
||||
registry.registerPartWrapper(RSBlocks.CABLE, new PartCable());
|
||||
registry.registerStackWrapper(Item.getItemFromBlock(RSBlocks.CABLE), s -> true, RSBlocks.CABLE);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onAttachCapability(AttachCapabilitiesEvent<TileEntity> e) {
|
||||
e.addCapability(new ResourceLocation("refinedstorage:cable"), new ICapabilityProvider() {
|
||||
@Override
|
||||
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
|
||||
return capability == MCMPCapabilities.MULTIPART_TILE;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) {
|
||||
if (capability == MCMPCapabilities.MULTIPART_TILE) {
|
||||
return MCMPCapabilities.MULTIPART_TILE.cast(new PartCableTile(e.getObject()));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,4 @@ public class PartCable implements IMultipart {
|
||||
public Block getBlock() {
|
||||
return RSBlocks.CABLE;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,34 +1,13 @@
|
||||
package com.raoulvdberge.refinedstorage.tile;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCable;
|
||||
import com.raoulvdberge.refinedstorage.integration.mcmp.PartCableTile;
|
||||
import mcmultipart.api.ref.MCMPCapabilities;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraftforge.common.capabilities.Capability;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class TileCable extends TileNode<NetworkNodeCable> {
|
||||
private PartCableTile part = new PartCableTile(this);
|
||||
|
||||
@Override
|
||||
@Nonnull
|
||||
public NetworkNodeCable createNode() {
|
||||
return new NetworkNodeCable(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing side) {
|
||||
return super.hasCapability(capability, side) || capability == MCMPCapabilities.MULTIPART_TILE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing side) {
|
||||
if (capability == MCMPCapabilities.MULTIPART_TILE) {
|
||||
return (T) part;
|
||||
}
|
||||
|
||||
return super.getCapability(capability, side);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user