From 485b15082eb3c1ee031cd7905cc5803c7deaa63b Mon Sep 17 00:00:00 2001 From: TGdoesCode Date: Mon, 9 Mar 2026 11:27:09 +0100 Subject: [PATCH] pici szar --- gradle.properties | 2 +- .../tggamesyt/szar/client/RouletteScreen.java | 18 ++++++++--- .../tggamesyt/szar/RouletteBlockEntity.java | 4 +-- .../tggamesyt/szar/RouletteScreenHandler.java | 6 ++-- src/main/java/dev/tggamesyt/szar/Szar.java | 8 ++--- .../assets/szar/textures/gui/roulette.png | Bin 4895 -> 5139 bytes .../minecraft/tags/blocks/mineable/axe.json | 6 ++++ .../szar/loot_tables/blocks/roulette.json | 14 +++++++++ .../szar/loot_tables/blocks/slot_machine.json | 14 +++++++++ .../resources/data/szar/recipes/roulette.json | 29 ++++++++++++++++++ .../data/szar/recipes/slot_machine.json | 26 ++++++++++++++++ .../data/szar/tags/items/lucky_items.json | 14 +++++++++ 12 files changed, 126 insertions(+), 15 deletions(-) create mode 100644 src/main/resources/data/minecraft/tags/blocks/mineable/axe.json create mode 100644 src/main/resources/data/szar/loot_tables/blocks/roulette.json create mode 100644 src/main/resources/data/szar/loot_tables/blocks/slot_machine.json create mode 100644 src/main/resources/data/szar/recipes/roulette.json create mode 100644 src/main/resources/data/szar/recipes/slot_machine.json create mode 100644 src/main/resources/data/szar/tags/items/lucky_items.json diff --git a/gradle.properties b/gradle.properties index b1dfe88..230647f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.20.1 yarn_mappings=1.20.1+build.10 loader_version=0.18.3 # Mod Properties -mod_version=26.3.8 +mod_version=26.3.9 maven_group=dev.tggamesyt archives_base_name=szar # Dependencies diff --git a/src/client/java/dev/tggamesyt/szar/client/RouletteScreen.java b/src/client/java/dev/tggamesyt/szar/client/RouletteScreen.java index fb6877a..fc2696d 100644 --- a/src/client/java/dev/tggamesyt/szar/client/RouletteScreen.java +++ b/src/client/java/dev/tggamesyt/szar/client/RouletteScreen.java @@ -64,7 +64,7 @@ public class RouletteScreen extends HandledScreen { this.handler = handler; this.blockEntity = handler.blockEntity; this.backgroundWidth = 326; - this.backgroundHeight = 194; + this.backgroundHeight = 240; this.inventory = inventory; } @@ -217,17 +217,17 @@ public class RouletteScreen extends HandledScreen { int guiLeft = (width - backgroundWidth) / 2; int guiTop = (height - backgroundHeight) / 2; context.drawText(textRenderer, Text.literal(spinString), - guiLeft + 190, guiTop + 115, 0x373737, false); + guiLeft + 190, guiTop + 115, 0x404040, false); } protected void drawWheel(DrawContext context) { int cx = ((width - backgroundWidth) / 2) + 255; - int cy = ((height - backgroundHeight) / 2) + 155; + int cy = ((height - backgroundHeight) / 2) + 180; Identifier wheelTex = new Identifier(Szar.MOD_ID, "textures/gui/roulette_wheel.png"); Identifier ballTex = new Identifier(Szar.MOD_ID, "textures/gui/roulette_ball.png"); - int imgWidth = 64; - int imgHeight = 64; + int imgWidth = 128; + int imgHeight = 128; context.getMatrices().push(); context.getMatrices().translate(cx, cy, 0); @@ -263,6 +263,14 @@ public class RouletteScreen extends HandledScreen { return super.mouseClicked(mouseX, mouseY, button); } + @Override + protected void drawForeground(DrawContext context, int mouseX, int mouseY) { + // Draw title (top left) + context.drawText(textRenderer, title, titleX, titleY, 0x404040, false); + // Draw "Inventory" label — move it down by changing the Y + context.drawText(textRenderer, playerInventoryTitle, playerInventoryTitleX, playerInventoryTitleY + 73, 0x404040, false); + } + @Override public void removed() { super.removed(); diff --git a/src/main/java/dev/tggamesyt/szar/RouletteBlockEntity.java b/src/main/java/dev/tggamesyt/szar/RouletteBlockEntity.java index 28fca7d..c007852 100644 --- a/src/main/java/dev/tggamesyt/szar/RouletteBlockEntity.java +++ b/src/main/java/dev/tggamesyt/szar/RouletteBlockEntity.java @@ -40,9 +40,9 @@ public class RouletteBlockEntity extends BlockEntity { "red", "black", "red", "black", "red", // 1-5 "black", "red", "black", "red", "black",// 6-10 "black", "red", "black", "red", "black",// 11-15 - "red", "black", "red", "black", "black",// 16-20 + "red", "black", "red", "red", "black",// 16-20 "red", "black", "red", "black", "red", // 21-25 - "black", "red", "red", "black", "red", // 26-30 + "black", "red", "black", "black", "red", // 26-30 "black", "red", "black", "red", "black",// 31-35 "red" // 36 }; diff --git a/src/main/java/dev/tggamesyt/szar/RouletteScreenHandler.java b/src/main/java/dev/tggamesyt/szar/RouletteScreenHandler.java index f039a78..36b4608 100644 --- a/src/main/java/dev/tggamesyt/szar/RouletteScreenHandler.java +++ b/src/main/java/dev/tggamesyt/szar/RouletteScreenHandler.java @@ -13,8 +13,8 @@ public class RouletteScreenHandler extends ScreenHandler { public final RouletteBlockEntity blockEntity; public static final int SLOT_SIZE = 18; - public static final int GRID_START_X = 60; - public static final int GRID_START_Y = 8; + public static final int GRID_START_X = 50; + public static final int GRID_START_Y = 7; private static int gx(int col) { return GRID_START_X + (col - 1) * SLOT_SIZE; } private static int gy(int row) { return GRID_START_Y + (row - 1) * SLOT_SIZE; } @@ -87,7 +87,7 @@ public class RouletteScreenHandler extends ScreenHandler { this.addSlot(new BetSlot(inv.thirds, 2, gx(14), gy(3))); // === Player inventory === - int playerInvY = GRID_START_Y + 5 * SLOT_SIZE + 14; + int playerInvY = GRID_START_Y + 5 * SLOT_SIZE + 60; for (int y = 0; y < 3; y++) for (int x = 0; x < 9; x++) this.addSlot(new Slot(playerInv, x + y * 9 + 9, 8 + x * 18, playerInvY + y * 18)); diff --git a/src/main/java/dev/tggamesyt/szar/Szar.java b/src/main/java/dev/tggamesyt/szar/Szar.java index c16f806..73f340c 100644 --- a/src/main/java/dev/tggamesyt/szar/Szar.java +++ b/src/main/java/dev/tggamesyt/szar/Szar.java @@ -876,8 +876,8 @@ public class Szar implements ModInitializer { Registries.BLOCK, new Identifier(MOD_ID, "roulette"), new RouletteBlock( - AbstractBlock.Settings - .copy(Blocks.IRON_BLOCK) + FabricBlockSettings.create() + .strength(2.0f, 3.0f) ) ); public static final BlockEntityType ROULETTE_BLOCKENTITY = Registry.register( @@ -1001,8 +1001,8 @@ public class Szar implements ModInitializer { Registries.BLOCK, new Identifier(MOD_ID, "slot_machine"), new SlotMachineBlock( - AbstractBlock.Settings - .copy(Blocks.IRON_BLOCK) + FabricBlockSettings.create() + .strength(2.0f, 3.0f) ) ); public static final BlockEntityType SLOT_MACHINE_BLOCKENTITY = Registry.register( diff --git a/src/main/resources/assets/szar/textures/gui/roulette.png b/src/main/resources/assets/szar/textures/gui/roulette.png index bb27ed996e269e460a78dc3cf99fde6bfb9264cd..c0debe36321d7eb207b0f717798811d4ee344a99 100644 GIT binary patch literal 5139 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 literal 4895 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