106 lines
3.0 KiB
JavaScript
106 lines
3.0 KiB
JavaScript
console.info("[SOCIETY] coinUi.js loaded");
|
|
|
|
const xOffset = 64;
|
|
|
|
|
|
PlayerEvents.tick((e) => {
|
|
const player = e.player;
|
|
if (global.clockIcon && player.age % 20 == 0) {
|
|
if (
|
|
["gag:energized_hearthstone", "gag:hearthstone"].includes(player.getHeldItem("main_hand").id)
|
|
) {
|
|
player.paint({
|
|
clockIcon: { remove: true },
|
|
});
|
|
} else {
|
|
player.paint({
|
|
clockIcon: {
|
|
type: "item",
|
|
x: 8,
|
|
y: 22,
|
|
item: "minecraft:clock",
|
|
alignX: "left",
|
|
alignY: "top",
|
|
},
|
|
});
|
|
}
|
|
}
|
|
fishRadarPainter(e);
|
|
});
|
|
|
|
const fishRadarPadding = 2;
|
|
const fishRadarPainter = (e) => {
|
|
const { player, level } = e;
|
|
let localConditions = Text.empty();
|
|
|
|
function setLocalConditions(x) {
|
|
localConditions = x;
|
|
}
|
|
if (player.age % 100 == 0 && player.isCuriosEquipped("society:fish_radar")) {
|
|
let fish = [];
|
|
|
|
if (level.dimension !== "minecraft:the_nether") {
|
|
fish = global.overworldRadar(e, fish, setLocalConditions);
|
|
} else {
|
|
fish = global.netherRadar(e, fish, setLocalConditions);
|
|
}
|
|
if (player.stages.has("mystical_ocean")) fish.push("society:neptuna");
|
|
let fishRadarStart = 48;
|
|
player.paint({
|
|
fishRadarDisplay: {
|
|
type: "text",
|
|
x: fishRadarPadding,
|
|
y: fishRadarStart,
|
|
text:
|
|
`${
|
|
Text.of("=[ ").gray()
|
|
.append(Text.translatable("item.society.fish_radar").green())
|
|
.append(" ]=").toJson()
|
|
}`,
|
|
color: "#AAAAAA",
|
|
alignX: "left",
|
|
alignY: "top",
|
|
},
|
|
fishConditions: {
|
|
type: "text",
|
|
x: level.dimension == "minecraft:the_nether" ? -40 : 8,
|
|
y: fishRadarStart + 8 + fishRadarPadding,
|
|
text: `${localConditions.toJson()}`,
|
|
color: "#FFFFFFF",
|
|
alignX: "left",
|
|
alignY: "top",
|
|
},
|
|
fishRadarBottom: {
|
|
type: "text",
|
|
x: fishRadarPadding,
|
|
y: fishRadarStart + 16 + fishRadarPadding * 2,
|
|
text: "==============",
|
|
color: "#AAAAAA",
|
|
alignX: "left",
|
|
alignY: "top",
|
|
},
|
|
});
|
|
let fishUiElements = {};
|
|
let fishUiElementIds = [];
|
|
for (let index = 0; index < 10; index++) {
|
|
fishUiElementIds.push(`fish_radar_${index}`);
|
|
}
|
|
fish.forEach((fishItem, index) => {
|
|
fishUiElements[`fish_radar_${index}`] = {
|
|
type: "item",
|
|
x: 10 + (index >= 5 ? (index - 5) * 18 : index * 18),
|
|
y: fishRadarStart + 32 + fishRadarPadding * 4 + (index >= 5 ? 18 : 0),
|
|
item: fishItem,
|
|
alignX: "left",
|
|
alignY: "top",
|
|
};
|
|
});
|
|
global.renderUiItemText(player, fishUiElements, fishUiElementIds);
|
|
} else if (player.age % 100 == 0 && !player.isCuriosEquipped("society:fish_radar")) {
|
|
let removedFishUiIds = ["fishRadarDisplay", "fishConditions", "fishRadarBottom"];
|
|
for (let index = 0; index < 10; index++) {
|
|
removedFishUiIds.push(`fish_radar_${index}`);
|
|
}
|
|
global.clearUiItemPaint(player, removedFishUiIds);
|
|
}
|
|
}; |