Pluey Industries
BIN
3d_models/akira/model 4.13/17_whipfast.ogg
Normal file
BIN
3d_models/akira/model 4.13/18_applause.ogg
Normal file
|
@ -22,6 +22,12 @@ end
|
||||||
function pings.Sitting(state)
|
function pings.Sitting(state)
|
||||||
animations.akira_eiko_olivia_pink.sit_emote:setPlaying(state)
|
animations.akira_eiko_olivia_pink.sit_emote:setPlaying(state)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function pings.ThumbsUp()
|
||||||
|
if not player:isLoaded() then return end
|
||||||
|
animations.akira_eiko_olivia_pink.thumbs_up:play()
|
||||||
|
end
|
||||||
|
|
||||||
---
|
---
|
||||||
---
|
---
|
||||||
-- function pings.Gun(state)
|
-- function pings.Gun(state)
|
||||||
|
@ -53,6 +59,12 @@ mainPage:newAction()
|
||||||
:hoverColor(1,1,0)
|
:hoverColor(1,1,0)
|
||||||
:onToggle(pings.Sitting)
|
:onToggle(pings.Sitting)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Correct")
|
||||||
|
:item("minecraft:lime_dye")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.ThumbsUp)
|
||||||
|
|
||||||
mainPage:newAction()
|
mainPage:newAction()
|
||||||
:title("Taunt")
|
:title("Taunt")
|
||||||
:item("minecraft:nether_star")
|
:item("minecraft:nether_star")
|
||||||
|
@ -63,7 +75,6 @@ mainPage:newAction()
|
||||||
buffer = 0
|
buffer = 0
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
-- mainPage:newAction()
|
-- mainPage:newAction()
|
||||||
-- :title("Gun")
|
-- :title("Gun")
|
||||||
-- :item("minecraft:crossbow")
|
-- :item("minecraft:crossbow")
|
||||||
|
@ -77,19 +88,9 @@ soundTable = {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-- CREDIT: grandpa_scout on Figura Discord
|
||||||
-- function pings.action5_click()
|
-- I forgot what used to go here...It is lost forever
|
||||||
-- models.akira_eiko_olivia_pink.preRender = function(delta)
|
-- CREDIT: jimmyhelp on Figura Discord
|
||||||
-- if not player:isLoaded() then return end
|
|
||||||
-- math.random(#randAnims)
|
|
||||||
-- end
|
|
||||||
-- end
|
|
||||||
-- local taunt = keybinds:newKeybind("Taunt", "key.keyboard.b")
|
|
||||||
-- taunt.press = pings.action5_click
|
|
||||||
|
|
||||||
|
|
||||||
-- CREDIT: grandpa_scout on Figura Discord ( 373116290115829760 )
|
|
||||||
-- CREDIT: jimmyhelp on Figura Discord ( 1344410975830409441 )
|
|
||||||
local randAnims = {
|
local randAnims = {
|
||||||
animations.akira_eiko_olivia_pink.taunt_01,
|
animations.akira_eiko_olivia_pink.taunt_01,
|
||||||
animations.akira_eiko_olivia_pink.taunt_02,
|
animations.akira_eiko_olivia_pink.taunt_02,
|
||||||
|
@ -103,7 +104,7 @@ local randAnims = {
|
||||||
animations.akira_eiko_olivia_pink.taunt_10,
|
animations.akira_eiko_olivia_pink.taunt_10,
|
||||||
animations.akira_eiko_olivia_pink.taunt_11,
|
animations.akira_eiko_olivia_pink.taunt_11,
|
||||||
animations.akira_eiko_olivia_pink.taunt_12,
|
animations.akira_eiko_olivia_pink.taunt_12,
|
||||||
-- animations.akira_eiko_olivia_pink.taunt_13,
|
animations.akira_eiko_olivia_pink.taunt_13,
|
||||||
-- animations.akira_eiko_olivia_pink.taunt_11,
|
-- animations.akira_eiko_olivia_pink.taunt_11,
|
||||||
-- animations.akira_eiko_olivia_pink.taunt_14,
|
-- animations.akira_eiko_olivia_pink.taunt_14,
|
||||||
-- animations.akira_eiko_olivia_pink.taunt_15,
|
-- animations.akira_eiko_olivia_pink.taunt_15,
|
||||||
|
@ -118,13 +119,21 @@ function events.tick()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function pings.action5_click(number)
|
function pings.action5_click(number)
|
||||||
if not player:isLoaded() then return end
|
if not player:isLoaded() then return end
|
||||||
randAnims[number]:play()
|
randAnims[number]:play()
|
||||||
animations.akira_eiko_olivia_pink.taunt_effect:play()
|
animations.akira_eiko_olivia_pink.taunt_effect:play()
|
||||||
end
|
end
|
||||||
|
|
||||||
local taunt = keybinds:newKeybind("Taunt", "key.keyboard.b")
|
local thumb = keybinds:newKeybind("Correct", "key.keyboard.y")
|
||||||
|
thumb.press = function()
|
||||||
|
pings.ThumbsUp()
|
||||||
|
end
|
||||||
|
|
||||||
|
local taunt = keybinds:newKeybind("Taunt", "key.keyboard.c")
|
||||||
taunt.press = function()
|
taunt.press = function()
|
||||||
if buffer < 5 then return end
|
if buffer < 5 then return end
|
||||||
-- if buffer < 10 then return print("You are being rate limited.") end
|
-- if buffer < 10 then return print("You are being rate limited.") end
|
||||||
|
@ -133,48 +142,16 @@ taunt.press = function()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- CREDIT: Stevelocks on Figura Discord ( 709164804144758814 )
|
|
||||||
|
|
||||||
--[[
|
|
||||||
local mainPage = action_wheel:newPage()
|
|
||||||
|
|
||||||
function pings.taunt()
|
|
||||||
if clock > -5 then return 0 end
|
|
||||||
renderer:setShadowRadius(0)
|
|
||||||
local current_anim = anim_table[state.selected_anim]
|
|
||||||
--print(state.selected_anim)
|
|
||||||
current_anim:setBlendTime(1)
|
|
||||||
current_anim:play()
|
|
||||||
animations.model.taunt:setBlendTime(1)
|
|
||||||
animations.model.taunt:play()
|
|
||||||
models.model.center.bBillboardtaunt:setVisible(true)
|
|
||||||
sounds:playSound("taunt", player:getPos(), 1, 1, false)
|
|
||||||
models.model.center:setParentType("World")
|
|
||||||
local playerPos = player:getPos()
|
|
||||||
local playerRot = player:getRot()
|
|
||||||
|
|
||||||
root_part:setPos(playerPos.x * 16, (playerPos.y) * 16, playerPos.z * 16)
|
|
||||||
|
|
||||||
root_part:setRot(0, 180 - (playerRot.y % 360), 0)
|
|
||||||
root_part:setLight(15,15)
|
|
||||||
clock = 7
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
]]
|
|
||||||
|
|
||||||
|
|
||||||
-- Auto generated script file --
|
-- Auto generated script file --
|
||||||
models.akira_eiko_olivia_pink.Add:setPrimaryRenderType("EMISSIVE_SOLID")
|
models.akira_eiko_olivia_pink.Add:setPrimaryRenderType("EMISSIVE_SOLID")
|
||||||
models.akira_eiko_olivia_pink.Add:setOpacity(1)
|
models.akira_eiko_olivia_pink.Add:setOpacity(1)
|
||||||
models.akira_eiko_olivia_pink.Add.fountain.inner:setOpacity(1)
|
models.akira_eiko_olivia_pink.Add.fountain.inner:setOpacity(1)
|
||||||
models.akira_eiko_olivia_pink.symbols:setVisible(false)
|
models.akira_eiko_olivia_pink.symbols:setVisible(false)
|
||||||
|
--[[
|
||||||
local testBind = keybinds:newKeybind("Тест","key.keyboard.z")
|
local testBind = keybinds:newKeybind("Тест","key.keyboard.z")
|
||||||
fountain_darking=false
|
fountain_darking=false
|
||||||
hide_all=false
|
hide_all=false
|
||||||
|
]]
|
||||||
function pings.open_fountain()
|
function pings.open_fountain()
|
||||||
animations.akira_eiko_olivia_pink.fountain_opening:play()
|
animations.akira_eiko_olivia_pink.fountain_opening:play()
|
||||||
models.akira_eiko_olivia_pink.Add:setParentType("World")
|
models.akira_eiko_olivia_pink.Add:setParentType("World")
|
||||||
|
@ -238,3 +215,47 @@ function events.tick()
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
]]
|
]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- CREDIT: Stevelocks on Figura Discord
|
||||||
|
|
||||||
|
--[[
|
||||||
|
local mainPage = action_wheel:newPage()
|
||||||
|
|
||||||
|
function pings.taunt()
|
||||||
|
if clock > -5 then return 0 end
|
||||||
|
renderer:setShadowRadius(0)
|
||||||
|
local current_anim = anim_table[state.selected_anim]
|
||||||
|
--print(state.selected_anim)
|
||||||
|
current_anim:setBlendTime(1)
|
||||||
|
current_anim:play()
|
||||||
|
animations.model.taunt:setBlendTime(1)
|
||||||
|
animations.model.taunt:play()
|
||||||
|
models.model.center.bBillboardtaunt:setVisible(true)
|
||||||
|
sounds:playSound("taunt", player:getPos(), 1, 1, false)
|
||||||
|
models.model.center:setParentType("World")
|
||||||
|
local playerPos = player:getPos()
|
||||||
|
local playerRot = player:getRot()
|
||||||
|
|
||||||
|
root_part:setPos(playerPos.x * 16, (playerPos.y) * 16, playerPos.z * 16)
|
||||||
|
|
||||||
|
root_part:setRot(0, 180 - (playerRot.y % 360), 0)
|
||||||
|
root_part:setLight(15,15)
|
||||||
|
clock = 7
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- function pings.action5_click()
|
||||||
|
-- models.akira_eiko_olivia_pink.preRender = function(delta)
|
||||||
|
-- if not player:isLoaded() then return end
|
||||||
|
-- math.random(#randAnims)
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
-- local taunt = keybinds:newKeybind("Taunt", "key.keyboard.b")
|
||||||
|
-- taunt.press = pings.action5_click
|
||||||
|
|
|
@ -8,24 +8,6 @@ vanilla_model.CAPE:setVisible(false)
|
||||||
vanilla_model.ELYTRA:setVisible(false)
|
vanilla_model.ELYTRA:setVisible(false)
|
||||||
animations.akira_eiko_olivia_pink.sit_emote:setBlendTime(2)
|
animations.akira_eiko_olivia_pink.sit_emote:setBlendTime(2)
|
||||||
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.spyglog)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.spyglog2)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.attackL)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.attackR)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_01)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_02)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_03)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_04)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_05)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_06)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_07)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_08)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_09)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_10)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_11)
|
|
||||||
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_12)
|
|
||||||
|
|
||||||
|
|
||||||
-- nameplate.All:setText('[{"text":"akirapink","color":"#ff73d3"}]')
|
-- nameplate.All:setText('[{"text":"akirapink","color":"#ff73d3"}]')
|
||||||
models.akira_eiko_olivia_pink.root.RightArm.RightForeArm.RightHand.RightCamera:setPrimaryTexture("Custom", textures["camera"])
|
models.akira_eiko_olivia_pink.root.RightArm.RightForeArm.RightHand.RightCamera:setPrimaryTexture("Custom", textures["camera"])
|
||||||
|
|
||||||
|
@ -35,22 +17,15 @@ function events.entity_init() -- when the avatar first loads...
|
||||||
local MovementAPI = player:getVariable().MovementAPI
|
local MovementAPI = player:getVariable().MovementAPI
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
-- bladeHeld = false
|
|
||||||
-- local sword = keybinds:newKeybind("Show Sword", "key.keyboard.p")
|
|
||||||
-- function sword.press()
|
|
||||||
-- bladeHeld = not bladeHeld
|
|
||||||
-- end
|
|
||||||
|
|
||||||
-- local afkMod = require("FOXAPI.api").afk -- Require FOXAPI's AFK module
|
|
||||||
local camera = keybinds:newKeybind("Show Camcorder", "key.keyboard.z")
|
local camera = keybinds:newKeybind("Show Camcorder", "key.keyboard.z")
|
||||||
local keyHeld = false
|
local keyHeld = false
|
||||||
|
|
||||||
function camera.press()
|
function camera.press()
|
||||||
|
if not player:isLoaded() then return end
|
||||||
sounds:playSound("item.spyglass.use", player:getPos(), 1, 1, false)
|
sounds:playSound("item.spyglass.use", player:getPos(), 1, 1, false)
|
||||||
models.akira_eiko_olivia_pink.root.RightArm.RightForeArm.RightHand.RightCamera:setVisible(true)
|
models.akira_eiko_olivia_pink.root.RightArm.RightForeArm.RightHand.RightCamera:setVisible(true)
|
||||||
animations.akira_eiko_olivia_pink.spyglog2:setPlaying(true)
|
animations.akira_eiko_olivia_pink.spyglog2:setPlaying(true)
|
||||||
models.akira_eiko_olivia_pink.root.Body.Elytra:setPrimaryTexture("Custom", textures["elytra"])
|
models.akira_eiko_olivia_pink.root.Body.Elytra:setPrimaryTexture("Custom", textures["elytra"]) -- I hate that I have to do this but I see no other choice Just In Case I want to change more about the alternative textures than just the face
|
||||||
models.akira_eiko_olivia_pink.RipeCamera:moveTo(models.akira_eiko_olivia_pink.root.RightArm.RightForeArm.RightHand)
|
models.akira_eiko_olivia_pink.RipeCamera:moveTo(models.akira_eiko_olivia_pink.root.RightArm.RightForeArm.RightHand)
|
||||||
models.akira_eiko_olivia_pink.root.RightArm.RightForeArm.RightHand.RipeCamera:setPrimaryTexture("Custom", textures["camera"])
|
models.akira_eiko_olivia_pink.root.RightArm.RightForeArm.RightHand.RipeCamera:setPrimaryTexture("Custom", textures["camera"])
|
||||||
models.akira_eiko_olivia_pink.root.RightArm.RightForeArm.RightHand.RipeCamera:setVisible(true)
|
models.akira_eiko_olivia_pink.root.RightArm.RightForeArm.RightHand.RipeCamera:setVisible(true)
|
||||||
|
@ -66,43 +41,14 @@ function camera.release()
|
||||||
keyHeld = false
|
keyHeld = false
|
||||||
end
|
end
|
||||||
|
|
||||||
-- afkMod.config.timeUntilAFK = 40
|
|
||||||
---@param dirVec Vector3
|
|
||||||
---@return Vector3
|
|
||||||
local function directionToEuler(dirVec)
|
|
||||||
local yaw = math.atan2(dirVec.x, dirVec.z)
|
|
||||||
local pitch = math.atan2(dirVec.y, dirVec.xz:length())
|
|
||||||
return vec(-pitch, -yaw, 0)
|
|
||||||
end
|
|
||||||
---@param dirVec Vector3
|
|
||||||
---@return Vector3
|
|
||||||
local function directionToEulerDegree(dirVec)
|
|
||||||
local yaw = math.atan2(dirVec.x, dirVec.z)
|
|
||||||
local pitch = math.atan2(dirVec.y, dirVec.xz:length())
|
|
||||||
return vec(-math.deg(pitch), -math.deg(yaw), 0)
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- function events.render(delta,context)
|
|
||||||
-- local firstPerson = context == "FIRST_PERSON"
|
|
||||||
-- models.akira_eiko_olivia_pink.root.Head:setVisible(not (renderer:isFirstPerson() and context == "OTHER"))
|
|
||||||
-- if keyHeld then
|
|
||||||
-- models.akira_eiko_olivia_pink.root.RightArm:setVisible(not (renderer:isFirstPerson() and context == "OTHER"))
|
|
||||||
-- end
|
|
||||||
-- end
|
|
||||||
|
|
||||||
function events.tick() -- every tick...
|
function events.tick() -- every tick...
|
||||||
if curxp < player:getExperienceLevel() then -- ...compare LV to what it was, and if it's higher...
|
if curxp < player:getExperienceLevel() then -- ...compare LV to what it was, and if it's higher...
|
||||||
sounds:playSound("levelup", player:getPos(), 0.15, 1) -- ... Your LOVE increased! (plays the sound)
|
sounds:playSound("levelup", player:getPos(), 0.15, 1) -- ... Your LOVE increased! (plays the sound)
|
||||||
end
|
end
|
||||||
curxp = player:getExperienceLevel() -- set the value again so it doesn't play constantly
|
curxp = player:getExperienceLevel() -- set the value again so it doesn't play constantly
|
||||||
-- if wasAFK ~= afkMod.isAFK then
|
|
||||||
-- animations.akira_eiko_olivia_pink.afk_loop:setPlaying(afkMod.isAFK) -- Animation to play when you become AFK
|
|
||||||
-- animations.akira_eiko_olivia_pink.afk_end:setPlaying(not afkMod.isAFK) -- Animation to play when you stop being AFK
|
|
||||||
-- end
|
|
||||||
end
|
end
|
||||||
-- wasAFK = afkMod.isAFKlocal
|
|
||||||
randAnims = {
|
randAnims = {
|
||||||
animations.akira_eiko_olivia_pink.taunt_01,
|
animations.akira_eiko_olivia_pink.taunt_01,
|
||||||
animations.akira_eiko_olivia_pink.taunt_02,
|
animations.akira_eiko_olivia_pink.taunt_02,
|
||||||
|
@ -116,7 +62,7 @@ randAnims = {
|
||||||
animations.akira_eiko_olivia_pink.taunt_10,
|
animations.akira_eiko_olivia_pink.taunt_10,
|
||||||
animations.akira_eiko_olivia_pink.taunt_11,
|
animations.akira_eiko_olivia_pink.taunt_11,
|
||||||
animations.akira_eiko_olivia_pink.taunt_12,
|
animations.akira_eiko_olivia_pink.taunt_12,
|
||||||
-- animations.akira_eiko_olivia_pink.taunt_13,
|
animations.akira_eiko_olivia_pink.taunt_13,
|
||||||
-- animations.akira_eiko_olivia_pink.taunt_11,
|
-- animations.akira_eiko_olivia_pink.taunt_11,
|
||||||
-- animations.akira_eiko_olivia_pink.taunt_14,
|
-- animations.akira_eiko_olivia_pink.taunt_14,
|
||||||
-- animations.akira_eiko_olivia_pink.taunt_15,
|
-- animations.akira_eiko_olivia_pink.taunt_15,
|
||||||
|
@ -145,17 +91,6 @@ function events.POST_RENDER(delta)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
local bladeHeld = false
|
|
||||||
function pings.examplePing(state)
|
|
||||||
bladeHeld = state
|
|
||||||
end
|
|
||||||
-- local exampleKey = keybinds:newKeybind("Show Rose Gold Rapier", "key.keyboard.p")
|
|
||||||
|
|
||||||
-- exampleKey.press = function()
|
|
||||||
-- bladeHeld = not bladeHeld
|
|
||||||
-- pings.examplePing(bladeHeld)
|
|
||||||
-- end
|
|
||||||
|
|
||||||
function events.item_render(item, mode)
|
function events.item_render(item, mode)
|
||||||
if item:getName():find("Rose Gold Rapier") or bladeHeld then
|
if item:getName():find("Rose Gold Rapier") or bladeHeld then
|
||||||
return models.akira_eiko_olivia_pink.ItemRapier
|
return models.akira_eiko_olivia_pink.ItemRapier
|
||||||
|
@ -165,6 +100,76 @@ function events.item_render(item, mode)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.spyglog)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.spyglog2)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.attackL)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.attackR)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_01)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_02)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_03)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_04)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_05)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_06)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_07)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_08)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_09)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_10)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_11)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_12)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.taunt_13)
|
||||||
|
example:addAllOverrider(animations.akira_eiko_olivia_pink.thumbs_up)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--[[
|
||||||
|
local bladeHeld = false
|
||||||
|
function pings.examplePing(state)
|
||||||
|
bladeHeld = state
|
||||||
|
end
|
||||||
|
]]
|
||||||
|
-- local afkMod = require("FOXAPI.api").afk -- Require FOXAPI's AFK module
|
||||||
|
-- afkMod.config.timeUntilAFK = 40
|
||||||
|
-- wasAFK = afkMod.isAFKlocal
|
||||||
|
--[[
|
||||||
|
---@param dirVec Vector3
|
||||||
|
---@return Vector3
|
||||||
|
local function directionToEuler(dirVec)
|
||||||
|
local yaw = math.atan2(dirVec.x, dirVec.z)
|
||||||
|
local pitch = math.atan2(dirVec.y, dirVec.xz:length())
|
||||||
|
return vec(-pitch, -yaw, 0)
|
||||||
|
end
|
||||||
|
---@param dirVec Vector3
|
||||||
|
---@return Vector3
|
||||||
|
local function directionToEulerDegree(dirVec)
|
||||||
|
local yaw = math.atan2(dirVec.x, dirVec.z)
|
||||||
|
local pitch = math.atan2(dirVec.y, dirVec.xz:length())
|
||||||
|
return vec(-math.deg(pitch), -math.deg(yaw), 0)
|
||||||
|
end
|
||||||
|
]]
|
||||||
|
|
||||||
|
|
||||||
|
-- function events.render(delta,context)
|
||||||
|
-- local firstPerson = context == "FIRST_PERSON"
|
||||||
|
-- models.akira_eiko_olivia_pink.root.Head:setVisible(not (renderer:isFirstPerson() and context == "OTHER"))
|
||||||
|
-- if keyHeld then
|
||||||
|
-- models.akira_eiko_olivia_pink.root.RightArm:setVisible(not (renderer:isFirstPerson() and context == "OTHER"))
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
|
||||||
|
-- if wasAFK ~= afkMod.isAFK then
|
||||||
|
-- animations.akira_eiko_olivia_pink.afk_loop:setPlaying(afkMod.isAFK) -- Animation to play when you become AFK
|
||||||
|
-- animations.akira_eiko_olivia_pink.afk_end:setPlaying(not afkMod.isAFK) -- Animation to play when you stop being AFK
|
||||||
|
-- end
|
||||||
|
-- local exampleKey = keybinds:newKeybind("Show Rose Gold Rapier", "key.keyboard.p")
|
||||||
|
|
||||||
|
-- exampleKey.press = function()
|
||||||
|
-- bladeHeld = not bladeHeld
|
||||||
|
-- pings.examplePing(bladeHeld)
|
||||||
|
-- end
|
||||||
|
|
||||||
--[[ The Horror Terror
|
--[[ The Horror Terror
|
||||||
function events.item_render(item, mode)
|
function events.item_render(item, mode)
|
||||||
if item:getName():find("Rose Gold Rapier") then
|
if item:getName():find("Rose Gold Rapier") then
|
||||||
|
@ -203,3 +208,8 @@ function events.item_render(item, mode, pos, rot, scale, left)
|
||||||
end
|
end
|
||||||
]]
|
]]
|
||||||
|
|
||||||
|
-- bladeHeld = false
|
||||||
|
-- local sword = keybinds:newKeybind("Show Sword", "key.keyboard.p")
|
||||||
|
-- function sword.press()
|
||||||
|
-- bladeHeld = not bladeHeld
|
||||||
|
-- end
|
BIN
3d_models/checker.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
3d_models/checker_16.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
2277
3d_models/figura-old/Big Sister Moon/GSAnimBlend.lua
Normal file
73
3d_models/figura-old/Big Sister Moon/actionwheel.lua
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
--EMOTES--
|
||||||
|
|
||||||
|
local mainPage = action_wheel:newPage()
|
||||||
|
action_wheel:setPage(mainPage)
|
||||||
|
|
||||||
|
function pings.Follow()
|
||||||
|
animations.player_model.followMe:play()
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.Wave()
|
||||||
|
animations.player_model.wave:play()
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.Clap()
|
||||||
|
animations.player_model.clap:play()
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.Sitting(state)
|
||||||
|
animations.player_model.sitting:setPlaying(state)
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.Tilt(state)
|
||||||
|
animations.player_model.tilt:setPlaying(state)
|
||||||
|
end
|
||||||
|
|
||||||
|
function pings.Casual()
|
||||||
|
models.player_model:setPrimaryTexture("CUSTOM", textures["rw_moon_casual"])
|
||||||
|
end
|
||||||
|
|
||||||
|
function pings.Work()
|
||||||
|
models.player_model:setPrimaryTexture("CUSTOM", textures["rw_moon_work"])
|
||||||
|
end
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Casual")
|
||||||
|
:item("minecraft:yellow_wool")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Casual)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Work")
|
||||||
|
:item("minecraft:orange_wool")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Work)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Wave")
|
||||||
|
:item("minecraft:lantern")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Wave)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Follow Me")
|
||||||
|
:item("minecraft:compass")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Follow)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Clap")
|
||||||
|
:item("minecraft:rabbit_foot")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Clap)
|
||||||
|
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Sit")
|
||||||
|
:item("minecraft:purpur_stairs")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onToggle(pings.Sitting)
|
||||||
|
|
||||||
|
|
7
3d_models/figura-old/Big Sister Moon/avatar.json
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"authors": [
|
||||||
|
"akirapink"
|
||||||
|
],
|
||||||
|
"name": "Big Sister Moon",
|
||||||
|
"description":"Looks To The Moon Supercomputer from Rain World"
|
||||||
|
}
|
BIN
3d_models/figura-old/Big Sister Moon/rw_moon_casual.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
3d_models/figura-old/Big Sister Moon/rw_moon_work.png
Normal file
After Width: | Height: | Size: 11 KiB |
16
3d_models/figura-old/Big Sister Moon/script.lua
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
require("GSAnimBlend")
|
||||||
|
vanilla_model.PLAYER:setVisible(false)
|
||||||
|
BlendTime = 2
|
||||||
|
animations.player_model.clap:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.followMe:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.wave:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.sitting:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.tilt:setBlendTime(BlendTime)
|
||||||
|
|
||||||
|
function events.ENTITY_INIT()
|
||||||
|
IsSlim = player:getModelType() == "SLIM"
|
||||||
|
models.player_model.root.RightArm.RSlim:setVisible(IsSlim)
|
||||||
|
models.player_model.root.LeftArm.LSlim:setVisible(IsSlim)
|
||||||
|
models.player_model.root.LeftArm.LSteve:setVisible(not IsSlim)
|
||||||
|
models.player_model.root.RightArm.RSteve:setVisible(not IsSlim)
|
||||||
|
end
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"name": "Emmie \"Legacy Edition Minigames\" Undertale",
|
||||||
|
"description": "It's you!",
|
||||||
|
"authors": [
|
||||||
|
"akirapink",
|
||||||
|
"Perfect System DX",
|
||||||
|
"Emmie"
|
||||||
|
],
|
||||||
|
"color": "#00f0ff"
|
||||||
|
}
|
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 878 B |
After Width: | Height: | Size: 1.8 KiB |
|
@ -0,0 +1,21 @@
|
||||||
|
BlendTime = 2
|
||||||
|
animations.player_model.idle2:play()
|
||||||
|
|
||||||
|
-- Auto generated script file --
|
||||||
|
|
||||||
|
--hide vanilla model
|
||||||
|
vanilla_model.PLAYER:setVisible(false)
|
||||||
|
|
||||||
|
--hide vanilla cape model
|
||||||
|
vanilla_model.CAPE:setVisible(false)
|
||||||
|
|
||||||
|
--hide vanilla elytra model
|
||||||
|
vanilla_model.ELYTRA:setVisible(false)
|
||||||
|
|
||||||
|
|
||||||
|
function events.tick()
|
||||||
|
models.player_model.root.Body.Skirt:setVisible(not player:getItem(4):isArmor())
|
||||||
|
models.player_model.root.Body.Breasts:setVisible(not player:getItem(5):isArmor())
|
||||||
|
-- models.player_model.root.LeftLeg.LeftSkirt:setVisible(not player:getItem(4):isArmor())
|
||||||
|
-- models.player_model.root.RightLeg.RightSkirt:setVisible(not player:getItem(4):isArmor())
|
||||||
|
end
|
After Width: | Height: | Size: 5.5 KiB |
2277
3d_models/figura-old/Five Pebbles (Erratic Pulse)/GSAnimBlend.lua
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
--EMOTES--
|
||||||
|
|
||||||
|
local mainPage = action_wheel:newPage()
|
||||||
|
action_wheel:setPage(mainPage)
|
||||||
|
|
||||||
|
function pings.Follow()
|
||||||
|
animations.player_model.followMe:play()
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.Wave()
|
||||||
|
animations.player_model.wave:play()
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.Clap()
|
||||||
|
animations.player_model.clap:play()
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.Sitting(state)
|
||||||
|
animations.player_model.sitting:setPlaying(state)
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.Tilt(state)
|
||||||
|
animations.player_model.tilt:setPlaying(state)
|
||||||
|
end
|
||||||
|
|
||||||
|
function pings.Casual()
|
||||||
|
models.player_model:setPrimaryTexture("CUSTOM", textures["rw_pebs_casual"])
|
||||||
|
end
|
||||||
|
|
||||||
|
function pings.Work()
|
||||||
|
models.player_model:setPrimaryTexture("CUSTOM", textures["rw_pebs_work"])
|
||||||
|
end
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Casual")
|
||||||
|
:item("minecraft:light_gray_wool")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Casual)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Work")
|
||||||
|
:item("minecraft:orange_wool")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Work)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Wave")
|
||||||
|
:item("minecraft:lantern")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Wave)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Follow Me")
|
||||||
|
:item("minecraft:compass")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Follow)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Clap")
|
||||||
|
:item("minecraft:rabbit_foot")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Clap)
|
||||||
|
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Sit")
|
||||||
|
:item("minecraft:purpur_stairs")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onToggle(pings.Sitting)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"authors": [
|
||||||
|
"akirapink"
|
||||||
|
],
|
||||||
|
"name": "Five Pebbles/Erratic Pulse",
|
||||||
|
"description":"Five Pebbles Supercomputer from Rain World"
|
||||||
|
}
|
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 11 KiB |
16
3d_models/figura-old/Five Pebbles (Erratic Pulse)/script.lua
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
require("GSAnimBlend")
|
||||||
|
vanilla_model.PLAYER:setVisible(false)
|
||||||
|
BlendTime = 2
|
||||||
|
animations.player_model.clap:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.followMe:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.wave:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.sitting:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.tilt:setBlendTime(BlendTime)
|
||||||
|
|
||||||
|
function events.ENTITY_INIT()
|
||||||
|
IsSlim = player:getModelType() == "SLIM"
|
||||||
|
models.player_model.root.RightArm.RSlim:setVisible(IsSlim)
|
||||||
|
models.player_model.root.LeftArm.LSlim:setVisible(IsSlim)
|
||||||
|
models.player_model.root.LeftArm.LSteve:setVisible(not IsSlim)
|
||||||
|
models.player_model.root.RightArm.RSteve:setVisible(not IsSlim)
|
||||||
|
end
|
2277
3d_models/figura-old/Gakvu/GSAnimBlend.lua
Normal file
63
3d_models/figura-old/Gakvu/actionwheel.lua
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
--EMOTES--
|
||||||
|
|
||||||
|
local mainPage = action_wheel:newPage()
|
||||||
|
action_wheel:setPage(mainPage)
|
||||||
|
|
||||||
|
function pings.Yeah()
|
||||||
|
animations.player_model.yes:play()
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.No()
|
||||||
|
animations.player_model.no:play()
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.NoNoNo(state)
|
||||||
|
animations.player_model.noNoNo:play()
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.Wave(state)
|
||||||
|
animations.player_model.wave:play()
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.FollowMe(state)
|
||||||
|
animations.player_model.followMe:play()
|
||||||
|
end
|
||||||
|
---
|
||||||
|
function pings.Sitting(state)
|
||||||
|
animations.player_model.sitting:setPlaying(state)
|
||||||
|
end
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Yeah")
|
||||||
|
:item("minecraft:lime_concrete")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Yeah)
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("No")
|
||||||
|
:item("minecraft:red_concrete")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.No)
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("No No No")
|
||||||
|
:item("minecraft:red_terracotta")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.NoNoNo)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Wave")
|
||||||
|
:item("minecraft:lantern")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Wave)
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Follow Me")
|
||||||
|
:item("minecraft:compass")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.FollowMe)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Sit")
|
||||||
|
:item("minecraft:purpur_stairs")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onToggle(pings.Sitting)
|
||||||
|
|
7
3d_models/figura-old/Gakvu/avatar.json
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"authors": [
|
||||||
|
"akirapink"
|
||||||
|
],
|
||||||
|
"name": "Gakvukani qou ¡æoÍ0ü",
|
||||||
|
"description":"§eGakvu from §bFortnite"
|
||||||
|
}
|
BIN
3d_models/figura-old/Gakvu/avatar.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
3d_models/figura-old/Gakvu/gakvu.png
Normal file
After Width: | Height: | Size: 18 KiB |
1
3d_models/figura-old/Gakvu/player_model.bbmodel
Normal file
14
3d_models/figura-old/Gakvu/script.lua
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
-- Autogenerated Essential => Figura script
|
||||||
|
require("GSAnimBlend")
|
||||||
|
vanilla_model.PLAYER:setVisible(false)
|
||||||
|
vanilla_model.ARMOR:setVisible(false)
|
||||||
|
models.player_model:setVisible(true)
|
||||||
|
vanilla_model.HELD_ITEMS:setVisible(true)
|
||||||
|
vanilla_model.ELYTRA:setVisible(true)
|
||||||
|
BlendTime = 2
|
||||||
|
animations.player_model.followMe:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.wave:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.sitting:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.yes:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.no:setBlendTime(BlendTime)
|
||||||
|
animations.player_model.noNoNo:setBlendTime(BlendTime)
|
700
3d_models/figura-old/Paper Mario/EZAnims.lua
Normal file
|
@ -0,0 +1,700 @@
|
||||||
|
-- V1.14 for 0.1.0 and above
|
||||||
|
-- Made by JimmyHelp
|
||||||
|
-- Contains Manuel's runLater
|
||||||
|
|
||||||
|
local anims = {}
|
||||||
|
|
||||||
|
local controller = {}
|
||||||
|
local controllerMT = {__index = controller}
|
||||||
|
|
||||||
|
local objects = {}
|
||||||
|
|
||||||
|
local exList = {
|
||||||
|
"idling",
|
||||||
|
"walking",
|
||||||
|
"walkingback",
|
||||||
|
"jumpingup",
|
||||||
|
"jumpingdown",
|
||||||
|
"falling",
|
||||||
|
"sprinting",
|
||||||
|
"sprintjumpup",
|
||||||
|
"sprintjumpdown",
|
||||||
|
"crouching",
|
||||||
|
"crouchwalk",
|
||||||
|
"crouchwalkback",
|
||||||
|
"crouchjumpup",
|
||||||
|
"crouchjumpdown",
|
||||||
|
"elytra",
|
||||||
|
"elytradown",
|
||||||
|
"trident",
|
||||||
|
"sleeping",
|
||||||
|
"swimming",
|
||||||
|
"sitting",
|
||||||
|
"sitmove",
|
||||||
|
"sitmoveback",
|
||||||
|
"sitjumpup",
|
||||||
|
"sitjumpdown",
|
||||||
|
"sitpass",
|
||||||
|
"crawling",
|
||||||
|
"crawlstill",
|
||||||
|
"flying",
|
||||||
|
"flywalk",
|
||||||
|
"flywalkback",
|
||||||
|
"flysprint",
|
||||||
|
"flyup",
|
||||||
|
"flydown",
|
||||||
|
"climbing",
|
||||||
|
"climbstill",
|
||||||
|
"climbdown",
|
||||||
|
"climbcrouch",
|
||||||
|
"climbcrouchwalking",
|
||||||
|
"water",
|
||||||
|
"waterwalk",
|
||||||
|
"waterwalkback",
|
||||||
|
"waterup",
|
||||||
|
"waterdown",
|
||||||
|
"watercrouch",
|
||||||
|
"watercrouchwalk",
|
||||||
|
"watercrouchwalkback",
|
||||||
|
"watercrouchup",
|
||||||
|
"watercrouchdown",
|
||||||
|
"hurt",
|
||||||
|
"death"
|
||||||
|
}
|
||||||
|
|
||||||
|
local incList = {
|
||||||
|
"attackR",
|
||||||
|
"attackL",
|
||||||
|
"mineR",
|
||||||
|
"mineL",
|
||||||
|
"holdR",
|
||||||
|
"holdL",
|
||||||
|
"eatR",
|
||||||
|
"eatL",
|
||||||
|
"drinkR",
|
||||||
|
"drinkL",
|
||||||
|
"blockR",
|
||||||
|
"blockL",
|
||||||
|
"bowR",
|
||||||
|
"bowL",
|
||||||
|
"loadR",
|
||||||
|
"loadL",
|
||||||
|
"crossR",
|
||||||
|
"crossL",
|
||||||
|
"spearR",
|
||||||
|
"spearL",
|
||||||
|
"spyglassR",
|
||||||
|
"spyglassL",
|
||||||
|
"hornR",
|
||||||
|
"hornL",
|
||||||
|
"brushR",
|
||||||
|
"brushL",
|
||||||
|
}
|
||||||
|
|
||||||
|
--[[local oldList = {} -- simply make the list again
|
||||||
|
|
||||||
|
for key, _ in pairs(aList) do
|
||||||
|
oldList[key] = {active = false}
|
||||||
|
end]]
|
||||||
|
|
||||||
|
local GSAnimBlend
|
||||||
|
for _, key in ipairs(listFiles(nil,true)) do
|
||||||
|
if key:find("GSAnimBlend$") then
|
||||||
|
GSAnimBlend = require(key)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if GSAnimBlend then GSAnimBlend.safe = false end
|
||||||
|
|
||||||
|
local function setBlendTime(ex,inc,o)
|
||||||
|
for _,list in pairs(o.aList) do
|
||||||
|
for _,value in pairs(list.list) do
|
||||||
|
value:setBlendTime(list.type == "excluAnims" and ex or inc)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param ex? number
|
||||||
|
---@param inc? number
|
||||||
|
function controller:setBlendTimes(ex,inc)
|
||||||
|
if not GSAnimBlend then error("GSAnimBlend was not found in the avatar, and this function is for interacting with GSAnimBlend.",2) end
|
||||||
|
if type(ex) ~= "number" and ex ~= nil then
|
||||||
|
error("The first arg is a non-number value ("..type(ex).."), must be a number or nil.",2)
|
||||||
|
end
|
||||||
|
if type(inc) ~= "number" and inc ~= nil then
|
||||||
|
error("The second arg is a non-number value ("..type(inc).."), must be a number or nil.",2)
|
||||||
|
end
|
||||||
|
if ex == nil then
|
||||||
|
ex = 0
|
||||||
|
end
|
||||||
|
if inc == nil then
|
||||||
|
inc = ex
|
||||||
|
end
|
||||||
|
setBlendTime(ex,inc,self)
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
local flyinit
|
||||||
|
local function addAnims(bb,o)
|
||||||
|
local listy = o.aList
|
||||||
|
for _,anim in pairs(bb) do
|
||||||
|
for name,animation in pairs(anim) do
|
||||||
|
if name:find("fly") then flyinit = true end
|
||||||
|
for key, _ in pairs(o.aList) do
|
||||||
|
if name:find(key.."$") then
|
||||||
|
listy[key].list[#listy[key].list+1] = animation
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if GSAnimBlend then setBlendTime(4,4,o) end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param anim table
|
||||||
|
---@param ifFly? boolean
|
||||||
|
function controller:setAnims(anim,ifFly)
|
||||||
|
flyinit = ifFly
|
||||||
|
for key, value in pairs(anim) do
|
||||||
|
self.aList[key].list = value
|
||||||
|
end
|
||||||
|
if GSAnimBlend then setBlendTime(4,4,self) end
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
---- Run Later by manuel_2867 ----
|
||||||
|
local tmrs={}
|
||||||
|
local t=0
|
||||||
|
---Schedules a function to run after a certain amount of ticks
|
||||||
|
---@param ticks number|function Amount of ticks to wait, or a predicate function to check each tick until it returns true
|
||||||
|
---@param next function Function to run after amount of ticks, or after the predicate function returned true
|
||||||
|
local function wait(ticks,next)
|
||||||
|
local x=type(ticks)=="number"
|
||||||
|
table.insert(tmrs,{t=x and t+ticks,p=x and function()end or ticks,n=next})
|
||||||
|
end
|
||||||
|
function events.TICK()
|
||||||
|
t=t+1
|
||||||
|
for key,timer in pairs(tmrs) do
|
||||||
|
if timer.p()or(timer.t and t >= timer.t)then
|
||||||
|
timer.n()
|
||||||
|
tmrs[key]=nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local fallVel = -0.6
|
||||||
|
---@param vel? number
|
||||||
|
function anims:setFallVel(vel)
|
||||||
|
if type(vel) ~= "number" and vel ~= nil then
|
||||||
|
error("Tried to set the velocity to a non-number value ("..type(vel)..").")
|
||||||
|
end
|
||||||
|
fallVel = vel or -0.6
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
local oneJump = false
|
||||||
|
---@param state? boolean
|
||||||
|
function anims:setOneJump(state)
|
||||||
|
oneJump = state or false
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
local auto = true
|
||||||
|
function anims:disableAutoSearch()
|
||||||
|
auto = false
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
local function getPlay(anim)
|
||||||
|
local exists, hold = pcall(anim.isHolding,anim)
|
||||||
|
return anim:isPlaying() or (exists and hold)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function getOverriders(type,o)
|
||||||
|
return o.overrideStates[type] or o.overrideStates.allAnims
|
||||||
|
end
|
||||||
|
|
||||||
|
local function addOverriders(self,type,...)
|
||||||
|
for _, value in pairs({...}) do
|
||||||
|
if #self.overriders[type] == 64 then
|
||||||
|
error("The max amount of overriding animations for "..type.." (64) was reached. Do not put the code for adding overriding animations in a function, it will infinitely add animations.",3)
|
||||||
|
end
|
||||||
|
self.overriders[type][#self.overriders[type]+1] = value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param state? boolean
|
||||||
|
function controller:setAllOff(state)
|
||||||
|
self.setOverrides.allAnims = state
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param state? boolean
|
||||||
|
function controller:setExcluOff(state)
|
||||||
|
self.setOverrides.excluAnims = state
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param state? boolean
|
||||||
|
function controller:setIncluOff(state)
|
||||||
|
self.setOverrides.incluAnims = state
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param ... Animation
|
||||||
|
function controller:addExcluOverrider(...)
|
||||||
|
addOverriders(self,"excluAnims",...)
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param ... Animation
|
||||||
|
function controller:addIncluOverrider(...)
|
||||||
|
addOverriders(self,"incluAnims",...)
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param ... Animation
|
||||||
|
function controller:addAllOverrider(...)
|
||||||
|
addOverriders(self,"allAnims",...)
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param exState? string
|
||||||
|
---@param inState? string
|
||||||
|
function controller:setState(exState,inState)
|
||||||
|
if type(exState) ~= "string" and exState ~= nil then
|
||||||
|
error("The first arg is a non-string value ("..type(exState).."), must be a string or nil.",2)
|
||||||
|
end
|
||||||
|
if type(inState) ~= "string" and inState ~= nil then
|
||||||
|
error("The second arg is a non-string value ("..type(inState).."), must be a string or nil.",2)
|
||||||
|
end
|
||||||
|
self.toggleState = {excluAnims = exState or "",incluAnims = inState or exState or ""}
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
function controller:getState()
|
||||||
|
return self.toggleState
|
||||||
|
end
|
||||||
|
|
||||||
|
local function getStates(type,o)
|
||||||
|
return o.toggleState[type]
|
||||||
|
end
|
||||||
|
|
||||||
|
---@param spec? string
|
||||||
|
function controller:getAnimationStates(spec)
|
||||||
|
if type(spec) ~= "string" and spec ~= nil then
|
||||||
|
error("The animation state is a non-string value ("..type(spec).."), must be a string or nil.",2)
|
||||||
|
end
|
||||||
|
local states = {}
|
||||||
|
for k,v in pairs(self.aList) do
|
||||||
|
states[k] = v.active
|
||||||
|
end
|
||||||
|
if spec then return self.aList[spec].active else return states end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function setAnimation(anim,override,state,o)
|
||||||
|
local saved = o.aList[anim]
|
||||||
|
local exists = true
|
||||||
|
for _,value in pairs(saved.list) do
|
||||||
|
if value:getName() == state..anim then
|
||||||
|
if not saved.active and saved.stop then break end
|
||||||
|
value:setPlaying(saved.active and not override)
|
||||||
|
if saved.active and saved.stop and not override then
|
||||||
|
value:stop():play()
|
||||||
|
end
|
||||||
|
exists = false
|
||||||
|
else
|
||||||
|
if not saved.active and saved.stop then break end
|
||||||
|
value:stop()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for _,value in pairs(saved.list) do
|
||||||
|
if exists and value:getName() == anim then
|
||||||
|
if not saved.active and saved.stop then break end
|
||||||
|
if saved.active and saved.stop and not override then
|
||||||
|
value:stop():play()
|
||||||
|
break
|
||||||
|
end
|
||||||
|
value:setPlaying(saved.active and not override)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local flying
|
||||||
|
function pings.EZAnims_cFly(x)
|
||||||
|
flying = x
|
||||||
|
end
|
||||||
|
|
||||||
|
local diff = false
|
||||||
|
local rightResult, leftResult, targetEntity, rightMine, leftMine, rightAttack, leftAttack, oldhitBlock, targetBlock, blockSuccess, blockResult, hitBlock
|
||||||
|
local yvel, grounded, oldgrounded, hasJumped, cFlying, oldcFlying
|
||||||
|
local cooldown = false
|
||||||
|
local updateTimer = 0
|
||||||
|
local toggleDiff
|
||||||
|
local function getInfo()
|
||||||
|
if host:isHost() then
|
||||||
|
if flyinit then
|
||||||
|
cFlying = host:isFlying()
|
||||||
|
if cFlying ~= oldcFlying then
|
||||||
|
pings.EZAnims_cFly(cFlying)
|
||||||
|
end
|
||||||
|
oldcFlying = cFlying
|
||||||
|
|
||||||
|
updateTimer = updateTimer + 1
|
||||||
|
if updateTimer % 200 == 0 then
|
||||||
|
pings.EZAnims_cFly(cFlying)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local pose = player:getPose()
|
||||||
|
local velocity = player:getVelocity()
|
||||||
|
local moving = velocity.xz:length() > 0.01
|
||||||
|
local sprinty = player:isSprinting()
|
||||||
|
local vehicle = player:getVehicle()
|
||||||
|
local sitting = vehicle ~= nil or pose == "SITTING" -- if you're reading this code and see this, "SITTING" isn't a vanilla pose, this is for mods
|
||||||
|
local passenger = vehicle and vehicle:getControllingPassenger() ~= player
|
||||||
|
local creativeFlying = (flying or false) and not sitting
|
||||||
|
local standing = pose == "STANDING"
|
||||||
|
local crouching = pose == "CROUCHING" and not creativeFlying
|
||||||
|
local gliding = pose == "FALL_FLYING"
|
||||||
|
local spin = pose == "SPIN_ATTACK"
|
||||||
|
local sleeping = pose == "SLEEPING"
|
||||||
|
local swimming = pose == "SWIMMING"
|
||||||
|
local inWater = player:isUnderwater() and not sitting
|
||||||
|
local inLiquid = player:isInWater() or player:isInLava()
|
||||||
|
local liquidSwim = swimming and inLiquid
|
||||||
|
local crawling = swimming and not inLiquid
|
||||||
|
|
||||||
|
-- hasJumped stuff
|
||||||
|
|
||||||
|
yvel = velocity.y
|
||||||
|
local hover = yvel < .01 and yvel > -.01
|
||||||
|
local goingUp = yvel > .01
|
||||||
|
local goingDown = yvel < -.01
|
||||||
|
local falling = yvel < fallVel
|
||||||
|
local playerGround = world.getBlockState(player:getPos():add(0,-.1,0))
|
||||||
|
local vehicleGround = sitting and world.getBlockState(vehicle:getPos():add(0,-.1,0))
|
||||||
|
oldgrounded = grounded
|
||||||
|
grounded = playerGround:isSolidBlock() or player:isOnGround() or (sitting and vehicleGround:isSolidBlock() or sitting and vehicle:isOnGround())
|
||||||
|
|
||||||
|
local pv = velocity:mul(1, 0, 1):normalize()
|
||||||
|
local pl = models:partToWorldMatrix():applyDir(0,0,-1):mul(1, 0, 1):normalize()
|
||||||
|
local fwd = pv:dot(pl)
|
||||||
|
local backwards = fwd < -.8
|
||||||
|
--local sideways = pv:cross(pl)
|
||||||
|
--local right = sideways.y > .6
|
||||||
|
--local left = sideways.y < -.6
|
||||||
|
|
||||||
|
-- canJump stuff
|
||||||
|
local webbed = world.getBlockState(player:getPos()).id == "minecraft:cobweb"
|
||||||
|
local ladder = player:isClimbing() and not grounded and not flying
|
||||||
|
|
||||||
|
local canJump = not (inLiquid or webbed or grounded)
|
||||||
|
|
||||||
|
local hp = player:getHealth() + player:getAbsorptionAmount()
|
||||||
|
|
||||||
|
if oldgrounded ~= grounded and not grounded and yvel > 0 then
|
||||||
|
cooldown = true
|
||||||
|
wait(10,function() cooldown = false end)
|
||||||
|
end
|
||||||
|
|
||||||
|
if (oldgrounded ~= grounded and not grounded and yvel > 0) and canJump then hasJumped = true end
|
||||||
|
if (grounded and (yvel <= 0 and yvel > -0.1)) or (gliding or inLiquid) then hasJumped = false end
|
||||||
|
|
||||||
|
local neverJump = not (gliding or spin or sleeping or swimming or ladder)
|
||||||
|
local jumpingUp = hasJumped and goingUp and neverJump
|
||||||
|
local jumpingDown = hasJumped and goingDown and not falling and neverJump or (cooldown and not jumpingUp)
|
||||||
|
local isJumping = jumpingUp or jumpingDown or falling
|
||||||
|
local sprinting = sprinty and standing and not inLiquid and not sitting
|
||||||
|
local walking = moving and not sprinting and not isJumping and not sitting
|
||||||
|
local forward = walking and not backwards
|
||||||
|
local backward = walking and backwards
|
||||||
|
|
||||||
|
local handedness = player:isLeftHanded()
|
||||||
|
local rightItem = player:getHeldItem(handedness)
|
||||||
|
local leftItem = player:getHeldItem(not handedness)
|
||||||
|
local rightActive = handedness and "OFF_HAND" or "MAIN_HAND"
|
||||||
|
local leftActive = not handedness and "OFF_HAND" or "MAIN_HAND"
|
||||||
|
local activeness = player:getActiveHand()
|
||||||
|
local using = player:isUsingItem()
|
||||||
|
local rightSuccess = pcall(rightItem.getUseAction,rightItem)
|
||||||
|
if rightSuccess then rightResult = rightItem:getUseAction() else rightResult = "NONE" end
|
||||||
|
local usingR = using and activeness == rightActive and rightResult
|
||||||
|
local leftSuccess = pcall(leftItem.getUseAction,leftItem)
|
||||||
|
if leftSuccess then leftResult = leftItem:getUseAction() else leftResult = "NONE" end
|
||||||
|
local usingL = using and activeness == leftActive and leftResult
|
||||||
|
local swing = player:getSwingTime()
|
||||||
|
local arm = swing == 1 and not sleeping and player:getSwingArm()
|
||||||
|
local rTag= rightItem.tag
|
||||||
|
local lTag = leftItem.tag
|
||||||
|
local crossR = rTag and (rTag["Charged"] == 1 or (rTag["ChargedProjectiles"] and next(rTag["ChargedProjectiles"])~= nil)) or false
|
||||||
|
local crossL = lTag and (lTag["Charged"] == 1 or (lTag["ChargedProjectiles"] and next(lTag["ChargedProjectiles"])~= nil)) or false
|
||||||
|
local exclude = not (crossR or crossL or using)
|
||||||
|
local game = player:getGamemode()
|
||||||
|
local reach = game and 6 or 3
|
||||||
|
|
||||||
|
if swing == 1 then
|
||||||
|
targetEntity = type(player:getTargetedEntity(reach)) == "PlayerAPI" or type(player:getTargetedEntity(reach)) == "LivingEntityAPI"
|
||||||
|
rightMine = oldhitBlock and not targetEntity
|
||||||
|
leftMine = oldhitBlock and not targetEntity
|
||||||
|
rightAttack = (not oldhitBlock or targetEntity)
|
||||||
|
leftAttack = (not oldhitBlock or targetEntity)
|
||||||
|
end
|
||||||
|
|
||||||
|
for _,o in pairs(objects) do
|
||||||
|
|
||||||
|
o.diff = false
|
||||||
|
for types, tabs in pairs(o.overriders) do
|
||||||
|
o.overrideStates[types] = o.setOverrides[types] or false
|
||||||
|
for _, value in pairs(tabs) do
|
||||||
|
if getPlay(value) then
|
||||||
|
o.overrideStates[types] = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if o.oldoverStates[types] ~= o.overrideStates[types] then
|
||||||
|
o.diff = true
|
||||||
|
end
|
||||||
|
o.oldoverStates[types] = o.overrideStates[types]
|
||||||
|
end
|
||||||
|
|
||||||
|
local ob = o.aList
|
||||||
|
|
||||||
|
ob.flywalkback.active = creativeFlying and backward and (not (goingDown or goingUp))
|
||||||
|
ob.flysprint.active = creativeFlying and sprinting and not isJumping and (not (goingDown or goingUp))
|
||||||
|
ob.flyup.active = creativeFlying and goingUp
|
||||||
|
ob.flydown.active = creativeFlying and goingDown
|
||||||
|
ob.flywalk.active = creativeFlying and forward and (not (goingDown or goingUp)) and not sleeping or (ob.flysprint.active and next(ob.flysprint.list)==nil) or (ob.flywalkback.active and next(ob.flywalkback.list)==nil)
|
||||||
|
or (ob.flyup.active and next(ob.flyup.list)==nil) or (ob.flydown.active and next(ob.flydown.list)==nil)
|
||||||
|
ob.flying.active = creativeFlying and not sprinting and not moving and standing and not isJumping and (not (goingDown or goingUp)) and not sleeping or (ob.flywalk.active and next(ob.flywalk.list)==nil)
|
||||||
|
|
||||||
|
ob.watercrouchwalkback.active = inWater and crouching and backward and not goingDown
|
||||||
|
ob.watercrouchwalk.active = inWater and crouching and forward and not (goingDown or goingUp) or (ob.watercrouchwalkback.active and next(ob.watercrouchwalkback.list)==nil)
|
||||||
|
ob.watercrouchup.active = inWater and crouching and goingUp
|
||||||
|
ob.watercrouchdown.active = inWater and crouching and goingDown or (ob.watercrouchup.active and next(ob.watercrouchup.list)==nil)
|
||||||
|
ob.watercrouch.active = inWater and crouching and not moving and not (goingDown or goingUp) or (ob.watercrouchdown.active and next(ob.watercrouchdown.list)==nil) or (ob.watercrouchwalk.active and next(ob.watercrouchwalk.list)==nil)
|
||||||
|
|
||||||
|
ob.waterdown.active = inWater and goingDown and not falling and standing and not creativeFlying
|
||||||
|
ob.waterup.active = inWater and goingUp and standing and not creativeFlying
|
||||||
|
ob.waterwalkback.active = inWater and backward and hover and standing and not creativeFlying
|
||||||
|
ob.waterwalk.active = inWater and forward and hover and standing and not creativeFlying or (ob.waterwalkback.active and next(ob.waterwalkback.list)==nil) or (ob.waterdown.active and next(ob.waterdown.list)==nil)
|
||||||
|
or (ob.waterup.active and next(ob.waterup.list)==nil)
|
||||||
|
ob.water.active = inWater and not moving and standing and hover and not creativeFlying or (ob.waterwalk.active and next(ob.waterwalk.list)==nil)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ob.crawlstill.active = crawling and not moving
|
||||||
|
ob.crawling.active = crawling and moving or (ob.crawlstill.active and next(ob.crawlstill.list)==nil)
|
||||||
|
|
||||||
|
ob.swimming.active = liquidSwim or (ob.crawling.active and next(ob.crawling.list)==nil)
|
||||||
|
|
||||||
|
ob.elytradown.active = gliding and goingDown
|
||||||
|
ob.elytra.active = gliding and not goingDown or (ob.elytradown.active and next(ob.elytradown.list)==nil)
|
||||||
|
|
||||||
|
ob.sitpass.active = passenger and standing or false
|
||||||
|
ob.sitjumpdown.active = sitting and not passenger and standing and (jumpingDown or falling)
|
||||||
|
ob.sitjumpup.active = sitting and not passenger and jumpingUp and standing or (ob.sitjumpdown.active and next(ob.sitjumpdown.list)==nil)
|
||||||
|
ob.sitmoveback.active = sitting and not passenger and not isJumping and backwards and standing
|
||||||
|
ob.sitmove.active = velocity:length() > 0 and not passenger and not backwards and standing and sitting and not isJumping or (ob.sitmoveback.active and next(ob.sitmoveback.list)==nil) or (ob.sitjumpup.active and next(ob.sitjumpup.list)==nil)
|
||||||
|
ob.sitting.active = sitting and not passenger and velocity:length() == 0 and not isJumping and standing or (ob.sitmove.active and next(ob.sitmove.list)==nil) or (ob.sitpass.active and next(ob.sitpass.list)==nil) or false
|
||||||
|
|
||||||
|
ob.trident.active = spin
|
||||||
|
ob.sleeping.active = sleeping
|
||||||
|
|
||||||
|
ob.climbcrouchwalking.active = ladder and crouching and not inWater and (moving or yvel ~= 0)
|
||||||
|
ob.climbcrouch.active = ladder and crouching and hover and not moving or (ob.climbcrouchwalking.active and next(ob.climbcrouchwalking.list)==nil)
|
||||||
|
ob.climbdown.active = ladder and goingDown and not crouching
|
||||||
|
ob.climbstill.active = ladder and not crouching and hover
|
||||||
|
ob.climbing.active = ladder and goingUp and not crouching or (ob.climbdown.active and next(ob.climbdown.list)==nil) or (ob.climbstill.active and next(ob.climbstill.list)==nil)
|
||||||
|
|
||||||
|
ob.crouchjumpdown.active = crouching and jumpingDown and not inWater and not ladder
|
||||||
|
ob.crouchjumpup.active = crouching and jumpingUp and not inWater and not ladder or (not oneJump and (ob.crouchjumpdown.active and next(ob.crouchjumpdown.list)==nil))
|
||||||
|
ob.crouchwalkback.active = backward and crouching and not inWater and not ladder or (ob.watercrouchwalkback.active and next(ob.watercrouchwalkback.list)==nil and next(ob.watercrouchwalk.list)==nil and next(ob.watercrouch.list)==nil)
|
||||||
|
ob.crouchwalk.active = forward and crouching and not (jumpingDown or jumpingUp) and not inWater and not ladder or (ob.crouchwalkback.active and next(ob.crouchwalkback.list)==nil) or (not oneJump and (ob.crouchjumpup.active and next(ob.crouchjumpup.list)==nil)) or ((ob.watercrouchwalk.active and not ob.watercrouchwalkback.active) and next(ob.watercrouchwalk.list)==nil and next(ob.watercrouch.list)==nil)
|
||||||
|
ob.crouching.active = crouching and not walking and not inWater and not isJumping and not ladder and not cooldown or (ob.crouchwalk.active and next(ob.crouchwalk.list)==nil) or (ob.climbcrouch.active and next(ob.climbcrouch.list)==nil) or ((ob.watercrouch.active and not ob.watercrouchwalk.active) and next(ob.watercrouch.list)==nil)
|
||||||
|
|
||||||
|
ob.falling.active = falling and not gliding and not creativeFlying and not sitting
|
||||||
|
|
||||||
|
ob.sprintjumpdown.active = jumpingDown and sprinting and not creativeFlying and not ladder or false
|
||||||
|
ob.sprintjumpup.active = jumpingUp and sprinting and not creativeFlying and not ladder or (not oneJump and (ob.sprintjumpdown.active and next(ob.sprintjumpdown.list)==nil)) or false
|
||||||
|
ob.jumpingdown.active = jumpingDown and not ladder and not sprinting and not crouching and not sitting and not sleeping and not gliding and not creativeFlying and not spin and not inWater or (ob.falling.active and next(ob.falling.list)==nil) or (oneJump and (ob.sprintjumpdown.active and next(ob.sprintjumpdown.list)==nil)) or (oneJump and (ob.crouchjumpdown.active and next(ob.crouchjumpdown.list)==nil))
|
||||||
|
ob.jumpingup.active = jumpingUp and not ladder and not sprinting and not crouching and not sitting and not creativeFlying and not inWater or (ob.jumpingdown.active and next(ob.jumpingdown.list)==nil) or (ob.trident.active and next(ob.trident.list)==nil) or (oneJump and (ob.sprintjumpup.active and next(ob.sprintjumpup.list)==nil)) or (oneJump and (ob.crouchjumpup.active and next(ob.crouchjumpup.list)==nil))
|
||||||
|
|
||||||
|
ob.sprinting.active = sprinting and not isJumping and not creativeFlying and not ladder and not cooldown and not inWater or (not oneJump and (ob.sprintjumpup.active and next(ob.sprintjumpup.list)==nil)) or false
|
||||||
|
ob.walkingback.active = backward and standing and not creativeFlying and not ladder and not inWater or (ob.flywalkback.active and next(ob.flywalkback.list)==nil and next(ob.flywalk.list)==nil and next(ob.flying.list)==nil)
|
||||||
|
ob.walking.active = forward and standing and not creativeFlying and not ladder and not cooldown and not inWater or (ob.walkingback.active and next(ob.walkingback.list)==nil) or (ob.sprinting.active and next(ob.sprinting.list)==nil) or (ob.climbing.active and next(ob.climbing.list)==nil)
|
||||||
|
or (ob.swimming.active and next(ob.swimming.list)==nil) or (ob.elytra.active and next(ob.elytra.list)==nil) or (ob.jumpingup.active and next(ob.jumpingup.list)==nil) or (ob.waterwalk.active and (next(ob.waterwalk.list)==nil and next(ob.water.list)==nil)) or ((ob.flywalk.active and not ob.flywalkback.active) and next(ob.flywalk.list)==nil and next(ob.flying.list)==nil)
|
||||||
|
or (ob.crouchwalk.active and (next(ob.crouchwalk)==nil or next(ob.crouching.list)==nil))
|
||||||
|
ob.idling.active = not moving and not sprinting and standing and not isJumping and not sitting and not inWater and not creativeFlying and not ladder or (ob.sleeping.active and next(ob.sleeping.list)==nil) or (ob.sitting.active and next(ob.sitting.list)==nil)
|
||||||
|
or ((ob.water.active and not ob.waterwalk.active) and next(ob.water.list)==nil) or ((ob.flying.active and not ob.flywalk.active) and next(ob.flying.list)==nil) or ((ob.crouching.active and not ob.crouchwalk.active) and next(ob.crouching.list)==nil)
|
||||||
|
|
||||||
|
ob.death.active = hp <= 0
|
||||||
|
ob.hurt.active = player:getNbt().HurtTime > 0 and hp > 0
|
||||||
|
|
||||||
|
ob.attackR.active = arm == rightActive and rightAttack
|
||||||
|
ob.attackL.active = arm == leftActive and leftAttack
|
||||||
|
ob.mineR.active = arm == rightActive and rightMine
|
||||||
|
ob.mineL.active = arm == leftActive and leftMine
|
||||||
|
ob.holdR.active = rightItem.id~="minecraft:air" and exclude
|
||||||
|
ob.holdL.active = leftItem.id~="minecraft:air" and exclude
|
||||||
|
ob.eatR.active = usingR == "EAT"
|
||||||
|
ob.eatL.active = usingL == "EAT"
|
||||||
|
ob.drinkR.active = usingR == "DRINK"
|
||||||
|
ob.drinkL.active = usingL == "DRINK"
|
||||||
|
ob.blockR.active = usingR == "BLOCK"
|
||||||
|
ob.blockL.active = usingL == "BLOCK"
|
||||||
|
ob.bowR.active = usingR == "BOW"
|
||||||
|
ob.bowL.active = usingL == "BOW"
|
||||||
|
ob.loadR.active = usingR == "CROSSBOW"
|
||||||
|
ob.loadL.active = usingL == "CROSSBOW"
|
||||||
|
ob.crossR.active = crossR
|
||||||
|
ob.crossL.active = crossL
|
||||||
|
ob.spearR.active = usingR == "SPEAR"
|
||||||
|
ob.spearL.active = usingL == "SPEAR"
|
||||||
|
ob.spyglassR.active = usingR == "SPYGLASS"
|
||||||
|
ob.spyglassL.active = usingL == "SPYGLASS"
|
||||||
|
ob.hornR.active = usingR == "TOOT_HORN"
|
||||||
|
ob.hornL.active = usingL == "TOOT_HORN"
|
||||||
|
ob.brushR.active = usingR == "BRUSH"
|
||||||
|
ob.brushL.active = usingL == "BRUSH"
|
||||||
|
|
||||||
|
for key,value in pairs(o.aList) do
|
||||||
|
if (value.active ~= o.oldList[key].active) then
|
||||||
|
setAnimation(key,getOverriders(value.type,o),getStates(value.type,o),o)
|
||||||
|
end
|
||||||
|
if (o.toggleDiff or o.diff) and value.active then
|
||||||
|
setAnimation(key,getOverriders(value.type,o),getStates(value.type,o),o)
|
||||||
|
end
|
||||||
|
o.oldList[key].active = value.active
|
||||||
|
end
|
||||||
|
|
||||||
|
o.toggleDiff = false
|
||||||
|
for key,_ in pairs(o.toggleState) do
|
||||||
|
if o.oldToggle[key] ~= o.toggleState[key] then
|
||||||
|
o.toggleDiff = true
|
||||||
|
end
|
||||||
|
o.oldToggle[key] = o.toggleState[key]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
oldhitBlock = hitBlock
|
||||||
|
targetBlock = player:getTargetedBlock(true, game and 5 or 4.5)
|
||||||
|
blockSuccess, blockResult = pcall(targetBlock.getTextures, targetBlock)
|
||||||
|
if blockSuccess then hitBlock = not (next(blockResult) == nil) else hitBlock = true end
|
||||||
|
end
|
||||||
|
|
||||||
|
function events.tick()
|
||||||
|
getInfo()
|
||||||
|
end
|
||||||
|
|
||||||
|
local function getBBModels()
|
||||||
|
local bbmodels = {}
|
||||||
|
for _,layer in pairs(models:getChildren()) do
|
||||||
|
local name = layer:getName()
|
||||||
|
if animations[name] then
|
||||||
|
bbmodels[name] = animations[name]
|
||||||
|
else
|
||||||
|
for _,layer2 in pairs(layer:getChildren()) do
|
||||||
|
local name2 = name.."."..layer2:getName()
|
||||||
|
bbmodels[name2] = animations[name2]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if next(bbmodels) == nil then
|
||||||
|
error("No blockbench models containing animations were found.")
|
||||||
|
end
|
||||||
|
|
||||||
|
local aList = {}
|
||||||
|
local oldList = {}
|
||||||
|
for _, value in pairs(exList) do
|
||||||
|
aList[value] = {active = false,list = {},type = "excluAnims"}
|
||||||
|
oldList[value] = {active = false}
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, value in pairs(incList) do
|
||||||
|
aList[value] = {active = false,list = {},type = "incluAnims"}
|
||||||
|
oldList[value] = {active = false}
|
||||||
|
end
|
||||||
|
|
||||||
|
aList.attackR.stop = true
|
||||||
|
aList.attackL.stop = true
|
||||||
|
aList.mineR.stop = true
|
||||||
|
aList.mineL.stop = true
|
||||||
|
aList.hurt.stop = true
|
||||||
|
|
||||||
|
local o = setmetatable(
|
||||||
|
{
|
||||||
|
bbmodels=bbmodels,
|
||||||
|
aList=aList,
|
||||||
|
oldList=oldList,
|
||||||
|
toggleState = {excluAnims="",incluAnims=""},
|
||||||
|
oldToggle = {excluAnims="",incluAnims=""},
|
||||||
|
toggleDiff = toggleDiff,
|
||||||
|
overriders = {excluAnims = {},incluAnims = {}, allAnims = {}},
|
||||||
|
overrideStates = {excluAnims = false,incluAnims = false, allAnims = false},
|
||||||
|
oldoverStates = {excluAnims = false,incluAnims = false, allAnims = false},
|
||||||
|
setOverrides = {excluAnims = false,incluAnims = false, allAnims = false},
|
||||||
|
diff = diff
|
||||||
|
},
|
||||||
|
controllerMT)
|
||||||
|
objects[1] = o
|
||||||
|
addAnims(bbmodels,o)
|
||||||
|
end
|
||||||
|
|
||||||
|
function events.entity_init()
|
||||||
|
if #objects == 0 then getBBModels() end
|
||||||
|
end
|
||||||
|
|
||||||
|
local firstRun = true
|
||||||
|
---@param ... table
|
||||||
|
function anims:addBBModel(...)
|
||||||
|
local bbmodels = {...}
|
||||||
|
if next(bbmodels) == nil then
|
||||||
|
error("The blockbench model provided couldn't be found because it has no animations, or because of a typo or some other mistake.",2)
|
||||||
|
end
|
||||||
|
|
||||||
|
local aList = {}
|
||||||
|
local oldList = {}
|
||||||
|
for _, value in pairs(exList) do
|
||||||
|
aList[value] = {active = false,list = {},type = "excluAnims"}
|
||||||
|
oldList[value] = {active = false}
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, value in pairs(incList) do
|
||||||
|
aList[value] = {active = false,list = {},type = "incluAnims"}
|
||||||
|
oldList[value] = {active = false}
|
||||||
|
end
|
||||||
|
|
||||||
|
aList.attackR.stop = true
|
||||||
|
aList.attackL.stop = true
|
||||||
|
aList.mineR.stop = true
|
||||||
|
aList.mineL.stop = true
|
||||||
|
aList.hurt.stop = true
|
||||||
|
|
||||||
|
local o = setmetatable(
|
||||||
|
{
|
||||||
|
bbmodels=bbmodels,
|
||||||
|
aList=aList,
|
||||||
|
oldList=oldList,
|
||||||
|
toggleState = {excluAnims="",incluAnims=""},
|
||||||
|
oldToggle = {excluAnims="",incluAnims=""},
|
||||||
|
toggleDiff = toggleDiff,
|
||||||
|
overriders = {excluAnims = {},incluAnims = {}, allAnims = {}},
|
||||||
|
overrideStates = {excluAnims = false,incluAnims = false, allAnims = false},
|
||||||
|
oldoverStates = {excluAnims = false,incluAnims = false, allAnims = false},
|
||||||
|
setOverrides = {excluAnims = false,incluAnims = false, allAnims = false},
|
||||||
|
diff = diff
|
||||||
|
},
|
||||||
|
controllerMT)
|
||||||
|
objects[#objects+1] = o
|
||||||
|
if #objects == 16 then
|
||||||
|
error("The max amount of blockbench models (16) was reached. Do not put the code for adding blockbench models in a function, it will infinitely add blockbench models.",3)
|
||||||
|
end
|
||||||
|
if auto then addAnims(bbmodels,o) end
|
||||||
|
return o
|
||||||
|
end
|
||||||
|
|
||||||
|
anims.controller = controller
|
||||||
|
return anims
|
38
3d_models/figura-old/Paper Mario/actionwheel.lua
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
--EMOTES--
|
||||||
|
|
||||||
|
local mainPage = action_wheel:newPage()
|
||||||
|
action_wheel:setPage(mainPage)
|
||||||
|
|
||||||
|
function pings.Victory()
|
||||||
|
animations.model.win:play()
|
||||||
|
end
|
||||||
|
|
||||||
|
function pings.Sitting(state)
|
||||||
|
animations.model.sit_emote:setPlaying(state)
|
||||||
|
end
|
||||||
|
--
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Wave")
|
||||||
|
:item("minecraft:lantern")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Wave)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Wave")
|
||||||
|
:item("minecraft:lantern")
|
||||||
|
:hoverColor(1,1,0)
|
||||||
|
:onLeftClick(pings.Victory)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local lastItem = "minecraft:air"
|
||||||
|
function events.tick()
|
||||||
|
|
||||||
|
if player:getHeldItem().id ~= lastItem then
|
||||||
|
--do stuff
|
||||||
|
lastItem = player:getHeldItem().id
|
||||||
|
animations.model.item:play()
|
||||||
|
end
|
||||||
|
end
|
8
3d_models/figura-old/Paper Mario/avatar.json
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"name": "Paper Mario (Modern)",
|
||||||
|
"description": "Brings Paper Mario from hit videogame series Paper Mario",
|
||||||
|
"authors": [
|
||||||
|
"akirapink"
|
||||||
|
],
|
||||||
|
"color": "#00f0ff"
|
||||||
|
}
|
BIN
3d_models/figura-old/Paper Mario/avatar.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/confetti2.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/crouch.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/hurt.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/idle1.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/idle2.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/item1.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/jump.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/mario-spirte.aseprite
Normal file
BIN
3d_models/figura-old/Paper Mario/mario/walk1.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/walk3.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/win1.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/win2.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/win3.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/win4.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
3d_models/figura-old/Paper Mario/mario/win5.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
3274
3d_models/figura-old/Paper Mario/model.bbmodel
Normal file
22
3d_models/figura-old/Paper Mario/script.lua
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
local anims = require("EZAnims")
|
||||||
|
local example = anims:addBBModel(animations.model)
|
||||||
|
|
||||||
|
--hide vanilla model
|
||||||
|
vanilla_model.PLAYER:setVisible(false)
|
||||||
|
|
||||||
|
--hide vanilla armor model
|
||||||
|
vanilla_model.ARMOR:setVisible(false)
|
||||||
|
--re-enable the helmet item
|
||||||
|
vanilla_model.HELMET_ITEM:setVisible(true)
|
||||||
|
|
||||||
|
--hide vanilla cape model
|
||||||
|
vanilla_model.CAPE:setVisible(false)
|
||||||
|
|
||||||
|
--hide vanilla elytra model
|
||||||
|
vanilla_model.ELYTRA:setVisible(false)
|
||||||
|
|
||||||
|
models.model:setPrimaryRenderType("CUTOUT_CULL")
|
||||||
|
|
||||||
|
|
||||||
|
example:addAllOverrider(animations.model.item)
|
||||||
|
example:addAllOverrider(animations.model.win)
|
BIN
3d_models/figura-old/PaperMario_rev100.zip
Normal file
BIN
3d_models/figura-old/Sunflower/idle.gif
Normal file
After Width: | Height: | Size: 270 KiB |
BIN
3d_models/figura-old/Sunflower/much_better_idle.gif
Normal file
After Width: | Height: | Size: 192 KiB |
1
3d_models/figura-old/Sunflower/player_model.bbmodel
Normal file
1
3d_models/figura-old/Sunflower/squid_model.bbmodel
Normal file
BIN
3d_models/figura-old/Sunflower/sunflower.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
7
3d_models/figura-old/Supreme Witch Calamita/avatar.json
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"authors": [
|
||||||
|
"akirapink"
|
||||||
|
],
|
||||||
|
"name": "Supreme Witch Calamitas",
|
||||||
|
"description":"§cDo you enjoy going through §e§lhell?"
|
||||||
|
}
|
BIN
3d_models/figura-old/Supreme Witch Calamita/avatar.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
3d_models/figura-old/Supreme Witch Calamita/blank.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
3d_models/figura-old/Supreme Witch Calamita/hoodie.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
3d_models/figura-old/Supreme Witch Calamita/hoodie_dark.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
3d_models/figura-old/Supreme Witch Calamita/hoodie_dark_e.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
3d_models/figura-old/Supreme Witch Calamita/hoodieless.png
Normal file
After Width: | Height: | Size: 14 KiB |
56
3d_models/figura-old/Supreme Witch Calamita/script.lua
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
vanilla_model.PLAYER:setVisible(false)
|
||||||
|
vanilla_model.ARMOR:setVisible(false)
|
||||||
|
models.player_model:setVisible(true)
|
||||||
|
vanilla_model.HELD_ITEMS:setVisible(true)
|
||||||
|
vanilla_model.ELYTRA:setVisible(true)
|
||||||
|
|
||||||
|
|
||||||
|
--change texture
|
||||||
|
|
||||||
|
local mainPage = action_wheel:newPage()
|
||||||
|
action_wheel:setPage(mainPage)
|
||||||
|
|
||||||
|
function pings.Hoodie()
|
||||||
|
models.player_model:setPrimaryTexture("CUSTOM", textures["hoodie"])
|
||||||
|
models.player_model:setSecondaryTexture("CUSTOM", textures["blank"])
|
||||||
|
end
|
||||||
|
|
||||||
|
function pings.Hoodless()
|
||||||
|
models.player_model:setPrimaryTexture("CUSTOM", textures["hoodieless"])
|
||||||
|
models.player_model:setSecondaryTexture("CUSTOM", textures["blank"])
|
||||||
|
end
|
||||||
|
|
||||||
|
function pings.DarkHoodie()
|
||||||
|
models.player_model:setPrimaryTexture("CUSTOM", textures["hoodie_dark"])
|
||||||
|
models.player_model:setSecondaryTexture("CUSTOM", textures["hoodie_dark_e"])
|
||||||
|
end
|
||||||
|
|
||||||
|
function pings.Shadow()
|
||||||
|
models.player_model:setPrimaryTexture("CUSTOM", textures["shadow"])
|
||||||
|
models.player_model:setSecondaryTexture("CUSTOM", textures["shadow_e"])
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Dark Hoodie")
|
||||||
|
:item("minecraft:black_dye")
|
||||||
|
:hoverColor(0,0,0)
|
||||||
|
:onLeftClick(pings.DarkHoodie)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Default")
|
||||||
|
:item("minecraft:gray_dye")
|
||||||
|
:hoverColor(0.5,0.5,0.5)
|
||||||
|
:onLeftClick(pings.Hoodie)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Hoodless")
|
||||||
|
:item("minecraft:white_dye")
|
||||||
|
:hoverColor(1,1,1)
|
||||||
|
:onLeftClick(pings.Hoodless)
|
||||||
|
|
||||||
|
mainPage:newAction()
|
||||||
|
:title("Shadow")
|
||||||
|
:item("minecraft:red_dye")
|
||||||
|
:hoverColor(1,0,0)
|
||||||
|
:onLeftClick(pings.Shadow)
|
BIN
3d_models/figura-old/Supreme Witch Calamita/shadow.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
3d_models/figura-old/Supreme Witch Calamita/shadow_e.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
3d_models/figura-old/Supreme Witch Calamita/texture.png
Normal file
After Width: | Height: | Size: 139 B |
7
3d_models/figura-old/VEL_RECEPTORS/avatar.json
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"authors": [
|
||||||
|
"oatmealine",
|
||||||
|
"akirapink"
|
||||||
|
],
|
||||||
|
"name": "Vel Receptors"
|
||||||
|
}
|
1
3d_models/figura-old/VEL_RECEPTORS/player_model.bbmodel
Normal file
1
3d_models/figura-old/VEL_RECEPTORS/script.lua
Normal file
|
@ -0,0 +1 @@
|
||||||
|
-- Autogenerated Essential => Figura script
|
BIN
3d_models/figura-old/VEL_RECEPTORS/texture.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
3d_models/grid.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
410
3d_models/mainframes_perspective_test.bbmodel
Normal file
|
@ -0,0 +1,410 @@
|
||||||
|
{
|
||||||
|
"meta": {
|
||||||
|
"format_version": "4.10",
|
||||||
|
"model_format": "free",
|
||||||
|
"box_uv": false
|
||||||
|
},
|
||||||
|
"name": "mainframes_perspective_test",
|
||||||
|
"model_identifier": "",
|
||||||
|
"visible_box": [1, 1, 0],
|
||||||
|
"variable_placeholders": "",
|
||||||
|
"variable_placeholder_buttons": [],
|
||||||
|
"timeline_setups": [],
|
||||||
|
"unhandled_root_fields": {},
|
||||||
|
"resolution": {
|
||||||
|
"width": 16,
|
||||||
|
"height": 16
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"name": "cube",
|
||||||
|
"box_uv": false,
|
||||||
|
"rescale": false,
|
||||||
|
"locked": false,
|
||||||
|
"light_emission": 0,
|
||||||
|
"render_order": "default",
|
||||||
|
"allow_mirror_modeling": true,
|
||||||
|
"from": [3, -0.1, 5],
|
||||||
|
"to": [5, 5.9, 7],
|
||||||
|
"autouv": 1,
|
||||||
|
"color": 5,
|
||||||
|
"inflate": -0.1,
|
||||||
|
"origin": [3, -0.1, 6],
|
||||||
|
"faces": {
|
||||||
|
"north": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"east": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"south": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"west": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"up": {
|
||||||
|
"uv": [0, 0, 2, 2]
|
||||||
|
},
|
||||||
|
"down": {
|
||||||
|
"uv": [0, 0, 2, 2]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "cube",
|
||||||
|
"uuid": "9332dff6-a10b-b99d-7f7b-0111174ed7de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cube",
|
||||||
|
"box_uv": false,
|
||||||
|
"rescale": false,
|
||||||
|
"locked": false,
|
||||||
|
"light_emission": 0,
|
||||||
|
"render_order": "default",
|
||||||
|
"allow_mirror_modeling": true,
|
||||||
|
"from": [1, -0.1, 5],
|
||||||
|
"to": [3, 5.9, 7],
|
||||||
|
"autouv": 1,
|
||||||
|
"color": 5,
|
||||||
|
"inflate": -0.1,
|
||||||
|
"origin": [1, -0.1, 6],
|
||||||
|
"faces": {
|
||||||
|
"north": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"east": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"south": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"west": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"up": {
|
||||||
|
"uv": [0, 0, 2, 2]
|
||||||
|
},
|
||||||
|
"down": {
|
||||||
|
"uv": [0, 0, 2, 2]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "cube",
|
||||||
|
"uuid": "8f976282-adc7-29e7-167c-ec1c03ebbca8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cube",
|
||||||
|
"box_uv": false,
|
||||||
|
"rescale": false,
|
||||||
|
"locked": false,
|
||||||
|
"light_emission": 0,
|
||||||
|
"render_order": "default",
|
||||||
|
"allow_mirror_modeling": true,
|
||||||
|
"from": [-1, -0.1, 5],
|
||||||
|
"to": [1, 5.9, 7],
|
||||||
|
"autouv": 1,
|
||||||
|
"color": 5,
|
||||||
|
"inflate": -0.1,
|
||||||
|
"origin": [-1, -0.1, 6],
|
||||||
|
"faces": {
|
||||||
|
"north": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"east": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"south": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"west": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"up": {
|
||||||
|
"uv": [0, 0, 2, 2]
|
||||||
|
},
|
||||||
|
"down": {
|
||||||
|
"uv": [0, 0, 2, 2]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "cube",
|
||||||
|
"uuid": "45c8487e-56c1-7151-fa97-44a771a54358"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cube",
|
||||||
|
"box_uv": false,
|
||||||
|
"rescale": false,
|
||||||
|
"locked": false,
|
||||||
|
"light_emission": 0,
|
||||||
|
"render_order": "default",
|
||||||
|
"allow_mirror_modeling": true,
|
||||||
|
"from": [-3, -0.1, 5],
|
||||||
|
"to": [-1, 5.9, 7],
|
||||||
|
"autouv": 1,
|
||||||
|
"color": 5,
|
||||||
|
"inflate": -0.1,
|
||||||
|
"origin": [-3, -0.1, 6],
|
||||||
|
"faces": {
|
||||||
|
"north": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"east": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"south": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"west": {
|
||||||
|
"uv": [0, 0, 2, 6]
|
||||||
|
},
|
||||||
|
"up": {
|
||||||
|
"uv": [0, 0, 2, 2]
|
||||||
|
},
|
||||||
|
"down": {
|
||||||
|
"uv": [0, 0, 2, 2]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "cube",
|
||||||
|
"uuid": "21ada6bb-9b37-3a26-23f0-c5925330f440"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "camera",
|
||||||
|
"path": "",
|
||||||
|
"position": [-3.18585, 2.75882, -5.82124],
|
||||||
|
"rotation": [177.43576, -25.16381, -180],
|
||||||
|
"fov": 50,
|
||||||
|
"aspect_ratio": [1, 1],
|
||||||
|
"linked_preview": "main",
|
||||||
|
"camera_linked": false,
|
||||||
|
"visibility": false,
|
||||||
|
"type": "camera",
|
||||||
|
"uuid": "00214e3e-1f02-0b4f-2e28-19fe12003d8f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cube",
|
||||||
|
"box_uv": false,
|
||||||
|
"rescale": false,
|
||||||
|
"locked": false,
|
||||||
|
"light_emission": 0,
|
||||||
|
"render_order": "default",
|
||||||
|
"allow_mirror_modeling": true,
|
||||||
|
"from": [-15, 0, -15],
|
||||||
|
"to": [15, 0, 15],
|
||||||
|
"autouv": 0,
|
||||||
|
"color": 9,
|
||||||
|
"origin": [-6, 0, -15],
|
||||||
|
"faces": {
|
||||||
|
"north": {
|
||||||
|
"uv": [0, 0, 480, 480],
|
||||||
|
"texture": 0
|
||||||
|
},
|
||||||
|
"east": {
|
||||||
|
"uv": [0, 0, 480, 480],
|
||||||
|
"texture": 0
|
||||||
|
},
|
||||||
|
"south": {
|
||||||
|
"uv": [0, 0, 480, 480],
|
||||||
|
"texture": 0
|
||||||
|
},
|
||||||
|
"west": {
|
||||||
|
"uv": [0, 0, 480, 480],
|
||||||
|
"texture": 0
|
||||||
|
},
|
||||||
|
"up": {
|
||||||
|
"uv": [0, 0, 480, 480],
|
||||||
|
"texture": 0
|
||||||
|
},
|
||||||
|
"down": {
|
||||||
|
"uv": [0, 0, 480, 480],
|
||||||
|
"texture": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "cube",
|
||||||
|
"uuid": "4eafc28d-3678-0486-485f-37098c1625b6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cube",
|
||||||
|
"box_uv": false,
|
||||||
|
"rescale": false,
|
||||||
|
"locked": false,
|
||||||
|
"light_emission": 0,
|
||||||
|
"render_order": "default",
|
||||||
|
"allow_mirror_modeling": true,
|
||||||
|
"from": [10, 4, -14],
|
||||||
|
"to": [12, 15, 15],
|
||||||
|
"autouv": 1,
|
||||||
|
"color": 9,
|
||||||
|
"inflate": -0.025,
|
||||||
|
"origin": [11, 0, 0],
|
||||||
|
"faces": {
|
||||||
|
"north": {
|
||||||
|
"uv": [0, 0, 2, 11]
|
||||||
|
},
|
||||||
|
"east": {
|
||||||
|
"uv": [0, 0, 16, 11]
|
||||||
|
},
|
||||||
|
"south": {
|
||||||
|
"uv": [0, 0, 2, 11]
|
||||||
|
},
|
||||||
|
"west": {
|
||||||
|
"uv": [0, 0, 16, 11]
|
||||||
|
},
|
||||||
|
"up": {
|
||||||
|
"uv": [0, 0, 2, 16]
|
||||||
|
},
|
||||||
|
"down": {
|
||||||
|
"uv": [0, 0, 2, 16]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "cube",
|
||||||
|
"uuid": "9a143832-0bbd-4736-8f7c-7dfb2f57c649"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cube",
|
||||||
|
"box_uv": false,
|
||||||
|
"rescale": false,
|
||||||
|
"locked": false,
|
||||||
|
"light_emission": 0,
|
||||||
|
"render_order": "default",
|
||||||
|
"allow_mirror_modeling": true,
|
||||||
|
"from": [10, 0, -14],
|
||||||
|
"to": [12, 7, 8],
|
||||||
|
"autouv": 1,
|
||||||
|
"color": 9,
|
||||||
|
"origin": [11, 0, 0],
|
||||||
|
"faces": {
|
||||||
|
"north": {
|
||||||
|
"uv": [0, 0, 2, 7]
|
||||||
|
},
|
||||||
|
"east": {
|
||||||
|
"uv": [0, 0, 16, 7]
|
||||||
|
},
|
||||||
|
"south": {
|
||||||
|
"uv": [0, 0, 2, 7]
|
||||||
|
},
|
||||||
|
"west": {
|
||||||
|
"uv": [0, 0, 16, 7]
|
||||||
|
},
|
||||||
|
"up": {
|
||||||
|
"uv": [0, 0, 2, 16]
|
||||||
|
},
|
||||||
|
"down": {
|
||||||
|
"uv": [0, 0, 2, 16]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "cube",
|
||||||
|
"uuid": "2654914e-20b3-09a8-f12c-63697e5a5cfe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cube",
|
||||||
|
"box_uv": false,
|
||||||
|
"rescale": false,
|
||||||
|
"locked": false,
|
||||||
|
"light_emission": 0,
|
||||||
|
"render_order": "default",
|
||||||
|
"allow_mirror_modeling": true,
|
||||||
|
"from": [10, 0, 10],
|
||||||
|
"to": [12, 7, 15],
|
||||||
|
"autouv": 1,
|
||||||
|
"color": 9,
|
||||||
|
"origin": [11, 0, 9],
|
||||||
|
"faces": {
|
||||||
|
"north": {
|
||||||
|
"uv": [0, 0, 2, 7]
|
||||||
|
},
|
||||||
|
"east": {
|
||||||
|
"uv": [0, 0, 5, 7]
|
||||||
|
},
|
||||||
|
"south": {
|
||||||
|
"uv": [0, 0, 2, 7]
|
||||||
|
},
|
||||||
|
"west": {
|
||||||
|
"uv": [0, 0, 5, 7]
|
||||||
|
},
|
||||||
|
"up": {
|
||||||
|
"uv": [0, 0, 2, 5]
|
||||||
|
},
|
||||||
|
"down": {
|
||||||
|
"uv": [0, 0, 2, 5]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "cube",
|
||||||
|
"uuid": "5f529dbe-6c51-38f0-b373-c62f8bfa0840"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cube",
|
||||||
|
"box_uv": false,
|
||||||
|
"rescale": false,
|
||||||
|
"locked": false,
|
||||||
|
"light_emission": 0,
|
||||||
|
"render_order": "default",
|
||||||
|
"allow_mirror_modeling": true,
|
||||||
|
"from": [-15, 0, 14],
|
||||||
|
"to": [12, 15, 15],
|
||||||
|
"autouv": 1,
|
||||||
|
"color": 9,
|
||||||
|
"origin": [11, 0, 9],
|
||||||
|
"faces": {
|
||||||
|
"north": {
|
||||||
|
"uv": [0, 0, 16, 15]
|
||||||
|
},
|
||||||
|
"east": {
|
||||||
|
"uv": [0, 0, 1, 15]
|
||||||
|
},
|
||||||
|
"south": {
|
||||||
|
"uv": [0, 0, 16, 15]
|
||||||
|
},
|
||||||
|
"west": {
|
||||||
|
"uv": [0, 0, 1, 15]
|
||||||
|
},
|
||||||
|
"up": {
|
||||||
|
"uv": [0, 0, 16, 1]
|
||||||
|
},
|
||||||
|
"down": {
|
||||||
|
"uv": [0, 0, 16, 1]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "cube",
|
||||||
|
"uuid": "f97a9459-bd6a-00ac-6571-89f96141cd7a"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"outliner": [
|
||||||
|
"9332dff6-a10b-b99d-7f7b-0111174ed7de",
|
||||||
|
"8f976282-adc7-29e7-167c-ec1c03ebbca8",
|
||||||
|
"45c8487e-56c1-7151-fa97-44a771a54358",
|
||||||
|
"21ada6bb-9b37-3a26-23f0-c5925330f440",
|
||||||
|
"00214e3e-1f02-0b4f-2e28-19fe12003d8f",
|
||||||
|
"4eafc28d-3678-0486-485f-37098c1625b6",
|
||||||
|
"9a143832-0bbd-4736-8f7c-7dfb2f57c649",
|
||||||
|
"2654914e-20b3-09a8-f12c-63697e5a5cfe",
|
||||||
|
"5f529dbe-6c51-38f0-b373-c62f8bfa0840",
|
||||||
|
"f97a9459-bd6a-00ac-6571-89f96141cd7a"
|
||||||
|
],
|
||||||
|
"textures": [
|
||||||
|
{
|
||||||
|
"path": "/home/akirapink/Documents/made-in-akira/3d_models/checker_16.png",
|
||||||
|
"name": "checker_16.png",
|
||||||
|
"folder": "",
|
||||||
|
"namespace": "",
|
||||||
|
"id": "0",
|
||||||
|
"group": "",
|
||||||
|
"width": 480,
|
||||||
|
"height": 480,
|
||||||
|
"uv_width": 480,
|
||||||
|
"uv_height": 480,
|
||||||
|
"particle": false,
|
||||||
|
"use_as_default": false,
|
||||||
|
"layers_enabled": false,
|
||||||
|
"sync_to_project": "",
|
||||||
|
"render_mode": "default",
|
||||||
|
"render_sides": "auto",
|
||||||
|
"pbr_channel": "color",
|
||||||
|
"frame_time": 1,
|
||||||
|
"frame_order_type": "loop",
|
||||||
|
"frame_order": "",
|
||||||
|
"frame_interpolate": false,
|
||||||
|
"visible": true,
|
||||||
|
"internal": false,
|
||||||
|
"saved": true,
|
||||||
|
"uuid": "b3855cae-7be8-2837-8ac9-97d6326cc8fb",
|
||||||
|
"relative_path": "checker_16.png"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
BIN
drawings/astra drawings real - lighting experiments.xcf
Normal file
BIN
drawings/astra_drawings_real.aseprite
Normal file
BIN
drawings/astra_drawings_real.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
drawings/c_ob dude squirrel.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
drawings/c_ob dude squirrel_2.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
drawings/c_ob moth real.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
drawings/junk/mindspike on a rail.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
drawings/traumatized.aseprite
Normal file
BIN
drawings/traumatized.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
graphic_design/junk/Missy Control Strip Godot spritesheet.xcf
Normal file
BIN
memes/c_ob cavik pointer.png
Normal file
After Width: | Height: | Size: 556 KiB |
BIN
memes/rgba_pride_flag.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
memes/true_daisy.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
BIN
pixel_art/RPGchars/undertale-deltarune/akirapink_v414.aseprite
Normal file
|
@ -0,0 +1,361 @@
|
||||||
|
/)
|
||||||
|
20% Cooler!
|
||||||
|
Biden BLAST!!!
|
||||||
|
Re-implemented!
|
||||||
|
/!\ You have alerted the horse.
|
||||||
|
/!\ You are no longer safe.
|
||||||
|
(i) PLAYERNAME has been infected
|
||||||
|
I'm not gonna sugarcoat it,
|
||||||
|
I know what you are.
|
||||||
|
But do I know when you are!?
|
||||||
|
Moss? Eaten.
|
||||||
|
Never stop gambling!
|
||||||
|
Let's go gambling!
|
||||||
|
Aw dang it!
|
||||||
|
No matter what!
|
||||||
|
Open up your eyes!
|
||||||
|
Yee-Haw!
|
||||||
|
I'm from the past, and I'm from the future!
|
||||||
|
jessey...i turned myself into a bunger...
|
||||||
|
yeag
|
||||||
|
(removed)
|
||||||
|
(deleted)
|
||||||
|
Can you hear the sea? Do you see the lights?
|
||||||
|
Return to your bunker.
|
||||||
|
This place is safe. Stay here to hibernate
|
||||||
|
Nom
|
||||||
|
I know this is what must happen...
|
||||||
|
Michigan
|
||||||
|
**NOT CLICKBAIT**
|
||||||
|
**GONE WRONG**
|
||||||
|
Not on viewportOS!
|
||||||
|
[Money] SOON
|
||||||
|
KILL
|
||||||
|
Murderize!
|
||||||
|
Bad To the Bone!
|
||||||
|
You are fake. You dont exist,
|
||||||
|
Yes!
|
||||||
|
NOOOOOOOOOOOOOOO
|
||||||
|
GOOOOOOOOOOOOOOL
|
||||||
|
A Brave New Look!
|
||||||
|
A Brave New Gloop!
|
||||||
|
But here's the glooper:
|
||||||
|
Glooptastic, absolutely slorpcredible!
|
||||||
|
Knows where you live!
|
||||||
|
100% pure!
|
||||||
|
As seen on TV!
|
||||||
|
Hey, hello! My name is...
|
||||||
|
(pling) Leave me alone! (pling) Akira!
|
||||||
|
Faithless!
|
||||||
|
Faithful!
|
||||||
|
Made on Java!
|
||||||
|
Made with IntelliJ IDEA!
|
||||||
|
Made with Visual Studio Code!
|
||||||
|
Made with Notepad++!
|
||||||
|
Made with Notepad!
|
||||||
|
Please don't open re:squake config (no seriously)
|
||||||
|
Also try RubyDung!
|
||||||
|
Also try Bugsnax!
|
||||||
|
Also try Bugsnax: Isle of Bigsnax!
|
||||||
|
Also Try Minecraft: Bedrock Edition!
|
||||||
|
Also try Quake!
|
||||||
|
Also try re:squake!
|
||||||
|
Also try Linux Mint!
|
||||||
|
Also try Fedora Linux!
|
||||||
|
Also try corru.observer!
|
||||||
|
Also try corru.observer: EP2ADDZ!
|
||||||
|
Also try Splatoon!
|
||||||
|
Also try Splatoon 2!
|
||||||
|
Also try Splatoon 2: Octo Expansion!
|
||||||
|
Also try Splatoon 3!
|
||||||
|
Also try Splatoon 3: Side Order!
|
||||||
|
Also try Nintendogs!
|
||||||
|
Also try Rain World!
|
||||||
|
Also try Rain World: Downpour!
|
||||||
|
Also try Sonic Adventure!
|
||||||
|
Also try Not So Seecret Saturday!
|
||||||
|
Also try ReIndev!
|
||||||
|
Also try Better than Adventure!
|
||||||
|
Also try Legacy+!
|
||||||
|
Also try Raspberry Flavored!
|
||||||
|
Also try Secret Little Haven!
|
||||||
|
Also try Voices of the Void!
|
||||||
|
Also try Starbound!
|
||||||
|
Also try The Genesis Project!
|
||||||
|
Also try Terraria!
|
||||||
|
Also try Hytale!
|
||||||
|
Also try Paper Mario: Color Splash!
|
||||||
|
Also try Indigo Park!
|
||||||
|
Also try admiring plants!
|
||||||
|
Also listen to The Beths!
|
||||||
|
Also listen to Beau Jordan!
|
||||||
|
Give up on your dreams of becoming a baker!
|
||||||
|
Happy birthday!
|
||||||
|
Happy wriggling day!
|
||||||
|
Happy ascension gaze!
|
||||||
|
Animal Crossing: New Leaf!
|
||||||
|
(punching trees is not as effective in real life)
|
||||||
|
Basketball. Everyone remembers Basketball!
|
||||||
|
A bizarre adventure!
|
||||||
|
A wacky trip!
|
||||||
|
A blocky vacation!
|
||||||
|
Now with vertical slabs!
|
||||||
|
Oh, wouldn't you like to know?
|
||||||
|
Did you know?
|
||||||
|
Top-tier gaming.
|
||||||
|
Mojang please nerf skeletons
|
||||||
|
Mojang please
|
||||||
|
Mojank please
|
||||||
|
Mojang please I am begging
|
||||||
|
At home!
|
||||||
|
Home-made!
|
||||||
|
Made in Brasil!
|
||||||
|
Made in Brazil!
|
||||||
|
BRASIL NÚMERO UM CAMPEÃO DO BLUMBO :speaking_head::speaking_head:
|
||||||
|
Was that the craft of ’87!?
|
||||||
|
Now With More Copper!
|
||||||
|
Now with More
|
||||||
|
A little bit of "?" in your life!
|
||||||
|
Now!
|
||||||
|
In case it isn't obvious, foxes are also players.
|
||||||
|
it's as shrimple as that
|
||||||
|
things are not so shrimple now, are they?
|
||||||
|
its actually very clamplicated
|
||||||
|
its that shrimple
|
||||||
|
its very benefishial
|
||||||
|
its kinda conchfusing
|
||||||
|
simply mantastic
|
||||||
|
its very resharkable
|
||||||
|
you've got to be squidding me
|
||||||
|
i cant believe you would becray me
|
||||||
|
its very effishient
|
||||||
|
your octopinion is invalid
|
||||||
|
your octopinion is valid
|
||||||
|
its very shellfish
|
||||||
|
would you please sealize the truth
|
||||||
|
the proccess is that grueeling
|
||||||
|
its not something you cod achieve easily
|
||||||
|
its actually immorayl
|
||||||
|
Apartment complex? I find it quite simple.
|
||||||
|
Snowier snow!
|
||||||
|
Trans rights now!
|
||||||
|
ACAB
|
||||||
|
13:12, make a wish!
|
||||||
|
Black lives matter!
|
||||||
|
Be anti-racist!
|
||||||
|
Learn about allyship!
|
||||||
|
Speak OUT against injustice and UP for equality!
|
||||||
|
Amplify and listen to Black and Indigenous voices!
|
||||||
|
Educate your friends on anti-racism!
|
||||||
|
Support creators from marginalized communities!
|
||||||
|
Stand up for equality in your community!
|
||||||
|
Be anti-racist!
|
||||||
|
sorry, we used your boyfriend in a crafting recipe...
|
||||||
|
? I sure hope it does!
|
||||||
|
I enjoy walks on the beach, and laying on the ground...
|
||||||
|
Taken for granted!
|
||||||
|
Not since The Incident...
|
||||||
|
Are you seeing this?
|
||||||
|
Going insane!
|
||||||
|
if not ok then return help
|
||||||
|
Fhqwhgads!
|
||||||
|
Giasfelfebrehber!
|
||||||
|
Giasfclfbrehber!
|
||||||
|
Successfully
|
||||||
|
Squish that cat.
|
||||||
|
Brings the bounty to the plains!
|
||||||
|
Through the torment and the rains!
|
||||||
|
You just missed the splash text, sorry...
|
||||||
|
Home of Challenge Missy!
|
||||||
|
Going up!
|
||||||
|
Going down!
|
||||||
|
Not really...
|
||||||
|
It really isn't...
|
||||||
|
Absolutely
|
||||||
|
EXCELLENT
|
||||||
|
This party's getting crazy!
|
||||||
|
Become a dark spirit!
|
||||||
|
New gloopy mode!
|
||||||
|
New Play Control!
|
||||||
|
Now with both Temptation and Sin!
|
||||||
|
Supports languages!
|
||||||
|
Mmmmmmm... Fishe...
|
||||||
|
Love is in the air? WRONG! Kavruka!
|
||||||
|
Love is in the air? WRONG! Deadly Neurotoxin!
|
||||||
|
Love is in the air? WRONG! Man-at-Legs!
|
||||||
|
Slime is falling from the sky!
|
||||||
|
A goblin army is approaching from the west!
|
||||||
|
Filmed in front of a live studio audience!
|
||||||
|
Every copy is personalized!
|
||||||
|
Wildly popular!
|
||||||
|
Y2K ready!
|
||||||
|
Y2K38 ready!
|
||||||
|
dink my oiter
|
||||||
|
they can dink it
|
||||||
|
they can't dink it
|
||||||
|
Save the world, stay inside!
|
||||||
|
Save the world, wear a mask!
|
||||||
|
Take it out on me!
|
||||||
|
Trying to get out of hell!
|
||||||
|
Could not stop growing!
|
||||||
|
Until last week!
|
||||||
|
Since last thursday!
|
||||||
|
pppppppppppppppppppppppppppppppppppppppppp
|
||||||
|
Woo, Create: Estrogen!
|
||||||
|
Woo, Spectrum!
|
||||||
|
Woo, Ars Nouveau!
|
||||||
|
Woo, Hex Casting!
|
||||||
|
Woo, Thaumcraft!
|
||||||
|
Amorphous!
|
||||||
|
Non-amorphous!
|
||||||
|
Non-non-amorphous!
|
||||||
|
Algebraic!
|
||||||
|
Mathematical!
|
||||||
|
Polynomial!
|
||||||
|
Your gender is valid!
|
||||||
|
Splashes by akirapink and friends!
|
||||||
|
Contains simulated goats!
|
||||||
|
Contains a real human soul!
|
||||||
|
Contains infinite genders!
|
||||||
|
But what about me?
|
||||||
|
Send me a dream, bartender!
|
||||||
|
Sand me a man!
|
||||||
|
Sand me a paper!
|
||||||
|
Can share a few exciting progress updates with you!
|
||||||
|
So it means...
|
||||||
|
Therefore...
|
||||||
|
You and me!
|
||||||
|
Your personal ScrongleBuddy!
|
||||||
|
Inside a bag of milk!
|
||||||
|
Approved by Mold Mario!
|
||||||
|
Many people say “Rome wasn't built in a day”. That's correct!
|
||||||
|
Many qou say “The Obesk Embassy wasn't built in a gaze”. That's correct!
|
||||||
|
Shimmer, shimmer...
|
||||||
|
Where Are They Now? Find Out Today!
|
||||||
|
Your #1 Download Source!
|
||||||
|
.com
|
||||||
|
.net
|
||||||
|
.org
|
||||||
|
.com.br
|
||||||
|
.co.uk
|
||||||
|
Forever and always!
|
||||||
|
Doesn't have a first level!
|
||||||
|
No more running!
|
||||||
|
§c<3 §rBecome longer
|
||||||
|
BE AFRAID!
|
||||||
|
<3
|
||||||
|
Xorg my beloathed!
|
||||||
|
Wayland my beloathed!
|
||||||
|
PulseAudio my beloathed!
|
||||||
|
PipeWire my beloathed!
|
||||||
|
Tiny-Huge Pizza!
|
||||||
|
Not that good!
|
||||||
|
Honestly quite incredible!
|
||||||
|
[this splash text is now available]
|
||||||
|
[this splash text is no longer available]
|
||||||
|
Try it. See what happens.
|
||||||
|
Enable Streamer Mode!
|
||||||
|
Windows G Enable
|
||||||
|
macOS P Disable
|
||||||
|
Linux S Continue
|
||||||
|
Have you heard of Xenia, the Linux Fox?
|
||||||
|
Let me tell you a story...
|
||||||
|
& Knuckles!
|
||||||
|
Knuckles In:
|
||||||
|
AudioJungle
|
||||||
|
AA EE OO
|
||||||
|
You wanna peep the horror? Here.
|
||||||
|
Aren't you excited?
|
||||||
|
Panic! In static! Out-manic!
|
||||||
|
Classic! Estatic! It's magic!
|
||||||
|
To trip the light fantastic, repeat it after me!
|
||||||
|
[citation needed]
|
||||||
|
[according to whom?]
|
||||||
|
By technicality!
|
||||||
|
It's blue and true!
|
||||||
|
It's bleen!
|
||||||
|
The videogame of all time!
|
||||||
|
Game of a Year!
|
||||||
|
Game of the Year!
|
||||||
|
There's a light inside your soul!
|
||||||
|
That's still shining in the cold!
|
||||||
|
With the truth, the promise in our hearts!
|
||||||
|
Don't forget!
|
||||||
|
I'm with you in the dark!
|
||||||
|
Don't forget this dream!
|
||||||
|
A sad, yet sweet memory!
|
||||||
|
That's what you left of me!
|
||||||
|
And yes, I do, think of you!
|
||||||
|
I hope that you do too!
|
||||||
|
Sponsored by IKEA!
|
||||||
|
Hit its Deltarune/Undertale reference limit 2 splashes ago!
|
||||||
|
Check your CPU temperature!
|
||||||
|
Check your RAM usage!
|
||||||
|
Check your SSD writes!
|
||||||
|
Check your HDD space!
|
||||||
|
Check your battery health!
|
||||||
|
Have you tried turning it off and on again?
|
||||||
|
§c=)
|
||||||
|
§c=(
|
||||||
|
§d=)
|
||||||
|
§d=(
|
||||||
|
§c6 left.
|
||||||
|
§c5 left.
|
||||||
|
§c4 left.
|
||||||
|
§c3 left.
|
||||||
|
§c2 left.
|
||||||
|
§c1 left.
|
||||||
|
It's Pride Month! You know what that means.
|
||||||
|
FUCK Notch!
|
||||||
|
Made by Hatsune Miku!
|
||||||
|
Made by Mojang Studios!
|
||||||
|
Something about Microsoft?
|
||||||
|
It's fast approaching!
|
||||||
|
Ouppy...So ouool...
|
||||||
|
Brought in for questioning!
|
||||||
|
300 splashes and counting!
|
||||||
|
Rotate it in your mind!
|
||||||
|
In your mind's eye, you are a big, big monster truck!
|
||||||
|
Remember to drink water!
|
||||||
|
Hydrate before you die-drate!
|
||||||
|
Happy Holidays!
|
||||||
|
What did you expect?
|
||||||
|
Chaps, are we cooked?
|
||||||
|
Baking Bread!
|
||||||
|
Gakvu: "Gakvu"
|
||||||
|
A second, funnier Minecraft!
|
||||||
|
A vision from an angry god!
|
||||||
|
Electrify mine!
|
||||||
|
Can't you do it sometime?
|
||||||
|
Pushed it in too far...
|
||||||
|
Green inside!
|
||||||
|
Intel inside!
|
||||||
|
AMD outside!
|
||||||
|
Groovy, and only sometimes glooby!
|
||||||
|
Girls...
|
||||||
|
Boys...
|
||||||
|
Enbys...
|
||||||
|
All The Mods 10...
|
||||||
|
With no disrespect to the &!
|
||||||
|
Open for business!
|
||||||
|
Sorry, we're closed!
|
||||||
|
So be it, we've clopen!
|
||||||
|
Nvidia beneath the soil, buried 1.8288 meters under!
|
||||||
|
It is now safe to turn off your computer.
|
||||||
|
It is no longer safe to turn off your computer.
|
||||||
|
0625. Willpower, though useful, does not alone a powerful being make.
|
||||||
|
1009. Early to bed and early to rise makes a "man" healthy but socially dead.
|
||||||
|
1111. A great change is coming.
|
||||||
|
1119. Everything not saved will be lost.
|
||||||
|
1224. At the end of the day... It's night!
|
||||||
|
1225. The holidays always come, whether you like them or not.
|
||||||
|
1312. No gods, no masters, no exceptions.
|
||||||
|
1604. Some conflicts can be resolved. Communicate before it's too late.
|
||||||
|
1614. The next package in your mailbox will have more value than you initially thought.
|
||||||
|
1707. Choose your battles.
|
||||||
|
2020. Nothing is sacred.
|
||||||
|
2506. Beware not gods, but those who worship them.
|
||||||
|
2612. Treat with love the relations you treasure.
|
||||||
|
3200. Don't make a promise you can't keep. If you do, a storm will find you!
|
||||||
|
4560. Minds are good at being convinced by repeated affirmation.
|
||||||
|
4561. Brains are for having ideas, not remembering them.
|