Version 1.0.19b
This commit is contained in:
27
minecraft/kubejs/startup_scripts/botanyPots.js
Normal file
27
minecraft/kubejs/startup_scripts/botanyPots.js
Normal file
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
Crops grown in Botany Pots will trigger Forge's Crop Grow Event
|
||||
Trees grown in Botany Pots will trigger Forge's Sapling Grow Tree Event
|
||||
basically adds 'compat' for Ars' Agronomic Sourcelink
|
||||
authored by EnigmaQuip
|
||||
*/
|
||||
|
||||
const $MinecraftForge = Java.loadClass('net.minecraftforge.common.MinecraftForge')
|
||||
const $BlockEvent = Java.loadClass('net.minecraftforge.event.level.BlockEvent')
|
||||
const $SaplingGrowTreeEvent = Java.loadClass('net.minecraftforge.event.level.SaplingGrowTreeEvent')
|
||||
const $BlockItem = Java.loadClass('net.minecraft.world.item.BlockItem')
|
||||
const $CropBlock = Java.loadClass('net.minecraft.world.level.block.CropBlock')
|
||||
const $SaplingBlock = Java.loadClass('net.minecraft.world.level.block.SaplingBlock')
|
||||
|
||||
ForgeEvents.onEvent('net.darkhax.botanypots.events.CropDropEvent', event => {
|
||||
const { level, pos, crop } = event;
|
||||
let seed = crop.getSeed().getFirst().getItem()
|
||||
if (seed instanceof $BlockItem) {
|
||||
let seedBlock = seed.getBlock()
|
||||
if (seedBlock instanceof $CropBlock) {
|
||||
let blockstate = seedBlock.getStateForAge(seedBlock.getMaxAge())
|
||||
$MinecraftForge.EVENT_BUS.post(new $BlockEvent.CropGrowEvent.Post(level, pos, blockstate, level.getBlockState(pos)))
|
||||
} else if (seedBlock instanceof $SaplingBlock) {
|
||||
$MinecraftForge.EVENT_BUS.post(new $SaplingGrowTreeEvent(level, level.getRandom(), pos))
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user