Skip to content

Commit 8f4c173

Browse files
MC 1.20 port
1 parent 95ee7ed commit 8f4c173

File tree

48 files changed

+304
-341
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+304
-341
lines changed

build.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ dependencies {
5656

5757
// Fabric API. This is technically optional, but you probably want it anyway.
5858
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
59+
60+
61+
// Dependancies
5962
modImplementation "com.terraformersmc:modmenu:${project.modmenu_version}"
6063
modApi("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}") {
6164
exclude(group: "net.fabricmc.fabric-api")

gradle.properties

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
org.gradle.jvmargs=-Xmx2048m
22
# Fabric Properties
33
# check these on https://fabricmc.net/develop/
4-
minecraft_version=1.19.4
5-
yarn_mappings=1.19.4+build.1
6-
loader_version=0.14.17
4+
minecraft_version=1.20-rc1
5+
yarn_mappings=1.20-rc1+build.2
6+
loader_version=0.14.21
77

88
# Mod Properties
99
mod_version = 1.8.1
1010
maven_group = me.juancarloscp52
1111
archives_base_name = bedrockify
1212

1313
# Dependencies
14-
fabric_version=0.76.0+1.19.4
15-
modmenu_version=6.1.0-rc.2
16-
cloth_config_version=10.0.96
14+
fabric_version=0.83.0+1.20
15+
modmenu_version=7.0.0-beta.2
16+
cloth_config_version=11.0.98
1717
apple_skin=mc1.19.4-2.4.3
1818
iris_version=1.5.1+1.19.3
1919
sodium_version=mc1.19.3-0.4.9
20-
fastload_version=3.3.3
20+
fastload_version=3.4.0

src/main/java/me/juancarloscp52/bedrockify/client/BedrockifyClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ public void onInitializeClient() {
139139
});
140140
});
141141

