Changed reach upgrade recipes. Made radial menu smaller.

Cleaned up radial menu code.
Added russian language.
Tweaked cube icon.
This commit is contained in:
Christian Knaapen
2023-01-14 15:42:36 +01:00
parent 1cefbde37e
commit 22644195f0
9 changed files with 105 additions and 25 deletions

View File

@@ -12,7 +12,7 @@ apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
version = '1.18-2.37'
version = '1.18-2.38'
group = 'nl.requios.effortlessbuilding' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'effortlessbuilding'

View File

@@ -45,6 +45,8 @@ import nl.requios.effortlessbuilding.buildmode.ModeOptions.OptionEnum;
@MethodsReturnNonnullByDefault
public class RadialMenu extends Screen {
public static final RadialMenu instance = new RadialMenu();
private final Vector4f radialButtonColor = new Vector4f(0f, 0f, 0f, .5f);
private final Vector4f sideButtonColor = new Vector4f(.5f, .5f, .5f, .5f);
private final Vector4f highlightColor = new Vector4f(.6f, .8f, 1f, .6f);
@@ -56,15 +58,14 @@ public class RadialMenu extends Screen {
private final int descriptionTextColor = 0xdd888888;
private final int optionTextColor = 0xeeeeeeff;
private final double ringInnerEdge = 40;
private final double ringOuterEdge = 80;
private final double categoryLineOuterEdge = 42;
private final double textDistance = 90;
private final double buttonDistance = 120;
private final double ringInnerEdge = 30;
private final double ringOuterEdge = 65;
private final double categoryLineWidth = 1;
private final double textDistance = 75;
private final double buttonDistance = 105;
private final float fadeSpeed = 0.3f;
private final int descriptionHeight = 100;
public static final RadialMenu instance = new RadialMenu();
public BuildModeEnum switchTo = null;
public ActionEnum doAction = null;
public boolean performedActionUsingMouse;
@@ -164,7 +165,7 @@ public class RadialMenu extends Screen {
doAction = null;
//Draw buildmode backgrounds
drawRadialButtonBackgrounds(currentBuildMode, buffer, middleX, middleY, mouseXCenter, mouseYCenter, mouseRadians, ringInnerEdge, ringOuterEdge, quarterCircle, modes);
drawRadialButtonBackgrounds(currentBuildMode, buffer, middleX, middleY, mouseXCenter, mouseYCenter, mouseRadians, quarterCircle, modes);
//Draw action backgrounds
drawSideButtonBackgrounds(buffer, middleX, middleY, mouseXCenter, mouseYCenter, buttons);
@@ -173,14 +174,15 @@ public class RadialMenu extends Screen {
RenderSystem.disableBlend();
RenderSystem.enableTexture();
drawIcons(ms, tessellator, buffer, middleX, middleY, ringInnerEdge, ringOuterEdge, modes, buttons);
drawIcons(ms, middleX, middleY, modes, buttons);
drawTexts(ms, currentBuildMode, middleX, middleY, textDistance, buttonDistance, modes, buttons, options);
drawTexts(ms, currentBuildMode, middleX, middleY, modes, buttons, options);
ms.popPose();
}
private void drawRadialButtonBackgrounds(BuildModeEnum currentBuildMode, BufferBuilder buffer, double middleX, double middleY, double mouseXCenter, double mouseYCenter, double mouseRadians, double ringInnerEdge, double ringOuterEdge, double quarterCircle, ArrayList<MenuRegion> modes) {
private void drawRadialButtonBackgrounds(BuildModeEnum currentBuildMode, BufferBuilder buffer, double middleX, double middleY,
double mouseXCenter, double mouseYCenter, double mouseRadians, double quarterCircle, ArrayList<MenuRegion> modes) {
if (!modes.isEmpty()) {
final int totalModes = Math.max(3, modes.size());
final double fragment = Math.PI * 0.005; //gap between buttons in radians at inner edge
@@ -229,6 +231,7 @@ public class RadialMenu extends Screen {
//Category line
color = menuRegion.mode.category.color;
final double categoryLineOuterEdge = ringInnerEdge + categoryLineWidth;
final double x1m3 = Math.cos(beginRadians + fragment) * categoryLineOuterEdge;
final double x2m3 = Math.cos(endRadians - fragment) * categoryLineOuterEdge;
@@ -273,7 +276,7 @@ public class RadialMenu extends Screen {
}
}
private void drawIcons(PoseStack ms, Tesselator tessellator, BufferBuilder buffer, double middleX, double middleY, double ringInnerEdge, double ringOuterEdge, ArrayList<MenuRegion> modes, ArrayList<MenuButton> buttons) {
private void drawIcons(PoseStack ms, double middleX, double middleY, ArrayList<MenuRegion> modes, ArrayList<MenuButton> buttons) {
ms.pushPose();
RenderSystem.enableTexture();
RenderSystem.setShader(GameRenderer::getPositionColorTexShader);
@@ -302,7 +305,7 @@ public class RadialMenu extends Screen {
ms.popPose();
}
private void drawTexts(PoseStack ms, BuildModeEnum currentBuildMode, double middleX, double middleY, double textDistance, double buttonDistance, ArrayList<MenuRegion> modes, ArrayList<MenuButton> buttons, OptionEnum[] options) {
private void drawTexts(PoseStack ms, BuildModeEnum currentBuildMode, double middleX, double middleY, ArrayList<MenuRegion> modes, ArrayList<MenuButton> buttons, OptionEnum[] options) {
//font.drawStringWithShadow("Actions", (int) (middleX - buttonDistance - 13) - font.getStringWidth("Actions") * 0.5f, (int) middleY - 38, 0xffffffff);
//Draw option strings
@@ -473,7 +476,8 @@ public class RadialMenu extends Screen {
public static void playRadialMenuSound() {
final float volume = 0.1f;
if (volume >= 0.0001f) {
SimpleSoundInstance sound = new SimpleSoundInstance(SoundEvents.UI_BUTTON_CLICK, SoundSource.MASTER, volume, 1.0f, Minecraft.getInstance().player.blockPosition());
SimpleSoundInstance sound = new SimpleSoundInstance(SoundEvents.UI_BUTTON_CLICK, SoundSource.MASTER, volume,
1.0f, Minecraft.getInstance().player.blockPosition());
Minecraft.getInstance().getSoundManager().play(sound);
}
}

View File

@@ -0,0 +1,79 @@
{
"efortlessbuilding.screen.modifier_settings": "Настройки модификатора",
"efortlessbuilding.screen.radial_menu": "Режимы строительства",
"efortlessbuilding.screen.player_settings": "Настройки игрока",
"key.efortlessbuilding.category": "Строительство без усилий",
"key.efortlessbuilding.hud.desc": "Меню модификаторов",
"key.effortlessbuilding.replace.desc": "Переключить быструю замену",
"key.efortlessbuilding.mode.desc": "Круговое меню",
"key.efortlessbuilding.undo.desc": "Отменить",
"key.effortlessbuilding.redo.desc": "Повторить",
"key.efortlessbuilding.altplacement.desc": "Альтернативное размещение",
"efortlessbuilding:randomizer_bag": "Кожаная сумка рандомизатора",
"efortlessbuilding:golden_randomizer_bag": "Золотой мешок рандомизатора",
"efortlessbuilding:diamond_randomizer_bag": "Бриллиантовый рандомизатор",
"efortlessbuilding:reach_upgrade1": "Достичь улучшения 1",
"efortlessbuilding:reach_upgrade2": "Достичь улучшения 2",
"efortlessbuilding:reach_upgrade3": "Достичь улучшения 3",
"efortlessbuilding.mode.normal": "Отключить",
"efortlessbuilding.mode.normal_plus": "Одиночный",
"efortlessbuilding.mode.line": "Линия",
"efortlessbuilding.mode.wall": "Стена",
"efortlessbuilding.mode.floor": "Этаж",
"efortlessbuilding.mode.diagonal_line": "Диагональная линия",
"efortlessbuilding.mode.diagonal_wall": "Диагональная стена",
"effortlessbuilding.mode.slope_floor": "Наклонный этаж",
"effortlessbuilding.mode.cube": "Куб",
"efortlessbuilding.mode.circle": "Круг",
"efortlessbuilding.mode.cylinder": "Цилиндр",
"efortlessbuilding.mode.sphere": "Сфера",
"efortlessbuilding.mode.pyramid": "Пирамида",
"effortlessbuilding.mode.cone": "Конус",
"efortlessbuilding.mode.dome": "Купол",
"effortlessbuilding.modedescription.normal": "Отключить мод и использовать ванильные правила размещения",
"effortlessbuilding.modedescription.normal_plus": "Как и ваниль, но с увеличенным охватом и предварительным просмотром места размещения",
"efortlessbuilding.modedescription.line": "",
"efortlessbuilding.modedescription.wall": "",
"efortlessbuilding.modedescription.floor": "",
"efortlessbuilding.modedescription.diagonal_line": "",
"efortlessbuilding.modedescription.diagonal_wall": "",
"effortlessbuilding.modedescription.slope_floor": "",
"efortlessbuilding.modedescription.cube": "",
"efortlessbuilding.modedescription.circle": "",
"efortlessbuilding.modedescription.cylinder": "",
"efortlessbuilding.modedescription.sphere": "",
"efortlessbuilding.modedescription.pyramid": "",
"efortlessbuilding.modedescription.cone": "",
"efortlessbuilding.modedescription.dome": "",
"efortlessbuilding.action.undo": "Отменить",
"efortlessbuilding.action.redo": "Повторить",
"efortlessbuilding.action.replace": "Заменить",
"efortlessbuilding.action.open_modifier_settings": "Открыть настройки модификатора",
"efortlessbuilding.action.open_player_settings": "Открыть настройки",
"efortlessbuilding.action.build_speed": "Скорость сборки",
"efortlessbuilding.action.filling": "Заполнение",
"efortlessbuilding.action.raised_edge": "Приподнятый край",
"efortlessbuilding.action.thickness": "Толщина линии",
"efortlessbuilding.action.circle_start": "Начальная точка",
"efortlessbuilding.action.normal_speed": "Нормальный",
"efortlessbuilding.action.fast_speed": "Быстро",
"efortlessbuilding.action.full": "Заполнено",
"efortlessbuilding.action.hollow": "Пустой",
"efortlessbuilding.action.skeleton": "Скелет",
"efortlessbuilding.action.short_edge": "Короткая кромка",
"efortlessbuilding.action.long_edge": "Длинный край",
"efortlessbuilding.action.thickness_1": "Толщиной 1 блок",
"efortlessbuilding.action.thickness_3": "Толщиной 3 блока",
"efortlessbuilding.action.thickness_5": "Толщиной 5 блоков",
"efortlessbuilding.action.start_center": "Посередине",
"efortlessbuilding.action.start_corner": "Угол",
"commands.reach.usage": "/reach <уровень>"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 319 B

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 603 B

After

Width:  |  Height:  |  Size: 625 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 B

After

Width:  |  Height:  |  Size: 603 B

View File

@@ -10,7 +10,7 @@
"item": "minecraft:ender_pearl"
},
"#": {
"item": "minecraft:prismarine_crystals"
"item": "minecraft:slime_ball"
}
},
"result": {

View File

@@ -1,19 +1,16 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"x#x",
" # ",
"#O#",
"x#x"
" # "
],
"key": {
"O": {
"item": "minecraft:ender_pearl"
},
"#": {
"item": "minecraft:slime_ball"
},
"x": {
"item": "minecraft:chorus_fruit"
"item": "minecraft:blaze_powder"
}
},
"result": {

View File

@@ -7,13 +7,13 @@
],
"key": {
"O": {
"item": "minecraft:nether_star"
"item": "minecraft:end_crystal"
},
"#": {
"item": "minecraft:diamond"
"item": "minecraft:chorus_fruit"
},
"x": {
"item": "minecraft:amethyst_shard"
"item": "minecraft:ghast_tear"
}
},
"result": {