Skip to content

Commit e6d8a81

Browse files
committed
Reintroduce JEI compat (9.0.0.40) and a few non-MC tests
1 parent e59087a commit e6d8a81

File tree

15 files changed

+123
-283
lines changed

15 files changed

+123
-283
lines changed

build-1.18.gradle

Lines changed: 0 additions & 178 deletions
This file was deleted.

build.gradle

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,15 @@ sourceSets {
5959
compileClasspath += sourceSets.api.output
6060
}
6161

62+
test {
63+
java { srcDir "src/main/test" }
64+
65+
runtimeClasspath += sourceSets.api.output
66+
compileClasspath += sourceSets.api.output
67+
runtimeClasspath += sourceSets.main.output
68+
compileClasspath += sourceSets.main.output
69+
}
70+
6271
// test {
6372
// compileClasspath += sourceSets.api.output
6473
// compileClasspath += sourceSets.main.output
@@ -254,6 +263,7 @@ dependencies {
254263
// The userdev artifact is a special name and will get all sorts of transformations applied to it.
255264
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
256265

266+
testImplementation("org.junit.jupiter:junit-jupiter:5.8.2")
257267
// testImplementation fg.deobf("com.github.alcatrazEscapee:mcjunitlib:${mcunittest_version}")
258268

259269
library "io.reactivex.rxjava3:rxjava:3.1.1";
@@ -265,8 +275,8 @@ dependencies {
265275
runtimeOnly(fg.deobf("curse.maven:shutupexperimental-407174:3544525"))
266276

267277
// JEI
268-
// compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}:api")
269-
// runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}")
278+
compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}:api")
279+
runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}")
270280

271281
// The One Probe
272282
// compileOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-1.16:${top_version}:api")
@@ -386,8 +396,6 @@ publishing {
386396
}
387397
}
388398

389-
//test {
390-
// useJUnitPlatform() {
391-
// excludeTags "minecraft"
392-
// }
393-
//}
399+
test {
400+
useJUnitPlatform()
401+
}

dev.gradle

Whitespace-only changes.

gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ org.gradle.jvmargs=-Xmx3G
44
org.gradle.daemon=false
55

66
minecraft_version=1.18
7-
forge_version=38.0.12
7+
forge_version=38.0.14
88

99
mod_id=compactcrafting
10-
mod_version=2.0.0
10+
mod_version=2.0.0-beta.1
1111

1212
# Dependencies and Libs
13-
#jei_version=7.7.1.110
13+
jei_version=9.0.0.40
1414
#top_version=1.16-3.1.4-22
1515
#mcunittest_version=1.8.1-1.16.5
1616

settings.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
rootProject.name = "Compact Crafting ${mod_version}"

1.16.5-compat/jei/JeiMiniaturizationCraftingCategory.java renamed to src/main/java/dev/compactmods/crafting/compat/jei/JeiMiniaturizationCraftingCategory.java