142-
HudRenderCallback.EVENT.register((matrixStack, tickDelta) -> BedrockifyClient.getInstance().overlay.renderOverlay(matrixStack));
142+
HudRenderCallback.EVENT.register((drawContext, tickDelta) -> BedrockifyClient.getInstance().overlay.renderOverlay(drawContext));
143143
ClientTickEvents.END_CLIENT_TICK.register(client-> {
144144
while (keyBinding.wasPressed()){
145145
client.setScreen(settingsGUI.getConfigScreen(client.currentScreen,true));

src/main/java/me/juancarloscp52/bedrockify/client/features/bedrockShading/BedrockBlockShading.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public float getBlockShade (Direction direction){
1313
MinecraftClient client = MinecraftClient.getInstance();
1414
return switch (direction) {
1515
case UP -> 1.0f;
16-
case DOWN -> client.player.world.getRegistryKey() == World.NETHER ? 0.9f : 0.87f;
16+
case DOWN -> client.player.getWorld().getRegistryKey() == World.NETHER ? 0.9f : 0.87f;
1717
case NORTH, SOUTH -> 0.95f;
1818
default -> 0.9f;
1919
};

src/main/java/me/juancarloscp52/bedrockify/client/features/heldItemTooltips/HeldItemTooltips.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@
99
import me.juancarloscp52.bedrockify.client.features.heldItemTooltips.tooltip.Tooltip;
1010
import net.minecraft.client.MinecraftClient;
1111
import net.minecraft.client.font.TextRenderer;
12-
import net.minecraft.client.gui.DrawableHelper;
12+
import net.minecraft.client.gui.DrawContext;
1313
import net.minecraft.client.item.BundleTooltipData;
1414
import net.minecraft.client.item.TooltipContext;
1515
import net.minecraft.client.network.ClientPlayerEntity;
16-
import net.minecraft.client.util.math.MatrixStack;
1716
import net.minecraft.enchantment.Enchantment;
1817
import net.minecraft.enchantment.EnchantmentHelper;
1918
import net.minecraft.entity.LivingEntity;
@@ -35,7 +34,7 @@ public class HeldItemTooltips {
3534

3635
private final int tooltipSize = 6;
3736

38-
public int drawItemWithCustomTooltips(TextRenderer fontRenderer, MatrixStack matrices, Text text, float x, float y, int color, ItemStack currentStack) {
37+
public int drawItemWithCustomTooltips(DrawContext drawContext, TextRenderer fontRenderer, Text text, float x, float y, int color, ItemStack currentStack) {
3938
final BedrockifyClientSettings settings = BedrockifyClient.getInstance().settings;
4039
final int screenBorder = settings.getScreenSafeArea();
4140
int tooltipOffset = 0;
@@ -77,19 +76,19 @@ public int drawItemWithCustomTooltips(TextRenderer fontRenderer, MatrixStack mat
7776
tooltipOffset = 12 * tooltips.size();
7877
//Render background behind tooltip.
7978
int maxLength = getMaxTooltipLength(tooltips,fontRenderer,currentStack);
80-
renderBackground(matrices, y, screenBorder, tooltipOffset, maxLength, color >> 24 & 0xff);
79+
renderBackground(drawContext, y, screenBorder, tooltipOffset, maxLength, color >> 24 & 0xff);
8180

8281

8382
int i = tooltips.size() - 1;
8483
for (Text elem : tooltips) {
8584
// Render the tooltip.
86-
renderTooltip(fontRenderer, matrices, y - screenBorder - (12 * i), color, ((MutableText)elem).formatted(Formatting.GRAY));
85+
renderTooltip(drawContext, fontRenderer, y - screenBorder - (12 * i), color, ((MutableText)elem).formatted(Formatting.GRAY));
8786
--i;
8887
}
8988
}
9089

9190
// Render the item name.
92-
return fontRenderer.drawWithShadow(matrices, text, x, y - tooltipOffset - screenBorder, color);
91+
return drawContext.drawTextWithShadow(fontRenderer, text, (int)x, (int)(y - tooltipOffset - screenBorder), color);
9392
}
9493

9594
/**
@@ -175,20 +174,20 @@ private static void generateTooltipsForPotion(List<Text> texts, List<Tooltip> in
175174
texts.forEach((current) -> instance.add(new PotionTooltip(current)));
176175
}
177176

178-
private void renderBackground(MatrixStack matrices, float y, int screenBorder, int tooltipOffset, int maxLength, int alpha) {
177+
private void renderBackground(DrawContext drawContext, float y, int screenBorder, int tooltipOffset, int maxLength, int alpha) {
179178
MinecraftClient client = MinecraftClient.getInstance();
180179
int background = MathHelper.lerp(alpha / 255f, 0, MathHelper.ceil((255.0D * BedrockifyClient.getInstance().settings.heldItemTooltipBackground))) << 24;
181-
DrawableHelper.fill(matrices, MathHelper.ceil((client.getWindow().getScaledWidth()-maxLength)/2f-3),MathHelper.ceil(y - tooltipOffset -5- screenBorder), MathHelper.ceil((client.getWindow().getScaledWidth()+maxLength)/2f+1),MathHelper.ceil(y - tooltipOffset -4- screenBorder),background);
182-
DrawableHelper.fill(matrices,MathHelper.ceil((client.getWindow().getScaledWidth()-maxLength)/2f-3),MathHelper.ceil(y+12-screenBorder), MathHelper.ceil((client.getWindow().getScaledWidth()+maxLength)/2f+1),MathHelper.ceil(y+13-screenBorder),background);
183-
DrawableHelper.fill(matrices,MathHelper.ceil((client.getWindow().getScaledWidth()-maxLength)/2f-4), MathHelper.ceil(y - tooltipOffset -4- screenBorder),MathHelper.ceil((client.getWindow().getScaledWidth()+maxLength)/2f+2), MathHelper.ceil(y+12-screenBorder),background);
180+
drawContext.fill(MathHelper.ceil((client.getWindow().getScaledWidth()-maxLength)/2f-3),MathHelper.ceil(y - tooltipOffset -5- screenBorder), MathHelper.ceil((client.getWindow().getScaledWidth()+maxLength)/2f+1),MathHelper.ceil(y - tooltipOffset -4- screenBorder),background);
181+
drawContext.fill(MathHelper.ceil((client.getWindow().getScaledWidth()-maxLength)/2f-3),MathHelper.ceil(y+12-screenBorder), MathHelper.ceil((client.getWindow().getScaledWidth()+maxLength)/2f+1),MathHelper.ceil(y+13-screenBorder),background);
182+
drawContext.fill(MathHelper.ceil((client.getWindow().getScaledWidth()-maxLength)/2f-4), MathHelper.ceil(y - tooltipOffset -4- screenBorder),MathHelper.ceil((client.getWindow().getScaledWidth()+maxLength)/2f+2), MathHelper.ceil(y+12-screenBorder),background);
184183
}
185184

186185
/**
187186
* Renders an item tooltip with the given text and height in screen.
188187
*/
189-
private void renderTooltip(TextRenderer fontRenderer, MatrixStack matrices, float y, int color, Text text) {
188+
private void renderTooltip(DrawContext drawContext, TextRenderer fontRenderer, float y, int color, Text text) {
190189
int enchantX = (MinecraftClient.getInstance().getWindow().getScaledWidth() - fontRenderer.getWidth(text)) / 2;
191-
fontRenderer.drawWithShadow(matrices, text, enchantX, y, color);
190+
drawContext.drawTextWithShadow(fontRenderer, text, enchantX, (int)y, color);
192191
}
193192

194193
private int getMaxTooltipLength(List<Text> tooltips, TextRenderer textRenderer, ItemStack itemStack){

src/main/java/me/juancarloscp52/bedrockify/client/features/loadingScreens/LoadingScreenWidget.java

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@
55
import com.mojang.blaze3d.systems.RenderSystem;
66
import net.minecraft.client.MinecraftClient;
77
import net.minecraft.client.font.TextRenderer;
8-
import net.minecraft.client.gui.DrawableHelper;
8+
import net.minecraft.client.gui.DrawContext;
99
import net.minecraft.client.gui.LogoDrawer;
10-
import net.minecraft.client.util.math.MatrixStack;
1110
import net.minecraft.text.OrderedText;
1211
import net.minecraft.text.Text;
1312
import net.minecraft.util.Identifier;
@@ -17,7 +16,7 @@
1716
import java.util.Random;
1817

1918

20-
public class LoadingScreenWidget extends DrawableHelper {
19+
public class LoadingScreenWidget {
2120

2221
private static LoadingScreenWidget instance = null;
2322
private static final int TIPS_NUM = 62;
@@ -64,43 +63,42 @@ private Text getTip() {
6463

6564
/**
6665
* Renders the bedrockify loading screen.
67-
* @param matrices Current MatrixStack.
66+
* @param drawContext Current draw context.
6867
* @param width window width
6968
* @param height window height
7069
* @param title Title of the loading screen.
7170
* @param message Message of the loading screen. Set to null to use a random tip.
7271
* @param progress Loading screen progress. Set to -1 is the screen has no progress bar.
7372
*/
74-
public void render(MatrixStack matrices, int width, int height, Text title, Text message, int progress) {
73+
public void render(DrawContext drawContext, int width, int height, Text title, Text message, int progress) {
7574
MinecraftClient client = MinecraftClient.getInstance();
7675

77-
logoDrawer.draw(matrices,client.getWindow().getScaledWidth(),1,(height/2) - (89 / 2));
78-
renderLoadingWidget(matrices, width, height);
76+
logoDrawer.draw(drawContext,client.getWindow().getScaledWidth(),1,(height/2) - (89 / 2));
77+
renderLoadingWidget(drawContext, width, height);
7978

8079
TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
81-
textRenderer.draw(matrices, title, width - textRenderer.getWidth(title) / 2, height - 9 / 2 - 32, 76 + (76 << 8) + (76 << 16));
82-
renderTextBody(matrices, width, height, message, textRenderer);
80+
drawContext.drawText(textRenderer, title, width - textRenderer.getWidth(title) / 2, height - 9 / 2 - 32, 76 + (76 << 8) + (76 << 16),false);
81+
renderTextBody(drawContext, width, height, message, textRenderer);
8382

8483
if (progress >= 0) {
85-
renderLoadingBar(matrices, width, height, progress);
84+
renderLoadingBar(drawContext, width, height, progress);
8685
}
8786
}
8887

89-
private void renderLoadingWidget(MatrixStack matrices, int x, int y) {
90-
RenderSystem.setShaderTexture(0,WIDGET_TEXTURE);
88+
private void renderLoadingWidget(DrawContext drawContext, int x, int y) {
9189
RenderSystem.enableBlend();
9290
RenderSystem.blendFunc(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA);
93-
DrawableHelper.drawTexture(matrices, x - 256 / 2, y - 89 / 2, 0, 0, 256, 89);
91+
drawContext.drawTexture(WIDGET_TEXTURE, x - 256 / 2, y - 89 / 2, 0, 0, 256, 89);
9492
}
9593

9694

97-
private void renderTextBody(MatrixStack matrices, int x, int y, Text message, TextRenderer textRenderer) {
95+
private void renderTextBody(DrawContext drawContext, int x, int y, Text message, TextRenderer textRenderer) {
9896
if (message == null)
9997
message = getTip();
10098
List<OrderedText> text = textRenderer.wrapLines(message, 230);
10199
int maxLineWidth = getMaxLineWidth(textRenderer, text);
102100
for (int i = 0; i < 4 && i < text.size(); i++) {
103-
textRenderer.draw(matrices, text.get(i), x - maxLineWidth / 2, y - 15 + (i * 9), 16777215);
101+
drawContext.drawText(textRenderer, text.get(i), x - maxLineWidth / 2, y - 15 + (i * 9), 16777215,false);
104102
}
105103

106104
}
@@ -116,12 +114,11 @@ private int getMaxLineWidth(TextRenderer textRenderer, List<OrderedText> text) {
116114
}
117115

118116

119-
private void renderLoadingBar(MatrixStack matrices, int x, int y, int progress) {
120-
RenderSystem.setShaderTexture(0,WIDGET_TEXTURE);
117+
private void renderLoadingBar(DrawContext drawContext, int x, int y, int progress) {
121118
int barProgress = (int) ((MathHelper.clamp(progress,0,100)/100.0f) * 223.0f);
122-
DrawableHelper.drawTexture(matrices, x - 111, y + 26, 0, 89, 222, 5);
119+
drawContext.drawTexture(WIDGET_TEXTURE, x - 111, y + 26, 0, 89, 222, 5);
123120
if (barProgress > 0)
124-
DrawableHelper.drawTexture(matrices, x - 111, y + 26, 0, 94, barProgress, 5);
121+
drawContext.drawTexture(WIDGET_TEXTURE, x - 111, y + 26, 0, 94, barProgress, 5);
125122
}
126123

127124
}

src/main/java/me/juancarloscp52/bedrockify/client/features/panoramaBackground/BedrockifyRotatingCubeMapRenderer.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
import me.juancarloscp52.bedrockify.mixin.client.features.panoramaBackground.RotatingCubeMapRendererAccessor;
66
import net.minecraft.client.MinecraftClient;
77
import net.minecraft.client.gui.CubeMapRenderer;
8-
import net.minecraft.client.gui.DrawableHelper;
8+
import net.minecraft.client.gui.DrawContext;
99
import net.minecraft.client.gui.RotatingCubeMapRenderer;
1010
import net.minecraft.client.gui.screen.TitleScreen;
1111
import net.minecraft.client.util.Window;
12-
import net.minecraft.client.util.math.MatrixStack;
1312
import net.minecraft.util.Identifier;
1413
import net.minecraft.util.Util;
1514
import net.minecraft.util.math.MathHelper;
@@ -37,27 +36,24 @@ public void addPanoramaTime(float delta){
3736
this.time += delta;
3837
}
3938

40-
public void render(){
41-
render(1, false);
39+
public void render(DrawContext drawContext){
40+
render(drawContext,1, false);
4241
}
4342

44-
public void render(float alpha, boolean titleScreen){
43+
public void render(DrawContext drawContext, float alpha, boolean titleScreen){
4544
this.cubeMap.draw(MinecraftClient.getInstance(), MathHelper.sin(time*0.001F)*5.0F + 25.0F,-this.time*0.1F,alpha);
4645
if(!titleScreen){
47-
MatrixStack matrices = new MatrixStack();
48-
RenderSystem.setShaderTexture(0,overlay);
4946
RenderSystem.enableBlend();
5047
RenderSystem.blendFunc(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA);
5148
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, this.doBackgroundFade ? (float)MathHelper.ceil(MathHelper.clamp(alpha, 0.0F, 1.0F)) : 1.0F);
5249
Window window = MinecraftClient.getInstance().getWindow();
53-
DrawableHelper.drawTexture(matrices, 0, 0, window.getScaledWidth(), window.getHeight(), 0.0F, 0.0F, 16, 128, 16, 128);
50+
drawContext.drawTexture(overlay, 0, 0, window.getScaledWidth(), window.getHeight(), 0.0F, 0.0F, 16, 128, 16, 128);
5451

5552
//Render panorama overlay
56-
RenderSystem.setShaderTexture(0, PANORAMA_OVERLAY);
5753
RenderSystem.enableBlend();
5854
float f = this.doBackgroundFade ? (float)(Util.getMeasuringTimeMs() - this.backgroundFadeStart) / 1000.0f : 1.0f;
5955
RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, this.doBackgroundFade ? (float)MathHelper.ceil(MathHelper.clamp(f, 0.0f, 1.0f)) : 1.0f);
60-
TitleScreen.drawTexture(matrices, 0, 0, MinecraftClient.getInstance().getWindow().getScaledWidth(), MinecraftClient.getInstance().getWindow().getScaledHeight(), 0.0f, 0.0f, 16, 128, 16, 128);
56+
drawContext.drawTexture(PANORAMA_OVERLAY, 0, 0, MinecraftClient.getInstance().getWindow().getScaledWidth(), MinecraftClient.getInstance().getWindow().getScaledHeight(), 0.0f, 0.0f, 16, 128, 16, 128);
6157
RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f);
6258
}
6359
}

src/main/java/me/juancarloscp52/bedrockify/client/features/paperDoll/PaperDoll.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import me.juancarloscp52.bedrockify.client.BedrockifyClient;
55
import me.juancarloscp52.bedrockify.client.BedrockifyClientSettings;
66
import net.minecraft.client.MinecraftClient;
7+
import net.minecraft.client.gui.DrawContext;
78
import net.minecraft.client.network.ClientPlayerEntity;
89
import net.minecraft.client.render.DiffuseLighting;
910
import net.minecraft.client.render.VertexConsumerProvider;
@@ -39,7 +40,7 @@ public PaperDoll(MinecraftClient client) {
3940
* Render the player at the top left of the screen.
4041
* The player will be rendered only when the player is not riding another entity, and it is sneaking, running, using elytra, using an item, underwater, or using a shield.
4142
*/
42-
public void renderPaperDoll(MatrixStack matrixStack) {
43+
public void renderPaperDoll(DrawContext drawContext) {
4344
settings = BedrockifyClient.getInstance().settings;
4445
if (!settings.isShowPaperDollEnabled())
4546
return;
@@ -63,18 +64,19 @@ public void renderPaperDoll(MatrixStack matrixStack) {
6364

6465
// If the difference between the current game ticks and showTicks is less than 100 ticks, draw the player entity.
6566
if ((!client.player.isRiding() && !client.player.isSleeping() && System.currentTimeMillis() - lastTimeShown < 2000))
66-
drawPaperDoll(matrixStack);
67+
drawPaperDoll(drawContext);
6768
}
6869
}
6970

7071
/**
7172
* Draw the player entity in the specified position on screen.
7273
*/
73-
private void drawPaperDoll(MatrixStack matrixStack) {
74+
private void drawPaperDoll(DrawContext drawContext) {
7475
ClientPlayerEntity player = client.player;
7576
if (player == null)
7677
return;
7778

79+
MatrixStack matrixStack = drawContext.getMatrices();
7880
matrixStack.push();
7981

8082
int renderPosY = posY;

src/main/java/me/juancarloscp52/bedrockify/client/features/reacharoundPlacement/ReachAroundPlacement.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,23 @@
44
import net.minecraft.block.BlockState;
55
import net.minecraft.block.FluidBlock;
66
import net.minecraft.client.MinecraftClient;
7+
import net.minecraft.client.gui.DrawContext;
78
import net.minecraft.client.network.ClientPlayerEntity;
8-
import net.minecraft.client.util.math.MatrixStack;
99
import net.minecraft.entity.Entity;
1010
import net.minecraft.util.hit.HitResult;
1111
import net.minecraft.util.math.BlockPos;
1212
import org.jetbrains.annotations.NotNull;
1313

14-
import static net.minecraft.client.gui.DrawableHelper.fill;
15-
1614
public class ReachAroundPlacement {
1715
private final MinecraftClient client;
1816

1917
public ReachAroundPlacement(MinecraftClient client) {
2018
this.client = client;
2119
}
2220

23-
public void renderIndicator(MatrixStack matrixStack) {
21+
public void renderIndicator(DrawContext drawContext) {
2422
if (BedrockifyClient.getInstance().settings.isReacharoundIndicatorEnabled() && BedrockifyClient.getInstance().settings.isReacharoundEnabled() && (client.isInSingleplayer() || BedrockifyClient.getInstance().settings.isReacharoundMultiplayerEnabled()) && this.canReachAround() ) {
25-
fill(matrixStack, (client.getWindow().getScaledWidth() / 2) - 5, (client.getWindow().getScaledHeight() / 2) + 5, (client.getWindow().getScaledWidth() / 2) + 4, (client.getWindow().getScaledHeight() / 2) + 6, (100 << 24) + (255 << 8));
23+
drawContext.fill((client.getWindow().getScaledWidth() / 2) - 5, (client.getWindow().getScaledHeight() / 2) + 5, (client.getWindow().getScaledWidth() / 2) + 4, (client.getWindow().getScaledHeight() / 2) + 6, (100 << 24) + (255 << 8));
2624
}
2725
}
2826

0 commit comments

Comments
 (0)