tModLoader

tModLoader

25 个评价
ModeGoop (ModLiquid)
   
奖励
收藏
已收藏
取消收藏
模组功能: 模组类库, 体验优化
tModLoader版本: 1.4.4
语言: 英语
文件大小
发表于
更新日期
1.044 MB
2 月 13 日 下午 3:16
7 月 17 日 下午 8:55
13 项改动说明 ( 查看 )

订阅以下载
ModeGoop (ModLiquid)

描述
A mod that lets you make custom liquids more easily. This does not work with other mods nor does it work in multiplayer. This is used for the mods "Glue" and "More Liquids"

How To Use[forums.terraria.org]
Glue Mod
More Liquids Mod



Mod Content
Items
  • Example Liquid Bucket
  • Bottled Example Liquid
  • Golden Example Liquid Bucket
  • Grav0 Bucket
  • Grav1 Bucket
  • Grav2 Bucket
  • Grav8 Bucket
  • Liquid63 Bucket
  • Test Item
  • BottledExampleLiquid
  • ExampleLiquidBucket
  • GoldenExampleLiquidBucket
  • BottomlessGoldLiquidBucket
  • BottomlessCopperLiquidBucket
  • BottomlessRedGoldLiquidBucket
Liquids
  • Grav0 (ModeGoop_grav0Test)
  • Grav1 (ModeGoop_grav1Test)
  • Grav2 (ModeGoop_grav2Test)
  • Grav8 (ModeGoop_grav8Test)
  • ExampleLiquid
  • GoldLiquid
  • CopperLiquid
  • RedGoldLiquid

Crossed out items are for testing and are unobtainable


引用自 tModLoader ModeGoop
Developed By SPRING MOLE?
24 条留言
Update pls(((((
Kishin 7 月 28 日 上午 11:10 
I see. It seems that I should use x y to determine if the updated position is the liquid surface
PumpkiNot  [作者] 7 月 28 日 上午 10:19 
Looks like "isPoolSurface" is only used for retro lighting and is always false in normal lighting
Kishin 7 月 28 日 上午 9:55 
"public virtual void ParticleEffects(UnifiedRandom rand, int x, int y, bool isPoolSurface)" What is the function of the fourth parameter 'isPoolSurface' in? I thought this parameter was used to determine whether the tile is on a liquid surface, but it seems that regardless of whether the updated tile[x,y] is on a liquid surface, this parameter is false. So, this parameter has other meanings?
Kishin 7 月 21 日 上午 11:23 
got it, thanks!
PumpkiNot  [作者] 7 月 21 日 上午 11:20 
Liquids that share a bit in their return values of that function will not "merge" into a tile when touching. To use the function, OR together all the SolidityChannelValue() return values for all the liquids you wish for the liquid not to merge with ( including itself! ). Here is an example:

public override ulong SolidifyChannel()
{
return base.SolidifyChannel()
| ModContent.GetInstance<MyOtherLiquid>().SolidifyChannelValue()
| ModeWater_Water.instance.SolidifyChannelValue();
}
Note that, by default, SolidifyChannel() returns the same thing as SolidifyChannelValue(), which is why the base is called here.
Kishin 7 月 21 日 上午 11:05 
What is SolidifyChannel for?
PumpkiNot  [作者] 7 月 17 日 下午 8:57 
You can now, but, unfortunately, liquid mixing doesn't work as smoothly as you'd like and gets quite messy if the all the involved liquids don't have the same "density"
Kishin 7 月 16 日 下午 8:58 
Is there any way to merge liquids into liquid instead of tiles? I hope to achieve the reaction of generating liquid. Is there any function in lib that allows me to directly implement this function?
Or can I only achieve this function by making the liquid generate a temporary tile that will immediately convert to liquid?
PumpkiNot  [作者] 7 月 12 日 下午 12:10 
You could also use ModLiquid.OnWetCollied(Player ply) alongside ModPlayer.ResetEffects(), which should have the same effects since OnWetCollied() is called right after the player's current liquid is determined, and right before the splash particles are created.