Changed reach upgrade recipes. Made radial menu smaller.
Cleaned up radial menu code. Added russian language. Tweaked cube icon.
This commit is contained in:
@@ -46,6 +46,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);
|
||||
@@ -57,15 +59,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;
|
||||
@@ -165,7 +166,8 @@ 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);
|
||||
@@ -174,14 +176,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
|
||||
@@ -230,6 +233,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;
|
||||
@@ -274,7 +278,8 @@ 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);
|
||||
@@ -303,7 +308,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
|
||||
@@ -474,7 +479,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, RandomSource.create(), Minecraft.getInstance().player.blockPosition());
|
||||
SimpleSoundInstance sound = new SimpleSoundInstance(SoundEvents.UI_BUTTON_CLICK, SoundSource.MASTER, volume,
|
||||
1.0f, RandomSource.create(), Minecraft.getInstance().player.blockPosition());
|
||||
Minecraft.getInstance().getSoundManager().play(sound);
|
||||
}
|
||||
}
|
||||
|
||||
79
src/main/resources/assets/effortlessbuilding/lang/ru_ru.json
Normal file
79
src/main/resources/assets/effortlessbuilding/lang/ru_ru.json
Normal 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 |
@@ -10,7 +10,7 @@
|
||||
"item": "minecraft:ender_pearl"
|
||||
},
|
||||
"#": {
|
||||
"item": "minecraft:prismarine_crystals"
|
||||
"item": "minecraft:slime_ball"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
{
|
||||
"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": {
|
||||
"item": "effortlessbuilding:reach_upgrade2"
|
||||
|
||||
@@ -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": {
|
||||
|
||||
Reference in New Issue
Block a user