GraftCopolymer's Blog~~Welcome🤗

A little tech site, welcome

前言

本文章用来记录开服过程中遇到的好用的服务端Mod、插件,大多为优化服务端性能和游玩体验的插件,随缘更新。

Mod

Dynamic View[动态视距] [Forge/NeoForge] [Fabric]

CurseForge地址:Forge/NeoForge版 Fabric版

顾名思义,这个mod能动态调整服务器的视距和模拟距离(有关视距和模拟距离的相关信息请查看:Minecraft Wiki 模拟距离

视距调整的依据是近期服务器的TPS(TPS介绍:Minecraft Wiki 游戏刻),可以自行配置最低视距(或模拟距离)以及最高视距(或模拟距离),以及调整视距和模拟距离的频率。详细配置可见上面给出的CurseForge链接,大名鼎鼎的神优化整合包Chocolate Edition就使用了这个mod,我也是在开Chocolate整合包的服务器的时候看到这个mod的日志输出才知道有这个mod的。

但是MC百科上对这个mod的评价似乎不是很好,有些bug,开服时请酌情选择(或者可以去参考一下Chocolate整合包的服务端对这个mod的配置文件是怎么写的)。

插件

ScrollPosition和ScrollController

我们知道,在使用ListView等可滚动组件时,可以通过给它传进去一个ScrollController来控制滚动行为,那么ScrollController是怎么做到的呢?实际上ScrollController内部会在每一次ScrollController和一个可滚动组件绑定时为其创建一个ScrollPosition对象,并放在一个数组中进行统一管理,真正对滚动起控制作用的其实是ScrollPosition,例如,当我们调用ScrollControlleranimateTo方法的时候,实际上是这样的:

1
2
3
4
5
6
// ScrollController的animateTo方法(伪实现)
Future<void> animateTo(double offset, Duration duration, Curve curve){
for(var _sp in this._positions){
_sp.animateTo(offset, duration: duration, curve: curve)
}
}

没错,当有多个可滚动组件被绑定到同一个ScrollController时,animateTojumpTo方法同理)会遍历当前所有的ScrollPosition对象,并依次调用它们的animateTo方法

阅读全文 »

问题起因

一天平静的夜晚,我刚写完web课程设计的其中一个功能的业务代码,准备提交到远程仓库,发现失败了,哦,原来是已经有人上传了新的代码,我需要pull一下。然后我就pull了,由于我们使用的是sqlite数据库,所以db文件大概率会发生冲突,解决了数据库文件冲突后,我push了上去,没想到,我本地的代码居然莫名少了一些!麻烦就此开始…

阅读全文 »

入口函数

类似C/C++,Kotlin也有一个名为main的入口函数,其完整版本如下:

1
2
3
fun main(args: Array<String>){
// 函数体
}

上面的args为命令行参数

注释

Kotlin使用 // 来进行单行注释,使用 /* */进行多行注释,与Java不同的是,Kotlin的多行注释支持嵌套:

1
2
3
4
5
6
7
8
9
 /*
第一层块注释
/*
第二层块注释
/*
第三层快注释
*/
*/
*/

暂时不明白这样的意义是什么(((

阅读全文 »

协变和逆变是kotlin的泛型语法的一部分,第一次看到这俩东西的定义时,还有点懵:使用 out 使得一个类型参数协变,协变类型参数只能用作返回值,可以作为返回值类型但是无法作为入参的类型; in 使得一个类型参数逆变,逆变类型参数只能用作函数入参,可以作为入参的类型但是无法作为返回值的类型

脑子里冒出无数个疑问:

  • 为什么协变只能用作输出,逆变只能用作输入?

  • 协变和逆变存在的意义是什么,使用他们有什么好处?

阅读全文 »

权限和网络原因导致无法制作镜像

一个很简单docker镜像配置:

image-20241103112713471

Dockerfile文件:

image-20241103112736426
阅读全文 »

本文需要一些耐心阅读

许多朋友在初次使用hexo搭建博客时可能和我一样,都会遇到图片无法显示的问题。我在网上搜索了大量的资料,发现都无法解决我的问题,把_config.yml中的post_asset_folder 也设为 true 了,hexo-asset-image 插件也装了,但就是不行。后来找来找去,在 hexo-asset-image 中发现了端倪。本文最后将会从 hexo-asset-image 的源码上来分析问题,大家不要畏惧,这个插件的源码很简单,都是一些字符串操作。

追根溯源

首先,在一个网页中,图片加载不出来有两种情况,1. 图片服务器宕机,2. 图片URL错误。第一种情况属于个人博客服务器的问题,不在我们的讨论范围内,我们的重点是,图片的URL。

阅读全文 »

背景

由于数据结构实验课需要将C++代码编译成exe文件提交,自己的Win本又过于笨重不想带到实验室里面去用,之前都是把cpp文件发给室友帮忙编译的,但是由于强迫症,我还是想在自己的电脑上编译((

阅读全文 »

移动大作业开发指南

项目一

由于DDL实在有点紧张,大家可以只实现网络请求或者只实现本地存储,不用二者兼得

使用Dio发送网络请求

首先需要新建一个Dio类的实例,在新建时我们可以指定各种参数,例如baseUrl和连接超时时间等:

1
2
3
final Dio _dio = Dio(
BaseOptions(baseUrl: "http://47.113.194.64:7000")
);

指定了baseUrl过后,每一次发请求时,Dio都会自动为你在前面加上baseUrl,不用每次都复制粘贴了,例如:

1
2
_dio.post("/auth/login", data: {"username": "baka", "password": "123456"});
// 如果不指定baseUrl你就只能这样写: _dio.post("http://47.113.194.64:7000/auth/login", data: {"username": "baka", "password": "123456"});
阅读全文 »
0%