Chocomint

@Chocomint

目前就讀南一中,喜歡寫程式、研究數學及物理 我從高一開始學習Java,現在正在學習開發 Minecraft 模組

Joined on Apr 26, 2021

  • EXPERT Lv.13+ (188){8} 2h[4:7]/5h[8:1],,,6,5h[8:1],,,6,5h[8:1],,,6,7h[8:1],,5h[8:1],6, 2h[4:7]/5h[8:1],,,6,5h[8:1],,,6,5h[8:1],,,6,6,7,5,6, 2h[4:7]/5h[8:1],,,6,5h[8:1],,,6,5h[8:1],,,6,7h[8:1],,5h[8:1],6, 2h[4:7]/5h[8:1],,,6,5h[8:1],,,6,5h[8:1],,,6,8-5[8:1],,,, 6/4,,6/4,3,6/2,,6/4,3,6/2,,6/2,3,6/1>4[8:1],,6,, 6/4,,6/4,2,6/3,,6/4,2,6/3,,6/3,2,6/4>1[8:1],,6,, 6/4,,6/4,3,6/2,,6/4,3,6/2,,6/2,3,6/1,2,6/3,4,
     Like  Bookmark
  • :::info 記得使用 Minecraft 1.18.2 版本! ::: Code 在模組路徑下的 block 資料夾下加入 ModBlocks.java,並加入程式碼: class ModBlocks { // 註冊「方塊」本身 private static Block registerBlock(String name, Block block) {
     Like  Bookmark
  • Java是一種廣泛使用的電腦程式語言,擁有跨平台、物件導向、泛型程式設計的特性,廣泛應用於企業級Web應用開發和移動應用開發。--《維基百科》 以下皆使用 IntelliJ 做示範 主函數 首先,創建一個 java 檔,IntelliJ 會自動幫你生成一個 class (必須與檔名相同) 接著打上 main,你就會看到自動完成,直接按 enter 即可。 完成後大概長這樣:
     Like 1 Bookmark
  • 指令的創建共分為三個部分:Mixin + DataSaver、Command、Events Mixin + Data Saver 在 mixin 資料夾中加入 ModEntityDataSaver.java: @Mixin(Entity.class) public abstract class ModEntityDataSaver implements IEntityDataSaver { private NbtCompound persistentData; @Override
     Like  Bookmark
  • 正規表達式 (Regular Expression, Regex) 使用單個字串來描述、符合一系列符合某個句法規則的字串。 基本語法 選擇 豎線 | 代表選擇(即或集),具有最低優先級。例如 gray|grey 可以符合grey或gray。 數量限定 加號 + 代表前面的字元必須至少出現一次。例如,goo+gle 可以符合 google、gooogle、goooogle 等 問號 ? 代表前面的字元最多只可以出現一次。例如,colou?r 可以符合 color 或者 colour
     Like  Bookmark
  • Mixins 是 Fabric 生態系統中使用的強大而重要的工具。他可以用來修改遊戲現有代碼的技術,無論是通過注入自定義邏輯、刪除機制或是修改值。 Mixin 首先,選定一個想要 Mixin 的 class,此以 PlayerEntity 做舉例。 首先要在 resources 路徑下的 <modid>.mixins.json 寫下: { "required": true, "minVersion": "0.8", "package": "<mixins path>",
     Like  Bookmark
  • REI 簡介 全名 Roughly Enough Items,乃是 Fabric 平台上如 JEI 的模組,其功用可以讓使用者更加容易的得知物品取得途徑。 ![](https://i.imgur.com/6puY3b2.png =500x) 引入 首先,在檔案 gradle.properties 中加入以下這串: roughly_enough_items_version = 8.2.463
     Like  Bookmark
  • Event 是甚麼? Event 中文直翻「事件」,即是遊戲中的所有事件,通常搭配 Mixin 做偵測,並做出一些反應。例如:拿剪刀剪羊毛掉出鑽石、把物品丟到水裡會爆炸...等 實作 - 鑽石丟到水中會爆炸 Call Back Interface 此 interface 需要有 Event 的實作以及回應函數 public interface ItemEntityInWaterCallBack { Event<ItemEntityInWaterCallBack> EVENT = EventFactory.createArrayBacked(ItemEntityInWaterCallBack.class, listeners -> itemEntity -> {
     Like  Bookmark
  • Item Bar 在自訂物品 class 中 override 三個函數: public boolean isItemBarVisible(ItemStack stack) { return true; } public int getItemBarStep(ItemStack stack) { return Math.round((0.1) * 12); }
     Like  Bookmark
  • 礦物生成 在模組路徑下的 world/feature/ore 建立檔案 ModOreFeature.java: public class ModOreFeatures { public static List<PlacementModifier> modifiers(PlacementModifier countModifier, PlacementModifier heightModifier) { return List.of(countModifier, SquarePlacementModifier.of(), heightModifier, BiomePlacementModifier.of()); } public static List<PlacementModifier> modifiersWithCount(int count, PlacementModifier heightModifier) { return modifiers(CountPlacementModifier.of(count), heightModifier);
     Like  Bookmark
  • 前置 模板下載 教學模組 ※模組 id 務必使用「小寫」※ Initialize function 在模組路經中,有一個主檔案,包含了一個函數 onInitialize()。 以下教程中,我們皆稱其為「Init Function」
     Like  Bookmark
  • 方塊實體理論 圖源:特別感謝 Tutorials by Kaupenjoe 提供 檔案位置樹狀圖 ModId ├─ block │ ├─ custom │ │ └─ #Block.java │ └─ entity │ ├─ #BlockEntity.java
     Like  Bookmark
  • 進階方塊 Glass Block 將原本 register 的 Block() 改為 GlassBlock(),並在 FabricBlockSettings 後加入 nonOpaque() public static final Block TOUGHENED_GLASS = registerBlock("toughened_glass", new GlassBlock(FabricBlockSettings.of(Material.GLASS).strength(15.0f) .breakByTool(FabricToolTags.PICKAXES, 3).requiresTool().nonOpaque())); 在 ModBlocks 加入函數:
     Like  Bookmark
  • 原始碼(GitHub) 函數 ※所有函數皆位於 namespace chocomint ※ 建構子 constructor 一般建構子: BigInt() {} 整數建構子: template<class T> BigInt(const T &val); 運算子
     Like  Bookmark
  • 微分算符 (differential operator) 是定義為微分運算之函數的算子,可以對任意的函數進行運算得到相應的純量、向量函數。 長度微小量 在直角座標系下,長度的微小量: $d\vec{\ell}=dx\hat{i}+dy\hat{j}+dz\hat{k}$ 我們再看兩個例子 柱座標: $d\vec{\ell}=dr\hat{r}+rd\phi\hat{\phi}+dz\hat{z}$
     Like  Bookmark
  • 在高中,大家肯定學過二維空間中的旋轉矩陣,那你是否有想過三維空間中的旋轉是長怎樣的呢? 事實上,三維空間中的旋轉是比二維平面還要複雜許多。 為了描述空間中的旋轉,科學家建構了許多數學模型來描述此問題。 歐拉角 如果有人問你火車站在哪裡,你會說「24°33'12"N 121°20'4"E」還是「8點鐘方向、500公尺處」? 答案顯然是後者吧。因此,我們會喜歡用「相對」的概念來描述一個物體的位置,或者甚至是旋轉。 因此,萊昂哈德·歐拉(Leonhard Euler)定義了「歐拉角」來描述三維空間中的旋轉。 參閱上圖,xyz 座標是地面坐標系;XYZ 是剛體坐標系
     Like  Bookmark
  • 前言 類別(Class)由成員(member)組成,包括資料、函數以及建構函數。 所以...甚麼是Class? 我們可以把Class當成是一個學生,而這個學生有姓名、身高、體重、年齡,有個函數可以來計算它的BMI,也要有一個函數可以「創建」這個學生。以下為範例: class student { // member variables string name;
     Like 1 Bookmark