Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
7b3970f
Fix Distribution Pipe Stall
Rishum-P Dec 24, 2022
cefbd3f
Updated gradle minor version (keep in line with buildcraft)
Munchy907 Sep 4, 2025
d68f1e9
Added way to set player name with a gradle property (Leave variable b…
Munchy907 Sep 4, 2025
cc927fb
Now add teleport pipes to teleport manager when the pipe validates (l…
Munchy907 Sep 4, 2025
558fa1f
Added a pipeUUID to make it simpler to check if two pipes are equal
Munchy907 Sep 5, 2025
2c3fe7c
Moved teleport side to the base teleport behaviour from the item subc…
Munchy907 Sep 5, 2025
830f868
Added missed translations keys in GuiTeleportPipe
Munchy907 Sep 6, 2025
59a4018
Fixed not setting default teleport side
Munchy907 Sep 6, 2025
56ff006
Swapped method of updating pipe about teleport side change to buildcr…
Munchy907 Sep 6, 2025
a2b8c3a
Moved owner name to ledger, like how buildcraft engines work.
Munchy907 Sep 6, 2025
6a8be6c
Changed back to old background_adv_wood texture & updated the contain…
Munchy907 Sep 7, 2025
f2603ca
Updated forge version to 14.23.5.2847
Munchy907 Sep 7, 2025
0a873ff
Updated forge version to 14.23.5.2847
Munchy907 Sep 7, 2025
5b2173d
Merge remote-tracking branch 'origin/master'
Munchy907 Sep 7, 2025
a1dafa5
Fixes #197: Fixed switch pipes updating properly
Munchy907 Sep 9, 2025
19e9142
Try to fix some build system issues
multiplemonomials Sep 10, 2025
f4d86a7
Fix permissions
multiplemonomials Sep 10, 2025
b447421
Enable exclusiveContent
multiplemonomials Sep 10, 2025
a3d0bdd
OK that didn't work...
multiplemonomials Sep 10, 2025
ca8e4df
Updated forge version to 14.23.5.2847
Munchy907 Sep 7, 2025
bd69721
Replaced deprecated compile and runtime, with implement and runtimeOn…
Munchy907 Sep 10, 2025
08d56ab
Merge branch 'master' into master
Munchy907 Sep 10, 2025
b839e2d
Fixed item teleport pipe recipe only giving 1 pipe instead of 8
Munchy907 Sep 27, 2025
17eb278
Fixed item teleport pipe recipe only giving 1 pipe instead of 8
Munchy907 Sep 27, 2025
c7d34a8
Merge remote-tracking branch 'origin/master'
Munchy907 Sep 27, 2025
1b0104c
Merge remote-tracking branch 'upstream/master'
Munchy907 Sep 28, 2025
8abacc0
Updated Buildcraft to version 8.0.0
Munchy907 Sep 28, 2025
d60a790
Uncommented jei being added at runtime that was left commented
Munchy907 Oct 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 20 additions & 9 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ buildscript {
mavenCentral()
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
url = "https://files.minecraftforge.net/maven"
}
}
dependencies {
Expand All @@ -14,15 +14,20 @@ buildscript {
}
apply plugin: 'net.minecraftforge.gradle.forge'

version = "6.0.0.8"
version = "6.0.0.9"
group= "com.buildcraft.additionalpipes"
archivesBaseName = "additionalpipes"

minecraft {
version = "${mc_version}-14.23.0.2544"
version = "${mc_version}-14.23.5.2847"
runDir = "minecraft"
mappings = "snapshot_20171120"

if (!developmentEnvironmentUserName.isEmpty()){
clientRunArgs +=['--username', developmentEnvironmentUserName.toString()]
}


}
// http://maven.apache.org/guides/mini/guide-naming-conventions.html
repositories {
Expand All @@ -32,7 +37,7 @@ repositories {
{
// location of the maven that hosts JEI files
name = "Progwml6 maven"
url = "http://dvs1.progwml6.com/files/maven"
url = "https://dvs1.progwml6.com/files/maven"
}
maven
{
Expand All @@ -44,22 +49,28 @@ repositories {
// Adding a "fake" ivy repository to allow downloading buildcraft from its URL
// See https://stackoverflow.com/a/34327202/7083698
ivy {
url 'http://www.mod-buildcraft.com/releases/'
url 'https://www.mod-buildcraft.com/releases/'
patternLayout {
artifact "[organization]/[revision]/[module]-main-[revision]-[classifier].jar"
}
metadataSources { artifact() }
metadataSources { artifact() }
}


maven {
url "https://cursemaven.com"
}

}

dependencies {
compile 'BuildCraft:buildcraft:7.99.24.1:dev'
implementation('BuildCraft:buildcraft:8.0.0:dev')
implementation('curse.maven:bccompat-233140:6376390')


// compile against the JEI API but do not include it at runtime
deobfProvided "mezz.jei:jei_${mc_version}:${jei_version}:api"
// at runtime, use the full JEI jar
runtime "mezz.jei:jei_${mc_version}:${jei_version}"
runtimeOnly "mezz.jei:jei_${mc_version}:${jei_version}"
}
// 30 96 254
sourceSets {
Expand Down
3 changes: 2 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx4096M
mc_version=1.12.2
jei_version=4.8.5.142
jei_version=4.16.1.301
developmentEnvironmentUserName = Hydra
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
10 changes: 5 additions & 5 deletions src/main/java/buildcraft/additionalpipes/APPipeDefintions.java
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ public static void createPipes()
additionPipeDef = new PipeDefinitionBuilder().flowItem().idTexPrefix("pipe_items_addition").logic(PipeBehaviorAddition::new, PipeBehaviorAddition::new).define();
additionPipeItem = PipeCreator.createPipeItem(additionPipeDef);

advWoodPipeDef = new PipeDefinitionBuilder().flowItem().idTexPrefix("pipe_items_adv_wood").texSuffixes("_output", "_input").logic(PipeBehaviorAdvWood::new, PipeBehaviorAdvWood::new).define();
advWoodPipeDef = new PipeDefinitionBuilder().flowItem().idTexPrefix("pipe_items_adv_wood").texSuffixes("_output", "_input").logic(PipeBehaviorAdvWood::new, PipeBehaviorAdvWood::new).enableColouring().define();
advWoodPipeItem = PipeCreator.createPipeItem(advWoodPipeDef);

closedPipeDef = new PipeDefinitionBuilder().flowItem().idTexPrefix("pipe_items_closed").texSuffixes("_open", "_closed").logic(PipeBehaviorClosed::new, PipeBehaviorClosed::new).define();
Expand All @@ -105,7 +105,7 @@ public static void createPipes()
distributionPipeDef = distPipeDefBuilder.define();
distributionPipeItem = PipeCreator.createPipeItem(distributionPipeDef);

gravityFeedPipeDef = new PipeDefinitionBuilder().flowItem().idTexPrefix("pipe_items_gravity_feed").texSuffixes("_up", "_sides").logic(PipeBehaviorGravityFeed::new, PipeBehaviorGravityFeed::new).define();
gravityFeedPipeDef = new PipeDefinitionBuilder().flowItem().idTexPrefix("pipe_items_gravity_feed").texSuffixes("_up", "_sides").logic(PipeBehaviorGravityFeed::new, PipeBehaviorGravityFeed::new).enableColouring().define();
gravityFeedPipeItem = PipeCreator.createPipeItem(gravityFeedPipeDef);

PipeDefinitionBuilder priorityPipeDefBuilder = new PipeDefinitionBuilder().flowItem().idTexPrefix("pipe_items_priority").logic(PipeBehaviorPriorityInsertion::new, PipeBehaviorPriorityInsertion::new);
Expand All @@ -117,7 +117,7 @@ public static void createPipes()
attachSidedSuffixes(jeweledPipeDefBuilder);
jeweledPipeDef = jeweledPipeDefBuilder.define();
jeweledPipeItem = PipeCreator.createPipeItem(jeweledPipeDef);

itemsTeleportPipeDef = new PipeDefinitionBuilder().flowItem().idTexPrefix("pipe_items_teleport").logic(PipeBehaviorTeleportItems::new, PipeBehaviorTeleportItems::new).define();
itemsTeleportPipeItem = PipeCreator.createPipeItem(itemsTeleportPipeDef);

Expand All @@ -134,10 +134,10 @@ public static void createPipes()
//powerTeleportPipeDef = new PipeDefinitionBuilder().flowPower().idTexPrefix("pipe_power_teleport").logic(PipeBehaviorTeleportPower::new, PipeBehaviorTeleportPower::new).define();
//powerTeleportPipeItem = PipeCreator.createPipeItemAndRecipe(1, powerTeleportPipeDef, true, new Object[] {"dustRedstone", itemsTeleportPipeItem});

itemsSwitchPipeDef = new PipeDefinitionBuilder().flowItem().idTexPrefix("pipe_items_switch").texSuffixes("_closed", "_open").logic(PipeBehaviorSwitch::new, PipeBehaviorSwitch::new).define();
itemsSwitchPipeDef = new PipeDefinitionBuilder().flowItem().idTexPrefix("pipe_items_switch").texSuffixes("_closed", "_open").logic(PipeBehaviorSwitch::new, PipeBehaviorSwitch::new).enableColouring().define();
itemsSwitchPipeItem = PipeCreator.createPipeItem(itemsSwitchPipeDef);

fluidsSwitchPipeDef = new PipeDefinitionBuilder().flowFluid().idTexPrefix("pipe_fluids_switch").texSuffixes("_closed", "_open").logic(PipeBehaviorSwitch::new, PipeBehaviorSwitch::new).define();
fluidsSwitchPipeDef = new PipeDefinitionBuilder().flowFluid().idTexPrefix("pipe_fluids_switch").texSuffixes("_closed", "_open").logic(PipeBehaviorSwitch::new, PipeBehaviorSwitch::new).enableColouring().define();
fluidsSwitchPipeItem = PipeCreator.createPipeItem(fluidsSwitchPipeDef);

powerSwitchPipeDef = new PipeDefinitionBuilder().flowPower().idTexPrefix("pipe_power_switch").texSuffixes("_closed", "_open").logic(PipeBehaviorSwitch::new, PipeBehaviorSwitch::new).define();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
public class AdditionalPipes {
public static final String MODID = "additionalpipes";
public static final String NAME = "Additional Pipes";
public static final String VERSION = "6.0.0.8";
public static final String VERSION = "6.0.0.9";

@Instance(MODID)
public static AdditionalPipes instance;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ else if(args[1].equals("power"))
sb.append(pipe.getPosition().getX()).append(", ");
sb.append(pipe.getPosition().getY()).append(", ");
sb.append(pipe.getPosition().getZ()).append("] ");
sb.append(pipe.ownerName);
sb.append(pipe.getOwnerName());
sender.sendMessage(new TextComponentString(sb.toString()));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ public interface ITeleportPipe

public String getOwnerName();

public UUID getPipeUUID();

public TilePipeHolder getContainer();

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import buildcraft.transport.tile.TilePipeHolder;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IContainerListener;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.SlotItemHandler;
Expand All @@ -23,7 +22,7 @@ public class ContainerAdvancedWoodPipe extends ContainerBC_Neptune {
private boolean exclude;
private PipeBehaviorAdvWood pipe;

public ContainerAdvancedWoodPipe(EntityPlayer player, IInventory playerInventory, PipeBehaviorAdvWood pipe) {
public ContainerAdvancedWoodPipe(EntityPlayer player, PipeBehaviorAdvWood pipe) {
super(player);
this.pipe = pipe;
exclude = !pipe.getExclude(); // force a network update
Expand All @@ -35,13 +34,13 @@ public ContainerAdvancedWoodPipe(EntityPlayer player, IInventory playerInventory

for(int l = 0; l < 3; l++) {
for(int k1 = 0; k1 < 9; k1++) {
addSlotToContainer(new Slot(playerInventory, k1 + l * 9 + 9, 8 + k1 * 18, 76 + l * 18));
addSlotToContainer(new Slot(player.inventory, k1 + l * 9 + 9, 8 + k1 * 18, 76 + l * 18));
}

}

for(int i1 = 0; i1 < 9; i1++) {
addSlotToContainer(new Slot(playerInventory, i1, 8 + i1 * 18, 134));
addSlotToContainer(new Slot(player.inventory, i1, 8 + i1 * 18, 134));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.IContainerListener;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.relauncher.Side;

Expand All @@ -25,6 +26,7 @@ public class ContainerTeleportPipe extends ContainerBC_Neptune {
private int freq;
private byte state;
private boolean isPublic;
private EnumFacing tpSide;

//true if the provided pipe is sending items to other pipes
//and output locations should be shown on the ledger
Expand All @@ -40,7 +42,7 @@ public ContainerTeleportPipe(EntityPlayer player, PipeBehaviorTeleport pipe)

//set these variables to invalid values so that they will be updated
state = -1;
isPublic = !pipe.isPublic;
isPublic = !pipe.isPublic();
freq = -1;

isSendingPipe = pipe.canSend();
Expand All @@ -56,7 +58,7 @@ public ContainerTeleportPipe(EntityPlayer player, PipeBehaviorTeleport pipe)
locations[3 * i + 2] = connectedPipe.getContainer().getPos().getZ();
}

MessageTelePipeData message = new MessageTelePipeData(pipe.getPos(), locations, pipe.ownerUUID, pipe.ownerName);
MessageTelePipeData message = new MessageTelePipeData(pipe.getPos(), locations, pipe.getOwnerUUID(), pipe.getOwnerName());
PacketHandler.INSTANCE.sendTo(message, (EntityPlayerMP) player);

//save the pipe's old frequency so it can be removed later
Expand Down Expand Up @@ -88,37 +90,45 @@ public void detectAndSendChanges() {
for(IContainerListener crafter : listeners) {
if(freq != pipe.getFrequency()) {
crafter.sendWindowProperty(this, 0, pipe.getFrequency());
freq = pipe.getFrequency();
}
if(state != pipe.state) {
crafter.sendWindowProperty(this, 1, pipe.state);
if(state != pipe.getState()) {
crafter.sendWindowProperty(this, 1, pipe.getState());
state = pipe.getState();
}
if(connectedPipesNew != connectedPipes) {
crafter.sendWindowProperty(this, 2, connectedPipesNew);
connectedPipes = connectedPipesNew;
}
if(isPublic != pipe.isPublic) {
crafter.sendWindowProperty(this, 3, pipe.isPublic ? 1 : 0);
if(isPublic != pipe.isPublic()) {
crafter.sendWindowProperty(this, 3, pipe.isPublic() ? 1 : 0);
isPublic = pipe.isPublic();
}
if(tpSide != pipe.getTeleportSide()) {
crafter.sendWindowProperty(this, 4, pipe.getTeleportSide().ordinal());
tpSide = pipe.getTeleportSide();
pipe.pipe.markForUpdate();
}
}
state = pipe.state;
freq = pipe.getFrequency();
isPublic = pipe.isPublic;
connectedPipes = connectedPipesNew;
}

@Override
public void updateProgressBar(int i, int j) {
switch(i) {
public void updateProgressBar(int id, int data) {
switch(id) {
case 0:
pipe.setFrequency(j);
pipe.setFrequency(data);
break;
case 1:
pipe.state = (byte) j;
pipe.setState((byte) data);
break;
case 2:
connectedPipes = j;
connectedPipes = data;
break;
case 3:
pipe.isPublic = (j == 1);
pipe.setPublic((data == 1));
break;
case 4:
pipe.setTeleportSide(EnumFacing.values()[data]);
break;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,22 @@

package buildcraft.additionalpipes.gui;

import buildcraft.lib.gui.GuiBC8;
import org.lwjgl.opengl.GL11;

import buildcraft.additionalpipes.network.PacketHandler;
import buildcraft.additionalpipes.network.message.MessageAdvWoodPipe;
import buildcraft.additionalpipes.pipes.PipeBehaviorAdvWood;
import buildcraft.additionalpipes.textures.Textures;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

@SideOnly(Side.CLIENT)
public class GuiAdvancedWoodPipe extends GuiContainer {
public class GuiAdvancedWoodPipe extends GuiBC8<ContainerAdvancedWoodPipe> {

int inventoryRows = 1;
IInventory playerInventory;
Expand All @@ -32,24 +32,29 @@ public class GuiAdvancedWoodPipe extends GuiContainer {

int guiX, guiY;

public GuiAdvancedWoodPipe(EntityPlayer player, IInventory playerInventory, PipeBehaviorAdvWood pipe)
public GuiAdvancedWoodPipe(EntityPlayer player, PipeBehaviorAdvWood pipe)
{
super(new ContainerAdvancedWoodPipe(player, playerInventory, pipe));
this.playerInventory = playerInventory;
super(new ContainerAdvancedWoodPipe(player, pipe));
this.playerInventory = player.inventory;
this.pipe = pipe;
// container = theContainer;
xSize = 175;
ySize = 156;
xSize = 176;
ySize = 158;

}

@Override
protected boolean shouldAddHelpLedger() {
return false;
}

@Override
public void initGui()
{
super.initGui();
guiX = (width - xSize) / 2;
guiY = (height - ySize) / 2;
buttons[0] = new GuiButton(1, guiX + 8, guiY + 40, 140, 20, "");
buttons[0] = new GuiButton(1, guiLeft + 7, guiTop + 38, 140, 20, "");
buttonList.add(buttons[0]);
}

Expand All @@ -61,8 +66,10 @@ public void drawScreen(int mouseX, int mouseY, float partialTicks)
}

@Override
protected void drawGuiContainerForegroundLayer(int p1, int p2)
protected void drawForegroundLayer()
{
fontRenderer.drawString(I18n.format("gui.advwood_pipe.title"), guiLeft + 8, guiTop + 6, 4210752);

if(pipe.getExclude())
{
buttons[0].displayString = I18n.format("gui.advwood_pipe.blacklist");
Expand All @@ -71,8 +78,10 @@ protected void drawGuiContainerForegroundLayer(int p1, int p2)
{
buttons[0].displayString = I18n.format("gui.advwood_pipe.whitelist");
}

fontRenderer.drawString(I18n.format("gui.advwood_pipe.title"), guiX + 42, guiY + 22, 4210752);

double invY = mainGui.rootElement.getY() + ySize - 95;
fontRenderer.drawString(I18n.format("gui.inventory"), (int) mainGui.rootElement.getX() + 8, (int) invY, 0x404040);

}

@Override
Expand All @@ -86,13 +95,10 @@ protected void actionPerformed(GuiButton guibutton) {
}

@Override
protected void drawGuiContainerBackgroundLayer(float f, int i, int j) {

protected void drawBackgroundLayer(float partialTicks) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
mc.renderEngine.bindTexture(Textures.GUI_ADVANCEDWOOD);
int j1 = (width - xSize) / 2;
int k = (height - ySize) / 2;
drawTexturedModalRect(j1, k, 0, 0, xSize, ySize);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
}

}
4 changes: 2 additions & 2 deletions src/main/java/buildcraft/additionalpipes/gui/GuiHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public Object getServerGuiElement(int ID, EntityPlayer player, World world, int
case PIPE_DIST:
return new ContainerDistributionPipe((PipeBehaviorDistribution) ((TilePipeHolder) tile).getPipe().getBehaviour());
case PIPE_WOODEN_ADV:
return new ContainerAdvancedWoodPipe(player, player.inventory, (PipeBehaviorAdvWood) ((TilePipeHolder) tile).getPipe().getBehaviour());
return new ContainerAdvancedWoodPipe(player, (PipeBehaviorAdvWood) ((TilePipeHolder) tile).getPipe().getBehaviour());
case PIPE_CLOSED:
return new ContainerPipeClosed(player, (PipeBehaviorClosed) ((TilePipeHolder) tile).getPipe().getBehaviour());
case PIPE_PRIORITY:
Expand Down Expand Up @@ -67,7 +67,7 @@ public Object getClientGuiElement(int ID, EntityPlayer player, World world, int
case PIPE_DIST:
return new GuiDistributionPipe((PipeBehaviorDistribution) ((TilePipeHolder) tile).getPipe().getBehaviour());
case PIPE_WOODEN_ADV:
return new GuiAdvancedWoodPipe(player, player.inventory, (PipeBehaviorAdvWood) ((TilePipeHolder) tile).getPipe().getBehaviour());
return new GuiAdvancedWoodPipe(player, (PipeBehaviorAdvWood) ((TilePipeHolder) tile).getPipe().getBehaviour());
case PIPE_CLOSED:
return new GuiPipeClosed(player, (PipeBehaviorClosed) ((TilePipeHolder) tile).getPipe().getBehaviour());
case PIPE_PRIORITY:
Expand Down
Loading