Lines changed: 39 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,21 @@
44
import java.util.*;
55
import java.util.concurrent.atomic.AtomicInteger;
66
import java.util.stream.IntStream;
7-
import com.mojang.blaze3d.vertex.PoseStack;
7+
import com.mojang.blaze3d.platform.Window;
88
import com.mojang.blaze3d.systems.RenderSystem;
9+
import com.mojang.blaze3d.vertex.PoseStack;
10+
import com.mojang.math.Matrix4f;
11+
import com.mojang.math.Quaternion;
912
import dev.compactmods.crafting.CompactCrafting;
10-
import dev.compactmods.crafting.Registration;
13+
import dev.compactmods.crafting.api.components.IRecipeBlockComponent;
14+
import dev.compactmods.crafting.api.components.IRecipeComponents;
15+
import dev.compactmods.crafting.api.recipe.layers.IRecipeLayer;
1116
import dev.compactmods.crafting.client.fakeworld.RenderingWorld;
12-
import dev.compactmods.crafting.client.render.CCRenderTypes;
17+
import dev.compactmods.crafting.client.ui.ScreenArea;
18+
import dev.compactmods.crafting.core.CCBlocks;
1319
import dev.compactmods.crafting.recipes.MiniaturizationRecipe;
1420
import dev.compactmods.crafting.recipes.components.BlockComponent;
15-
import dev.compactmods.crafting.client.ui.ScreenArea;
1621
import dev.compactmods.crafting.util.BlockSpaceUtil;
17-
import dev.compactmods.crafting.api.components.IRecipeBlockComponent;
18-
import dev.compactmods.crafting.api.components.IRecipeComponents;
19-
import dev.compactmods.crafting.api.recipe.layers.IRecipeLayer;
2022
import mezz.jei.api.constants.VanillaTypes;
2123
import mezz.jei.api.gui.IRecipeLayout;
2224
import mezz.jei.api.gui.drawable.IDrawable;
@@ -25,30 +27,29 @@
2527
import mezz.jei.api.helpers.IGuiHelper;
2628
import mezz.jei.api.ingredients.IIngredients;
2729
import mezz.jei.api.recipe.category.IRecipeCategory;
28-
import net.minecraft.world.level.block.state.BlockState;
29-
import com.mojang.blaze3d.platform.Window;
30+
import net.minecraft.ChatFormatting;
3031
import net.minecraft.client.Minecraft;
31-
import net.minecraft.client.resources.sounds.SimpleSoundInstance;
32-
import net.minecraft.client.sounds.SoundManager;
3332
import net.minecraft.client.gui.GuiComponent;
34-
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
33+
import net.minecraft.client.renderer.GameRenderer;
34+
import net.minecraft.client.renderer.LightTexture;
3535
import net.minecraft.client.renderer.MultiBufferSource;
36+
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
3637
import net.minecraft.client.renderer.texture.OverlayTexture;
37-
import net.minecraft.client.resources.language.I18n;
38+
import net.minecraft.client.resources.sounds.SimpleSoundInstance;
39+
import net.minecraft.client.sounds.SoundManager;
40+
import net.minecraft.core.BlockPos;
41+
import net.minecraft.network.chat.Component;
42+
import net.minecraft.network.chat.MutableComponent;
43+
import net.minecraft.network.chat.TranslatableComponent;
44+
import net.minecraft.resources.ResourceLocation;
45+
import net.minecraft.sounds.SoundEvents;
3846
import net.minecraft.world.item.Item;
3947
import net.minecraft.world.item.ItemStack;
4048
import net.minecraft.world.item.Items;
4149
import net.minecraft.world.level.block.entity.BlockEntity;
42-
import net.minecraft.resources.ResourceLocation;
43-
import net.minecraft.sounds.SoundEvents;
50+
import net.minecraft.world.level.block.state.BlockState;
4451
import net.minecraft.world.phys.AABB;
45-
import net.minecraft.core.BlockPos;
46-
import com.mojang.math.Matrix4f;
47-
import com.mojang.math.Quaternion;
4852
import net.minecraft.world.phys.Vec3;
49-
import net.minecraft.network.chat.MutableComponent;
50-
import net.minecraft.ChatFormatting;
51-
import net.minecraft.network.chat.TranslatableComponent;
5253
import net.minecraftforge.client.model.data.EmptyModelData;
5354
import net.minecraftforge.client.model.data.IModelData;
5455
import org.lwjgl.BufferUtils;
@@ -91,7 +92,7 @@ public JeiMiniaturizationCraftingCategory(IGuiHelper guiHelper) {
9192
this.guiHelper = guiHelper;
9293
this.background = guiHelper.createBlankDrawable(width, height);
9394
this.slotDrawable = guiHelper.getSlotDrawable();
94-
this.icon = guiHelper.createDrawableIngredient(new ItemStack(Registration.FIELD_PROJECTOR_BLOCK.get()));
95+
this.icon = guiHelper.createDrawableIngredient(new ItemStack(CCBlocks.FIELD_PROJECTOR_BLOCK.get()));
9596
this.arrowOutputs = guiHelper.createDrawable(new ResourceLocation(CompactCrafting.MOD_ID, "textures/gui/jei-arrow-outputs.png"), 0, 0, 24, 19);
9697

9798
this.blocks = Minecraft.getInstance().getBlockRenderer();
@@ -110,8 +111,8 @@ public Class<? extends MiniaturizationRecipe> getRecipeClass() {
110111
}
111112

112113
@Override
113-
public String getTitle() {
114-
return I18n.get(CompactCrafting.MOD_ID + ".jei.miniaturization.title");
114+
public Component getTitle() {
115+
return new TranslatableComponent(CompactCrafting.MOD_ID + ".jei.miniaturization.title");
115116
}
116117

117118
@Override
@@ -308,12 +309,12 @@ private void drawScaledTexture(
308309
int uWidth, int vHeight,
309310
int textureWidth, int textureHeight) {
310311

311-
Minecraft minecraft = Minecraft.getInstance();
312-
minecraft.getTextureManager().bind(texture);
312+
RenderSystem.setShader(GameRenderer::getPositionTexShader);
313+
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
314+
RenderSystem.setShaderTexture(0, texture);
313315

314316
RenderSystem.enableDepthTest();
315-
GuiComponent.blit(matrixStack, area.x, area.y, area.width, area.height,
316-
u, v, uWidth, vHeight, textureWidth, textureHeight);
317+
GuiComponent.blit(matrixStack, area.x, area.y, area.width, area.height, u, v, uWidth, vHeight, textureWidth, textureHeight);
317318
}
318319

319320
//endregion
@@ -510,11 +511,9 @@ private void renderComponent(PoseStack mx, MultiBufferSource.BufferSource buffer
510511
return;
511512

512513
BlockState state1 = state.getRenderState();
513-
// Thanks Immersive, Astral, and others
514-
MultiBufferSource light = CCRenderTypes.disableLighting(buffers);
515514

516515
IModelData data = EmptyModelData.INSTANCE;
517-
if (previewLevel != null && state1.hasTileEntity()) {
516+
if (previewLevel != null && state1.hasBlockEntity()) {
518517
// create fake world instance
519518
// get tile entity - extend EmptyBlockReader with impl
520519
BlockEntity be = previewLevel.getBlockEntity(filledPos);
@@ -523,10 +522,16 @@ private void renderComponent(PoseStack mx, MultiBufferSource.BufferSource buffer
523522
}
524523

525524
try {
526-
blocks.renderBlock(state1,
525+
// final RenderBuffers buffs = Minecraft.getInstance().renderBuffers();
526+
// final BufferBuilder builder = buffs.fixedBufferPack().builder(RenderType.solid());
527+
// builder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.BLOCK);
528+
// blocks.renderBatched(state1, BlockPos.ZERO, this.previewLevel, mx, builder, false, this.previewLevel.random, data);
529+
// builder.end();
530+
531+
blocks.renderSingleBlock(state1,
527532
mx,
528-
light,
529-
0xf000f0,
533+
buffers,
534+
LightTexture.FULL_SKY,
530535
OverlayTexture.NO_OVERLAY,
531536
data);
532537
} catch (Exception e) {

0 commit comments

Comments
 (0)