Post-merge fixes and item generator fix.
This commit is contained in:
+50
-56
@@ -48,21 +48,42 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
||||||
|
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
||||||
|
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
||||||
|
|
||||||
// compile against provided APIs
|
//Fabric api
|
||||||
compileOnly "mezz.jei:jei-${jei_minecraft_version}:${jei_version}:api"
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${fabric_version}"
|
||||||
compileOnly "mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}:api"
|
|
||||||
|
|
||||||
// Runtime, Mods
|
modImplementation "alexiil.mc.lib:libblockattributes-core:${libblockattributes_version}"
|
||||||
runtimeOnly fg.deobf("mezz.jei:jei-${jei_minecraft_version}:${jei_version}")
|
modImplementation "alexiil.mc.lib:libblockattributes-items:${libblockattributes_version}"
|
||||||
runtimeOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}")
|
modImplementation "alexiil.mc.lib:libblockattributes-fluids:${libblockattributes_version}"
|
||||||
|
include "alexiil.mc.lib:libblockattributes-core:${libblockattributes_version}"
|
||||||
|
include "alexiil.mc.lib:libblockattributes-items:${libblockattributes_version}"
|
||||||
|
include "alexiil.mc.lib:libblockattributes-fluids:${libblockattributes_version}"
|
||||||
|
|
||||||
|
// Energy API
|
||||||
|
modApi "teamreborn:energy:${tr_energy_version}"
|
||||||
|
include "teamreborn:energy:${tr_energy_version}"
|
||||||
|
|
||||||
|
modCompileOnly("me.shedaniel:RoughlyEnoughItems:${rei_version}") {
|
||||||
|
exclude group: "net.fabricmc.fabric-api"
|
||||||
|
}
|
||||||
|
modCompileOnly("mcp.mobius.waila:Hwyla:1.16.1-1.9.22-75") {
|
||||||
|
exclude group: "net.fabricmc.fabric-api"
|
||||||
|
}
|
||||||
|
modRuntime("me.shedaniel:RoughlyEnoughItems:${rei_version}") {
|
||||||
|
exclude group: "net.fabricmc.fabric-api"
|
||||||
|
}
|
||||||
|
modRuntime("TechReborn:TechReborn-1.16:3.5.1+build.101") {
|
||||||
|
exclude group: "net.fabricmc.fabric-api"
|
||||||
|
}
|
||||||
|
// modRuntimeOnly "mcp.mobius.waila:Hwyla:1.16.1-1.9.22-75"
|
||||||
|
|
||||||
|
implementation 'com.google.code.findbugs:jsr305:3.0.2'
|
||||||
|
|
||||||
// unit test dependencies
|
// unit test dependencies
|
||||||
testCompile "junit:junit:4.13"
|
testCompile "junit:junit:4.13"
|
||||||
|
|
||||||
// Annotation Processors
|
|
||||||
annotationProcessor 'org.spongepowered:mixin:0.8:processor'
|
|
||||||
}
|
}
|
||||||
group = artifact_group
|
group = artifact_group
|
||||||
archivesBaseName = artifact_basename
|
archivesBaseName = artifact_basename
|
||||||
@@ -81,7 +102,6 @@ tasks.withType(JavaCompile) {
|
|||||||
|
|
||||||
///////////////////
|
///////////////////
|
||||||
// Version Number
|
// Version Number
|
||||||
version = version_major + "." + version_minor + "." + version_patch
|
|
||||||
|
|
||||||
ext.pr = System.getenv('PR_NUMBER') ?: ""
|
ext.pr = System.getenv('PR_NUMBER') ?: ""
|
||||||
if (ext.pr) {
|
if (ext.pr) {
|
||||||
@@ -147,45 +167,6 @@ minecraft {
|
|||||||
accessWidener "src/main/resources/appliedenergistics2.accesswidener"
|
accessWidener "src/main/resources/appliedenergistics2.accesswidener"
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
|
||||||
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
|
||||||
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
|
||||||
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
|
||||||
|
|
||||||
//Fabric api
|
|
||||||
modImplementation "net.fabricmc.fabric-api:fabric-api:${fabric_version}"
|
|
||||||
|
|
||||||
modImplementation "alexiil.mc.lib:libblockattributes-core:${libblockattributes_version}"
|
|
||||||
modImplementation "alexiil.mc.lib:libblockattributes-items:${libblockattributes_version}"
|
|
||||||
modImplementation "alexiil.mc.lib:libblockattributes-fluids:${libblockattributes_version}"
|
|
||||||
include "alexiil.mc.lib:libblockattributes-core:${libblockattributes_version}"
|
|
||||||
include "alexiil.mc.lib:libblockattributes-items:${libblockattributes_version}"
|
|
||||||
include "alexiil.mc.lib:libblockattributes-fluids:${libblockattributes_version}"
|
|
||||||
|
|
||||||
// Energy API
|
|
||||||
modApi "teamreborn:energy:${tr_energy_version}"
|
|
||||||
include "teamreborn:energy:${tr_energy_version}"
|
|
||||||
|
|
||||||
modCompileOnly("me.shedaniel:RoughlyEnoughItems:${rei_version}") {
|
|
||||||
exclude group: "net.fabricmc.fabric-api"
|
|
||||||
}
|
|
||||||
modCompileOnly("mcp.mobius.waila:Hwyla:1.16.1-1.9.22-75") {
|
|
||||||
exclude group: "net.fabricmc.fabric-api"
|
|
||||||
}
|
|
||||||
modRuntime("me.shedaniel:RoughlyEnoughItems:${rei_version}") {
|
|
||||||
exclude group: "net.fabricmc.fabric-api"
|
|
||||||
}
|
|
||||||
modRuntime("TechReborn:TechReborn-1.16:3.5.1+build.101") {
|
|
||||||
exclude group: "net.fabricmc.fabric-api"
|
|
||||||
}
|
|
||||||
// modRuntimeOnly "mcp.mobius.waila:Hwyla:1.16.1-1.9.22-75"
|
|
||||||
|
|
||||||
implementation 'com.google.code.findbugs:jsr305:3.0.2'
|
|
||||||
|
|
||||||
// unit test dependencies
|
|
||||||
testCompile "junit:junit:4.13"
|
|
||||||
}
|
|
||||||
|
|
||||||
processResources {
|
processResources {
|
||||||
inputs.property "version", project.version
|
inputs.property "version", project.version
|
||||||
|
|
||||||
@@ -206,8 +187,7 @@ processResources {
|
|||||||
}
|
}
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
finalizedBy 'reobfJar'
|
finalizedBy 'remapJar'
|
||||||
finalizedBy 'signJar'
|
|
||||||
|
|
||||||
from sourceSets.main.output.classesDirs
|
from sourceSets.main.output.classesDirs
|
||||||
from sourceSets.api.output.classesDirs
|
from sourceSets.api.output.classesDirs
|
||||||
@@ -242,10 +222,13 @@ task javadocJar(type: Jar, dependsOn: javadocs) {
|
|||||||
classifier = "javadoc"
|
classifier = "javadoc"
|
||||||
from javadoc.destinationDir
|
from javadoc.destinationDir
|
||||||
}
|
}
|
||||||
task sourcesJar(type: Jar) {
|
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
||||||
|
// if it is present.
|
||||||
|
// If you remove this task, sources will not be generated.
|
||||||
|
task sourcesJar(type: Jar, dependsOn: classes) {
|
||||||
classifier = "sources"
|
classifier = "sources"
|
||||||
from sourceSets.main.allJava
|
from sourceSets.main.allSource
|
||||||
from sourceSets.api.allJava
|
from sourceSets.api.allSource
|
||||||
}
|
}
|
||||||
|
|
||||||
task apiJar(type: Jar) {
|
task apiJar(type: Jar) {
|
||||||
@@ -345,7 +328,7 @@ spotless {
|
|||||||
|
|
||||||
////////////////
|
////////////////
|
||||||
// Curse Forge
|
// Curse Forge
|
||||||
if (System.getenv("CURSEFORGE")) {
|
if (System.getenv("CURSEFORGE") && !version.endsWith("-SNAPSHOT")) {
|
||||||
def cfReleaseType = "release"
|
def cfReleaseType = "release"
|
||||||
if (ext.isAlpha) {
|
if (ext.isAlpha) {
|
||||||
cfReleaseType = "alpha"
|
cfReleaseType = "alpha"
|
||||||
@@ -360,6 +343,17 @@ if (System.getenv("CURSEFORGE")) {
|
|||||||
changelogType = "markdown"
|
changelogType = "markdown"
|
||||||
changelog = System.getenv("CHANGELOG") ?: "Please visit our [releases](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases) for a changelog"
|
changelog = System.getenv("CHANGELOG") ?: "Please visit our [releases](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases) for a changelog"
|
||||||
releaseType = cfReleaseType
|
releaseType = cfReleaseType
|
||||||
|
addGameVersion project.minecraft_version
|
||||||
|
addGameVersion "Fabric"
|
||||||
|
mainArtifact(remapJar.archiveFile) {
|
||||||
|
displayName = "${project.version} [FABRIC]"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
options {
|
||||||
|
forgeGradleIntegration = false
|
||||||
|
}
|
||||||
|
afterEvaluate {
|
||||||
|
tasks.getByName("curseforge${project.curseforge_project}").dependsOn remapJar
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -314,7 +314,7 @@ public abstract class AEBaseScreen<T extends AEBaseContainer> extends HandledScr
|
|||||||
public boolean mouseReleased(double mouseX, double mouseY, int button) {
|
public boolean mouseReleased(double mouseX, double mouseY, int button) {
|
||||||
// Forward left mouse button up events to the scrollbar
|
// Forward left mouse button up events to the scrollbar
|
||||||
if (button == 0 && this.getScrollBar() != null) {
|
if (button == 0 && this.getScrollBar() != null) {
|
||||||
if (this.getScrollBar().mouseUp(mouseX - this.guiLeft, mouseY - this.guiTop)) {
|
if (this.getScrollBar().mouseUp(mouseX - this.x, mouseY - this.y)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,11 +21,9 @@ package appeng.client.gui.widgets;
|
|||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
|
|
||||||
import net.minecraft.client.gui.DrawableHelper;
|
import net.minecraft.client.gui.DrawableHelper;
|
||||||
|
import net.minecraft.client.util.Rect2i;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
import net.minecraft.client.renderer.Rectangle2d;
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
|
||||||
import appeng.client.gui.AEBaseScreen;
|
import appeng.client.gui.AEBaseScreen;
|
||||||
@@ -55,20 +53,20 @@ public class Scrollbar extends DrawableHelper implements IScrollSource {
|
|||||||
/**
|
/**
|
||||||
* Texture containing the scrollbar handle sprites.
|
* Texture containing the scrollbar handle sprites.
|
||||||
*/
|
*/
|
||||||
private static final ResourceLocation TEXTURE = new ResourceLocation("minecraft",
|
private static final Identifier TEXTURE = new Identifier("minecraft",
|
||||||
"textures/gui/container/creative_inventory/tabs.png");
|
"textures/gui/container/creative_inventory/tabs.png");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rectangle in the source texture that contains the sprite for an enabled
|
* Rectangle in the source texture that contains the sprite for an enabled
|
||||||
* handle.
|
* handle.
|
||||||
*/
|
*/
|
||||||
private static final Rectangle2d ENABLED = new Rectangle2d(232, 0, HANDLE_WIDTH, HANDLE_HEIGHT);
|
private static final Rect2i ENABLED = new Rect2i(232, 0, HANDLE_WIDTH, HANDLE_HEIGHT);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rectangle in the source texture that contains the sprite for a disabled
|
* Rectangle in the source texture that contains the sprite for a disabled
|
||||||
* handle.
|
* handle.
|
||||||
*/
|
*/
|
||||||
private static final Rectangle2d DISABLED = new Rectangle2d(232 + HANDLE_WIDTH, 0, HANDLE_WIDTH, HANDLE_HEIGHT);
|
private static final Rect2i DISABLED = new Rect2i(232 + HANDLE_WIDTH, 0, HANDLE_WIDTH, HANDLE_HEIGHT);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The screen x-coordinate of the scrollbar's inner track.
|
* The screen x-coordinate of the scrollbar's inner track.
|
||||||
@@ -115,7 +113,7 @@ public class Scrollbar extends DrawableHelper implements IScrollSource {
|
|||||||
* background.
|
* background.
|
||||||
*/
|
*/
|
||||||
public void draw(MatrixStack matrices, final AEBaseScreen<?> g) {
|
public void draw(MatrixStack matrices, final AEBaseScreen<?> g) {
|
||||||
setBlitOffset(g.getBlitOffset());
|
setZOffset(g.getZOffset());
|
||||||
|
|
||||||
// Draw the track (nice for debugging)
|
// Draw the track (nice for debugging)
|
||||||
// fill(matrices, displayX, displayY, this.displayX + width, this.displayY +
|
// fill(matrices, displayX, displayY, this.displayX + width, this.displayY +
|
||||||
@@ -124,7 +122,7 @@ public class Scrollbar extends DrawableHelper implements IScrollSource {
|
|||||||
g.bindTexture(TEXTURE);
|
g.bindTexture(TEXTURE);
|
||||||
|
|
||||||
int yOffset;
|
int yOffset;
|
||||||
Rectangle2d sourceRect;
|
Rect2i sourceRect;
|
||||||
if (this.getRange() == 0) {
|
if (this.getRange() == 0) {
|
||||||
yOffset = 0;
|
yOffset = 0;
|
||||||
sourceRect = DISABLED;
|
sourceRect = DISABLED;
|
||||||
@@ -133,7 +131,7 @@ public class Scrollbar extends DrawableHelper implements IScrollSource {
|
|||||||
sourceRect = ENABLED;
|
sourceRect = ENABLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
blit(matrices, this.displayX, this.displayY + yOffset, sourceRect.getX(), sourceRect.getY(),
|
drawTexture(matrices, this.displayX, this.displayY + yOffset, sourceRect.getX(), sourceRect.getY(),
|
||||||
sourceRect.getWidth(), sourceRect.getHeight());
|
sourceRect.getWidth(), sourceRect.getHeight());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import net.minecraft.world.World;
|
|||||||
|
|
||||||
import alexiil.mc.lib.attributes.AttributeList;
|
import alexiil.mc.lib.attributes.AttributeList;
|
||||||
import alexiil.mc.lib.attributes.Simulation;
|
import alexiil.mc.lib.attributes.Simulation;
|
||||||
|
import alexiil.mc.lib.attributes.item.FixedItemInv;
|
||||||
import alexiil.mc.lib.attributes.item.ItemExtractable;
|
import alexiil.mc.lib.attributes.item.ItemExtractable;
|
||||||
import alexiil.mc.lib.attributes.item.filter.ExactItemStackFilter;
|
import alexiil.mc.lib.attributes.item.filter.ExactItemStackFilter;
|
||||||
import alexiil.mc.lib.attributes.item.filter.ItemFilter;
|
import alexiil.mc.lib.attributes.item.filter.ItemFilter;
|
||||||
@@ -43,7 +44,7 @@ public class ItemGenBlockEntity extends AEBaseBlockEntity {
|
|||||||
|
|
||||||
private static final Queue<ItemStack> POSSIBLE_ITEMS = new ArrayDeque<>();
|
private static final Queue<ItemStack> POSSIBLE_ITEMS = new ArrayDeque<>();
|
||||||
|
|
||||||
private final ItemExtractable handler = new QueuedItemHandler();
|
private final QueuedItemHandler handler = new QueuedItemHandler();
|
||||||
|
|
||||||
public ItemGenBlockEntity(BlockEntityType<?> tileEntityTypeIn) {
|
public ItemGenBlockEntity(BlockEntityType<?> tileEntityTypeIn) {
|
||||||
super(tileEntityTypeIn);
|
super(tileEntityTypeIn);
|
||||||
@@ -77,22 +78,24 @@ public class ItemGenBlockEntity extends AEBaseBlockEntity {
|
|||||||
to.offer(handler);
|
to.offer(handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
class QueuedItemHandler implements ItemExtractable {
|
static class QueuedItemHandler implements FixedItemInv {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack attemptExtraction(ItemFilter itemFilter, int maxAmount, Simulation simulation) {
|
public ItemExtractable getExtractable() {
|
||||||
// When item filter asks for a specific item, just return that
|
return (itemFilter, i, simulation) -> {
|
||||||
if (itemFilter instanceof ExactItemStackFilter) {
|
// When item filter asks for a specific item, just return that
|
||||||
return ((ExactItemStackFilter) itemFilter).stack.copy();
|
if (itemFilter instanceof ExactItemStackFilter) {
|
||||||
}
|
return ((ExactItemStackFilter) itemFilter).stack.copy();
|
||||||
|
}
|
||||||
|
|
||||||
final ItemStack is = POSSIBLE_ITEMS.peek();
|
final ItemStack is = POSSIBLE_ITEMS.peek();
|
||||||
|
|
||||||
if (is == null || !itemFilter.matches(is)) {
|
if (is == null || !itemFilter.matches(is)) {
|
||||||
return ItemStack.EMPTY;
|
return ItemStack.EMPTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
return simulation == Simulation.SIMULATE ? is.copy() : this.getNextItem();
|
return simulation == Simulation.SIMULATE ? is.copy() : getNextItem();
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private ItemStack getNextItem() {
|
private ItemStack getNextItem() {
|
||||||
@@ -101,7 +104,28 @@ public class ItemGenBlockEntity extends AEBaseBlockEntity {
|
|||||||
POSSIBLE_ITEMS.add(is);
|
POSSIBLE_ITEMS.add(is);
|
||||||
return is.copy();
|
return is.copy();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
;
|
@Override
|
||||||
|
public int getSlotCount() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack getInvStack(int i) {
|
||||||
|
return POSSIBLE_ITEMS.peek().copy();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isItemValidForSlot(int i, ItemStack itemStack) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setInvStack(int i, ItemStack itemStack, Simulation simulation) {
|
||||||
|
if (itemStack.isEmpty()) {
|
||||||
|
getNextItem(); // Go to next item
|
||||||
|
}
|
||||||
|
return itemStack.isEmpty();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user